v8/test/mjsunit/asm/poppler/poppler.js
Benedikt Meurer 556221a23e [mjsunit] Import asm.js test case for poppler.
R=hablich@chromium.org

Review URL: https://codereview.chromium.org/1105483002

Cr-Commit-Position: refs/heads/master@{#27996}
2015-04-22 09:33:43 +00:00

9212 lines
3.3 MiB

var input_data="JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCBvYmoKPDwgL0xlbmd0aCA1IDAgUiAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAFFjrEKwkAQRHu/4pVJYbJ3mqzXKjYWQmDBQizkMF2E5P4f3CBitW9md4adGZjRiErfxBQT+/5A2DUqGgLLixtv2lMJ5IJQsp9LkzSJps4NYfuXa0+UTZ44GiF+1z47vMsmWrOA08id6lqv0Uj1/MEy1jywC2fzt4YPXCAhiwplbmRzdHJlYW0KZW5kb2JqCjUgMCBvYmoKMTI3CmVuZG9iagoyIDAgb2JqCjw8IC9UeXBlIC9QYWdlIC9QYXJlbnQgMyAwIFIgL1Jlc291cmNlcyA2IDAgUiAvQ29udGVudHMgNCAwIFIgL01lZGlhQm94IFswIDAgNjEyIDc5Ml0KPj4KZW5kb2JqCjYgMCBvYmoKPDwgL1Byb2NTZXQgWyAvUERGIC9UZXh0IF0gL0NvbG9yU3BhY2UgPDwgL0NzMSA3IDAgUiA+PiAvRm9udCA8PCAvVFQxIDggMCBSCj4+ID4+CmVuZG9iago5IDAgb2JqCjw8IC9MZW5ndGggMTAgMCBSIC9OIDEgL0FsdGVybmF0ZSAvRGV2aWNlR3JheSAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeAGFVV1oHFUUPrszO3mJQxFtSyt18K8hpGFSrSYWtdtNurtN2K6bjTZVqtPZ2e50JzPjndm0CX0Kgm9aEMRXRXwSLYjQasTkxb60VKiJFIsgKLRYQRD6IAp+Z3ayOxuRzHBnvjn3O+ee8917GKK+ZcP3nbRGNOeGIl/Jzh6fPaH1fUdpUqmfcBlm4GfL5SnGruda/O697q1Tii039nGs3rktvzI1KzDBWsHwaoE5R5TSiZRh0xchUd/rsI+eDX3G7wM/0KxWcsCfAKuxLyA9mLdcS9imlhfGglYWXt12krluNc8xtrzmnBbnytcejP6gOT2J9yByPlczxhk/BfyhaUxMAw8Br/vh4Uqbk063mjPZtj09VBdHZmL78UarwHiYKL202Ki+DLwN+KJ7qnQs5q+YQe4E8GOw321YRd4PjUjaZofFKjB8JV14FeaDI52sWeMTwM8CLzW9Sc5hJ/ByMD/NduZ/v9jIlYCxlpw+YxwtA28Hvt9y8sxHHHnAD8sccxR4ynVKvC7qld+0gqjGAeBPw0a1EPPXQ1Fl30dg/6tuHykCQ4fMQw1RYDvyyRR8JzpPTwMviVaFa38C+JIhJvLAiJn5yXJnWENgRaGXUgZZ5NEpPE1y6R/UHpBN8xHySWCujm+H8mC4GALDAes00K8UYp6t7B9QEzb2ZUaAZxlDxP4a1fDV9rMxy4gj3o58zE3cHOK4tEgGeO2V78Q8T94h6/KTGAflKfk5eVQeI01+QT4kPy+PwzomH4x8BHwXELVbAa94B1Hbkd6gVk8+q8g5hI9DP4PjRRkGyOBvRGhGzIQaF3a1Bnz/vbeXxGu2ef2dPxLqcG3NuM6uPglfOpZUO9K/tlntzC+Z25k1PG9mbiWq0TI/Zm7hvtlTlxevZqM+G5lvKMva29hVr4e9sQObWVlU7kR7ModqWX3eUVaflWwBh3jWYXVpXzLilfPLOzu8BdLW5Euv3ui/cv5/NWF9WGeLEqrU3Qu7fP/kx6ym9VbpXomWhvSL+l39I/0H/Xd9Tf8A6DfpXekL6WvpsvSldJU0aUValb6RvpU+k77C1+ewrkqXkVvy1LVPWef0INP2OTTjE8b18CkOiBVgNtfP1g2lzmCumymf7c0rsM7dE91ZSz2s7lYfVcfVh9XH1Sl1UD2gHlJ3qPsxRtSCuhczuzsqcU+x1jbeZbw3+s6m2Uir9o5wVg2oJ5ClgbubF/eo3YmGOKn7oDNH63J4jXZ324iixd3roWMNmkHFNp2NtAvw7eAbu/kfb+5JZJd6BSfLlvfII3Ix7sGsfABdONnTj6PcpcqEMq5kSVMGlTFlRDnKOKqVO1RT9mJ2DM+JZPaInuD0KIK/T2idw3+LKOf5C8I+3Qi1/br+jJbFb9LSiq45PKQZjqNFU4EmrMAS81ZtmPgfzH5Ef74Y/VtT26+aLTHftlEqdY3oX/q6h3sKZW5kc3RyZWFtCmVuZG9iagoxMCAwIG9iagoxMDg4CmVuZG9iago3IDAgb2JqClsgL0lDQ0Jhc2VkIDkgMCBSIF0KZW5kb2JqCjMgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9NZWRpYUJveCBbMCAwIDYxMiA3OTJdIC9Db3VudCAxIC9LaWRzIFsgMiAwIFIgXSA+PgplbmRvYmoKMTEgMCBvYmoKPDwgL1R5cGUgL0NhdGFsb2cgL1BhZ2VzIDMgMCBSID4+CmVuZG9iago4IDAgb2JqCjw8IC9UeXBlIC9Gb250IC9TdWJ0eXBlIC9UcnVlVHlwZSAvQmFzZUZvbnQgL05QUEdTRCtIZWx2ZXRpY2EgL0ZvbnREZXNjcmlwdG9yCjEyIDAgUiAvRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcgL0ZpcnN0Q2hhciA3OCAvTGFzdENoYXIgMTE0IC9XaWR0aHMgWyA3MjIKMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgNTU2IDAgMCAwIDAgMjc4IDAgMCAwIDAgMCAwIDAgMCAwIDAgMAozMzMgXSA+PgplbmRvYmoKMTIgMCBvYmoKPDwgL1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Gb250TmFtZSAvTlBQR1NEK0hlbHZldGljYSAvRmxhZ3MgMzIgL0ZvbnRCQm94IFstOTUxIC00ODEgMTQ0NSAxMTIyXQovSXRhbGljQW5nbGUgMCAvQXNjZW50IDc3MCAvRGVzY2VudCAtMjMwIC9DYXBIZWlnaHQgNzE3IC9TdGVtViA5OCAvWEhlaWdodAo1MjMgL1N0ZW1IIDg1IC9BdmdXaWR0aCAtNDQxIC9NYXhXaWR0aCAxNTAwIC9Gb250RmlsZTIgMTMgMCBSID4+CmVuZG9iagoxMyAwIG9iago8PCAvTGVuZ3RoIDE0IDAgUiAvTGVuZ3RoMSA2MDgwIC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVhbQp4Ab1Ye3QT15n/vjszkvzASLKN5IeQxCC/3wY/sIOFkYwN2DEYWIngINkIbAc3PsR4A11YJw1NEIRtQiFp4KShTVkeSxhsJ5FhoU4O2SZnNwlJ2/SVnjQbkvbs1if7CN00YM9+d2SrmNPk8Acnc3Xne957v/u739zR3P5t20MwCwZBgNb1wb7NoF0WH5Guzt5gX1Q2v060o3Og3xGVpRwAYevmvi29UdnwXYB425atO6baJ1eR/UpXKLgpaocbRCu6SBGVcQHR+V29/Q9GZfMI0ZSt93dO2ZMLSE7sDT44NT68T7LjG8HeUNTforXvu/+B/inZQLSgb1toyh8pfuFtQNJK8CTEwX2gBwZGKu0A+j/E20AkK7fTVfLWb368cXbtNTDxbgA2Nv+DRt8cPf/y56Eb2QlPGP5Mirhpf051uZO5FCKSfTzhiZhFa0c3KQJt+RFoolpHdSHV/PwlVhjE4/Adqs9RFaAb98EOqnupfo+qGONOkjSK+4ZEg/s87oB0XO5OEO1rUtLs1vgE+7sR1I08a/+V9aMLmEar9yGmDc2CuCXx+Bx+HzaBHX8ELtwJjZCDzwznbrUHyHQS+qgOUhW0O+LJobll9ktYAC4RqU0WzBXxJfvvSwvtH5dGGA7ZX82OiERemUuSe7Z9zPas/ce2LfZLVE9HTadyyeMl+0nbVvvBuRF8Zsj+pC2C1OaJKNluo6Yv2XtzD9s3lWr2lYcj7PSQvZrs69wJ9ooqp32h7aq9ODtiQJILbSvteaVv2udTQ3JzUKcut8meaTtoX0SmuTZv9iKqF/AUHoE8PDLkWm4/TyxNd7gpt+pwBL853JhT6orgTndFY87h3MZsV+5Kuyu3ITub+HWv6x/R36Nfoi/T5+tz9Fl6pz5Dn2IwG4yGJEOiId5gMOgj+E9DdXbdBTwNdQTL6WGDziBF8AVSihfwjKY887JBNDADGFIi6u8oeRFSInh6xMg5Yl7SaZwugmeGo6ozbrvIOVEzGBnn6UZ3YGhgsBwUfDyigz1zBuqsdebFpuoGz5fdAppl+p7/5ZcVbcrhFW0+5ZTNr5RxRrX5p92t08yX0v7tZArV5+evWL1jeKCvZ7M3JHsDsjdENaDsG+iyKoMdDse5nj5ucChCVqCjs4vTYEjpk0MepUf2OM4NaO1uMW/m5gHZcw42e9f4zm12hzxDA+4Brxz0+Ic76re1zxhrb2ysbfV/Zax63tk2PlaH1u6Wsdq5uYOP1c7Haudjdbg7tLH45L3dbfUP9FN2OrzdKxxKTpvStGq9T3EE/Z4IHielZztIY2CULkKONAjpYjHYAdRfUf01p5Nr1U+kn4Bxslf9b6GGFnWUVzZZVwtj8DgcgbOggxPE58C98DS8gT30bG+AEXgP50IR7b0iRGAl/Buq6juwGZ4n/354FQ7BOUikNr2QStYD6FJ3kuwmvgMeUX8A86EKvg0XoZp6PQDj6kl1mKyrYS2cgtPU/l9RZufEZPUF9SoYYBX1+QhZ3lFXqmfBDAVQD62kfQQuoUv4tdoFVqih6I7C9+EYvAJ/xIdxRO1SB9Qr6oeUqlbIhDYqu3AEPxTOit9Wj6r/oU4SEjmQR6MG4CD8kPo/S2WMtlYv3of9eBAPMTd7mI2IeyTL5AThkAvLqDTC/fAYITAKl+F/4M/4KbMKRqFfeE1dqP4vJMAKmiWfSQgGqDxK5QDN6QLqsASXYivuwu/iIfwpy2NrmY/9LXuQfSK0CBuEHcJPxQfEIWm/9LQuYfKaekH9ifpzsIAN7oFtsJtm9ypcgc/gCxSor0x0YQ3W471UBvEIG8VjOMpacQyvsFP4AX6En+J1JrFElsryWT87yE6zV9lbQrdwSPie8IFwTVwsMemY9LHOpf/NZMfk3sm31Br1Q/Vz2mIN4KSVqYcW2AhBmm0fLIC/p1mcoXKWVu0yvAZvaOUjzIRx+JxQADRjOpZhM5UWvBs3Yzc+i+epXNJi+ROjhWBxzMQsLJO1sQ7WywbZz9mgkCHkCcuF9cJZKq8L7wnXheuiJCaLqeIysQn2i73iM1SOiyfEIfFtqVpaLLVI66RBaa+0X+iU3pHe0+3WHdAN6T7V/Rdtiyv19+v30+q8QTn7CuXyXy4R51P0ZfAN6EQPdsBhWo1jGIQwZdcmfIzw6oMctV3YLSxjJZQNl+CblK3PwC7YK2yAY+ovhVPwC8qUrdTlIPyjWA826SlanYehhLJoqrhz83JzsrNc8+V5Tgdt+ZkZ6WlWy5zUlGSzyTgrMSE+zqDXSaLAEAq8ckPAoWQFFDFLbmws5LIcJEXwJkWAHmWH0jDTR3HwdkEyzfB0k+fmWzzdUU93zBONjlqoLSxweGWH8qZHdkRw/Sof8Y97ZL9DGdf4Zo3/jsbPIt7ppAYOr7XL41Aw4PAqDQNdYW/AU1iAo26CI76wgG8cbkjgHSuwNLiLNlhYyj28Srrs8SppMvFkE1ze4CaldZXP68lwOv2kI9VqH41RWNCtUJywL3GTvGlfxA0dAc4FN/gUIehXWID3ZcpXLLJHsez82PoXcZrz7r/JqDBXQzAUblDcgX0ELhcDXAruJ2lFm4O6ZXv8PgX3TAXBY+yhSHm40XeCK9DjUOLkerkr3BMgcGG1byjdna5tvgq0+obS3GmaUFgwat1d46TZjxYuKVzCaY3TujtKf/+tqP7dMU6tuy//juiK1TEAkCMgN1GciqNTG0SmYKv4LVQF4c4qwokuP9I0uymepQqjnBFciuRqCiqDbdNhdHmiwQV6PENxaenaS6jeT/6BsHERrRT5G2VH+Bq9rQPy+B9naoJTGp3LeA24kS90LFcUDE7zA/xl6aJZd1nlLr6+A9qakixbvTcpSObQ8JiVFHqBt/qcisNPCvo3WbAiAnGtvnOIB/wRVPdEwGMbpf+owsZ7yVzAU63bQ+OTUFhAijwncUUFjgYauYHniiPsCDdtCjsaHF2UTKJLo2QIhf3FhGCbj3CCNTSi258RY0N+/yLqp5j3Q03IPeynHnqmeiCqqYonyKmkgF6mQlarb5VPGfRkKG6Pn1aB0nes1aeMUeb6/eRVGouUIt7VbZ2KuYxiLs0je3m0F/rvMkhd+MNh3mebT3YqY+FwRpg/b1E5gnCrwj2liAB34ZBHcLCV2hKRnRnaGjhlJ4Xl55guoJSezij6z/7VCFfE4qaWlRRthYZw1R1CuPp2EF50WwjXxCKdgXAtxVzDEb7r60N48QyE674aYXcsbgpyCUXr1hCuv0MIL70dhD23hbA3FukMhBsoZi9HeNnXh3DjDISbvhrh5bG4KcgVFO1yDeGVdwjh5ttBuOW2EL47FukMhFsp5rs5wqu+PoRXz0C47asRXhOLm4JcS9Gu0RBed4cQ/pvbQdh3Wwj7Y5HOQHg9xeznCN8TQ9idocDN+/DgLdsu3PGNecNNkNM/JckM9fS9dVR8AFazashkp2AvqafPcxLpK2MNyS3g4p/Xt3GxmI8Q42Yy9O2uXRWwH9fhD/AP9Ee8HkC8Qt+EAp0tLY2e9xiKIyBSNRgjAFeocpl44X3iieqJCkTj3ofz1ApgXf556kkiWlJabnKasqnWiwciN/5duvjF0ojYfJ3OD8jjKM06j8aKg3gYcKdUYpWO6dGC2bgMfUzSI2MRPOK2mHU6PdMbBGR0aBEvxMejzsAEbntREtMT9QbuFR8HaQmJzzkH+ugMoOWz2uaJ2hbjnzgxmaurq4uhrq62rpZY8dGi/Ed3vVZaAu3YnlyOpnKTjPQ7+p/sk4sfTMy+xBZJF6+vF49/sVT80fV7KD46doPV6vvaV8ds+p6shd+6q/JKMN6YkJGYmV3eaOyO6zHqqw3mxDgho0w/P85mTLTV5LOi3JqXa1hNWZ7LbNRLhszseZbMCIbdssVm12fbihKYbWFCrb62NjNFn5t3Yn764ozczOWzs6vS7lr8z/gUfWyN4mHQ5tM8/tk4zaf56sRlszaZ8Toq4+Zqk9lS3U5TLBovGkeiJkt1acnSHe6cisrUeYBpLqyY7QTr3AwnzHGkONE5DyqZE9JtFiemOulGZ3j5aKzlZwYPPfQQB2X+nPKyyoq7MAlno06vS8WKyoqFC7LkeXqdXl6M5WX02WJKIScaIgnledlZ2ZxkLVxQUZmMSdtaNvoPO7vKejtK23BkcWrit3Y+XuOMPyH93w8vDmy3uBLnmvIKstrz5sRVvvV3hy6efyr89vqCpuNPpGbqkmZlFm/BrYYCa+GGtpV5bf9ypLHx6YmnMucJwp5EXb3sbux58bFDzyfjVf5kZFISWaR36Uu42Z2vt+nibQLOTqmeM0tnjk+zWNKTZplyLWa9eXaSPYkl3UhJs6bdcG7ZHcVzor36cnHtRK2xxRvyfMKzg1Klbvxn46Ul5sqK8rI5ltQimpQutTxVNlFZWL7wRbluxDTfkpmWsNoxNDJ06JBUv2ADY88zXPvCgRubhKMHTlCuIH9u2ZPiMjDB3e6sbCFrVqWwTBSTDEaWFGeKS8w2SHrQmeIN6clYZMw1QZo5OYLeYWdHNDQK5GqLkYfUXHd54jJPX76wPGGTy1M5/rHYTPLe06nP3ydZbcYM42NPjojFoxVHmHBJYGe3TTzNnzHtUkN05vDXLomUpeCBJjqV4JGbp/YWHZ0pQ0tr67I2T35jaOtAqL+7M6h5TPdC2NMZCdBpDdC5B4BPnbqIhxiPtF/NlHkvN9u1s/Wb/Ldx+/8DxOJICgplbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2JqCjM1NDIKZW5kb2JqCjE1IDAgb2JqCihVbnRpdGxlZCkKZW5kb2JqCjE2IDAgb2JqCihNYWMgT1MgWCAxMC45LjUgUXVhcnR6IFBERkNvbnRleHQpCmVuZG9iagoxNyAwIG9iagooQmVuZWRpa3QgTWV1cmVyKQplbmRvYmoKMTggMCBvYmoKKCkKZW5kb2JqCjE5IDAgb2JqCihUZXh0RWRpdCkKZW5kb2JqCjIwIDAgb2JqCihEOjIwMTUwNDIyMDkxNDE1WjAwJzAwJykKZW5kb2JqCjIxIDAgb2JqCigpCmVuZG9iagoyMiAwIG9iagpbICgpIF0KZW5kb2JqCjEgMCBvYmoKPDwgL1RpdGxlIDE1IDAgUiAvQXV0aG9yIDE3IDAgUiAvU3ViamVjdCAxOCAwIFIgL1Byb2R1Y2VyIDE2IDAgUiAvQ3JlYXRvcgoxOSAwIFIgL0NyZWF0aW9uRGF0ZSAyMCAwIFIgL01vZERhdGUgMjAgMCBSIC9LZXl3b3JkcyAyMSAwIFIgL0FBUEw6S2V5d29yZHMKMjIgMCBSID4+CmVuZG9iagp4cmVmCjAgMjMKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDA2MjIzIDAwMDAwIG4gCjAwMDAwMDAyNDIgMDAwMDAgbiAKMDAwMDAwMTY5MCAwMDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4gCjAwMDAwMDAyMjMgMDAwMDAgbiAKMDAwMDAwMDM0NiAwMDAwMCBuIAowMDAwMDAxNjU1IDAwMDAwIG4gCjAwMDAwMDE4MjMgMDAwMDAgbiAKMDAwMDAwMDQ0MyAwMDAwMCBuIAowMDAwMDAxNjM0IDAwMDAwIG4gCjAwMDAwMDE3NzMgMDAwMDAgbiAKMDAwMDAwMjA3NiAwMDAwMCBuIAowMDAwMDAyMzI3IDAwMDAwIG4gCjAwMDAwMDU5NTkgMDAwMDAgbiAKMDAwMDAwNTk4MCAwMDAwMCBuIAowMDAwMDA2MDA3IDAwMDAwIG4gCjAwMDAwMDYwNTkgMDAwMDAgbiAKMDAwMDAwNjA5MyAwMDAwMCBuIAowMDAwMDA2MTEyIDAwMDAwIG4gCjAwMDAwMDYxMzkgMDAwMDAgbiAKMDAwMDAwNjE4MSAwMDAwMCBuIAowMDAwMDA2MjAwIDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMjMgL1Jvb3QgMTEgMCBSIC9JbmZvIDEgMCBSIC9JRCBbIDwwMDQwMjhmMDIyMTU2MmVjZmFjOTdlODY5MDc2NmM4OT4KPDAwNDAyOGYwMjIxNTYyZWNmYWM5N2U4NjkwNzY2Yzg5PiBdID4+CnN0YXJ0eHJlZgo2Mzk4CiUlRU9GCg==";
function base64DecToArr(sBase64, nBlocksSize) {
function b64ToUint6 (nChr) {
return nChr > 64 && nChr < 91 ?
nChr - 65
: nChr > 96 && nChr < 123 ?
nChr - 71
: nChr > 47 && nChr < 58 ?
nChr + 4
: nChr === 43 ?
62
: nChr === 47 ?
63
:
0;
}
var
sB64Enc = sBase64.replace(/[^A-Za-z0-9\+\/]/g, ""), nInLen = sB64Enc.length,
nOutLen = nBlocksSize ? Math.ceil((nInLen * 3 + 1 >> 2) / nBlocksSize) * nBlocksSize : nInLen * 3 + 1 >> 2, taBytes = new Uint8Array(nOutLen);
for (var nMod3, nMod4, nUint24 = 0, nOutIdx = 0, nInIdx = 0; nInIdx < nInLen; nInIdx++) {
nMod4 = nInIdx & 3;
nUint24 |= b64ToUint6(sB64Enc.charCodeAt(nInIdx)) << 6 * (3 - nMod4);
if (nMod4 === 3 || nInLen - nInIdx === 1) {
for (nMod3 = 0; nMod3 < 3 && nOutIdx < nOutLen; nMod3++, nOutIdx++) {
taBytes[nOutIdx] = nUint24 >>> (16 >>> nMod3 & 24) & 255;
}
nUint24 = 0;
}
}
return taBytes;
}
var Module = {
arguments: ['-scale-to', '512', 'input.pdf'],
print: function() {},
preRun: function() {
var input = new Int8Array(base64DecToArr(input_data).buffer);
FS.createDataFile('/', 'input.pdf', input, true, false);
}
};
// The Module object: Our interface to the outside world. We import
// and export values on it, and do the work to get that through
// closure compiler if necessary. There are various ways Module can be used:
// 1. Not defined. We create it here
// 2. A function parameter, function(Module) { ..generated code.. }
// 3. pre-run appended it, var Module = {}; ..generated code..
// 4. External script tag defines var Module.
// We need to do an eval in order to handle the closure compiler
// case, where this code here is minified but Module was defined
// elsewhere (e.g. case 4 above). We also need to check if Module
// already exists (e.g. case 3 above).
// Note that if you want to run closure, and also to use Module
// after the generated code, you will need to define var Module = {};
// before the code. Then that object will be used in the code, and you
// can continue to use Module afterwards as well.
var Module;
if (!Module) Module = eval('(function() { try { return Module || {} } catch(e) { return {} } })()');
// Sometimes an existing Module object exists with properties
// meant to overwrite the default module functionality. Here
// we collect those properties and reapply _after_ we configure
// the current environment's defaults to avoid having to be so
// defensive during initialization.
var moduleOverrides = {};
for (var key in Module) {
if (Module.hasOwnProperty(key)) {
moduleOverrides[key] = Module[key];
}
}
// The environment setup code below is customized to use Module.
// *** Environment setup code ***
var ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function';
var ENVIRONMENT_IS_WEB = typeof window === 'object';
var ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
if (ENVIRONMENT_IS_NODE) {
// Expose functionality in the same simple way that the shells work
// Note that we pollute the global namespace here, otherwise we break in node
if (!Module['print']) Module['print'] = function print(x) {
process['stdout'].write(x + '\n');
};
if (!Module['printErr']) Module['printErr'] = function printErr(x) {
process['stderr'].write(x + '\n');
};
var nodeFS = require('fs');
var nodePath = require('path');
Module['read'] = function read(filename, binary) {
filename = nodePath['normalize'](filename);
var ret = nodeFS['readFileSync'](filename);
// The path is absolute if the normalized version is the same as the resolved.
if (!ret && filename != nodePath['resolve'](filename)) {
filename = path.join(__dirname, '..', 'src', filename);
ret = nodeFS['readFileSync'](filename);
}
if (ret && !binary) ret = ret.toString();
return ret;
};
Module['readBinary'] = function readBinary(filename) { return Module['read'](filename, true) };
Module['load'] = function load(f) {
globalEval(read(f));
};
Module['arguments'] = process['argv'].slice(2);
module['exports'] = Module;
}
else if (ENVIRONMENT_IS_SHELL) {
if (!Module['print']) Module['print'] = print;
if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm
if (typeof read != 'undefined') {
Module['read'] = read;
} else {
Module['read'] = function read() { throw 'no read() available (jsc?)' };
}
Module['readBinary'] = function readBinary(f) {
return read(f, 'binary');
};
if (typeof scriptArgs != 'undefined') {
Module['arguments'] = scriptArgs;
} else if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
this['Module'] = Module;
eval("if (typeof gc === 'function' && gc.toString().indexOf('[native code]') > 0) var gc = undefined"); // wipe out the SpiderMonkey shell 'gc' function, which can confuse closure (uses it as a minified name, and it is then initted to a non-falsey value unexpectedly)
}
else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
Module['read'] = function read(url) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
xhr.send(null);
return xhr.responseText;
};
if (typeof arguments != 'undefined') {
Module['arguments'] = arguments;
}
if (typeof console !== 'undefined') {
if (!Module['print']) Module['print'] = function print(x) {
console.log(x);
};
if (!Module['printErr']) Module['printErr'] = function printErr(x) {
console.log(x);
};
} else {
// Probably a worker, and without console.log. We can do very little here...
var TRY_USE_DUMP = false;
if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) {
dump(x);
}) : (function(x) {
// self.postMessage(x); // enable this if you want stdout to be sent as messages
}));
}
if (ENVIRONMENT_IS_WEB) {
this['Module'] = Module;
} else {
Module['load'] = importScripts;
}
}
else {
// Unreachable because SHELL is dependant on the others
throw 'Unknown runtime environment. Where are we?';
}
function globalEval(x) {
eval.call(null, x);
}
if (!Module['load'] == 'undefined' && Module['read']) {
Module['load'] = function load(f) {
globalEval(Module['read'](f));
};
}
if (!Module['print']) {
Module['print'] = function(){};
}
if (!Module['printErr']) {
Module['printErr'] = Module['print'];
}
if (!Module['arguments']) {
Module['arguments'] = [];
}
// *** Environment setup code ***
// Closure helpers
Module.print = Module['print'];
Module.printErr = Module['printErr'];
// Callbacks
Module['preRun'] = [];
Module['postRun'] = [];
// Merge back in the overrides
for (var key in moduleOverrides) {
if (moduleOverrides.hasOwnProperty(key)) {
Module[key] = moduleOverrides[key];
}
}
// === Auto-generated preamble library stuff ===
//========================================
// Runtime code shared with compiler
//========================================
var Runtime = {
stackSave: function () {
return STACKTOP;
},
stackRestore: function (stackTop) {
STACKTOP = stackTop;
},
forceAlign: function (target, quantum) {
quantum = quantum || 4;
if (quantum == 1) return target;
if (isNumber(target) && isNumber(quantum)) {
return Math.ceil(target/quantum)*quantum;
} else if (isNumber(quantum) && isPowerOfTwo(quantum)) {
return '(((' +target + ')+' + (quantum-1) + ')&' + -quantum + ')';
}
return 'Math.ceil((' + target + ')/' + quantum + ')*' + quantum;
},
isNumberType: function (type) {
return type in Runtime.INT_TYPES || type in Runtime.FLOAT_TYPES;
},
isPointerType: function isPointerType(type) {
return type[type.length-1] == '*';
},
isStructType: function isStructType(type) {
if (isPointerType(type)) return false;
if (isArrayType(type)) return true;
if (/<?{ ?[^}]* ?}>?/.test(type)) return true; // { i32, i8 } etc. - anonymous struct types
// See comment in isStructPointerType()
return type[0] == '%';
},
INT_TYPES: {"i1":0,"i8":0,"i16":0,"i32":0,"i64":0},
FLOAT_TYPES: {"float":0,"double":0},
or64: function (x, y) {
var l = (x | 0) | (y | 0);
var h = (Math.round(x / 4294967296) | Math.round(y / 4294967296)) * 4294967296;
return l + h;
},
and64: function (x, y) {
var l = (x | 0) & (y | 0);
var h = (Math.round(x / 4294967296) & Math.round(y / 4294967296)) * 4294967296;
return l + h;
},
xor64: function (x, y) {
var l = (x | 0) ^ (y | 0);
var h = (Math.round(x / 4294967296) ^ Math.round(y / 4294967296)) * 4294967296;
return l + h;
},
getNativeTypeSize: function (type) {
switch (type) {
case 'i1': case 'i8': return 1;
case 'i16': return 2;
case 'i32': return 4;
case 'i64': return 8;
case 'float': return 4;
case 'double': return 8;
default: {
if (type[type.length-1] === '*') {
return Runtime.QUANTUM_SIZE; // A pointer
} else if (type[0] === 'i') {
var bits = parseInt(type.substr(1));
assert(bits % 8 === 0);
return bits/8;
} else {
return 0;
}
}
}
},
getNativeFieldSize: function (type) {
return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE);
},
dedup: function dedup(items, ident) {
var seen = {};
if (ident) {
return items.filter(function(item) {
if (seen[item[ident]]) return false;
seen[item[ident]] = true;
return true;
});
} else {
return items.filter(function(item) {
if (seen[item]) return false;
seen[item] = true;
return true;
});
}
},
set: function set() {
var args = typeof arguments[0] === 'object' ? arguments[0] : arguments;
var ret = {};
for (var i = 0; i < args.length; i++) {
ret[args[i]] = 0;
}
return ret;
},
STACK_ALIGN: 8,
getAlignSize: function (type, size, vararg) {
// we align i64s and doubles on 64-bit boundaries, unlike x86
if (!vararg && (type == 'i64' || type == 'double')) return 8;
if (!type) return Math.min(size, 8); // align structures internally to 64 bits
return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE);
},
calculateStructAlignment: function calculateStructAlignment(type) {
type.flatSize = 0;
type.alignSize = 0;
var diffs = [];
var prev = -1;
var index = 0;
type.flatIndexes = type.fields.map(function(field) {
index++;
var size, alignSize;
if (Runtime.isNumberType(field) || Runtime.isPointerType(field)) {
size = Runtime.getNativeTypeSize(field); // pack char; char; in structs, also char[X]s.
alignSize = Runtime.getAlignSize(field, size);
} else if (Runtime.isStructType(field)) {
if (field[1] === '0') {
// this is [0 x something]. When inside another structure like here, it must be at the end,
// and it adds no size
// XXX this happens in java-nbody for example... assert(index === type.fields.length, 'zero-length in the middle!');
size = 0;
if (Types.types[field]) {
alignSize = Runtime.getAlignSize(null, Types.types[field].alignSize);
} else {
alignSize = type.alignSize || QUANTUM_SIZE;
}
} else {
size = Types.types[field].flatSize;
alignSize = Runtime.getAlignSize(null, Types.types[field].alignSize);
}
} else if (field[0] == 'b') {
// bN, large number field, like a [N x i8]
size = field.substr(1)|0;
alignSize = 1;
} else if (field[0] === '<') {
// vector type
size = alignSize = Types.types[field].flatSize; // fully aligned
} else if (field[0] === 'i') {
// illegal integer field, that could not be legalized because it is an internal structure field
// it is ok to have such fields, if we just use them as markers of field size and nothing more complex
size = alignSize = parseInt(field.substr(1))/8;
assert(size % 1 === 0, 'cannot handle non-byte-size field ' + field);
} else {
assert(false, 'invalid type for calculateStructAlignment');
}
if (type.packed) alignSize = 1;
type.alignSize = Math.max(type.alignSize, alignSize);
var curr = Runtime.alignMemory(type.flatSize, alignSize); // if necessary, place this on aligned memory
type.flatSize = curr + size;
if (prev >= 0) {
diffs.push(curr-prev);
}
prev = curr;
return curr;
});
if (type.name_ && type.name_[0] === '[') {
// arrays have 2 elements, so we get the proper difference. then we scale here. that way we avoid
// allocating a potentially huge array for [999999 x i8] etc.
type.flatSize = parseInt(type.name_.substr(1))*type.flatSize/2;
}
type.flatSize = Runtime.alignMemory(type.flatSize, type.alignSize);
if (diffs.length == 0) {
type.flatFactor = type.flatSize;
} else if (Runtime.dedup(diffs).length == 1) {
type.flatFactor = diffs[0];
}
type.needsFlattening = (type.flatFactor != 1);
return type.flatIndexes;
},
generateStructInfo: function (struct, typeName, offset) {
var type, alignment;
if (typeName) {
offset = offset || 0;
type = (typeof Types === 'undefined' ? Runtime.typeInfo : Types.types)[typeName];
if (!type) return null;
if (type.fields.length != struct.length) {
printErr('Number of named fields must match the type for ' + typeName + ': possibly duplicate struct names. Cannot return structInfo');
return null;
}
alignment = type.flatIndexes;
} else {
var type = { fields: struct.map(function(item) { return item[0] }) };
alignment = Runtime.calculateStructAlignment(type);
}
var ret = {
__size__: type.flatSize
};
if (typeName) {
struct.forEach(function(item, i) {
if (typeof item === 'string') {
ret[item] = alignment[i] + offset;
} else {
// embedded struct
var key;
for (var k in item) key = k;
ret[key] = Runtime.generateStructInfo(item[key], type.fields[i], alignment[i]);
}
});
} else {
struct.forEach(function(item, i) {
ret[item[1]] = alignment[i];
});
}
return ret;
},
dynCall: function (sig, ptr, args) {
if (args && args.length) {
if (!args.splice) args = Array.prototype.slice.call(args);
args.splice(0, 0, ptr);
return Module['dynCall_' + sig].apply(null, args);
} else {
return Module['dynCall_' + sig].call(null, ptr);
}
},
functionPointers: [],
addFunction: function (func) {
for (var i = 0; i < Runtime.functionPointers.length; i++) {
if (!Runtime.functionPointers[i]) {
Runtime.functionPointers[i] = func;
return 2*(1 + i);
}
}
throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.';
},
removeFunction: function (index) {
Runtime.functionPointers[(index-2)/2] = null;
},
getAsmConst: function (code, numArgs) {
// code is a constant string on the heap, so we can cache these
if (!Runtime.asmConstCache) Runtime.asmConstCache = {};
var func = Runtime.asmConstCache[code];
if (func) return func;
var args = [];
for (var i = 0; i < numArgs; i++) {
args.push(String.fromCharCode(36) + i); // $0, $1 etc
}
code = Pointer_stringify(code);
if (code[0] === '"') {
// tolerate EM_ASM("..code..") even though EM_ASM(..code..) is correct
if (code.indexOf('"', 1) === code.length-1) {
code = code.substr(1, code.length-2);
} else {
// something invalid happened, e.g. EM_ASM("..code($0)..", input)
abort('invalid EM_ASM input |' + code + '|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)');
}
}
return Runtime.asmConstCache[code] = eval('(function(' + args.join(',') + '){ ' + code + ' })'); // new Function does not allow upvars in node
},
warnOnce: function (text) {
if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {};
if (!Runtime.warnOnce.shown[text]) {
Runtime.warnOnce.shown[text] = 1;
Module.printErr(text);
}
},
funcWrappers: {},
getFuncWrapper: function (func, sig) {
assert(sig);
if (!Runtime.funcWrappers[func]) {
Runtime.funcWrappers[func] = function dynCall_wrapper() {
return Runtime.dynCall(sig, func, arguments);
};
}
return Runtime.funcWrappers[func];
},
UTF8Processor: function () {
var buffer = [];
var needed = 0;
this.processCChar = function (code) {
code = code & 0xFF;
if (buffer.length == 0) {
if ((code & 0x80) == 0x00) { // 0xxxxxxx
return String.fromCharCode(code);
}
buffer.push(code);
if ((code & 0xE0) == 0xC0) { // 110xxxxx
needed = 1;
} else if ((code & 0xF0) == 0xE0) { // 1110xxxx
needed = 2;
} else { // 11110xxx
needed = 3;
}
return '';
}
if (needed) {
buffer.push(code);
needed--;
if (needed > 0) return '';
}
var c1 = buffer[0];
var c2 = buffer[1];
var c3 = buffer[2];
var c4 = buffer[3];
var ret;
if (buffer.length == 2) {
ret = String.fromCharCode(((c1 & 0x1F) << 6) | (c2 & 0x3F));
} else if (buffer.length == 3) {
ret = String.fromCharCode(((c1 & 0x0F) << 12) | ((c2 & 0x3F) << 6) | (c3 & 0x3F));
} else {
// http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
var codePoint = ((c1 & 0x07) << 18) | ((c2 & 0x3F) << 12) |
((c3 & 0x3F) << 6) | (c4 & 0x3F);
ret = String.fromCharCode(
Math.floor((codePoint - 0x10000) / 0x400) + 0xD800,
(codePoint - 0x10000) % 0x400 + 0xDC00);
}
buffer.length = 0;
return ret;
}
this.processJSString = function processJSString(string) {
string = unescape(encodeURIComponent(string));
var ret = [];
for (var i = 0; i < string.length; i++) {
ret.push(string.charCodeAt(i));
}
return ret;
}
},
stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+7)&-8); return ret; },
staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + size)|0;STATICTOP = (((STATICTOP)+7)&-8); return ret; },
dynamicAlloc: function (size) { var ret = DYNAMICTOP;DYNAMICTOP = (DYNAMICTOP + size)|0;DYNAMICTOP = (((DYNAMICTOP)+7)&-8); if (DYNAMICTOP >= TOTAL_MEMORY) enlargeMemory();; return ret; },
alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 8))*(quantum ? quantum : 8); return ret; },
makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*(+4294967296))) : ((+((low>>>0)))+((+((high|0)))*(+4294967296)))); return ret; },
GLOBAL_BASE: 8,
QUANTUM_SIZE: 4,
__dummy__: 0
}
Module['Runtime'] = Runtime;
//========================================
// Runtime essentials
//========================================
var __THREW__ = 0; // Used in checking for thrown exceptions.
var ABORT = false; // whether we are quitting the application. no code should run after this. set in exit() and abort()
var EXITSTATUS = 0;
var undef = 0;
// tempInt is used for 32-bit signed values or smaller. tempBigInt is used
// for 32-bit unsigned values or more than 32 bits. TODO: audit all uses of tempInt
var tempValue, tempInt, tempBigInt, tempInt2, tempBigInt2, tempPair, tempBigIntI, tempBigIntR, tempBigIntS, tempBigIntP, tempBigIntD, tempDouble, tempFloat;
var tempI64, tempI64b;
var tempRet0, tempRet1, tempRet2, tempRet3, tempRet4, tempRet5, tempRet6, tempRet7, tempRet8, tempRet9;
function assert(condition, text) {
if (!condition) {
abort('Assertion failed: ' + text);
}
}
var globalScope = this;
// C calling interface. A convenient way to call C functions (in C files, or
// defined with extern "C").
//
// Note: LLVM optimizations can inline and remove functions, after which you will not be
// able to call them. Closure can also do so. To avoid that, add your function to
// the exports using something like
//
// -s EXPORTED_FUNCTIONS='["_main", "_myfunc"]'
//
// @param ident The name of the C function (note that C++ functions will be name-mangled - use extern "C")
// @param returnType The return type of the function, one of the JS types 'number', 'string' or 'array' (use 'number' for any C pointer, and
// 'array' for JavaScript arrays and typed arrays; note that arrays are 8-bit).
// @param argTypes An array of the types of arguments for the function (if there are no arguments, this can be ommitted). Types are as in returnType,
// except that 'array' is not possible (there is no way for us to know the length of the array)
// @param args An array of the arguments to the function, as native JS values (as in returnType)
// Note that string arguments will be stored on the stack (the JS string will become a C string on the stack).
// @return The return value, as a native JS value (as in returnType)
function ccall(ident, returnType, argTypes, args) {
return ccallFunc(getCFunc(ident), returnType, argTypes, args);
}
Module["ccall"] = ccall;
// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
function getCFunc(ident) {
try {
var func = Module['_' + ident]; // closure exported function
if (!func) func = eval('_' + ident); // explicit lookup
} catch(e) {
}
assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)');
return func;
}
// Internal function that does a C call using a function, not an identifier
function ccallFunc(func, returnType, argTypes, args) {
var stack = 0;
function toC(value, type) {
if (type == 'string') {
if (value === null || value === undefined || value === 0) return 0; // null string
value = intArrayFromString(value);
type = 'array';
}
if (type == 'array') {
if (!stack) stack = Runtime.stackSave();
var ret = Runtime.stackAlloc(value.length);
writeArrayToMemory(value, ret);
return ret;
}
return value;
}
function fromC(value, type) {
if (type == 'string') {
return Pointer_stringify(value);
}
assert(type != 'array');
return value;
}
var i = 0;
var cArgs = args ? args.map(function(arg) {
return toC(arg, argTypes[i++]);
}) : [];
var ret = fromC(func.apply(null, cArgs), returnType);
if (stack) Runtime.stackRestore(stack);
return ret;
}
// Returns a native JS wrapper for a C function. This is similar to ccall, but
// returns a function you can call repeatedly in a normal way. For example:
//
// var my_function = cwrap('my_c_function', 'number', ['number', 'number']);
// alert(my_function(5, 22));
// alert(my_function(99, 12));
//
function cwrap(ident, returnType, argTypes) {
var func = getCFunc(ident);
return function() {
return ccallFunc(func, returnType, argTypes, Array.prototype.slice.call(arguments));
}
}
Module["cwrap"] = cwrap;
// Sets a value in memory in a dynamic way at run-time. Uses the
// type data. This is the same as makeSetValue, except that
// makeSetValue is done at compile-time and generates the needed
// code then, whereas this function picks the right code at
// run-time.
// Note that setValue and getValue only do *aligned* writes and reads!
// Note that ccall uses JS types as for defining types, while setValue and
// getValue need LLVM types ('i8', 'i32') - this is a lower-level operation
function setValue(ptr, value, type, noSafe) {
type = type || 'i8';
if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
switch(type) {
case 'i1': HEAP8[(ptr)]=value; break;
case 'i8': HEAP8[(ptr)]=value; break;
case 'i16': HEAP16[((ptr)>>1)]=value; break;
case 'i32': HEAP32[((ptr)>>2)]=value; break;
case 'i64': (tempI64 = [value>>>0,(tempDouble=value,(+(Math_abs(tempDouble))) >= (+1) ? (tempDouble > (+0) ? ((Math_min((+(Math_floor((tempDouble)/(+4294967296)))), (+4294967295)))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/(+4294967296))))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break;
case 'float': HEAPF32[((ptr)>>2)]=value; break;
case 'double': HEAPF64[((ptr)>>3)]=value; break;
default: abort('invalid type for setValue: ' + type);
}
}
Module['setValue'] = setValue;
// Parallel to setValue.
function getValue(ptr, type, noSafe) {
type = type || 'i8';
if (type.charAt(type.length-1) === '*') type = 'i32'; // pointers are 32-bit
switch(type) {
case 'i1': return HEAP8[(ptr)];
case 'i8': return HEAP8[(ptr)];
case 'i16': return HEAP16[((ptr)>>1)];
case 'i32': return HEAP32[((ptr)>>2)];
case 'i64': return HEAP32[((ptr)>>2)];
case 'float': return HEAPF32[((ptr)>>2)];
case 'double': return HEAPF64[((ptr)>>3)];
default: abort('invalid type for setValue: ' + type);
}
return null;
}
Module['getValue'] = getValue;
var ALLOC_NORMAL = 0; // Tries to use _malloc()
var ALLOC_STACK = 1; // Lives for the duration of the current function call
var ALLOC_STATIC = 2; // Cannot be freed
var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk
var ALLOC_NONE = 4; // Do not allocate
Module['ALLOC_NORMAL'] = ALLOC_NORMAL;
Module['ALLOC_STACK'] = ALLOC_STACK;
Module['ALLOC_STATIC'] = ALLOC_STATIC;
Module['ALLOC_DYNAMIC'] = ALLOC_DYNAMIC;
Module['ALLOC_NONE'] = ALLOC_NONE;
// allocate(): This is for internal use. You can use it yourself as well, but the interface
// is a little tricky (see docs right below). The reason is that it is optimized
// for multiple syntaxes to save space in generated code. So you should
// normally not use allocate(), and instead allocate memory using _malloc(),
// initialize it with setValue(), and so forth.
// @slab: An array of data, or a number. If a number, then the size of the block to allocate,
// in *bytes* (note that this is sometimes confusing: the next parameter does not
// affect this!)
// @types: Either an array of types, one for each byte (or 0 if no type at that position),
// or a single type which is used for the entire block. This only matters if there
// is initial data - if @slab is a number, then this does not matter at all and is
// ignored.
// @allocator: How to allocate memory, see ALLOC_*
function allocate(slab, types, allocator, ptr) {
var zeroinit, size;
if (typeof slab === 'number') {
zeroinit = true;
size = slab;
} else {
zeroinit = false;
size = slab.length;
}
var singleType = typeof types === 'string' ? types : null;
var ret;
if (allocator == ALLOC_NONE) {
ret = ptr;
} else {
ret = [_malloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
}
if (zeroinit) {
var ptr = ret, stop;
assert((ret & 3) == 0);
stop = ret + (size & ~3);
for (; ptr < stop; ptr += 4) {
HEAP32[((ptr)>>2)]=0;
}
stop = ret + size;
while (ptr < stop) {
HEAP8[((ptr++)|0)]=0;
}
return ret;
}
if (singleType === 'i8') {
if (slab.subarray || slab.slice) {
HEAPU8.set(slab, ret);
} else {
HEAPU8.set(new Uint8Array(slab), ret);
}
return ret;
}
var i = 0, type, typeSize, previousType;
while (i < size) {
var curr = slab[i];
if (typeof curr === 'function') {
curr = Runtime.getFunctionIndex(curr);
}
type = singleType || types[i];
if (type === 0) {
i++;
continue;
}
if (type == 'i64') type = 'i32'; // special case: we have one i32 here, and one i32 later
setValue(ret+i, curr, type);
// no need to look up size unless type changes, so cache it
if (previousType !== type) {
typeSize = Runtime.getNativeTypeSize(type);
previousType = type;
}
i += typeSize;
}
return ret;
}
Module['allocate'] = allocate;
function Pointer_stringify(ptr, /* optional */ length) {
// TODO: use TextDecoder
// Find the length, and check for UTF while doing so
var hasUtf = false;
var t;
var i = 0;
while (1) {
t = HEAPU8[(((ptr)+(i))|0)];
if (t >= 128) hasUtf = true;
else if (t == 0 && !length) break;
i++;
if (length && i == length) break;
}
if (!length) length = i;
var ret = '';
if (!hasUtf) {
var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack
var curr;
while (length > 0) {
curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK)));
ret = ret ? ret + curr : curr;
ptr += MAX_CHUNK;
length -= MAX_CHUNK;
}
return ret;
}
var utf8 = new Runtime.UTF8Processor();
for (i = 0; i < length; i++) {
t = HEAPU8[(((ptr)+(i))|0)];
ret += utf8.processCChar(t);
}
return ret;
}
Module['Pointer_stringify'] = Pointer_stringify;
// Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns
// a copy of that string as a Javascript String object.
function UTF16ToString(ptr) {
var i = 0;
var str = '';
while (1) {
var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];
if (codeUnit == 0)
return str;
++i;
// fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through.
str += String.fromCharCode(codeUnit);
}
}
Module['UTF16ToString'] = UTF16ToString;
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in UTF16LE form. The copy will require at most (str.length*2+1)*2 bytes of space in the HEAP.
function stringToUTF16(str, outPtr) {
for(var i = 0; i < str.length; ++i) {
// charCodeAt returns a UTF-16 encoded code unit, so it can be directly written to the HEAP.
var codeUnit = str.charCodeAt(i); // possibly a lead surrogate
HEAP16[(((outPtr)+(i*2))>>1)]=codeUnit;
}
// Null-terminate the pointer to the HEAP.
HEAP16[(((outPtr)+(str.length*2))>>1)]=0;
}
Module['stringToUTF16'] = stringToUTF16;
// Given a pointer 'ptr' to a null-terminated UTF32LE-encoded string in the emscripten HEAP, returns
// a copy of that string as a Javascript String object.
function UTF32ToString(ptr) {
var i = 0;
var str = '';
while (1) {
var utf32 = HEAP32[(((ptr)+(i*4))>>2)];
if (utf32 == 0)
return str;
++i;
// Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
if (utf32 >= 0x10000) {
var ch = utf32 - 0x10000;
str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF));
} else {
str += String.fromCharCode(utf32);
}
}
}
Module['UTF32ToString'] = UTF32ToString;
// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
// null-terminated and encoded in UTF32LE form. The copy will require at most (str.length+1)*4 bytes of space in the HEAP,
// but can use less, since str.length does not return the number of characters in the string, but the number of UTF-16 code units in the string.
function stringToUTF32(str, outPtr) {
var iChar = 0;
for(var iCodeUnit = 0; iCodeUnit < str.length; ++iCodeUnit) {
// Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code unit, not a Unicode code point of the character! We must decode the string to UTF-32 to the heap.
var codeUnit = str.charCodeAt(iCodeUnit); // possibly a lead surrogate
if (codeUnit >= 0xD800 && codeUnit <= 0xDFFF) {
var trailSurrogate = str.charCodeAt(++iCodeUnit);
codeUnit = 0x10000 + ((codeUnit & 0x3FF) << 10) | (trailSurrogate & 0x3FF);
}
HEAP32[(((outPtr)+(iChar*4))>>2)]=codeUnit;
++iChar;
}
// Null-terminate the pointer to the HEAP.
HEAP32[(((outPtr)+(iChar*4))>>2)]=0;
}
Module['stringToUTF32'] = stringToUTF32;
function demangle(func) {
try {
// Special-case the entry point, since its name differs from other name mangling.
if (func == 'Object._main' || func == '_main') {
return 'main()';
}
if (typeof func === 'number') func = Pointer_stringify(func);
if (func[0] !== '_') return func;
if (func[1] !== '_') return func; // C function
if (func[2] !== 'Z') return func;
switch (func[3]) {
case 'n': return 'operator new()';
case 'd': return 'operator delete()';
}
var i = 3;
// params, etc.
var basicTypes = {
'v': 'void',
'b': 'bool',
'c': 'char',
's': 'short',
'i': 'int',
'l': 'long',
'f': 'float',
'd': 'double',
'w': 'wchar_t',
'a': 'signed char',
'h': 'unsigned char',
't': 'unsigned short',
'j': 'unsigned int',
'm': 'unsigned long',
'x': 'long long',
'y': 'unsigned long long',
'z': '...'
};
function dump(x) {
//return;
if (x) Module.print(x);
Module.print(func);
var pre = '';
for (var a = 0; a < i; a++) pre += ' ';
Module.print (pre + '^');
}
var subs = [];
function parseNested() {
i++;
if (func[i] === 'K') i++; // ignore const
var parts = [];
while (func[i] !== 'E') {
if (func[i] === 'S') { // substitution
i++;
var next = func.indexOf('_', i);
var num = func.substring(i, next) || 0;
parts.push(subs[num] || '?');
i = next+1;
continue;
}
if (func[i] === 'C') { // constructor
parts.push(parts[parts.length-1]);
i += 2;
continue;
}
var size = parseInt(func.substr(i));
var pre = size.toString().length;
if (!size || !pre) { i--; break; } // counter i++ below us
var curr = func.substr(i + pre, size);
parts.push(curr);
subs.push(curr);
i += pre + size;
}
i++; // skip E
return parts;
}
var first = true;
function parse(rawList, limit, allowVoid) { // main parser
limit = limit || Infinity;
var ret = '', list = [];
function flushList() {
return '(' + list.join(', ') + ')';
}
var name;
if (func[i] === 'N') {
// namespaced N-E
name = parseNested().join('::');
limit--;
if (limit === 0) return rawList ? [name] : name;
} else {
// not namespaced
if (func[i] === 'K' || (first && func[i] === 'L')) i++; // ignore const and first 'L'
var size = parseInt(func.substr(i));
if (size) {
var pre = size.toString().length;
name = func.substr(i + pre, size);
i += pre + size;
}
}
first = false;
if (func[i] === 'I') {
i++;
var iList = parse(true);
var iRet = parse(true, 1, true);
ret += iRet[0] + ' ' + name + '<' + iList.join(', ') + '>';
} else {
ret = name;
}
paramLoop: while (i < func.length && limit-- > 0) {
//dump('paramLoop');
var c = func[i++];
if (c in basicTypes) {
list.push(basicTypes[c]);
} else {
switch (c) {
case 'P': list.push(parse(true, 1, true)[0] + '*'); break; // pointer
case 'R': list.push(parse(true, 1, true)[0] + '&'); break; // reference
case 'L': { // literal
i++; // skip basic type
var end = func.indexOf('E', i);
var size = end - i;
list.push(func.substr(i, size));
i += size + 2; // size + 'EE'
break;
}
case 'A': { // array
var size = parseInt(func.substr(i));
i += size.toString().length;
if (func[i] !== '_') throw '?';
i++; // skip _
list.push(parse(true, 1, true)[0] + ' [' + size + ']');
break;
}
case 'E': break paramLoop;
default: ret += '?' + c; break paramLoop;
}
}
}
if (!allowVoid && list.length === 1 && list[0] === 'void') list = []; // avoid (void)
return rawList ? list : ret + flushList();
}
return parse();
} catch(e) {
return func;
}
}
function demangleAll(text) {
return text.replace(/__Z[\w\d_]+/g, function(x) { var y = demangle(x); return x === y ? x : (x + ' [' + y + ']') });
}
function stackTrace() {
var stack = new Error().stack;
return stack ? demangleAll(stack) : '(no stack trace available)'; // Stack trace is not available at least on IE10 and Safari 6.
}
// Memory management
var PAGE_SIZE = 4096;
function alignMemoryPage(x) {
return (x+4095)&-4096;
}
var HEAP;
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
var STATIC_BASE = 0, STATICTOP = 0, staticSealed = false; // static area
var STACK_BASE = 0, STACKTOP = 0, STACK_MAX = 0; // stack area
var DYNAMIC_BASE = 0, DYNAMICTOP = 0; // dynamic area handled by sbrk
function enlargeMemory() {
abort('Cannot enlarge memory arrays in asm.js. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + TOTAL_MEMORY + ', or (2) set Module.TOTAL_MEMORY before the program runs.');
}
var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216;
var FAST_MEMORY = Module['FAST_MEMORY'] || 2097152;
var totalMemory = 4096;
while (totalMemory < TOTAL_MEMORY || totalMemory < 2*TOTAL_STACK) {
if (totalMemory < 16*1024*1024) {
totalMemory *= 2;
} else {
totalMemory += 16*1024*1024
}
}
if (totalMemory !== TOTAL_MEMORY) {
Module.printErr('increasing TOTAL_MEMORY to ' + totalMemory + ' to be more reasonable');
TOTAL_MEMORY = totalMemory;
}
// Initialize the runtime's memory
// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']),
'Cannot fallback to non-typed array case: Code is too specialized');
var buffer = new ArrayBuffer(TOTAL_MEMORY);
HEAP8 = new Int8Array(buffer);
HEAP16 = new Int16Array(buffer);
HEAP32 = new Int32Array(buffer);
HEAPU8 = new Uint8Array(buffer);
HEAPU16 = new Uint16Array(buffer);
HEAPU32 = new Uint32Array(buffer);
HEAPF32 = new Float32Array(buffer);
HEAPF64 = new Float64Array(buffer);
// Endianness check (note: assumes compiler arch was little-endian)
HEAP32[0] = 255;
assert(HEAPU8[0] === 255 && HEAPU8[3] === 0, 'Typed arrays 2 must be run on a little-endian system');
Module['HEAP'] = HEAP;
Module['HEAP8'] = HEAP8;
Module['HEAP16'] = HEAP16;
Module['HEAP32'] = HEAP32;
Module['HEAPU8'] = HEAPU8;
Module['HEAPU16'] = HEAPU16;
Module['HEAPU32'] = HEAPU32;
Module['HEAPF32'] = HEAPF32;
Module['HEAPF64'] = HEAPF64;
function callRuntimeCallbacks(callbacks) {
while(callbacks.length > 0) {
var callback = callbacks.shift();
if (typeof callback == 'function') {
callback();
continue;
}
var func = callback.func;
if (typeof func === 'number') {
if (callback.arg === undefined) {
Runtime.dynCall('v', func);
} else {
Runtime.dynCall('vi', func, [callback.arg]);
}
} else {
func(callback.arg === undefined ? null : callback.arg);
}
}
}
var __ATPRERUN__ = []; // functions called before the runtime is initialized
var __ATINIT__ = []; // functions called during startup
var __ATMAIN__ = []; // functions called when main() is to be run
var __ATEXIT__ = []; // functions called during shutdown
var __ATPOSTRUN__ = []; // functions called after the runtime has exited
var runtimeInitialized = false;
function preRun() {
// compatibility - merge in anything from Module['preRun'] at this time
if (Module['preRun']) {
if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
while (Module['preRun'].length) {
addOnPreRun(Module['preRun'].shift());
}
}
callRuntimeCallbacks(__ATPRERUN__);
}
function ensureInitRuntime() {
if (runtimeInitialized) return;
runtimeInitialized = true;
callRuntimeCallbacks(__ATINIT__);
}
function preMain() {
callRuntimeCallbacks(__ATMAIN__);
}
function exitRuntime() {
callRuntimeCallbacks(__ATEXIT__);
}
function postRun() {
// compatibility - merge in anything from Module['postRun'] at this time
if (Module['postRun']) {
if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']];
while (Module['postRun'].length) {
addOnPostRun(Module['postRun'].shift());
}
}
callRuntimeCallbacks(__ATPOSTRUN__);
}
function addOnPreRun(cb) {
__ATPRERUN__.unshift(cb);
}
Module['addOnPreRun'] = Module.addOnPreRun = addOnPreRun;
function addOnInit(cb) {
__ATINIT__.unshift(cb);
}
Module['addOnInit'] = Module.addOnInit = addOnInit;
function addOnPreMain(cb) {
__ATMAIN__.unshift(cb);
}
Module['addOnPreMain'] = Module.addOnPreMain = addOnPreMain;
function addOnExit(cb) {
__ATEXIT__.unshift(cb);
}
Module['addOnExit'] = Module.addOnExit = addOnExit;
function addOnPostRun(cb) {
__ATPOSTRUN__.unshift(cb);
}
Module['addOnPostRun'] = Module.addOnPostRun = addOnPostRun;
// Tools
// This processes a JS string into a C-line array of numbers, 0-terminated.
// For LLVM-originating strings, see parser.js:parseLLVMString function
function intArrayFromString(stringy, dontAddNull, length /* optional */) {
var ret = (new Runtime.UTF8Processor()).processJSString(stringy);
if (length) {
ret.length = length;
}
if (!dontAddNull) {
ret.push(0);
}
return ret;
}
Module['intArrayFromString'] = intArrayFromString;
function intArrayToString(array) {
var ret = [];
for (var i = 0; i < array.length; i++) {
var chr = array[i];
if (chr > 0xFF) {
chr &= 0xFF;
}
ret.push(String.fromCharCode(chr));
}
return ret.join('');
}
Module['intArrayToString'] = intArrayToString;
// Write a Javascript array to somewhere in the heap
function writeStringToMemory(string, buffer, dontAddNull) {
var array = intArrayFromString(string, dontAddNull);
var i = 0;
while (i < array.length) {
var chr = array[i];
HEAP8[(((buffer)+(i))|0)]=chr;
i = i + 1;
}
}
Module['writeStringToMemory'] = writeStringToMemory;
function writeArrayToMemory(array, buffer) {
for (var i = 0; i < array.length; i++) {
HEAP8[(((buffer)+(i))|0)]=array[i];
}
}
Module['writeArrayToMemory'] = writeArrayToMemory;
function writeAsciiToMemory(str, buffer, dontAddNull) {
for (var i = 0; i < str.length; i++) {
HEAP8[(((buffer)+(i))|0)]=str.charCodeAt(i);
}
if (!dontAddNull) HEAP8[(((buffer)+(str.length))|0)]=0;
}
Module['writeAsciiToMemory'] = writeAsciiToMemory;
function unSign(value, bits, ignore, sig) {
if (value >= 0) {
return value;
}
return bits <= 32 ? 2*Math.abs(1 << (bits-1)) + value // Need some trickery, since if bits == 32, we are right at the limit of the bits JS uses in bitshifts
: Math.pow(2, bits) + value;
}
function reSign(value, bits, ignore, sig) {
if (value <= 0) {
return value;
}
var half = bits <= 32 ? Math.abs(1 << (bits-1)) // abs is needed if bits == 32
: Math.pow(2, bits-1);
if (value >= half && (bits <= 32 || value > half)) { // for huge values, we can hit the precision limit and always get true here. so don't do that
// but, in general there is no perfect solution here. With 64-bit ints, we get rounding and errors
// TODO: In i64 mode 1, resign the two parts separately and safely
value = -2*half + value; // Cannot bitshift half, as it may be at the limit of the bits JS uses in bitshifts
}
return value;
}
// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 )
if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) {
var ah = a >>> 16;
var al = a & 0xffff;
var bh = b >>> 16;
var bl = b & 0xffff;
return (al*bl + ((ah*bl + al*bh) << 16))|0;
};
Math.imul = Math['imul'];
var Math_abs = Math.abs;
var Math_cos = Math.cos;
var Math_sin = Math.sin;
var Math_tan = Math.tan;
var Math_acos = Math.acos;
var Math_asin = Math.asin;
var Math_atan = Math.atan;
var Math_atan2 = Math.atan2;
var Math_exp = Math.exp;
var Math_log = Math.log;
var Math_sqrt = Math.sqrt;
var Math_ceil = Math.ceil;
var Math_floor = Math.floor;
var Math_pow = Math.pow;
var Math_imul = Math.imul;
var Math_fround = Math.fround;
var Math_min = Math.min;
// A counter of dependencies for calling run(). If we need to
// do asynchronous work before running, increment this and
// decrement it. Incrementing must happen in a place like
// PRE_RUN_ADDITIONS (used by emcc to add file preloading).
// Note that you can add dependencies in preRun, even though
// it happens right before run - run will be postponed until
// the dependencies are met.
var runDependencies = 0;
var runDependencyWatcher = null;
var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled
function addRunDependency(id) {
runDependencies++;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
}
Module['addRunDependency'] = addRunDependency;
function removeRunDependency(id) {
runDependencies--;
if (Module['monitorRunDependencies']) {
Module['monitorRunDependencies'](runDependencies);
}
if (runDependencies == 0) {
if (runDependencyWatcher !== null) {
clearInterval(runDependencyWatcher);
runDependencyWatcher = null;
}
if (dependenciesFulfilled) {
var callback = dependenciesFulfilled;
dependenciesFulfilled = null;
callback(); // can add another dependenciesFulfilled
}
}
}
Module['removeRunDependency'] = removeRunDependency;
Module["preloadedImages"] = {}; // maps url to image data
Module["preloadedAudios"] = {}; // maps url to audio data
var memoryInitializer = null;
// === Body ===
var __ZTVN10__cxxabiv117__class_type_infoE = 291152;
var __ZTVN10__cxxabiv120__si_class_type_infoE = 291192;
STATIC_BASE = 8;
STATICTOP = STATIC_BASE + Runtime.alignMemory(291923);
/* global initializers */ __ATINIT__.push();
/* memory initializer */ allocate([8,5,0,0,1,0,0,0,120,4,0,0,0,0,0,0,16,5,0,0,40,5,0,0,1,0,0,0,128,4,0,0,0,0,0,0,48,5,0,0,72,5,0,0,0,0,0,0,168,4,0,0,0,0,0,0,80,5,0,0,104,5,0,0,0,0,0,0,160,4,0,0,0,0,0,0,112,5,0,0,136,5,0,0,2,0,0,0,112,2,0,0,0,0,0,0,144,5,0,0,184,5,0,0,2,0,0,0,120,2,0,0,0,0,0,0,192,5,0,0,232,5,0,0,2,0,0,0,128,2,0,0,0,0,0,0,240,5,0,0,24,6,0,0,1,0,0,0,184,4,0,0,0,0,0,0,40,6,0,0,104,6,0,0,1,0,0,0,192,4,0,0,0,0,0,0,120,6,0,0,184,6,0,0,1,0,0,0,200,4,0,0,0,0,0,0,200,6,0,0,0,7,0,0,1,0,0,0,248,4,0,0,0,0,0,0,8,7,0,0,56,7,0,0,1,0,0,0,0,5,0,0,0,0,0,0,64,7,0,0,112,7,0,0,1,0,0,0,152,4,0,0,0,0,0,0,120,7,0,0,168,7,0,0,1,0,0,0,144,4,0,0,0,0,0,0,176,7,0,0,224,7,0,0,1,0,0,0,136,4,0,0,0,0,0,0,232,7,0,0,24,8,0,0,0,0,0,0,176,4,0,0,0,0,0,0,40,8,0,0,80,8,0,0,0,0,0,0,96,2,0,0,0,0,0,0,88,8,0,0,120,8,0,0,0,0,0,0,104,2,0,0,0,0,0,0,128,8,0,0,160,8,0,0,3,0,0,0,104,3,0,0,16,0,0,0,176,8,0,0,224,8,0,0,3,0,0,0,160,3,0,0,16,0,0,0,232,8,0,0,16,9,0,0,3,0,0,0,216,3,0,0,16,0,0,0,32,9,0,0,72,9,0,0,3,0,0,0,24,4,0,0,33,0,0,0,80,9,0,0,120,9,0,0,3,0,0,0,64,4,0,0,33,0,0,0,128,9,0,0,168,9,0,0,0,0,0,0,16,4,0,0,0,0,0,0,176,9,0,0,216,9,0,0,0,0,0,0,136,2,0,0,0,0,0,0,224,9,0,0,8,10,0,0,0,0,0,0,144,2,0,0,0,0,0,0,16,10,0,0,40,10,0,0,0,0,0,0,144,2,0,0,0,0,0,0,16,10,0,0,48,10,0,0,0,0,0,0,144,2,0,0,0,0,0,0,16,10,0,0,56,10,0,0,0,0,0,0,144,2,0,0,0,0,0,0,16,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,98,64,0,0,0,0,0,192,98,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,100,102,116,111,112,112,109,32,118,101,114,115,105,111,110,32,37,115,10,0,0,0,0,48,46,49,54,46,51,0,0,37,115,10,0,0,0,0,0,67,111,112,121,114,105,103,104,116,32,50,48,48,53,45,50,48,49,48,32,84,104,101,32,80,111,112,112,108,101,114,32,68,101,118,101,108,111,112,101,114,115,32,45,32,104,116,116,112,58,47,47,112,111,112,112,108,101,114,46,102,114,101,101,100,101,115,107,116,111,112,46,111,114,103,0,0,0,0,0,67,111,112,121,114,105,103,104,116,32,49,57,57,54,45,50,48,48,52,32,71,108,121,112,104,32,38,32,67,111,103,44,32,76,76,67,0,0,0,0,112,100,102,116,111,112,112,109,0,0,0,0,0,0,0,0,91,80,68,70,45,102,105,108,101,32,91,80,80,77,45,102,105,108,101,45,112,114,101,102,105,120,93,93,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,97,100,32,39,45,102,114,101,101,116,121,112,101,39,32,118,97,108,117,101,32,111,110,32,99,111,109,109,97,110,100,32,108,105,110,101,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,97,100,32,39,45,97,97,39,32,118,97,108,117,101,32,111,110,32,99,111,109,109,97,110,100,32,108,105,110,101,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,97,100,32,39,45,97,97,86,101,99,116,111,114,39,32,118,97,108,117,101,32,111,110,32,99,111,109,109,97,110,100,32,108,105,110,101,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,102,100,58,47,47,48,0,0,45,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,46,42,115,45,37,48,42,100,46,37,115,0,0,0,0,112,98,109,0,0,0,0,0,112,103,109,0,0,0,0,0,112,112,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,102,0,0,0,0,0,0,102,105,114,115,116,32,112,97,103,101,32,116,111,32,112,114,105,110,116,0,0,0,0,0,45,108,0,0,0,0,0,0,108,97,115,116,32,112,97,103,101,32,116,111,32,112,114,105,110,116,0,0,0,0,0,0,45,111,0,0,0,0,0,0,112,114,105,110,116,32,111,110,108,121,32,111,100,100,32,112,97,103,101,115,0,0,0,0,45,101,0,0,0,0,0,0,112,114,105,110,116,32,111,110,108,121,32,101,118,101,110,32,112,97,103,101,115,0,0,0,45,114,0,0,0,0,0,0,114,101,115,111,108,117,116,105,111,110,44,32,105,110,32,68,80,73,32,40,100,101,102,97,117,108,116,32,105,115,32,49,53,48,41,0,0,0,0,0,45,114,120,0,0,0,0,0,88,32,114,101,115,111,108,117,116,105,111,110,44,32,105,110,32,68,80,73,32,40,100,101,102,97,117,108,116,32,105,115,32,49,53,48,41,0,0,0,45,114,121,0,0,0,0,0,89,32,114,101,115,111,108,117,116,105,111,110,44,32,105,110,32,68,80,73,32,40,100,101,102,97,117,108,116,32,105,115,32,49,53,48,41,0,0,0,45,115,99,97,108,101,45,116,111,0,0,0,0,0,0,0,115,99,97,108,101,115,32,101,97,99,104,32,112,97,103,101,32,116,111,32,102,105,116,32,119,105,116,104,105,110,32,115,99,97,108,101,45,116,111,42,115,99,97,108,101,45,116,111,32,112,105,120,101,108,32,98,111,120,0,0,0,0,0,0,45,115,99,97,108,101,45,116,111,45,120,0,0,0,0,0,115,99,97,108,101,115,32,101,97,99,104,32,112,97,103,101,32,104,111,114,105,122,111,110,116,97,108,108,121,32,116,111,32,102,105,116,32,105,110,32,115,99,97,108,101,45,116,111,45,120,32,112,105,120,101,108,115,0,0,0,0,0,0,0,45,115,99,97,108,101,45,116,111,45,121,0,0,0,0,0,115,99,97,108,101,115,32,101,97,99,104,32,112,97,103,101,32,118,101,114,116,105,99,97,108,108,121,32,116,111,32,102,105,116,32,105,110,32,115,99,97,108,101,45,116,111,45,121,32,112,105,120,101,108,115,0,45,120,0,0,0,0,0,0,120,45,99,111,111,114,100,105,110,97,116,101,32,111,102,32,116,104,101,32,99,114,111,112,32,97,114,101,97,32,116,111,112,32,108,101,102,116,32,99,111,114,110,101,114,0,0,0,45,121,0,0,0,0,0,0,121,45,99,111,111,114,100,105,110,97,116,101,32,111,102,32,116,104,101,32,99,114,111,112,32,97,114,101,97,32,116,111,112,32,108,101,102,116,32,99,111,114,110,101,114,0,0,0,45,87,0,0,0,0,0,0,119,105,100,116,104,32,111,102,32,99,114,111,112,32,97,114,101,97,32,105,110,32,112,105,120,101,108,115,32,40,100,101,102,97,117,108,116,32,105,115,32,48,41,0,0,0,0,0,45,72,0,0,0,0,0,0,104,101,105,103,104,116,32,111,102,32,99,114,111,112,32,97,114,101,97,32,105,110,32,112,105,120,101,108,115,32,40,100,101,102,97,117,108,116,32,105,115,32,48,41,0,0,0,0,45,115,122,0,0,0,0,0,115,105,122,101,32,111,102,32,99,114,111,112,32,115,113,117,97,114,101,32,105,110,32,112,105,120,101,108,115,32,40,115,101,116,115,32,87,32,97,110,100,32,72,41,0,0,0,0,45,99,114,111,112,98,111,120,0,0,0,0,0,0,0,0,117,115,101,32,116,104,101,32,99,114,111,112,32,98,111,120,32,114,97,116,104,101,114,32,116,104,97,110,32,109,101,100,105,97,32,98,111,120,0,0,45,109,111,110,111,0,0,0,103,101,110,101,114,97,116,101,32,97,32,109,111,110,111,99,104,114,111,109,101,32,80,66,77,32,102,105,108,101,0,0,45,103,114,97,121,0,0,0,103,101,110,101,114,97,116,101,32,97,32,103,114,97,121,115,99,97,108,101,32,80,71,77,32,102,105,108,101,0,0,0,45,102,114,101,101,116,121,112,101,0,0,0,0,0,0,0,101,110,97,98,108,101,32,70,114,101,101,84,121,112,101,32,102,111,110,116,32,114,97,115,116,101,114,105,122,101,114,58,32,121,101,115,44,32,110,111,0,0,0,0,0,0,0,0,45,97,97,0,0,0,0,0,101,110,97,98,108,101,32,102,111,110,116,32,97,110,116,105,45,97,108,105,97,115,105,110,103,58,32,121,101,115,44,32,110,111,0,0,0,0,0,0,45,97,97,86,101,99,116,111,114,0,0,0,0,0,0,0,101,110,97,98,108,101,32,118,101,99,116,111,114,32,97,110,116,105,45,97,108,105,97,115,105,110,103,58,32,121,101,115,44,32,110,111,0,0,0,0,45,111,112,119,0,0,0,0,111,119,110,101,114,32,112,97,115,115,119,111,114,100,32,40,102,111,114,32,101,110,99,114,121,112,116,101,100,32,102,105,108,101,115,41,0,0,0,0,45,117,112,119,0,0,0,0,117,115,101,114,32,112,97,115,115,119,111,114,100,32,40,102,111,114,32,101,110,99,114,121,112,116,101,100,32,102,105,108,101,115,41,0,0,0,0,0,45,113,0,0,0,0,0,0,100,111,110,39,116,32,112,114,105,110,116,32,97,110,121,32,109,101,115,115,97,103,101,115,32,111,114,32,101,114,114,111,114,115,0,0,0,0,0,0,45,118,0,0,0,0,0,0,112,114,105,110,116,32,99,111,112,121,114,105,103,104,116,32,97,110,100,32,118,101,114,115,105,111,110,32,105,110,102,111,0,0,0,0,0,0,0,0,45,104,0,0,0,0,0,0,112,114,105,110,116,32,117,115,97,103,101,32,105,110,102,111,114,109,97,116,105,111,110,0,45,104,101,108,112,0,0,0,45,45,104,101,108,112,0,0,45,63,0,0,0,0,0,0,97,118,111,105,100,105,110,103,32,119,114,105,116,105,110,103,32,116,111,32,115,116,100,111,117,116,0,0,0,0,0,0,45,45,0,0,0,0,0,0,85,115,97,103,101,58,32,37,115,32,91,111,112,116,105,111,110,115,93,0,0,0,0,0,32,37,115,0,0,0,0,0,32,32,37,115,0,0,0,0,32,60,105,110,116,62,0,0,32,60,102,112,62,0,0,0,32,60,115,116,114,105,110,103,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,45,42,115,0,0,0,0,58,32,37,115,0,0,0,0,73,110,116,101,114,110,97,108,32,101,114,114,111,114,32,105,110,32,97,114,103,32,116,97,98,108,101,10,0,0,0,0,115,49,76,101,110,32,62,61,32,48,0,0,0,0,0,0,71,111,111,83,116,114,105,110,103,46,99,99,0,0,0,0,83,101,116,0,0,0,0,0,115,50,76,101,110,32,62,61,32,48,0,0,0,0,0,0,105,100,120,32,43,32,108,101,110,103,116,104,65,32,60,61,32,115,116,114,45,62,108,101,110,103,116,104,0,0,0,0,71,111,111,83,116,114,105,110,103,0,0,0,0,0,0,0,200,11,0,0,208,11,0,0,216,11,0,0,224,11,0,0,232,11,0,0,240,11,0,0,248,11,0,0,0,12,0,0,8,12,0,0,16,12,0,0,24,12,0,0,32,12,0,0,40,12,0,0,48,12,0,0,56,12,0,0,64,12,0,0,72,12,0,0,80,12,0,0,88,12,0,0,96,12,0,0,104,12,0,0,112,12,0,0,120,12,0,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,120,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,117,100,0,0,0,0,0,0,117,120,0,0,0,0,0,0,117,111,0,0,0,0,0,0,117,98,0,0,0,0,0,0,108,100,0,0,0,0,0,0,108,120,0,0,0,0,0,0,108,111,0,0,0,0,0,0,108,98,0,0,0,0,0,0,117,108,100,0,0,0,0,0,117,108,120,0,0,0,0,0,117,108,111,0,0,0,0,0,117,108,98,0,0,0,0,0,102,0,0,0,0,0,0,0,103,115,0,0,0,0,0,0,103,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,115,0,0,0,0,0,0,0,116,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,66,111,103,117,115,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,115,105,122,101,10,0,0,0,79,117,116,32,111,102,32,109,101,109,111,114,121,10,0,0,119,98,0,0,0,0,0,0,80,52,10,37,100,32,37,100,10,0,0,0,0,0,0,0,80,53,10,37,100,32,37,100,10,50,53,53,10,0,0,0,80,54,10,37,100,32,37,100,10,50,53,53,10,0,0,0,1,0,0,0,0,0,0,0,69,114,114,111,114,32,40,37,100,41,58,32,0,0,0,0,69,114,114,111,114,58,32,0,0,0,0,0,0,0,0,0,0,0,0,0,144,69,0,0,1,0,0,0,2,0,0,0,46,120,112,100,102,0,0,0,85,84,70,45,56,0,0,0,33,0,0,0,224,70,0,0,35,0,0,0,232,70,0,0,36,0,0,0,240,70,0,0,37,0,0,0,248,70,0,0,38,0,0,0,0,71,0,0,39,0,0,0,8,71,0,0,40,0,0,0,16,71,0,0,41,0,0,0,24,71,0,0,42,0,0,0,32,71,0,0,43,0,0,0,40,71,0,0,44,0,0,0,48,71,0,0,45,0,0,0,56,71,0,0,46,0,0,0,64,71,0,0,47,0,0,0,72,71,0,0,48,0,0,0,80,71,0,0,49,0,0,0,88,71,0,0,50,0,0,0,96,71,0,0,51,0,0,0,104,71,0,0,52,0,0,0,112,71,0,0,53,0,0,0,120,71,0,0,54,0,0,0,128,71,0,0,55,0,0,0,136,71,0,0,56,0,0,0,144,71,0,0,57,0,0,0,152,71,0,0,58,0,0,0,160,71,0,0,59,0,0,0,168,71,0,0,60,0,0,0,176,71,0,0,61,0,0,0,184,71,0,0,62,0,0,0,192,71,0,0,63,0,0,0,200,71,0,0,64,0,0,0,208,71,0,0,65,0,0,0,216,71,0,0,198,0,0,0,224,71,0,0,252,1,0,0,232,71,0,0,230,247,0,0,240,71,0,0,193,0,0,0,248,71,0,0,225,247,0,0,0,72,0,0,2,1,0,0,16,72,0,0,194,0,0,0,24,72,0,0,226,247,0,0,40,72,0,0,201,246,0,0,64,72,0,0,180,247,0,0,72,72,0,0,196,0,0,0,88,72,0,0,228,247,0,0,104,72,0,0,192,0,0,0,120,72,0,0,224,247,0,0,128,72,0,0,145,3,0,0,144,72,0,0,134,3,0,0,152,72,0,0,0,1,0,0,168,72,0,0,4,1,0,0,176,72,0,0,197,0,0,0,184,72,0,0,250,1,0,0,192,72,0,0,229,247,0,0,208,72,0,0,97,247,0,0,224,72,0,0,195,0,0,0,232,72,0,0,227,247,0,0,240,72,0,0,66,0,0,0,0,73,0,0,146,3,0,0,8,73,0,0,244,246,0,0,16,73,0,0,98,247,0,0,32,73,0,0,67,0,0,0,40,73,0,0,6,1,0,0,48,73,0,0,202,246,0,0,56,73,0,0,245,246,0,0,64,73,0,0,12,1,0,0,80,73,0,0,199,0,0,0,88,73,0,0,231,247,0,0,104,73,0,0,8,1,0,0,120,73,0,0,10,1,0,0,136,73,0,0,184,247,0,0,152,73,0,0,167,3,0,0,168,73,0,0,246,246,0,0,176,73,0,0,99,247,0,0,192,73,0,0,68,0,0,0,200,73,0,0,14,1,0,0,208,73,0,0,16,1,0,0,216,73,0,0,6,34,0,0,224,73,0,0,203,246,0,0,232,73,0,0,204,246,0,0,248,73,0,0,205,246,0,0,8,74,0,0,168,247,0,0,24,74,0,0,247,246,0,0,40,74,0,0,100,247,0,0,56,74,0,0,69,0,0,0,64,74,0,0,201,0,0,0,72,74,0,0,233,247,0,0,80,74,0,0,20,1,0,0,96,74,0,0,26,1,0,0,104,74,0,0,202,0,0,0,112,74,0,0,234,247,0,0,128,74,0,0,203,0,0,0,152,74,0,0,235,247,0,0,168,74,0,0,22,1,0,0,184,74,0,0,200,0,0,0,200,74,0,0,232,247,0,0,208,74,0,0,18,1,0,0,224,74,0,0,74,1,0,0,232,74,0,0,24,1,0,0,240,74,0,0,149,3,0,0,248,74,0,0,136,3,0,0,0,75,0,0,101,247,0,0,16,75,0,0,151,3,0,0,24,75,0,0,137,3,0,0,32,75,0,0,208,0,0,0,48,75,0,0,240,247,0,0,56,75,0,0,172,32,0,0,72,75,0,0,70,0,0,0,80,75,0,0,102,247,0,0,88,75,0,0,71,0,0,0,96,75,0,0,147,3,0,0,104,75,0,0,30,1,0,0,112,75,0,0,230,1,0,0,120,75,0,0,28,1,0,0,128,75,0,0,34,1,0,0,144,75,0,0,32,1,0,0,160,75,0,0,206,246,0,0,176,75,0,0,96,247,0,0,184,75,0,0,103,247,0,0,200,75,0,0,72,0,0,0,208,75,0,0,207,37,0,0,216,75,0,0,170,37,0,0,224,75,0,0,171,37,0,0,232,75,0,0,161,37,0,0,240,75,0,0,38,1,0,0,248,75,0,0,36,1,0,0,0,76,0,0,104,247,0,0,16,76,0,0,207,246,0,0,24,76,0,0,248,246,0,0,40,76,0,0,73,0,0,0,64,76,0,0,50,1,0,0,72,76,0,0,205,0,0,0,80,76,0,0,237,247,0,0,88,76,0,0,44,1,0,0,104,76,0,0,206,0,0,0,112,76,0,0,238,247,0,0,128,76,0,0,207,0,0,0,152,76,0,0,239,247,0,0,168,76,0,0,48,1,0,0,184,76,0,0,17,33,0,0,200,76,0,0,204,0,0,0,216,76,0,0,236,247,0,0,224,76,0,0,42,1,0,0,240,76,0,0,46,1,0,0,248,76,0,0,153,3,0,0,0,77,0,0,170,3,0,0,8,77,0,0,138,3,0,0,24,77,0,0,105,247,0,0,40,77,0,0,40,1,0,0,48,77,0,0,74,0,0,0,56,77,0,0,52,1,0,0,64,77,0,0,106,247,0,0,80,77,0,0,75,0,0,0,88,77,0,0,154,3,0,0,96,77,0,0,54,1,0,0,104,77,0,0,107,247,0,0,120,77,0,0,76,0,0,0,128,77,0,0,191,246,0,0,136,77,0,0,57,1,0,0,144,77,0,0,155,3,0,0,152,77,0,0,61,1,0,0,160,77,0,0,59,1,0,0,168,77,0,0,63,1,0,0,184,77,0,0,65,1,0,0,192,77,0,0,249,246,0,0,200,77,0,0,108,247,0,0,216,77,0,0,77,0,0,0,224,77,0,0,208,246,0,0,232,77,0,0,175,247,0,0,240,77,0,0,109,247,0,0,0,78,0,0,156,3,0,0,8,78,0,0,78,0,0,0,16,78,0,0,67,1,0,0,24,78,0,0,71,1,0,0,32,78,0,0,69,1,0,0,40,78,0,0,110,247,0,0,56,78,0,0,209,0,0,0,64,78,0,0,241,247,0,0,72,78,0,0,157,3,0,0,88,78,0,0,79,0,0,0,96,78,0,0,82,1,0,0,104,78,0,0,250,246,0,0,112,78,0,0,211,0,0,0,120,78,0,0,243,247,0,0,128,78,0,0,78,1,0,0,144,78,0,0,212,0,0,0,152,78,0,0,244,247,0,0,168,78,0,0,214,0,0,0,192,78,0,0,246,247,0,0,208,78,0,0,251,246,0,0,224,78,0,0,210,0,0,0,240,78,0,0,242,247,0,0,248,78,0,0,160,1,0,0,8,79,0,0,80,1,0,0,16,79,0,0,76,1,0,0,32,79,0,0,38,33,0,0,40,79,0,0,143,3,0,0,48,79,0,0,159,3,0,0,64,79,0,0,140,3,0,0,72,79,0,0,216,0,0,0,88,79,0,0,254,1,0,0,96,79,0,0,248,247,0,0,112,79,0,0,111,247,0,0,128,79,0,0,213,0,0,0,136,79,0,0,245,247,0,0,144,79,0,0,80,0,0,0,160,79,0,0,166,3,0,0,168,79,0,0,160,3,0,0,176,79,0,0,168,3,0,0,184,79,0,0,112,247,0,0,192,79,0,0,81,0,0,0,200,79,0,0,113,247,0,0,208,79,0,0,82,0,0,0,216,79,0,0,84,1,0,0,224,79,0,0,88,1,0,0,232,79,0,0,86,1,0,0,240,79,0,0,28,33,0,0,0,80,0,0,161,3,0,0,16,80,0,0,252,246,0,0,24,80,0,0,114,247,0,0,40,80,0,0,83,0,0,0,48,80,0,0,12,37,0,0,56,80,0,0,20,37,0,0,72,80,0,0,16,37,0,0,88,80,0,0,24,37,0,0,104,80,0,0,60,37,0,0,120,80,0,0,44,37,0,0,136,80,0,0,52,37,0,0,152,80,0,0,28,37,0,0,168,80,0,0,36,37,0,0,184,80,0,0,0,37,0,0,200,80,0,0,2,37,0,0,216,80,0,0,97,37,0,0,232,80,0,0,98,37,0,0,248,80,0,0,86,37,0,0,8,81,0,0,85,37,0,0,24,81,0,0,99,37,0,0,40,81,0,0,81,37,0,0,56,81,0,0,87,37,0,0,72,81,0,0,93,37,0,0,88,81,0,0,92,37,0,0,104,81,0,0,91,37,0,0,120,81,0,0,94,37,0,0,136,81,0,0,95,37,0,0,152,81,0,0,90,37,0,0,168,81,0,0,84,37,0,0,184,81,0,0,105,37,0,0,200,81,0,0,102,37,0,0,216,81,0,0,96,37,0,0,232,81,0,0,80,37,0,0,248,81,0,0,108,37,0,0,8,82,0,0,103,37,0,0,24,82,0,0,104,37,0,0,40,82,0,0,100,37,0,0,56,82,0,0,101,37,0,0,72,82,0,0,89,37,0,0,88,82,0,0,88,37,0,0,104,82,0,0,82,37,0,0,120,82,0,0,83,37,0,0,136,82,0,0,107,37,0,0,152,82,0,0,106,37,0,0,168,82,0,0,90,1,0,0,184,82,0,0,96,1,0,0,192,82,0,0,253,246,0,0,200,82,0,0,94,1,0,0,216,82,0,0,92,1,0,0,232,82,0,0,24,2,0,0,248,82,0,0,163,3,0,0,8,83,0,0,115,247,0,0,16,83,0,0,84,0,0,0,24,83,0,0,164,3,0,0,32,83,0,0,102,1,0,0,40,83,0,0,100,1,0,0,48,83,0,0,98,1,0,0,56,83,0,0,152,3,0,0,72,83,0,0,222,0,0,0,80,83,0,0,254,247,0,0,88,83,0,0,254,246,0,0,104,83,0,0,116,247,0,0,120,83,0,0,85,0,0,0,128,83,0,0,218,0,0,0,136,83,0,0,250,247,0,0,144,83,0,0,108,1,0,0,160,83,0,0,219,0,0,0,168,83,0,0,251,247,0,0,184,83,0,0,220,0,0,0,208,83,0,0,252,247,0,0,224,83,0,0,217,0,0,0,240,83,0,0,249,247,0,0,248,83,0,0,175,1,0,0,8,84,0,0,112,1,0,0,16,84,0,0,106,1,0,0,32,84,0,0,114,1,0,0,40,84,0,0,165,3,0,0,48,84,0,0,210,3,0,0,56,84,0,0,171,3,0,0,72,84,0,0,142,3,0,0,88,84,0,0,110,1,0,0,104,84,0,0,117,247,0,0,112,84,0,0,104,1,0,0,120,84,0,0,86,0,0,0,128,84,0,0,118,247,0,0,136,84,0,0,87,0,0,0,144,84,0,0,130,30,0,0,152,84,0,0,116,1,0,0,160,84,0,0,132,30,0,0,176,84,0,0,128,30,0,0,192,84,0,0,119,247,0,0,200,84,0,0,88,0,0,0,208,84,0,0,158,3,0,0,216,84,0,0,120,247,0,0,224,84,0,0,89,0,0,0,232,84,0,0,221,0,0,0,240,84,0,0,253,247,0,0,248,84,0,0,118,1,0,0,8,85,0,0,120,1,0,0,24,85,0,0,255,247,0,0,40,85,0,0,242,30,0,0,56,85,0,0,121,247,0,0,64,85,0,0,90,0,0,0,72,85,0,0,121,1,0,0,80,85,0,0,125,1,0,0,88,85,0,0,255,246,0,0,96,85,0,0,123,1,0,0,112,85,0,0,150,3,0,0,128,85,0,0,122,247,0,0,136,85,0,0,34,0,0,0,144,85,0,0,92,0,0,0,152,85,0,0,93,0,0,0,160,85,0,0,94,0,0,0,168,85,0,0,95,0,0,0,176,85,0,0,96,0,0,0,184,85,0,0,97,0,0,0,192,85,0,0,225,0,0,0,200,85,0,0,3,1,0,0,208,85,0,0,226,0,0,0,216,85,0,0,180,0,0,0,232,85,0,0,1,3,0,0,240,85,0,0,228,0,0,0,0,86,0,0,230,0,0,0,16,86,0,0,253,1,0,0,24,86,0,0,21,32,0,0,32,86,0,0,16,4,0,0,48,86,0,0,17,4,0,0,64,86,0,0,18,4,0,0,80,86,0,0,19,4,0,0,96,86,0,0,20,4,0,0,112,86,0,0,21,4,0,0,128,86,0,0,1,4,0,0,144,86,0,0,22,4,0,0,160,86,0,0,23,4,0,0,176,86,0,0,24,4,0,0,192,86,0,0,25,4,0,0,208,86,0,0,26,4,0,0,224,86,0,0,27,4,0,0,240,86,0,0,28,4,0,0,0,87,0,0,29,4,0,0,16,87,0,0,30,4,0,0,32,87,0,0,31,4,0,0,48,87,0,0,32,4,0,0,64,87,0,0,33,4,0,0,80,87,0,0,34,4,0,0,96,87,0,0,35,4,0,0,112,87,0,0,36,4,0,0,128,87,0,0,37,4,0,0,144,87,0,0,38,4,0,0,160,87,0,0,39,4,0,0,176,87,0,0,40,4,0,0,192,87,0,0,41,4,0,0,208,87,0,0,42,4,0,0,224,87,0,0,43,4,0,0,240,87,0,0,44,4,0,0,0,88,0,0,45,4,0,0,16,88,0,0,46,4,0,0,32,88,0,0,47,4,0,0,48,88,0,0,144,4,0,0,64,88,0,0,2,4,0,0,80,88,0,0,3,4,0,0,96,88,0,0,4,4,0,0,112,88,0,0,5,4,0,0,128,88,0,0,6,4,0,0,144,88,0,0,7,4,0,0,160,88,0,0,8,4,0,0,176,88,0,0,9,4,0,0,192,88,0,0,10,4,0,0,208,88,0,0,11,4,0,0,224,88,0,0,12,4,0,0,240,88,0,0,14,4,0,0,0,89,0,0,196,246,0,0,16,89,0,0,197,246,0,0,32,89,0,0,48,4,0,0,48,89,0,0,49,4,0,0,64,89,0,0,50,4,0,0,80,89,0,0,51,4,0,0,96,89,0,0,52,4,0,0,112,89,0,0,53,4,0,0,128,89,0,0,81,4,0,0,144,89,0,0,54,4,0,0,160,89,0,0,55,4,0,0,176,89,0,0,56,4,0,0,192,89,0,0,57,4,0,0,208,89,0,0,58,4,0,0,224,89,0,0,59,4,0,0,240,89,0,0,60,4,0,0,0,90,0,0,61,4,0,0,16,90,0,0,62,4,0,0,32,90,0,0,63,4,0,0,48,90,0,0,64,4,0,0,64,90,0,0,65,4,0,0,80,90,0,0,66,4,0,0,96,90,0,0,67,4,0,0,112,90,0,0,68,4,0,0,128,90,0,0,69,4,0,0,144,90,0,0,70,4,0,0,160,90,0,0,71,4,0,0,176,90,0,0,72,4,0,0,192,90,0,0,73,4,0,0,208,90,0,0,74,4,0,0,224,90,0,0,75,4,0,0,240,90,0,0,76,4,0,0,0,91,0,0,77,4,0,0,16,91,0,0,78,4,0,0,32,91,0,0,79,4,0,0,48,91,0,0,145,4,0,0,64,91,0,0,82,4,0,0,80,91,0,0,83,4,0,0,96,91,0,0,84,4,0,0,112,91,0,0,85,4,0,0,128,91,0,0,86,4,0,0,144,91,0,0,87,4,0,0,160,91,0,0,88,4,0,0,176,91,0,0,89,4,0,0,192,91,0,0,90,4,0,0,208,91,0,0,91,4,0,0,224,91,0,0,92,4,0,0,240,91,0,0,94,4,0,0,0,92,0,0,15,4,0,0,16,92,0,0,98,4,0,0,32,92,0,0,114,4,0,0,48,92,0,0,116,4,0,0,64,92,0,0,198,246,0,0,80,92,0,0,95,4,0,0,96,92,0,0,99,4,0,0,112,92,0,0,115,4,0,0,128,92,0,0,117,4,0,0,144,92,0,0,199,246,0,0,160,92,0,0,200,246,0,0,176,92,0,0,217,4,0,0,192,92,0,0,14,32,0,0,208,92,0,0,15,32,0,0,216,92,0,0,13,32,0,0,224,92,0,0,106,6,0,0,232,92,0,0,12,6,0,0,248,92,0,0,96,6,0,0,8,93,0,0,97,6,0,0,24,93,0,0,98,6,0,0,40,93,0,0,99,6,0,0,56,93,0,0,100,6,0,0,72,93,0,0,101,6,0,0,88,93,0,0,102,6,0,0,104,93,0,0,103,6,0,0,120,93,0,0,104,6,0,0,136,93,0,0,105,6,0,0,152,93,0,0,27,6,0,0,168,93,0,0,31,6,0,0,184,93,0,0,33,6,0,0,200,93,0,0,34,6,0,0,216,93,0,0,35,6,0,0,232,93,0,0,36,6,0,0,248,93,0,0,37,6,0,0,8,94,0,0,38,6,0,0,24,94,0,0,39,6,0,0,40,94,0,0,40,6,0,0,56,94,0,0,41,6,0,0,72,94,0,0,42,6,0,0,88,94,0,0,43,6,0,0,104,94,0,0,44,6,0,0,120,94,0,0,45,6,0,0,136,94,0,0,46,6,0,0,152,94,0,0,47,6,0,0,168,94,0,0,48,6,0,0,184,94,0,0,49,6,0,0,200,94,0,0,50,6,0,0,216,94,0,0,51,6,0,0,232,94,0,0,52,6,0,0,248,94,0,0,53,6,0,0,8,95,0,0,54,6,0,0,24,95,0,0,55,6,0,0,40,95,0,0,56,6,0,0,56,95,0,0,57,6,0,0,72,95,0,0,58,6,0,0,88,95,0,0,64,6,0,0,104,95,0,0,65,6,0,0,120,95,0,0,66,6,0,0,136,95,0,0,67,6,0,0,152,95,0,0,68,6,0,0,168,95,0,0,69,6,0,0,184,95,0,0,70,6,0,0,200,95,0,0,72,6,0,0,216,95,0,0,73,6,0,0,232,95,0,0,74,6,0,0,248,95,0,0,75,6,0,0,8,96,0,0,76,6,0,0,24,96,0,0,77,6,0,0,40,96,0,0,78,6,0,0,56,96,0,0,79,6,0,0,72,96,0,0,80,6,0,0,88,96,0,0,81,6,0,0,104,96,0,0,82,6,0,0,120,96,0,0,71,6,0,0,136,96,0,0,164,6,0,0,152,96,0,0,126,6,0,0,168,96,0,0,134,6,0,0,184,96,0,0,152,6,0,0,200,96,0,0,175,6,0,0,216,96,0,0,121,6,0,0,232,96,0,0,136,6,0,0,248,96,0,0,145,6,0,0,8,97,0,0,186,6,0,0,24,97,0,0,210,6,0,0,40,97,0,0,213,6,0,0,56,97,0,0,170,32,0,0,72,97,0,0,190,5,0,0,88,97,0,0,195,5,0,0,104,97,0,0,208,5,0,0,120,97,0,0,209,5,0,0,136,97,0,0,210,5,0,0,152,97,0,0,211,5,0,0,168,97,0,0,212,5,0,0,184,97,0,0,213,5,0,0,200,97,0,0,214,5,0,0,216,97,0,0,215,5,0,0,232,97,0,0,216,5,0,0,248,97,0,0,217,5,0,0,8,98,0,0,218,5,0,0,24,98,0,0,219,5,0,0,40,98,0,0,220,5,0,0,56,98,0,0,221,5,0,0,72,98,0,0,222,5,0,0,88,98,0,0,223,5,0,0,104,98,0,0,224,5,0,0,120,98,0,0,225,5,0,0,136,98,0,0,226,5,0,0,152,98,0,0,227,5,0,0,168,98,0,0,228,5,0,0,184,98,0,0,229,5,0,0,200,98,0,0,230,5,0,0,216,98,0,0,231,5,0,0,232,98,0,0,232,5,0,0,248,98,0,0,233,5,0,0,8,99,0,0,234,5,0,0,24,99,0,0,42,251,0,0,40,99,0,0,43,251,0,0,56,99,0,0,75,251,0,0,72,99,0,0,31,251,0,0,88,99,0,0,240,5,0,0,104,99,0,0,241,5,0,0,120,99,0,0,242,5,0,0,136,99,0,0,53,251,0,0,152,99,0,0,180,5,0,0,168,99,0,0,181,5,0,0,184,99,0,0,182,5,0,0,200,99,0,0,187,5,0,0,216,99,0,0,184,5,0,0,232,99,0,0,183,5,0,0,248,99,0,0,176,5,0,0,8,100,0,0,178,5,0,0,24,100,0,0,177,5,0,0,40,100,0,0,179,5,0,0,56,100,0,0,194,5,0,0,72,100,0,0,193,5,0,0,88,100,0,0,185,5,0,0,104,100,0,0,188,5,0,0,120,100,0,0,189,5,0,0,136,100,0,0,191,5,0,0,152,100,0,0,192,5,0,0,168,100,0,0,188,2,0,0,184,100,0,0,5,33,0,0,200,100,0,0,19,33,0,0,216,100,0,0,22,33,0,0,232,100,0,0,44,32,0,0,248,100,0,0,45,32,0,0,8,101,0,0,46,32,0,0,24,101,0,0,12,32,0,0,40,101,0,0,109,6,0,0,56,101,0,0,189,2,0,0,72,101,0,0,224,0,0,0,88,101,0,0,53,33,0,0,96,101,0,0,177,3,0,0,104,101,0,0,172,3,0,0,112,101,0,0,1,1,0,0,128,101,0,0,38,0,0,0,136,101,0,0,38,247,0,0,152,101,0,0,32,34,0,0,168,101,0,0,41,35,0,0,176,101,0,0,42,35,0,0,192,101,0,0,135,3,0,0,208,101,0,0,5,1,0,0,224,101,0,0,72,34,0,0,232,101,0,0,229,0,0,0,248,101,0,0,251,1,0,0,0,102,0,0,148,33,0,0,16,102,0,0,212,33,0,0,32,102,0,0,211,33,0,0,48,102,0,0,208,33,0,0,64,102,0,0,210,33,0,0,80,102,0,0,209,33,0,0,96,102,0,0,147,33,0,0,112,102,0,0,231,248,0,0,128,102,0,0,144,33,0,0,144,102,0,0,146,33,0,0,160,102,0,0,145,33,0,0,176,102,0,0,149,33,0,0,184,102,0,0,168,33,0,0,200,102,0,0,230,248,0,0,216,102,0,0,94,0,0,0,232,102,0,0,126,0,0,0,248,102,0,0,42,0,0,0,8,103,0,0,23,34,0,0,24,103,0,0,233,246,0,0,40,103,0,0,64,0,0,0,56,103,0,0,227,0,0,0,64,103,0,0,98,0,0,0,72,103,0,0,92,0,0,0,80,103,0,0,124,0,0,0,96,103,0,0,178,3,0,0,104,103,0,0,136,37,0,0,112,103,0,0,244,248,0,0,120,103,0,0,123,0,0,0,128,103,0,0,243,248,0,0,144,103,0,0,242,248,0,0,160,103,0,0,241,248,0,0,176,103,0,0,125,0,0,0,192,103,0,0,254,248,0,0,208,103,0,0,253,248,0,0,224,103,0,0,252,248,0,0,240,103,0,0,91,0,0,0,0,104,0,0,240,248,0,0,16,104,0,0,239,248,0,0,32,104,0,0,238,248,0,0,48,104,0,0,93,0,0,0,64,104,0,0,251,248,0,0,80,104,0,0,250,248,0,0,96,104,0,0,249,248,0,0,112,104,0,0,216,2,0,0,128,104,0,0,166,0,0,0,136,104,0,0,234,246,0,0,152,104,0,0,34,32,0,0,168,104,0,0,99,0,0,0,176,104,0,0,7,1,0,0,184,104,0,0,199,2,0,0,192,104,0,0,181,33,0,0,200,104,0,0,13,1,0,0,216,104,0,0,231,0,0,0,224,104,0,0,9,1,0,0,240,104,0,0,11,1,0,0,0,105,0,0,184,0,0,0,16,105,0,0,162,0,0,0,24,105,0,0,223,246,0,0,32,105,0,0,162,247,0,0,48,105,0,0,224,246,0,0,64,105,0,0,199,3,0,0,80,105,0,0,203,37,0,0,88,105,0,0,151,34,0,0,96,105,0,0,149,34,0,0,112,105,0,0,198,2,0,0,128,105,0,0,99,38,0,0,144,105,0,0,58,0,0,0,152,105,0,0,161,32,0,0,160,105,0,0,44,0,0,0,176,105,0,0,195,246,0,0,184,105,0,0,225,246,0,0,200,105,0,0,226,246,0,0,216,105,0,0,69,34,0,0,232,105,0,0,169,0,0,0,248,105,0,0,169,0,0,0,8,106,0,0,169,0,0,0,24,106,0,0,164,0,0,0,40,106,0,0,209,246,0,0,56,106,0,0,210,246,0,0,72,106,0,0,212,246,0,0,80,106,0,0,213,246,0,0,96,106,0,0,100,0,0,0,104,106,0,0,32,32,0,0,112,106,0,0,33,32,0,0,120,106,0,0,211,246,0,0,136,106,0,0,214,246,0,0,152,106,0,0,15,1,0,0,168,106,0,0,17,1,0,0,176,106,0,0,176,0,0,0,184,106,0,0,180,3,0,0,192,106,0,0,102,38,0,0,200,106,0,0,168,0,0,0,208,106,0,0,215,246,0,0,224,106,0,0,216,246,0,0,240,106,0,0,133,3,0,0,0,107,0,0,247,0,0,0,16,107,0,0,147,37,0,0,24,107,0,0,132,37,0,0,32,107,0,0,36,0,0,0,40,107,0,0,227,246,0,0,48,107,0,0,36,247,0,0,64,107,0,0,228,246,0,0,80,107,0,0,171,32,0,0,96,107,0,0,217,2,0,0,104,107,0,0,35,3,0,0,120,107,0,0,49,1,0,0,136,107,0,0,190,246,0,0,152,107,0,0,197,34,0,0,168,107,0,0,235,246,0,0,176,107,0,0,101,0,0,0,192,107,0,0,233,0,0,0,200,107,0,0,21,1,0,0,208,107,0,0,27,1,0,0,216,107,0,0,234,0,0,0,224,107,0,0,235,0,0,0,240,107,0,0,23,1,0,0,0,108,0,0,232,0,0,0,16,108,0,0,56,0,0,0,24,108,0,0,136,32,0,0,32,108,0,0,56,247,0,0,48,108,0,0,120,32,0,0,64,108,0,0,8,34,0,0,80,108,0,0,38,32,0,0,88,108,0,0,19,1,0,0,104,108,0,0,20,32,0,0,112,108,0,0,5,34,0,0,120,108,0,0,19,32,0,0,136,108,0,0,75,1,0,0,144,108,0,0,25,1,0,0,152,108,0,0,181,3,0,0,160,108,0,0,173,3,0,0,168,108,0,0,61,0,0,0,184,108,0,0,97,34,0,0,192,108,0,0,46,33,0,0,208,108,0,0,236,246,0,0,224,108,0,0,183,3,0,0,240,108,0,0,174,3,0,0,248,108,0,0,240,0,0,0,8,109,0,0,33,0,0,0,16,109,0,0,60,32,0,0,24,109,0,0,161,0,0,0,40,109,0,0,161,247,0,0,56,109,0,0,33,0,0,0,72,109,0,0,33,247,0,0,88,109,0,0,3,34,0,0,104,109,0,0,102,0,0,0,120,109,0,0,64,38,0,0,128,109,0,0,0,251,0,0,136,109,0,0,3,251,0,0,144,109,0,0,4,251,0,0,152,109,0,0,1,251,0,0,160,109,0,0,18,32,0,0,168,109,0,0,160,37,0,0,184,109,0,0,172,37,0,0,200,109,0,0,53,0,0,0,216,109,0,0,93,33,0,0,224,109,0,0,133,32,0,0,240,109,0,0,53,247,0,0,0,110,0,0,117,32,0,0,16,110,0,0,2,251,0,0,32,110,0,0,146,1,0,0,40,110,0,0,52,0,0,0,48,110,0,0,132,32,0,0,56,110,0,0,52,247,0,0,72,110,0,0,116,32,0,0,88,110,0,0,68,32,0,0,104,110,0,0,163,32,0,0,120,110,0,0,103,0,0,0,128,110,0,0,179,3,0,0,136,110,0,0,31,1,0,0,144,110,0,0,231,1,0,0,152,110,0,0,29,1,0,0,160,110,0,0,35,1,0,0,176,110,0,0,33,1,0,0,192,110,0,0,223,0,0,0,208,110,0,0,7,34,0,0,224,110,0,0,96,0,0,0,240,110,0,0,0,3,0,0,248,110,0,0,62,0,0,0,8,111,0,0,101,34,0,0,16,111,0,0,171,0,0,0,32,111,0,0,187,0,0,0,48,111,0,0,57,32,0,0,64,111,0,0,58,32,0,0,80,111,0,0,104,0,0,0,96,111,0,0,39,1,0,0,104,111,0,0,37,1,0,0,112,111,0,0,101,38,0,0,128,111,0,0,9,3,0,0,136,111,0,0,2,35,0,0,152,111,0,0,221,2,0,0,160,111,0,0,45,0,0,0,176,111,0,0,229,246,0,0,184,111,0,0,230,246,0,0,200,111,0,0,105,0,0,0,216,111,0,0,237,0,0,0,224,111,0,0,45,1,0,0,232,111,0,0,238,0,0,0,240,111,0,0,239,0,0,0,0,112,0,0,236,0,0,0,16,112,0,0,51,1,0,0,24,112,0,0,43,1,0,0,32,112,0,0,30,34,0,0,40,112,0,0,43,34,0,0,56,112,0,0,33,35,0,0,72,112,0,0,245,248,0,0,88,112,0,0,32,35,0,0,104,112,0,0,41,34,0,0,120,112,0,0,216,37,0,0,136,112,0,0,217,37,0,0,152,112,0,0,59,38,0,0,168,112,0,0,47,1,0,0,184,112,0,0,185,3,0,0,192,112,0,0,202,3,0,0,200,112,0,0,144,3,0,0,216,112,0,0,175,3,0,0,240,112,0,0,237,246,0,0,0,113,0,0,41,1,0,0,16,113,0,0,106,0,0,0,24,113,0,0,53,1,0,0,32,113,0,0,107,0,0,0,48,113,0,0,186,3,0,0,56,113,0,0,55,1,0,0,64,113,0,0,56,1,0,0,80,113,0,0,108,0,0,0,96,113,0,0,58,1,0,0,104,113,0,0,187,3,0,0,112,113,0,0,62,1,0,0,120,113,0,0,60,1,0,0,128,113,0,0,64,1,0,0,144,113,0,0,60,0,0,0,152,113,0,0,100,34,0,0,160,113,0,0,140,37,0,0,176,113,0,0,164,32,0,0,184,113,0,0,192,246,0,0,192,113,0,0,39,34,0,0,200,113,0,0,172,0,0,0,216,113,0,0,40,34,0,0,232,113,0,0,127,1,0,0,248,113,0,0,202,37,0,0,0,114,0,0,66,1,0,0,8,114,0,0,238,246,0,0,16,114,0,0,145,37,0,0,32,114,0,0,109,0,0,0,40,114,0,0,175,0,0,0,48,114,0,0,66,38,0,0,56,114,0,0,18,34,0,0,64,114,0,0,50,32,0,0,72,114,0,0,239,246,0,0,80,114,0,0,181,0,0,0,96,114,0,0,215,0,0,0,104,114,0,0,106,38,0,0,120,114,0,0,107,38,0,0,136,114,0,0,110,0,0,0,152,114,0,0,68,1,0,0,160,114,0,0,73,1,0,0,168,114,0,0,160,0,0,0,184,114,0,0,72,1,0,0,192,114,0,0,70,1,0,0,200,114], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE);
/* memory initializer */ allocate([57,0,0,0,216,114,0,0,137,32,0,0,224,114,0,0,57,247,0,0,240,114,0,0,121,32,0,0,0,115,0,0,160,0,0,0,16,115,0,0,9,34,0,0,40,115,0,0,96,34,0,0,56,115,0,0,132,34,0,0,72,115,0,0,127,32,0,0,88,115,0,0,241,0,0,0,104,115,0,0,189,3,0,0,112,115,0,0,35,0,0,0,120,115,0,0,111,0,0,0,136,115,0,0,243,0,0,0,144,115,0,0,79,1,0,0,152,115,0,0,244,0,0,0,160,115,0,0,246,0,0,0,176,115,0,0,83,1,0,0,192,115,0,0,219,2,0,0,200,115,0,0,242,0,0,0,208,115,0,0,161,1,0,0,216,115,0,0,81,1,0,0,224,115,0,0,77,1,0,0,240,115,0,0,201,3,0,0,248,115,0,0,214,3,0,0,0,116,0,0,206,3,0,0,8,116,0,0,191,3,0,0,24,116,0,0,204,3,0,0,32,116,0,0,49,0,0,0,48,116,0,0,36,32,0,0,56,116,0,0,91,33,0,0,72,116,0,0,220,246,0,0,88,116,0,0,189,0,0,0,104,116,0,0,129,32,0,0,112,116,0,0,49,247,0,0,128,116,0,0,188,0,0,0,144,116,0,0,185,0,0,0,160,116,0,0,83,33,0,0,176,116,0,0,230,37,0,0,192,116,0,0,170,0,0,0,208,116,0,0,186,0,0,0,224,116,0,0,31,34,0,0,240,116,0,0,248,0,0,0,0,117,0,0,255,1,0,0,8,117,0,0,240,246,0,0,24,117,0,0,245,0,0,0,40,117,0,0,112,0,0,0,48,117,0,0,182,0,0,0,56,117,0,0,40,0,0,0,72,117,0,0,237,248,0,0,88,117,0,0,236,248,0,0,104,117,0,0,141,32,0,0,120,117,0,0,125,32,0,0,144,117,0,0,235,248,0,0,168,117,0,0,41,0,0,0,184,117,0,0,248,248,0,0,200,117,0,0,247,248,0,0,216,117,0,0,142,32,0,0,232,117,0,0,126,32,0,0,0,118,0,0,246,248,0,0,24,118,0,0,2,34,0,0,40,118,0,0,37,0,0,0,56,118,0,0,46,0,0,0,64,118,0,0,183,0,0,0,72,118,0,0,231,246,0,0,88,118,0,0,232,246,0,0,104,118,0,0,165,34,0,0,120,118,0,0,48,32,0,0,136,118,0,0,167,32,0,0,152,118,0,0,198,3,0,0,160,118,0,0,213,3,0,0,168,118,0,0,192,3,0,0,176,118,0,0,43,0,0,0,184,118,0,0,177,0,0,0,192,118,0,0,30,33,0,0,208,118,0,0,15,34,0,0,224,118,0,0,130,34,0,0,232,118,0,0,131,34,0,0,248,118,0,0,29,34,0,0,8,119,0,0,200,3,0,0,24,119,0,0,113,0,0,0,32,119,0,0,63,0,0,0,40,119,0,0,191,0,0,0,56,119,0,0,191,247,0,0,72,119,0,0,63,247,0,0,96,119,0,0,34,0,0,0,112,119,0,0,30,32,0,0,128,119,0,0,28,32,0,0,144,119,0,0,29,32,0,0,160,119,0,0,24,32,0,0,176,119,0,0,27,32,0,0,192,119,0,0,25,32,0,0,208,119,0,0,26,32,0,0,224,119,0,0,39,0,0,0,240,119,0,0,114,0,0,0,192,68,0,0,85,1,0,0,0,120,0,0,26,34,0,0,8,120,0,0,229,248,0,0,16,120,0,0,89,1,0,0,32,120,0,0,87,1,0,0,40,120,0,0,134,34,0,0,56,120,0,0,135,34,0,0,72,120,0,0,174,0,0,0,88,120,0,0,174,0,0,0,104,120,0,0,174,0,0,0,120,120,0,0,16,35,0,0,136,120,0,0,193,3,0,0,152,120,0,0,218,2,0,0,160,120,0,0,241,246,0,0,168,120,0,0,144,37,0,0,184,120,0,0,221,246,0,0,192,120,0,0,115,0,0,0,200,120,0,0,91,1,0,0,208,120,0,0,97,1,0,0,216,120,0,0,95,1,0,0,224,120,0,0,93,1,0,0,240,120,0,0,25,2,0,0,0,121,0,0,51,32,0,0,16,121,0,0,167,0,0,0,24,121,0,0,59,0,0,0,32,121,0,0,55,0,0,0,48,121,0,0,94,33,0,0,56,121,0,0,135,32,0,0,72,121,0,0,55,247,0,0,88,121,0,0,119,32,0,0,104,121,0,0,146,37,0,0,120,121,0,0,195,3,0,0,128,121,0,0,194,3,0,0,136,121,0,0,60,34,0,0,144,121,0,0,54,0,0,0,152,121,0,0,134,32,0,0,160,121,0,0,54,247,0,0,176,121,0,0,118,32,0,0,192,121,0,0,47,0,0,0,208,121,0,0,58,38,0,0,216,121,0,0,32,0,0,0,232,121,0,0,96,38,0,0,240,121,0,0,242,246,0,0,248,121,0,0,163,0,0,0,8,122,0,0,11,34,0,0,24,122,0,0,17,34,0,0,40,122,0,0,60,38,0,0,56,122,0,0,116,0,0,0,64,122,0,0,196,3,0,0,72,122,0,0,103,1,0,0,80,122,0,0,101,1,0,0,88,122,0,0,99,1,0,0,96,122,0,0,52,34,0,0,112,122,0,0,184,3,0,0,128,122,0,0,209,3,0,0,136,122,0,0,254,0,0,0,144,122,0,0,51,0,0,0,152,122,0,0,92,33,0,0,160,122,0,0,131,32,0,0,176,122,0,0,51,247,0,0,192,122,0,0,190,0,0,0,208,122,0,0,222,246,0,0,224,122,0,0,179,0,0,0,248,122,0,0,220,2,0,0,8,123,0,0,3,3,0,0,16,123,0,0,132,3,0,0,32,123,0,0,34,33,0,0,40,123,0,0,34,33,0,0,56,123,0,0,34,33,0,0,72,123,0,0,188,37,0,0,88,123,0,0,196,37,0,0,96,123,0,0,186,37,0,0,104,123,0,0,178,37,0,0,112,123,0,0,243,246,0,0,120,123,0,0,50,0,0,0,136,123,0,0,37,32,0,0,144,123,0,0,130,32,0,0,160,123,0,0,50,247,0,0,176,123,0,0,178,0,0,0,192,123,0,0,84,33,0,0,208,123,0,0,117,0,0,0,224,123,0,0,250,0,0,0,232,123,0,0,109,1,0,0,240,123,0,0,251,0,0,0,248,123,0,0,252,0,0,0,8,124,0,0,249,0,0,0,24,124,0,0,176,1,0,0,32,124,0,0,113,1,0,0,40,124,0,0,107,1,0,0,56,124,0,0,95,0,0,0,64,124,0,0,23,32,0,0,80,124,0,0,42,34,0,0,96,124,0,0,0,34,0,0,104,124,0,0,115,1,0,0,120,124,0,0,128,37,0,0,128,124,0,0,197,3,0,0,136,124,0,0,203,3,0,0,144,124,0,0,176,3,0,0,160,124,0,0,205,3,0,0,184,124,0,0,111,1,0,0,200,124,0,0,105,1,0,0,208,124,0,0,118,0,0,0,216,124,0,0,119,0,0,0,224,124,0,0,131,30,0,0,232,124,0,0,117,1,0,0,240,124,0,0,133,30,0,0,0,125,0,0,24,33,0,0,16,125,0,0,129,30,0,0,32,125,0,0,120,0,0,0,40,125,0,0,190,3,0,0,48,125,0,0,121,0,0,0,56,125,0,0,253,0,0,0,64,125,0,0,119,1,0,0,72,125,0,0,255,0,0,0,88,125,0,0,165,0,0,0,104,125,0,0,243,30,0,0,112,125,0,0,122,0,0,0,120,125,0,0,122,1,0,0,128,125,0,0,126,1,0,0,136,125,0,0,124,1,0,0,144,125,0,0,48,0,0,0,160,125,0,0,128,32,0,0,168,125,0,0,48,247,0,0,184,125,0,0,112,32,0,0,200,125,0,0,182,3,0,0,216,125,0,0,123,0,0,0,224,125,0,0,124,0,0,0,232,125,0,0,125,0,0,0,240,125,0,0,126,0,0,0,248,125,0,0,0,0,0,0,0,0,0,0,76,97,116,105,110,49,0,0,10,0,0,0,10,0,0,0,10,0,0,0,1,0,0,0,12,0,0,0,13,0,0,0,12,0,0,0,1,0,0,0,32,0,0,0,126,0,0,0,32,0,0,0,1,0,0,0,160,0,0,0,160,0,0,0,32,0,0,0,1,0,0,0,161,0,0,0,172,0,0,0,161,0,0,0,1,0,0,0,174,0,0,0,255,0,0,0,174,0,0,0,1,0,0,0,12,1,0,0,12,1,0,0,67,0,0,0,1,0,0,0,13,1,0,0,13,1,0,0,99,0,0,0,1,0,0,0,49,1,0,0,49,1,0,0,105,0,0,0,1,0,0,0,65,1,0,0,65,1,0,0,76,0,0,0,1,0,0,0,66,1,0,0,66,1,0,0,108,0,0,0,1,0,0,0,82,1,0,0,82,1,0,0,69,79,0,0,2,0,0,0,83,1,0,0,83,1,0,0,101,111,0,0,2,0,0,0,96,1,0,0,96,1,0,0,83,0,0,0,1,0,0,0,97,1,0,0,97,1,0,0,115,0,0,0,1,0,0,0,120,1,0,0,120,1,0,0,89,0,0,0,1,0,0,0,125,1,0,0,125,1,0,0,90,0,0,0,1,0,0,0,126,1,0,0,126,1,0,0,122,0,0,0,1,0,0,0,198,2,0,0,198,2,0,0,94,0,0,0,1,0,0,0,218,2,0,0,218,2,0,0,176,0,0,0,1,0,0,0,220,2,0,0,220,2,0,0,126,0,0,0,1,0,0,0,19,32,0,0,19,32,0,0,173,0,0,0,1,0,0,0,20,32,0,0,20,32,0,0,45,45,0,0,2,0,0,0,24,32,0,0,24,32,0,0,96,0,0,0,1,0,0,0,25,32,0,0,25,32,0,0,39,0,0,0,1,0,0,0,26,32,0,0,26,32,0,0,44,0,0,0,1,0,0,0,28,32,0,0,28,32,0,0,34,0,0,0,1,0,0,0,29,32,0,0,29,32,0,0,34,0,0,0,1,0,0,0,30,32,0,0,30,32,0,0,44,44,0,0,2,0,0,0,34,32,0,0,34,32,0,0,183,0,0,0,1,0,0,0,38,32,0,0,38,32,0,0,46,46,46,0,3,0,0,0,57,32,0,0,57,32,0,0,60,0,0,0,1,0,0,0,58,32,0,0,58,32,0,0,62,0,0,0,1,0,0,0,68,32,0,0,68,32,0,0,47,0,0,0,1,0,0,0,34,33,0,0,34,33,0,0,77,84,0,0,2,0,0,0,18,34,0,0,18,34,0,0,45,0,0,0,1,0,0,0,249,246,0,0,249,246,0,0,76,0,0,0,1,0,0,0,250,246,0,0,250,246,0,0,69,79,0,0,2,0,0,0,252,246,0,0,252,246,0,0,176,0,0,0,1,0,0,0,253,246,0,0,253,246,0,0,83,0,0,0,1,0,0,0,254,246,0,0,254,246,0,0,126,0,0,0,1,0,0,0,255,246,0,0,255,246,0,0,90,0,0,0,1,0,0,0,33,247,0,0,33,247,0,0,33,0,0,0,1,0,0,0,36,247,0,0,36,247,0,0,36,0,0,0,1,0,0,0,38,247,0,0,38,247,0,0,38,0,0,0,1,0,0,0,48,247,0,0,57,247,0,0,48,0,0,0,1,0,0,0,63,247,0,0,63,247,0,0,63,0,0,0,1,0,0,0,97,247,0,0,122,247,0,0,65,0,0,0,1,0,0,0,161,247,0,0,162,247,0,0,161,0,0,0,1,0,0,0,191,247,0,0,191,247,0,0,191,0,0,0,1,0,0,0,224,247,0,0,246,247,0,0,192,0,0,0,1,0,0,0,248,247,0,0,254,247,0,0,216,0,0,0,1,0,0,0,255,247,0,0,255,247,0,0,89,0,0,0,1,0,0,0,0,251,0,0,0,251,0,0,102,102,0,0,2,0,0,0,1,251,0,0,1,251,0,0,105,102,0,0,2,0,0,0,2,251,0,0,2,251,0,0,108,102,0,0,2,0,0,0,3,251,0,0,3,251,0,0,105,102,102,0,3,0,0,0,4,251,0,0,4,251,0,0,108,102,102,0,3,0,0,0,65,83,67,73,73,55,0,0,10,0,0,0,10,0,0,0,10,0,0,0,1,0,0,0,12,0,0,0,13,0,0,0,12,0,0,0,1,0,0,0,32,0,0,0,95,0,0,0,32,0,0,0,1,0,0,0,97,0,0,0,126,0,0,0,97,0,0,0,1,0,0,0,166,0,0,0,166,0,0,0,124,0,0,0,1,0,0,0,169,0,0,0,169,0,0,0,41,99,40,0,3,0,0,0,174,0,0,0,174,0,0,0,41,82,40,0,3,0,0,0,183,0,0,0,183,0,0,0,42,0,0,0,1,0,0,0,188,0,0,0,188,0,0,0,52,47,49,0,3,0,0,0,189,0,0,0,189,0,0,0,50,47,49,0,3,0,0,0,190,0,0,0,190,0,0,0,52,47,51,0,3,0,0,0,192,0,0,0,192,0,0,0,65,0,0,0,1,0,0,0,193,0,0,0,193,0,0,0,65,0,0,0,1,0,0,0,194,0,0,0,194,0,0,0,65,0,0,0,1,0,0,0,195,0,0,0,195,0,0,0,65,0,0,0,1,0,0,0,196,0,0,0,196,0,0,0,65,0,0,0,1,0,0,0,197,0,0,0,197,0,0,0,65,0,0,0,1,0,0,0,198,0,0,0,198,0,0,0,69,65,0,0,2,0,0,0,199,0,0,0,199,0,0,0,67,0,0,0,1,0,0,0,200,0,0,0,200,0,0,0,69,0,0,0,1,0,0,0,201,0,0,0,201,0,0,0,69,0,0,0,1,0,0,0,202,0,0,0,202,0,0,0,69,0,0,0,1,0,0,0,203,0,0,0,203,0,0,0,69,0,0,0,1,0,0,0,204,0,0,0,204,0,0,0,73,0,0,0,1,0,0,0,205,0,0,0,205,0,0,0,73,0,0,0,1,0,0,0,206,0,0,0,206,0,0,0,73,0,0,0,1,0,0,0,207,0,0,0,207,0,0,0,73,0,0,0,1,0,0,0,209,0,0,0,210,0,0,0,78,0,0,0,1,0,0,0,211,0,0,0,211,0,0,0,79,0,0,0,1,0,0,0,212,0,0,0,212,0,0,0,79,0,0,0,1,0,0,0,213,0,0,0,213,0,0,0,79,0,0,0,1,0,0,0,214,0,0,0,214,0,0,0,79,0,0,0,1,0,0,0,215,0,0,0,215,0,0,0,120,0,0,0,1,0,0,0,216,0,0,0,216,0,0,0,79,0,0,0,1,0,0,0,217,0,0,0,217,0,0,0,85,0,0,0,1,0,0,0,218,0,0,0,218,0,0,0,85,0,0,0,1,0,0,0,219,0,0,0,219,0,0,0,85,0,0,0,1,0,0,0,220,0,0,0,220,0,0,0,85,0,0,0,1,0,0,0,221,0,0,0,221,0,0,0,89,0,0,0,1,0,0,0,224,0,0,0,224,0,0,0,97,0,0,0,1,0,0,0,225,0,0,0,225,0,0,0,97,0,0,0,1,0,0,0,226,0,0,0,226,0,0,0,97,0,0,0,1,0,0,0,227,0,0,0,227,0,0,0,97,0,0,0,1,0,0,0,228,0,0,0,228,0,0,0,97,0,0,0,1,0,0,0,229,0,0,0,229,0,0,0,97,0,0,0,1,0,0,0,230,0,0,0,230,0,0,0,101,97,0,0,2,0,0,0,231,0,0,0,231,0,0,0,99,0,0,0,1,0,0,0,232,0,0,0,232,0,0,0,101,0,0,0,1,0,0,0,233,0,0,0,233,0,0,0,101,0,0,0,1,0,0,0,234,0,0,0,234,0,0,0,101,0,0,0,1,0,0,0,235,0,0,0,235,0,0,0,101,0,0,0,1,0,0,0,236,0,0,0,236,0,0,0,105,0,0,0,1,0,0,0,237,0,0,0,237,0,0,0,105,0,0,0,1,0,0,0,238,0,0,0,238,0,0,0,105,0,0,0,1,0,0,0,239,0,0,0,239,0,0,0,105,0,0,0,1,0,0,0,241,0,0,0,242,0,0,0,110,0,0,0,1,0,0,0,243,0,0,0,243,0,0,0,111,0,0,0,1,0,0,0,244,0,0,0,244,0,0,0,111,0,0,0,1,0,0,0,245,0,0,0,245,0,0,0,111,0,0,0,1,0,0,0,246,0,0,0,246,0,0,0,111,0,0,0,1,0,0,0,247,0,0,0,247,0,0,0,47,0,0,0,1,0,0,0,248,0,0,0,248,0,0,0,111,0,0,0,1,0,0,0,249,0,0,0,249,0,0,0,117,0,0,0,1,0,0,0,250,0,0,0,250,0,0,0,117,0,0,0,1,0,0,0,251,0,0,0,251,0,0,0,117,0,0,0,1,0,0,0,252,0,0,0,252,0,0,0,117,0,0,0,1,0,0,0,253,0,0,0,253,0,0,0,121,0,0,0,1,0,0,0,255,0,0,0,255,0,0,0,121,0,0,0,1,0,0,0,49,1,0,0,49,1,0,0,105,0,0,0,1,0,0,0,65,1,0,0,65,1,0,0,76,0,0,0,1,0,0,0,82,1,0,0,82,1,0,0,69,79,0,0,2,0,0,0,83,1,0,0,83,1,0,0,101,111,0,0,2,0,0,0,96,1,0,0,96,1,0,0,83,0,0,0,1,0,0,0,120,1,0,0,120,1,0,0,89,0,0,0,1,0,0,0,125,1,0,0,125,1,0,0,90,0,0,0,1,0,0,0,19,32,0,0,19,32,0,0,45,0,0,0,1,0,0,0,20,32,0,0,20,32,0,0,45,45,0,0,2,0,0,0,24,32,0,0,24,32,0,0,96,0,0,0,1,0,0,0,25,32,0,0,25,32,0,0,39,0,0,0,1,0,0,0,28,32,0,0,28,32,0,0,34,0,0,0,1,0,0,0,29,32,0,0,29,32,0,0,34,0,0,0,1,0,0,0,34,32,0,0,34,32,0,0,42,0,0,0,1,0,0,0,38,32,0,0,38,32,0,0,46,46,46,0,3,0,0,0,34,33,0,0,34,33,0,0,77,84,0,0,2,0,0,0,18,34,0,0,18,34,0,0,45,0,0,0,1,0,0,0,249,246,0,0,249,246,0,0,76,0,0,0,1,0,0,0,250,246,0,0,250,246,0,0,69,79,0,0,2,0,0,0,253,246,0,0,253,246,0,0,83,0,0,0,1,0,0,0,254,246,0,0,254,246,0,0,126,0,0,0,1,0,0,0,255,246,0,0,255,246,0,0,90,0,0,0,1,0,0,0,33,247,0,0,33,247,0,0,33,0,0,0,1,0,0,0,36,247,0,0,36,247,0,0,36,0,0,0,1,0,0,0,38,247,0,0,38,247,0,0,38,0,0,0,1,0,0,0,48,247,0,0,57,247,0,0,48,0,0,0,1,0,0,0,63,247,0,0,63,247,0,0,63,0,0,0,1,0,0,0,97,247,0,0,122,247,0,0,65,0,0,0,1,0,0,0,224,247,0,0,224,247,0,0,65,0,0,0,1,0,0,0,225,247,0,0,225,247,0,0,65,0,0,0,1,0,0,0,226,247,0,0,226,247,0,0,65,0,0,0,1,0,0,0,227,247,0,0,227,247,0,0,65,0,0,0,1,0,0,0,228,247,0,0,228,247,0,0,65,0,0,0,1,0,0,0,229,247,0,0,229,247,0,0,65,0,0,0,1,0,0,0,230,247,0,0,230,247,0,0,69,65,0,0,2,0,0,0,231,247,0,0,231,247,0,0,67,0,0,0,1,0,0,0,232,247,0,0,232,247,0,0,69,0,0,0,1,0,0,0,233,247,0,0,233,247,0,0,69,0,0,0,1,0,0,0,234,247,0,0,234,247,0,0,69,0,0,0,1,0,0,0,235,247,0,0,235,247,0,0,69,0,0,0,1,0,0,0,236,247,0,0,236,247,0,0,73,0,0,0,1,0,0,0,237,247,0,0,237,247,0,0,73,0,0,0,1,0,0,0,238,247,0,0,238,247,0,0,73,0,0,0,1,0,0,0,239,247,0,0,239,247,0,0,73,0,0,0,1,0,0,0,241,247,0,0,242,247,0,0,78,0,0,0,1,0,0,0,243,247,0,0,243,247,0,0,79,0,0,0,1,0,0,0,244,247,0,0,244,247,0,0,79,0,0,0,1,0,0,0,245,247,0,0,245,247,0,0,79,0,0,0,1,0,0,0,246,247,0,0,246,247,0,0,79,0,0,0,1,0,0,0,248,247,0,0,248,247,0,0,79,0,0,0,1,0,0,0,249,247,0,0,249,247,0,0,85,0,0,0,1,0,0,0,250,247,0,0,250,247,0,0,85,0,0,0,1,0,0,0,251,247,0,0,251,247,0,0,85,0,0,0,1,0,0,0,252,247,0,0,252,247,0,0,85,0,0,0,1,0,0,0,253,247,0,0,253,247,0,0,89,0,0,0,1,0,0,0,255,247,0,0,255,247,0,0,89,0,0,0,1,0,0,0,0,251,0,0,0,251,0,0,102,102,0,0,2,0,0,0,1,251,0,0,1,251,0,0,105,102,0,0,2,0,0,0,2,251,0,0,2,251,0,0,108,102,0,0,2,0,0,0,3,251,0,0,3,251,0,0,105,102,102,0,3,0,0,0,4,251,0,0,4,251,0,0,108,102,102,0,3,0,0,0,83,121,109,98,111,108,0,0,32,0,0,0,33,0,0,0,32,0,0,0,1,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,1,0,0,0,37,0,0,0,38,0,0,0,37,0,0,0,1,0,0,0,40,0,0,0,41,0,0,0,40,0,0,0,1,0,0,0,43,0,0,0,44,0,0,0,43,0,0,0,1,0,0,0,46,0,0,0,63,0,0,0,46,0,0,0,1,0,0,0,91,0,0,0,91,0,0,0,91,0,0,0,1,0,0,0,93,0,0,0,93,0,0,0,93,0,0,0,1,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,1,0,0,0,123,0,0,0,125,0,0,0,123,0,0,0,1,0,0,0,172,0,0,0,172,0,0,0,216,0,0,0,1,0,0,0,176,0,0,0,177,0,0,0,176,0,0,0,1,0,0,0,181,0,0,0,181,0,0,0,109,0,0,0,1,0,0,0,215,0,0,0,215,0,0,0,180,0,0,0,1,0,0,0,247,0,0,0,247,0,0,0,184,0,0,0,1,0,0,0,146,1,0,0,146,1,0,0,166,0,0,0,1,0,0,0,145,3,0,0,146,3,0,0,65,0,0,0,1,0,0,0,147,3,0,0,147,3,0,0,71,0,0,0,1,0,0,0,149,3,0,0,149,3,0,0,69,0,0,0,1,0,0,0,150,3,0,0,150,3,0,0,90,0,0,0,1,0,0,0,151,3,0,0,151,3,0,0,72,0,0,0,1,0,0,0,152,3,0,0,152,3,0,0,81,0,0,0,1,0,0,0,153,3,0,0,153,3,0,0,73,0,0,0,1,0,0,0,154,3,0,0,157,3,0,0,75,0,0,0,1,0,0,0,158,3,0,0,158,3,0,0,88,0,0,0,1,0,0,0,159,3,0,0,160,3,0,0,79,0,0,0,1,0,0,0,161,3,0,0,161,3,0,0,82,0,0,0,1,0,0,0,163,3,0,0,165,3,0,0,83,0,0,0,1,0,0,0,166,3,0,0,166,3,0,0,70,0,0,0,1,0,0,0,167,3,0,0,167,3,0,0,67,0,0,0,1,0,0,0,168,3,0,0,168,3,0,0,89,0,0,0,1,0,0,0,177,3,0,0,178,3,0,0,97,0,0,0,1,0,0,0,179,3,0,0,179,3,0,0,103,0,0,0,1,0,0,0,180,3,0,0,181,3,0,0,100,0,0,0,1,0,0,0,182,3,0,0,182,3,0,0,122,0,0,0,1,0,0,0,183,3,0,0,183,3,0,0,104,0,0,0,1,0,0,0,184,3,0,0,184,3,0,0,113,0,0,0,1,0,0,0,185,3,0,0,185,3,0,0,105,0,0,0,1,0,0,0,186,3,0,0,187,3,0,0,107,0,0,0,1,0,0,0,189,3,0,0,189,3,0,0,110,0,0,0,1,0,0,0,190,3,0,0,190,3,0,0,120,0,0,0,1,0,0,0,191,3,0,0,192,3,0,0,111,0,0,0,1,0,0,0,193,3,0,0,193,3,0,0,114,0,0,0,1,0,0,0,194,3,0,0,194,3,0,0,86,0,0,0,1,0,0,0,195,3,0,0,197,3,0,0,115,0,0,0,1,0,0,0,198,3,0,0,198,3,0,0,102,0,0,0,1,0,0,0,199,3,0,0,199,3,0,0,99,0,0,0,1,0,0,0,200,3,0,0,200,3,0,0,121,0,0,0,1,0,0,0,201,3,0,0,201,3,0,0,119,0,0,0,1,0,0,0,209,3,0,0,209,3,0,0,74,0,0,0,1,0,0,0,210,3,0,0,210,3,0,0,161,0,0,0,1,0,0,0,213,3,0,0,213,3,0,0,106,0,0,0,1,0,0,0,214,3,0,0,214,3,0,0,118,0,0,0,1,0,0,0,34,32,0,0,34,32,0,0,183,0,0,0,1,0,0,0,38,32,0,0,38,32,0,0,188,0,0,0,1,0,0,0,50,32,0,0,50,32,0,0,162,0,0,0,1,0,0,0,51,32,0,0,51,32,0,0,178,0,0,0,1,0,0,0,68,32,0,0,68,32,0,0,164,0,0,0,1,0,0,0,17,33,0,0,17,33,0,0,193,0,0,0,1,0,0,0,24,33,0,0,24,33,0,0,195,0,0,0,1,0,0,0,28,33,0,0,28,33,0,0,194,0,0,0,1,0,0,0,38,33,0,0,38,33,0,0,87,0,0,0,1,0,0,0,53,33,0,0,53,33,0,0,192,0,0,0,1,0,0,0,144,33,0,0,147,33,0,0,172,0,0,0,1,0,0,0,148,33,0,0,148,33,0,0,171,0,0,0,1,0,0,0,181,33,0,0,181,33,0,0,191,0,0,0,1,0,0,0,208,33,0,0,211,33,0,0,220,0,0,0,1,0,0,0,212,33,0,0,212,33,0,0,219,0,0,0,1,0,0,0,0,34,0,0,0,34,0,0,34,0,0,0,1,0,0,0,2,34,0,0,2,34,0,0,182,0,0,0,1,0,0,0,3,34,0,0,3,34,0,0,36,0,0,0,1,0,0,0,5,34,0,0,5,34,0,0,198,0,0,0,1,0,0,0,6,34,0,0,6,34,0,0,68,0,0,0,1,0,0,0,7,34,0,0,7,34,0,0,209,0,0,0,1,0,0,0,8,34,0,0,9,34,0,0,206,0,0,0,1,0,0,0,11,34,0,0,11,34,0,0,39,0,0,0,1,0,0,0,15,34,0,0,15,34,0,0,213,0,0,0,1,0,0,0,17,34,0,0,17,34,0,0,229,0,0,0,1,0,0,0,18,34,0,0,18,34,0,0,45,0,0,0,1,0,0,0,23,34,0,0,23,34,0,0,42,0,0,0,1,0,0,0,26,34,0,0,26,34,0,0,214,0,0,0,1,0,0,0,29,34,0,0,29,34,0,0,181,0,0,0,1,0,0,0,30,34,0,0,30,34,0,0,165,0,0,0,1,0,0,0,32,34,0,0,32,34,0,0,208,0,0,0,1,0,0,0,39,34,0,0,40,34,0,0,217,0,0,0,1,0,0,0,41,34,0,0,42,34,0,0,199,0,0,0,1,0,0,0,43,34,0,0,43,34,0,0,242,0,0,0,1,0,0,0,52,34,0,0,52,34,0,0,92,0,0,0,1,0,0,0,60,34,0,0,60,34,0,0,126,0,0,0,1,0,0,0,69,34,0,0,69,34,0,0,64,0,0,0,1,0,0,0,72,34,0,0,72,34,0,0,187,0,0,0,1,0,0,0,96,34,0,0,97,34,0,0,185,0,0,0,1,0,0,0,100,34,0,0,100,34,0,0,163,0,0,0,1,0,0,0,101,34,0,0,101,34,0,0,179,0,0,0,1,0,0,0,130,34,0,0,130,34,0,0,204,0,0,0,1,0,0,0,131,34,0,0,131,34,0,0,201,0,0,0,1,0,0,0,132,34,0,0,132,34,0,0,203,0,0,0,1,0,0,0,134,34,0,0,134,34,0,0,205,0,0,0,1,0,0,0,135,34,0,0,135,34,0,0,202,0,0,0,1,0,0,0,149,34,0,0,149,34,0,0,197,0,0,0,1,0,0,0,151,34,0,0,151,34,0,0,196,0,0,0,1,0,0,0,165,34,0,0,165,34,0,0,94,0,0,0,1,0,0,0,197,34,0,0,197,34,0,0,215,0,0,0,1,0,0,0,32,35,0,0,32,35,0,0,243,0,0,0,1,0,0,0,33,35,0,0,33,35,0,0,245,0,0,0,1,0,0,0,41,35,0,0,41,35,0,0,225,0,0,0,1,0,0,0,42,35,0,0,42,35,0,0,241,0,0,0,1,0,0,0,202,37,0,0,202,37,0,0,224,0,0,0,1,0,0,0,96,38,0,0,96,38,0,0,170,0,0,0,1,0,0,0,99,38,0,0,99,38,0,0,167,0,0,0,1,0,0,0,101,38,0,0,101,38,0,0,169,0,0,0,1,0,0,0,102,38,0,0,102,38,0,0,168,0,0,0,1,0,0,0,217,246,0,0,217,246,0,0,211,0,0,0,1,0,0,0,218,246,0,0,218,246,0,0,210,0,0,0,1,0,0,0,219,246,0,0,219,246,0,0,212,0,0,0,1,0,0,0,229,248,0,0,229,248,0,0,96,0,0,0,1,0,0,0,230,248,0,0,231,248,0,0,189,0,0,0,1,0,0,0,232,248,0,0,234,248,0,0,226,0,0,0,1,0,0,0,235,248,0,0,244,248,0,0,230,0,0,0,1,0,0,0,245,248,0,0,245,248,0,0,244,0,0,0,1,0,0,0,246,248,0,0,254,248,0,0,246,0,0,0,1,0,0,0,90,97,112,102,68,105,110,103,98,97,116,115,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,1,0,0,0,146,33,0,0,146,33,0,0,213,0,0,0,1,0,0,0,148,33,0,0,149,33,0,0,214,0,0,0,1,0,0,0,96,36,0,0,105,36,0,0,172,0,0,0,1,0,0,0,160,37,0,0,160,37,0,0,110,0,0,0,1,0,0,0,178,37,0,0,178,37,0,0,115,0,0,0,1,0,0,0,188,37,0,0,188,37,0,0,116,0,0,0,1,0,0,0,198,37,0,0,198,37,0,0,117,0,0,0,1,0,0,0,207,37,0,0,207,37,0,0,108,0,0,0,1,0,0,0,215,37,0,0,215,37,0,0,119,0,0,0,1,0,0,0,5,38,0,0,5,38,0,0,72,0,0,0,1,0,0,0,14,38,0,0,14,38,0,0,37,0,0,0,1,0,0,0,27,38,0,0,27,38,0,0,42,0,0,0,1,0,0,0,30,38,0,0,30,38,0,0,43,0,0,0,1,0,0,0,96,38,0,0,96,38,0,0,171,0,0,0,1,0,0,0,99,38,0,0,99,38,0,0,168,0,0,0,1,0,0,0,101,38,0,0,101,38,0,0,170,0,0,0,1,0,0,0,102,38,0,0,102,38,0,0,169,0,0,0,1,0,0,0,1,39,0,0,4,39,0,0,33,0,0,0,1,0,0,0,6,39,0,0,9,39,0,0,38,0,0,0,1,0,0,0,12,39,0,0,39,39,0,0,44,0,0,0,1,0,0,0,41,39,0,0,75,39,0,0,73,0,0,0,1,0,0,0,77,39,0,0,77,39,0,0,109,0,0,0,1,0,0,0,79,39,0,0,82,39,0,0,111,0,0,0,1,0,0,0,86,39,0,0,86,39,0,0,118,0,0,0,1,0,0,0,88,39,0,0,94,39,0,0,120,0,0,0,1,0,0,0,97,39,0,0,103,39,0,0,161,0,0,0,1,0,0,0,118,39,0,0,148,39,0,0,182,0,0,0,1,0,0,0,152,39,0,0,175,39,0,0,216,0,0,0,1,0,0,0,177,39,0,0,190,39,0,0,241,0,0,0,1,0,0,0,85,67,83,45,50,0,0,0,47,117,115,114,47,108,111,99,97,108,47,115,104,97,114,101,47,112,111,112,112,108,101,114,0,0,0,0,0,0,0,0,37,115,47,110,97,109,101,84,111,85,110,105,99,111,100,101,0,0,0,0,0,0,0,0,37,115,47,99,105,100,84,111,85,110,105,99,111,100,101,0,37,115,47,117,110,105,99,111,100,101,77,97,112,0,0,0,37,115,47,99,77,97,112,0,114,0,0,0,0,0,0,0,67,111,117,108,100,110,39,116,32,111,112,101,110,32,39,110,97,109,101,84,111,85,110,105,99,111,100,101,39,32,102,105,108,101,32,39,37,115,39,0,32,9,13,10,0,0,0,0,37,120,0,0,0,0,0,0,66,97,100,32,108,105,110,101,32,105,110,32,39,110,97,109,101,84,111,85,110,105,99,111,100,101,39,32,102,105,108,101,32,40,37,115,58,37,100,41,0,0,0,0,0,0,0,0,121,101,115,0,0,0,0,0,110,111,0,0,0,0,0,0,102,105,108,101,0,0,0,0,46,116,116,102,0,0,0,0,46,116,116,99,0,0,0,0,105,110,100,101,120,0,0,0,46,112,102,97,0,0,0,0,46,112,102,98,0,0,0,0,114,98,0,0,0,0,0,0,49,54,68,105,115,112,108,97,121,70,111,110,116,80,97,114,97,109,0,0,0,0,0,0,88,113,4,0,120,69,0,0,82,101,103,117,108,97,114,0,82,111,109,97,110,0,0,0,79,98,108,105,113,117,101,0,73,116,97,108,105,99,0,0,66,111,108,100,0,0,0,0,76,105,103,104,116,0,0,0,67,111,110,100,101,110,115,101,100,0,0,0,0,0,0,0,65,100,111,98,101,45,71,66,49,0,0,0,0,0,0,0,122,104,45,99,110,0,0,0,65,100,111,98,101,45,67,78,83,49,0,0,0,0,0,0,122,104,45,116,119,0,0,0,65,100,111,98,101,45,74,97,112,97,110,49,0,0,0,0,106,97,0,0,0,0,0,0,65,100,111,98,101,45,74,97,112,97,110,50,0,0,0,0,65,100,111,98,101,45,75,111,114,101,97,49,0,0,0,0,107,111,0,0,0,0,0,0,65,100,111,98,101,45,85,67,83,0,0,0,0,0,0,0,120,120,0,0,0,0,0,0,65,100,111,98,101,45,73,100,101,110,116,105,116,121,0,0,85,110,107,110,111,119,110,32,67,73,68,32,102,111,110,116,32,99,111,108,108,101,99,116,105,111,110,44,32,112,108,101,97,115,101,32,114,101,112,111,114,116,32,116,111,32,112,111,112,112,108,101,114,32,98,117,103,122,105,108,108,97,46,0,102,97,109,105,108,121,0,0,108,97,110,103,0,0,0,0,115,108,97,110,116,0,0,0,119,101,105,103,104,116,0,0,119,105,100,116,104,0,0,0,115,112,97,99,105,110,103,0,33,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,38,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,61,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,65,0,0,0,0,0,0,0,65,69,0,0,0,0,0,0,65,69,97,99,117,116,101,0,65,69,115,109,97,108,108,0,65,97,99,117,116,101,0,0,65,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,65,98,114,101,118,101,0,0,65,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,65,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,65,99,117,116,101,0,0,0,65,99,117,116,101,115,109,97,108,108,0,0,0,0,0,0,65,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,65,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,65,103,114,97,118,101,0,0,65,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,65,108,112,104,97,0,0,0,65,108,112,104,97,116,111,110,111,115,0,0,0,0,0,0,65,109,97,99,114,111,110,0,65,111,103,111,110,101,107,0,65,114,105,110,103,0,0,0,65,114,105,110,103,97,99,117,116,101,0,0,0,0,0,0,65,114,105,110,103,115,109,97,108,108,0,0,0,0,0,0,65,115,109,97,108,108,0,0,65,116,105,108,100,101,0,0,65,116,105,108,100,101,115,109,97,108,108,0,0,0,0,0,66,0,0,0,0,0,0,0,66,101,116,97,0,0,0,0,66,114,101,118,101,115,109,97,108,108,0,0,0,0,0,0,66,115,109,97,108,108,0,0,67,0,0,0,0,0,0,0,67,97,99,117,116,101,0,0,67,97,114,111,110,0,0,0,67,97,114,111,110,115,109,97,108,108,0,0,0,0,0,0,67,99,97,114,111,110,0,0,67,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,67,99,101,100,105,108,108,97,115,109,97,108,108,0,0,0,67,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,67,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,67,101,100,105,108,108,97,115,109,97,108,108,0,0,0,0,67,104,105,0,0,0,0,0,67,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,67,115,109,97,108,108,0,0,68,0,0,0,0,0,0,0,68,99,97,114,111,110,0,0,68,99,114,111,97,116,0,0,68,101,108,116,97,0,0,0,68,105,101,114,101,115,105,115,0,0,0,0,0,0,0,0,68,105,101,114,101,115,105,115,65,99,117,116,101,0,0,0,68,105,101,114,101,115,105,115,71,114,97,118,101,0,0,0,68,105,101,114,101,115,105,115,115,109,97,108,108,0,0,0,68,111,116,97,99,99,101,110,116,115,109,97,108,108,0,0,68,115,109,97,108,108,0,0,69,0,0,0,0,0,0,0,69,97,99,117,116,101,0,0,69,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,69,98,114,101,118,101,0,0,69,99,97,114,111,110,0,0,69,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,69,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,69,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,69,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,69,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,69,103,114,97,118,101,0,0,69,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,69,109,97,99,114,111,110,0,69,110,103,0,0,0,0,0,69,111,103,111,110,101,107,0,69,112,115,105,108,111,110,0,69,112,115,105,108,111,110,116,111,110,111,115,0,0,0,0,69,115,109,97,108,108,0,0,69,116,97,0,0,0,0,0,69,116,97,116,111,110,111,115,0,0,0,0,0,0,0,0,69,116,104,0,0,0,0,0,69,116,104,115,109,97,108,108,0,0,0,0,0,0,0,0,69,117,114,111,0,0,0,0,70,0,0,0,0,0,0,0,70,115,109,97,108,108,0,0,71,0,0,0,0,0,0,0,71,97,109,109,97,0,0,0,71,98,114,101,118,101,0,0,71,99,97,114,111,110,0,0,71,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,71,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,71,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,71,114,97,118,101,0,0,0,71,114,97,118,101,115,109,97,108,108,0,0,0,0,0,0,71,115,109,97,108,108,0,0,72,0,0,0,0,0,0,0,72,49,56,53,51,51,0,0,72,49,56,53,52,51,0,0,72,49,56,53,53,49,0,0,72,50,50,48,55,51,0,0,72,98,97,114,0,0,0,0,72,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,72,115,109,97,108,108,0,0,72,117,110,103,97,114,117,109,108,97,117,116,0,0,0,0,72,117,110,103,97,114,117,109,108,97,117,116,115,109,97,108,108,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,73,74,0,0,0,0,0,0,73,97,99,117,116,101,0,0,73,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,73,98,114,101,118,101,0,0,73,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,73,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,73,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,73,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,73,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,73,102,114,97,107,116,117,114,0,0,0,0,0,0,0,0,73,103,114,97,118,101,0,0,73,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,73,109,97,99,114,111,110,0,73,111,103,111,110,101,107,0,73,111,116,97,0,0,0,0,73,111,116,97,100,105,101,114,101,115,105,115,0,0,0,0,73,111,116,97,116,111,110,111,115,0,0,0,0,0,0,0,73,115,109,97,108,108,0,0,73,116,105,108,100,101,0,0,74,0,0,0,0,0,0,0,74,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,74,115,109,97,108,108,0,0,75,0,0,0,0,0,0,0,75,97,112,112,97,0,0,0,75,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,75,115,109,97,108,108,0,0,76,0,0,0,0,0,0,0,76,76,0,0,0,0,0,0,76,97,99,117,116,101,0,0,76,97,109,98,100,97,0,0,76,99,97,114,111,110,0,0,76,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,76,100,111,116,0,0,0,0,76,115,108,97,115,104,0,0,76,115,108,97,115,104,115,109,97,108,108,0,0,0,0,0,76,115,109,97,108,108,0,0,77,0,0,0,0,0,0,0,77,97,99,114,111,110,0,0,77,97,99,114,111,110,115,109,97,108,108,0,0,0,0,0,77,115,109,97,108,108,0,0,77,117,0,0,0,0,0,0,78,0,0,0,0,0,0,0,78,97,99,117,116,101,0,0,78,99,97,114,111,110,0,0,78,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,78,115,109,97,108,108,0,0,78,116,105,108,100,101,0,0,78,116,105,108,100,101,115,109,97,108,108,0,0,0,0,0,78,117,0,0,0,0,0,0,79,0,0,0,0,0,0,0,79,69,0,0,0,0,0,0,79,69,115,109,97,108,108,0,79,97,99,117,116,101,0,0,79,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,79,98,114,101,118,101,0,0,79,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,79,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,79,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,79,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,79,103,111,110,101,107,115,109,97,108,108,0,0,0,0,0,79,103,114,97,118,101,0,0,79,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,79,104,111,114,110,0,0,0,79,104,117,110,103,97,114,117,109,108,97,117,116,0,0,0,79,109,97,99,114,111,110,0,79,109,101,103,97,0,0,0,79,109,101,103,97,116,111,110,111,115,0,0,0,0,0,0,79,109,105,99,114,111,110,0,79,109,105,99,114,111,110,116,111,110,111,115,0,0,0,0,79,115,108,97,115,104,0,0,79,115,108,97,115,104,97,99,117,116,101,0,0,0,0,0,79,115,108,97,115,104,115,109,97,108,108,0,0,0,0,0,79,115,109,97,108,108,0,0,79,116,105,108,100,101,0,0,79,116,105,108,100,101,115,109,97,108,108,0,0,0,0,0,80,0,0,0,0,0,0,0,80,104,105,0,0,0,0,0,80,105,0,0,0,0,0,0,80,115,105,0,0,0,0,0,80,115,109,97,108,108,0,0,81,0,0,0,0,0,0,0,81,115,109,97,108,108,0,0,82,0,0,0,0,0,0,0,82,97,99,117,116,101,0,0,82,99,97,114,111,110,0,0,82,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,82,102,114,97,107,116,117,114], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240);
/* memory initializer */ allocate([0,0,0,0,0,0,0,0,82,104,111,0,0,0,0,0,82,105,110,103,115,109,97,108,108,0,0,0,0,0,0,0,82,115,109,97,108,108,0,0,83,0,0,0,0,0,0,0,83,70,48,49,48,48,48,48,0,0,0,0,0,0,0,0,83,70,48,50,48,48,48,48,0,0,0,0,0,0,0,0,83,70,48,51,48,48,48,48,0,0,0,0,0,0,0,0,83,70,48,52,48,48,48,48,0,0,0,0,0,0,0,0,83,70,48,53,48,48,48,48,0,0,0,0,0,0,0,0,83,70,48,54,48,48,48,48,0,0,0,0,0,0,0,0,83,70,48,55,48,48,48,48,0,0,0,0,0,0,0,0,83,70,48,56,48,48,48,48,0,0,0,0,0,0,0,0,83,70,48,57,48,48,48,48,0,0,0,0,0,0,0,0,83,70,49,48,48,48,48,48,0,0,0,0,0,0,0,0,83,70,49,49,48,48,48,48,0,0,0,0,0,0,0,0,83,70,49,57,48,48,48,48,0,0,0,0,0,0,0,0,83,70,50,48,48,48,48,48,0,0,0,0,0,0,0,0,83,70,50,49,48,48,48,48,0,0,0,0,0,0,0,0,83,70,50,50,48,48,48,48,0,0,0,0,0,0,0,0,83,70,50,51,48,48,48,48,0,0,0,0,0,0,0,0,83,70,50,52,48,48,48,48,0,0,0,0,0,0,0,0,83,70,50,53,48,48,48,48,0,0,0,0,0,0,0,0,83,70,50,54,48,48,48,48,0,0,0,0,0,0,0,0,83,70,50,55,48,48,48,48,0,0,0,0,0,0,0,0,83,70,50,56,48,48,48,48,0,0,0,0,0,0,0,0,83,70,51,54,48,48,48,48,0,0,0,0,0,0,0,0,83,70,51,55,48,48,48,48,0,0,0,0,0,0,0,0,83,70,51,56,48,48,48,48,0,0,0,0,0,0,0,0,83,70,51,57,48,48,48,48,0,0,0,0,0,0,0,0,83,70,52,48,48,48,48,48,0,0,0,0,0,0,0,0,83,70,52,49,48,48,48,48,0,0,0,0,0,0,0,0,83,70,52,50,48,48,48,48,0,0,0,0,0,0,0,0,83,70,52,51,48,48,48,48,0,0,0,0,0,0,0,0,83,70,52,52,48,48,48,48,0,0,0,0,0,0,0,0,83,70,52,53,48,48,48,48,0,0,0,0,0,0,0,0,83,70,52,54,48,48,48,48,0,0,0,0,0,0,0,0,83,70,52,55,48,48,48,48,0,0,0,0,0,0,0,0,83,70,52,56,48,48,48,48,0,0,0,0,0,0,0,0,83,70,52,57,48,48,48,48,0,0,0,0,0,0,0,0,83,70,53,48,48,48,48,48,0,0,0,0,0,0,0,0,83,70,53,49,48,48,48,48,0,0,0,0,0,0,0,0,83,70,53,50,48,48,48,48,0,0,0,0,0,0,0,0,83,70,53,51,48,48,48,48,0,0,0,0,0,0,0,0,83,70,53,52,48,48,48,48,0,0,0,0,0,0,0,0,83,97,99,117,116,101,0,0,83,99,97,114,111,110,0,0,83,99,97,114,111,110,115,109,97,108,108,0,0,0,0,0,83,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,83,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,83,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,83,105,103,109,97,0,0,0,83,115,109,97,108,108,0,0,84,0,0,0,0,0,0,0,84,97,117,0,0,0,0,0,84,98,97,114,0,0,0,0,84,99,97,114,111,110,0,0,84,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,84,104,101,116,97,0,0,0,84,104,111,114,110,0,0,0,84,104,111,114,110,115,109,97,108,108,0,0,0,0,0,0,84,105,108,100,101,115,109,97,108,108,0,0,0,0,0,0,84,115,109,97,108,108,0,0,85,0,0,0,0,0,0,0,85,97,99,117,116,101,0,0,85,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,85,98,114,101,118,101,0,0,85,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,85,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,85,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,85,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,85,103,114,97,118,101,0,0,85,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,85,104,111,114,110,0,0,0,85,104,117,110,103,97,114,117,109,108,97,117,116,0,0,0,85,109,97,99,114,111,110,0,85,111,103,111,110,101,107,0,85,112,115,105,108,111,110,0,85,112,115,105,108,111,110,49,0,0,0,0,0,0,0,0,85,112,115,105,108,111,110,100,105,101,114,101,115,105,115,0,85,112,115,105,108,111,110,116,111,110,111,115,0,0,0,0,85,114,105,110,103,0,0,0,85,115,109,97,108,108,0,0,85,116,105,108,100,101,0,0,86,0,0,0,0,0,0,0,86,115,109,97,108,108,0,0,87,0,0,0,0,0,0,0,87,97,99,117,116,101,0,0,87,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,87,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,87,103,114,97,118,101,0,0,87,115,109,97,108,108,0,0,88,0,0,0,0,0,0,0,88,105,0,0,0,0,0,0,88,115,109,97,108,108,0,0,89,0,0,0,0,0,0,0,89,97,99,117,116,101,0,0,89,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,89,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,89,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,89,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,89,103,114,97,118,101,0,0,89,115,109,97,108,108,0,0,90,0,0,0,0,0,0,0,90,97,99,117,116,101,0,0,90,99,97,114,111,110,0,0,90,99,97,114,111,110,115,109,97,108,108,0,0,0,0,0,90,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,90,101,116,97,0,0,0,0,90,115,109,97,108,108,0,0,34,0,0,0,0,0,0,0,92,0,0,0,0,0,0,0,93,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,95,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,97,97,99,117,116,101,0,0,97,98,114,101,118,101,0,0,97,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,97,99,117,116,101,0,0,0,97,99,117,116,101,99,111,109,98,0,0,0,0,0,0,0,97,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,97,101,0,0,0,0,0,0,97,101,97,99,117,116,101,0,97,102,105,105,48,48,50,48,56,0,0,0,0,0,0,0,97,102,105,105,49,48,48,49,55,0,0,0,0,0,0,0,97,102,105,105,49,48,48,49,56,0,0,0,0,0,0,0,97,102,105,105,49,48,48,49,57,0,0,0,0,0,0,0,97,102,105,105,49,48,48,50,48,0,0,0,0,0,0,0,97,102,105,105,49,48,48,50,49,0,0,0,0,0,0,0,97,102,105,105,49,48,48,50,50,0,0,0,0,0,0,0,97,102,105,105,49,48,48,50,51,0,0,0,0,0,0,0,97,102,105,105,49,48,48,50,52,0,0,0,0,0,0,0,97,102,105,105,49,48,48,50,53,0,0,0,0,0,0,0,97,102,105,105,49,48,48,50,54,0,0,0,0,0,0,0,97,102,105,105,49,48,48,50,55,0,0,0,0,0,0,0,97,102,105,105,49,48,48,50,56,0,0,0,0,0,0,0,97,102,105,105,49,48,48,50,57,0,0,0,0,0,0,0,97,102,105,105,49,48,48,51,48,0,0,0,0,0,0,0,97,102,105,105,49,48,48,51,49,0,0,0,0,0,0,0,97,102,105,105,49,48,48,51,50,0,0,0,0,0,0,0,97,102,105,105,49,48,48,51,51,0,0,0,0,0,0,0,97,102,105,105,49,48,48,51,52,0,0,0,0,0,0,0,97,102,105,105,49,48,48,51,53,0,0,0,0,0,0,0,97,102,105,105,49,48,48,51,54,0,0,0,0,0,0,0,97,102,105,105,49,48,48,51,55,0,0,0,0,0,0,0,97,102,105,105,49,48,48,51,56,0,0,0,0,0,0,0,97,102,105,105,49,48,48,51,57,0,0,0,0,0,0,0,97,102,105,105,49,48,48,52,48,0,0,0,0,0,0,0,97,102,105,105,49,48,48,52,49,0,0,0,0,0,0,0,97,102,105,105,49,48,48,52,50,0,0,0,0,0,0,0,97,102,105,105,49,48,48,52,51,0,0,0,0,0,0,0,97,102,105,105,49,48,48,52,52,0,0,0,0,0,0,0,97,102,105,105,49,48,48,52,53,0,0,0,0,0,0,0,97,102,105,105,49,48,48,52,54,0,0,0,0,0,0,0,97,102,105,105,49,48,48,52,55,0,0,0,0,0,0,0,97,102,105,105,49,48,48,52,56,0,0,0,0,0,0,0,97,102,105,105,49,48,48,52,57,0,0,0,0,0,0,0,97,102,105,105,49,48,48,53,48,0,0,0,0,0,0,0,97,102,105,105,49,48,48,53,49,0,0,0,0,0,0,0,97,102,105,105,49,48,48,53,50,0,0,0,0,0,0,0,97,102,105,105,49,48,48,53,51,0,0,0,0,0,0,0,97,102,105,105,49,48,48,53,52,0,0,0,0,0,0,0,97,102,105,105,49,48,48,53,53,0,0,0,0,0,0,0,97,102,105,105,49,48,48,53,54,0,0,0,0,0,0,0,97,102,105,105,49,48,48,53,55,0,0,0,0,0,0,0,97,102,105,105,49,48,48,53,56,0,0,0,0,0,0,0,97,102,105,105,49,48,48,53,57,0,0,0,0,0,0,0,97,102,105,105,49,48,48,54,48,0,0,0,0,0,0,0,97,102,105,105,49,48,48,54,49,0,0,0,0,0,0,0,97,102,105,105,49,48,48,54,50,0,0,0,0,0,0,0,97,102,105,105,49,48,48,54,51,0,0,0,0,0,0,0,97,102,105,105,49,48,48,54,52,0,0,0,0,0,0,0,97,102,105,105,49,48,48,54,53,0,0,0,0,0,0,0,97,102,105,105,49,48,48,54,54,0,0,0,0,0,0,0,97,102,105,105,49,48,48,54,55,0,0,0,0,0,0,0,97,102,105,105,49,48,48,54,56,0,0,0,0,0,0,0,97,102,105,105,49,48,48,54,57,0,0,0,0,0,0,0,97,102,105,105,49,48,48,55,48,0,0,0,0,0,0,0,97,102,105,105,49,48,48,55,49,0,0,0,0,0,0,0,97,102,105,105,49,48,48,55,50,0,0,0,0,0,0,0,97,102,105,105,49,48,48,55,51,0,0,0,0,0,0,0,97,102,105,105,49,48,48,55,52,0,0,0,0,0,0,0,97,102,105,105,49,48,48,55,53,0,0,0,0,0,0,0,97,102,105,105,49,48,48,55,54,0,0,0,0,0,0,0,97,102,105,105,49,48,48,55,55,0,0,0,0,0,0,0,97,102,105,105,49,48,48,55,56,0,0,0,0,0,0,0,97,102,105,105,49,48,48,55,57,0,0,0,0,0,0,0,97,102,105,105,49,48,48,56,48,0,0,0,0,0,0,0,97,102,105,105,49,48,48,56,49,0,0,0,0,0,0,0,97,102,105,105,49,48,48,56,50,0,0,0,0,0,0,0,97,102,105,105,49,48,48,56,51,0,0,0,0,0,0,0,97,102,105,105,49,48,48,56,52,0,0,0,0,0,0,0,97,102,105,105,49,48,48,56,53,0,0,0,0,0,0,0,97,102,105,105,49,48,48,56,54,0,0,0,0,0,0,0,97,102,105,105,49,48,48,56,55,0,0,0,0,0,0,0,97,102,105,105,49,48,48,56,56,0,0,0,0,0,0,0,97,102,105,105,49,48,48,56,57,0,0,0,0,0,0,0,97,102,105,105,49,48,48,57,48,0,0,0,0,0,0,0,97,102,105,105,49,48,48,57,49,0,0,0,0,0,0,0,97,102,105,105,49,48,48,57,50,0,0,0,0,0,0,0,97,102,105,105,49,48,48,57,51,0,0,0,0,0,0,0,97,102,105,105,49,48,48,57,52,0,0,0,0,0,0,0,97,102,105,105,49,48,48,57,53,0,0,0,0,0,0,0,97,102,105,105,49,48,48,57,54,0,0,0,0,0,0,0,97,102,105,105,49,48,48,57,55,0,0,0,0,0,0,0,97,102,105,105,49,48,48,57,56,0,0,0,0,0,0,0,97,102,105,105,49,48,48,57,57,0,0,0,0,0,0,0,97,102,105,105,49,48,49,48,48,0,0,0,0,0,0,0,97,102,105,105,49,48,49,48,49,0,0,0,0,0,0,0,97,102,105,105,49,48,49,48,50,0,0,0,0,0,0,0,97,102,105,105,49,48,49,48,51,0,0,0,0,0,0,0,97,102,105,105,49,48,49,48,52,0,0,0,0,0,0,0,97,102,105,105,49,48,49,48,53,0,0,0,0,0,0,0,97,102,105,105,49,48,49,48,54,0,0,0,0,0,0,0,97,102,105,105,49,48,49,48,55,0,0,0,0,0,0,0,97,102,105,105,49,48,49,48,56,0,0,0,0,0,0,0,97,102,105,105,49,48,49,48,57,0,0,0,0,0,0,0,97,102,105,105,49,48,49,49,48,0,0,0,0,0,0,0,97,102,105,105,49,48,49,52,53,0,0,0,0,0,0,0,97,102,105,105,49,48,49,52,54,0,0,0,0,0,0,0,97,102,105,105,49,48,49,52,55,0,0,0,0,0,0,0,97,102,105,105,49,48,49,52,56,0,0,0,0,0,0,0,97,102,105,105,49,48,49,57,50,0,0,0,0,0,0,0,97,102,105,105,49,48,49,57,51,0,0,0,0,0,0,0,97,102,105,105,49,48,49,57,52,0,0,0,0,0,0,0,97,102,105,105,49,48,49,57,53,0,0,0,0,0,0,0,97,102,105,105,49,48,49,57,54,0,0,0,0,0,0,0,97,102,105,105,49,48,56,51,49,0,0,0,0,0,0,0,97,102,105,105,49,48,56,51,50,0,0,0,0,0,0,0,97,102,105,105,49,48,56,52,54,0,0,0,0,0,0,0,97,102,105,105,50,57,57,0,97,102,105,105,51,48,48,0,97,102,105,105,51,48,49,0,97,102,105,105,53,55,51,56,49,0,0,0,0,0,0,0,97,102,105,105,53,55,51,56,56,0,0,0,0,0,0,0,97,102,105,105,53,55,51,57,50,0,0,0,0,0,0,0,97,102,105,105,53,55,51,57,51,0,0,0,0,0,0,0,97,102,105,105,53,55,51,57,52,0,0,0,0,0,0,0,97,102,105,105,53,55,51,57,53,0,0,0,0,0,0,0,97,102,105,105,53,55,51,57,54,0,0,0,0,0,0,0,97,102,105,105,53,55,51,57,55,0,0,0,0,0,0,0,97,102,105,105,53,55,51,57,56,0,0,0,0,0,0,0,97,102,105,105,53,55,51,57,57,0,0,0,0,0,0,0,97,102,105,105,53,55,52,48,48,0,0,0,0,0,0,0,97,102,105,105,53,55,52,48,49,0,0,0,0,0,0,0,97,102,105,105,53,55,52,48,51,0,0,0,0,0,0,0,97,102,105,105,53,55,52,48,55,0,0,0,0,0,0,0,97,102,105,105,53,55,52,48,57,0,0,0,0,0,0,0,97,102,105,105,53,55,52,49,48,0,0,0,0,0,0,0,97,102,105,105,53,55,52,49,49,0,0,0,0,0,0,0,97,102,105,105,53,55,52,49,50,0,0,0,0,0,0,0,97,102,105,105,53,55,52,49,51,0,0,0,0,0,0,0,97,102,105,105,53,55,52,49,52,0,0,0,0,0,0,0,97,102,105,105,53,55,52,49,53,0,0,0,0,0,0,0,97,102,105,105,53,55,52,49,54,0,0,0,0,0,0,0,97,102,105,105,53,55,52,49,55,0,0,0,0,0,0,0,97,102,105,105,53,55,52,49,56,0,0,0,0,0,0,0,97,102,105,105,53,55,52,49,57,0,0,0,0,0,0,0,97,102,105,105,53,55,52,50,48,0,0,0,0,0,0,0,97,102,105,105,53,55,52,50,49,0,0,0,0,0,0,0,97,102,105,105,53,55,52,50,50,0,0,0,0,0,0,0,97,102,105,105,53,55,52,50,51,0,0,0,0,0,0,0,97,102,105,105,53,55,52,50,52,0,0,0,0,0,0,0,97,102,105,105,53,55,52,50,53,0,0,0,0,0,0,0,97,102,105,105,53,55,52,50,54,0,0,0,0,0,0,0,97,102,105,105,53,55,52,50,55,0,0,0,0,0,0,0,97,102,105,105,53,55,52,50,56,0,0,0,0,0,0,0,97,102,105,105,53,55,52,50,57,0,0,0,0,0,0,0,97,102,105,105,53,55,52,51,48,0,0,0,0,0,0,0,97,102,105,105,53,55,52,51,49,0,0,0,0,0,0,0,97,102,105,105,53,55,52,51,50,0,0,0,0,0,0,0,97,102,105,105,53,55,52,51,51,0,0,0,0,0,0,0,97,102,105,105,53,55,52,51,52,0,0,0,0,0,0,0,97,102,105,105,53,55,52,52,48,0,0,0,0,0,0,0,97,102,105,105,53,55,52,52,49,0,0,0,0,0,0,0,97,102,105,105,53,55,52,52,50,0,0,0,0,0,0,0,97,102,105,105,53,55,52,52,51,0,0,0,0,0,0,0,97,102,105,105,53,55,52,52,52,0,0,0,0,0,0,0,97,102,105,105,53,55,52,52,53,0,0,0,0,0,0,0,97,102,105,105,53,55,52,52,54,0,0,0,0,0,0,0,97,102,105,105,53,55,52,52,56,0,0,0,0,0,0,0,97,102,105,105,53,55,52,52,57,0,0,0,0,0,0,0,97,102,105,105,53,55,52,53,48,0,0,0,0,0,0,0,97,102,105,105,53,55,52,53,49,0,0,0,0,0,0,0,97,102,105,105,53,55,52,53,50,0,0,0,0,0,0,0,97,102,105,105,53,55,52,53,51,0,0,0,0,0,0,0,97,102,105,105,53,55,52,53,52,0,0,0,0,0,0,0,97,102,105,105,53,55,52,53,53,0,0,0,0,0,0,0,97,102,105,105,53,55,52,53,54,0,0,0,0,0,0,0,97,102,105,105,53,55,52,53,55,0,0,0,0,0,0,0,97,102,105,105,53,55,52,53,56,0,0,0,0,0,0,0,97,102,105,105,53,55,52,55,48,0,0,0,0,0,0,0,97,102,105,105,53,55,53,48,53,0,0,0,0,0,0,0,97,102,105,105,53,55,53,48,54,0,0,0,0,0,0,0,97,102,105,105,53,55,53,48,55,0,0,0,0,0,0,0,97,102,105,105,53,55,53,48,56,0,0,0,0,0,0,0,97,102,105,105,53,55,53,48,57,0,0,0,0,0,0,0,97,102,105,105,53,55,53,49,49,0,0,0,0,0,0,0,97,102,105,105,53,55,53,49,50,0,0,0,0,0,0,0,97,102,105,105,53,55,53,49,51,0,0,0,0,0,0,0,97,102,105,105,53,55,53,49,52,0,0,0,0,0,0,0,97,102,105,105,53,55,53,49,57,0,0,0,0,0,0,0,97,102,105,105,53,55,53,51,52,0,0,0,0,0,0,0,97,102,105,105,53,55,54,51,54,0,0,0,0,0,0,0,97,102,105,105,53,55,54,52,53,0,0,0,0,0,0,0,97,102,105,105,53,55,54,53,56,0,0,0,0,0,0,0,97,102,105,105,53,55,54,54,52,0,0,0,0,0,0,0,97,102,105,105,53,55,54,54,53,0,0,0,0,0,0,0,97,102,105,105,53,55,54,54,54,0,0,0,0,0,0,0,97,102,105,105,53,55,54,54,55,0,0,0,0,0,0,0,97,102,105,105,53,55,54,54,56,0,0,0,0,0,0,0,97,102,105,105,53,55,54,54,57,0,0,0,0,0,0,0,97,102,105,105,53,55,54,55,48,0,0,0,0,0,0,0,97,102,105,105,53,55,54,55,49,0,0,0,0,0,0,0,97,102,105,105,53,55,54,55,50,0,0,0,0,0,0,0,97,102,105,105,53,55,54,55,51,0,0,0,0,0,0,0,97,102,105,105,53,55,54,55,52,0,0,0,0,0,0,0,97,102,105,105,53,55,54,55,53,0,0,0,0,0,0,0,97,102,105,105,53,55,54,55,54,0,0,0,0,0,0,0,97,102,105,105,53,55,54,55,55,0,0,0,0,0,0,0,97,102,105,105,53,55,54,55,56,0,0,0,0,0,0,0,97,102,105,105,53,55,54,55,57,0,0,0,0,0,0,0,97,102,105,105,53,55,54,56,48,0,0,0,0,0,0,0,97,102,105,105,53,55,54,56,49,0,0,0,0,0,0,0,97,102,105,105,53,55,54,56,50,0,0,0,0,0,0,0,97,102,105,105,53,55,54,56,51,0,0,0,0,0,0,0,97,102,105,105,53,55,54,56,52,0,0,0,0,0,0,0,97,102,105,105,53,55,54,56,53,0,0,0,0,0,0,0,97,102,105,105,53,55,54,56,54,0,0,0,0,0,0,0,97,102,105,105,53,55,54,56,55,0,0,0,0,0,0,0,97,102,105,105,53,55,54,56,56,0,0,0,0,0,0,0,97,102,105,105,53,55,54,56,57,0,0,0,0,0,0,0,97,102,105,105,53,55,54,57,48,0,0,0,0,0,0,0,97,102,105,105,53,55,54,57,52,0,0,0,0,0,0,0,97,102,105,105,53,55,54,57,53,0,0,0,0,0,0,0,97,102,105,105,53,55,55,48,48,0,0,0,0,0,0,0,97,102,105,105,53,55,55,48,53,0,0,0,0,0,0,0,97,102,105,105,53,55,55,49,54,0,0,0,0,0,0,0,97,102,105,105,53,55,55,49,55,0,0,0,0,0,0,0,97,102,105,105,53,55,55,49,56,0,0,0,0,0,0,0,97,102,105,105,53,55,55,50,51,0,0,0,0,0,0,0,97,102,105,105,53,55,55,57,51,0,0,0,0,0,0,0,97,102,105,105,53,55,55,57,52,0,0,0,0,0,0,0,97,102,105,105,53,55,55,57,53,0,0,0,0,0,0,0,97,102,105,105,53,55,55,57,54,0,0,0,0,0,0,0,97,102,105,105,53,55,55,57,55,0,0,0,0,0,0,0,97,102,105,105,53,55,55,57,56,0,0,0,0,0,0,0,97,102,105,105,53,55,55,57,57,0,0,0,0,0,0,0,97,102,105,105,53,55,56,48,48,0,0,0,0,0,0,0,97,102,105,105,53,55,56,48,49,0,0,0,0,0,0,0,97,102,105,105,53,55,56,48,50,0,0,0,0,0,0,0,97,102,105,105,53,55,56,48,51,0,0,0,0,0,0,0,97,102,105,105,53,55,56,48,52,0,0,0,0,0,0,0,97,102,105,105,53,55,56,48,54,0,0,0,0,0,0,0,97,102,105,105,53,55,56,48,55,0,0,0,0,0,0,0,97,102,105,105,53,55,56,51,57,0,0,0,0,0,0,0,97,102,105,105,53,55,56,52,49,0,0,0,0,0,0,0,97,102,105,105,53,55,56,52,50,0,0,0,0,0,0,0,97,102,105,105,53,55,57,50,57,0,0,0,0,0,0,0,97,102,105,105,54,49,50,52,56,0,0,0,0,0,0,0,97,102,105,105,54,49,50,56,57,0,0,0,0,0,0,0,97,102,105,105,54,49,51,53,50,0,0,0,0,0,0,0,97,102,105,105,54,49,53,55,51,0,0,0,0,0,0,0,97,102,105,105,54,49,53,55,52,0,0,0,0,0,0,0,97,102,105,105,54,49,53,55,53,0,0,0,0,0,0,0,97,102,105,105,54,49,54,54,52,0,0,0,0,0,0,0,97,102,105,105,54,51,49,54,55,0,0,0,0,0,0,0,97,102,105,105,54,52,57,51,55,0,0,0,0,0,0,0,97,103,114,97,118,101,0,0,97,108,101,112,104,0,0,0,97,108,112,104,97,0,0,0,97,108,112,104,97,116,111,110,111,115,0,0,0,0,0,0,97,109,97,99,114,111,110,0,97,109,112,101,114,115,97,110,100,0,0,0,0,0,0,0,97,109,112,101,114,115,97,110,100,115,109,97,108,108,0,0,97,110,103,108,101,0,0,0,97,110,103,108,101,108,101,102,116,0,0,0,0,0,0,0,97,110,103,108,101,114,105,103,104,116,0,0,0,0,0,0,97,110,111,116,101,108,101,105,97,0,0,0,0,0,0,0,97,111,103,111,110,101,107,0,97,112,112,114,111,120,101,113,117,97,108,0,0,0,0,0,97,114,105,110,103,0,0,0,97,114,105,110,103,97,99,117,116,101,0,0,0,0,0,0,97,114,114,111,119,98,111,116,104,0,0,0,0,0,0,0,97,114,114,111,119,100,98,108,98,111,116,104,0,0,0,0,97,114,114,111,119,100,98,108,100,111,119,110,0,0,0,0,97,114,114,111,119,100,98,108,108,101,102,116,0,0,0,0,97,114,114,111,119,100,98,108,114,105,103,104,116,0,0,0,97,114,114,111,119,100,98,108,117,112,0,0,0,0,0,0,97,114,114,111,119,100,111,119,110,0,0,0,0,0,0,0,97,114,114,111,119,104,111,114,105,122,101,120,0,0,0,0,97,114,114,111,119,108,101,102,116,0,0,0,0,0,0,0,97,114,114,111,119,114,105,103,104,116,0,0,0,0,0,0,97,114,114,111,119,117,112,0,97,114,114,111,119,117,112,100,110,0,0,0,0,0,0,0,97,114,114,111,119,117,112,100,110,98,115,101,0,0,0,0,97,114,114,111,119,118,101,114,116,101,120,0,0,0,0,0,97,115,99,105,105,99,105,114,99,117,109,0,0,0,0,0,97,115,99,105,105,116,105,108,100,101,0,0,0,0,0,0,97,115,116,101,114,105,115,107,0,0,0,0,0,0,0,0,97,115,116,101,114,105,115,107,109,97,116,104,0,0,0,0,97,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,97,116,0,0,0,0,0,0,97,116,105,108,100,101,0,0,98,0,0,0,0,0,0,0,98,97,99,107,115,108,97,115,104,0,0,0,0,0,0,0,98,97,114,0,0,0,0,0,98,101,116,97,0,0,0,0,98,108,111,99,107,0,0,0,98,114,97,99,101,101,120,0,98,114,97,99,101,108,101,102,116,0,0,0,0,0,0,0,98,114,97,99,101,108,101,102,116,98,116,0,0,0,0,0,98,114,97,99,101,108,101,102,116,109,105,100,0,0,0,0,98,114,97,99,101,108,101,102,116,116,112,0,0,0,0,0,98,114,97,99,101,114,105,103,104,116,0,0,0,0,0,0,98,114,97,99,101,114,105,103,104,116,98,116,0,0,0,0,98,114,97,99,101,114,105,103,104,116,109,105,100,0,0,0,98,114,97,99,101,114,105,103,104,116,116,112,0,0,0,0,98,114,97,99,107,101,116,108,101,102,116,0,0,0,0,0,98,114,97,99,107,101,116,108,101,102,116,98,116,0,0,0,98,114,97,99,107,101,116,108,101,102,116,101,120,0,0,0,98,114,97,99,107,101,116,108,101,102,116,116,112,0,0,0,98,114,97,99,107,101,116,114,105,103,104,116,0,0,0,0,98,114,97,99,107,101,116,114,105,103,104,116,98,116,0,0,98,114,97,99,107,101,116,114,105,103,104,116,101,120,0,0,98,114,97,99,107,101,116,114,105,103,104,116,116,112,0,0,98,114,101,118,101,0,0,0,98,114,111,107,101,110,98,97,114,0,0,0,0,0,0,0,98,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,98,117,108,108,101,116,0,0,99,0,0,0,0,0,0,0,99,97,99,117,116,101,0,0,99,97,114,111,110,0,0,0,99,97,114,114,105,97,103,101,114,101,116,117,114,110,0,0,99,99,97,114,111,110,0,0,99,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,99,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,99,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,99,101,100,105,108,108,97,0,99,101,110,116,0,0,0,0,99,101,110,116,105,110,102,101,114,105,111,114,0,0,0,0,99,101,110,116,111,108,100,115,116,121,108,101,0,0,0,0,99,101,110,116,115,117,112,101,114,105,111,114,0,0,0,0,99,104,105,0,0,0,0,0,99,105,114,99,108,101,0,0,99,105,114,99,108,101,109,117,108,116,105,112,108,121,0,0,99,105,114,99,108,101,112,108,117,115,0,0,0,0,0,0,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,0,99,108,117,98,0,0,0,0,99,111,108,111,110,0,0,0,99,111,108,111,110,109,111,110,101,116,97,114,121,0,0,0,99,111,109,109,97,0,0,0,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,0,99,111,109,109,97,105,110,102,101,114,105,111,114,0,0,0,99,111,109,109,97,115,117,112,101,114,105,111,114,0,0,0,99,111,110,103,114,117,101,110,116,0,0,0,0,0,0,0,99,111,112,121,114,105,103,104,116,0,0,0,0,0,0,0,99,111,112,121,114,105,103,104,116,115,97,110,115,0,0,0,99,111,112,121,114,105,103,104,116,115,101,114,105,102,0,0,99,117,114,114,101,110,99,121,0,0,0,0,0,0,0,0,99,121,114,66,114,101,118,101,0,0,0,0,0,0,0,0,99,121,114,70,108,101,120,0,99,121,114,98,114,101,118,101,0,0,0,0,0,0,0,0,99,121,114,102,108,101,120,0,100,0,0,0,0,0,0,0,100,97,103,103,101,114,0,0,100,97,103,103,101,114,100,98,108,0,0,0,0,0,0,0,100,98,108,71,114,97,118,101,0,0,0,0,0,0,0,0,100,98,108,103,114,97,118,101,0,0,0,0,0,0,0,0,100,99,97,114,111,110,0,0,100,99,114,111,97,116,0,0,100,101,103,114,101,101,0,0,100,101,108,116,97,0,0,0,100,105,97,109,111,110,100,0,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,0,100,105,101,114,101,115,105,115,97,99,117,116,101,0,0,0,100,105,101,114,101,115,105,115,103,114,97,118,101,0,0,0,100,105,101,114,101,115,105,115,116,111,110,111,115,0,0,0,100,105,118,105,100,101,0,0,100,107,115,104,97,100,101,0,100,110,98,108,111,99,107,0,100,111,108,108,97,114,0,0,100,111,108,108,97,114,105,110,102,101,114,105,111,114,0,0,100,111,108,108,97,114,111,108,100,115,116,121,108,101,0,0,100,111,108,108,97,114,115,117,112,101,114,105,111,114,0,0,100,111,110,103,0,0,0,0,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,0,100,111,116,98,101,108,111,119,99,111,109,98,0,0,0,0,100,111,116,108,101,115,115,105,0,0,0,0,0,0,0,0,100,111,116,108,101,115,115,106,0,0,0,0,0,0,0,0,100,111,116,109,97,116,104,0,100,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,101,97,99,117,116,101,0,0,101,98,114,101,118,101,0,0,101,99,97,114,111,110,0,0,101,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,101,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,101,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,101,103,114,97,118,101,0,0,101,105,103,104,116,0,0,0,101,105,103,104,116,105,110,102,101,114,105,111,114,0,0,0,101,105,103,104,116,111,108,100,115,116,121,108,101,0,0,0,101,105,103,104,116,115,117,112,101,114,105,111,114,0,0,0,101,108,101,109,101,110,116,0,101,108,108,105,112,115,105,115,0,0,0,0,0,0,0,0,101,109,97,99,114,111,110,0,101,109,100,97,115,104,0,0,101,109,112,116,121,115,101,116,0,0,0,0,0,0,0,0,101,110,100,97,115,104,0,0,101,110,103,0,0,0,0,0,101,111,103,111,110,101,107,0,101,112,115,105,108,111,110,0,101,112,115,105,108,111,110,116,111,110,111,115,0,0,0,0,101,113,117,97,108,0,0,0,101,113,117,105,118,97,108,101,110,99,101,0,0,0,0,0,101,115,116,105,109,97,116,101,100,0,0,0,0,0,0,0,101,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,101,116,97,0,0,0,0,0,101,116,97,116,111,110,111,115,0,0,0,0,0,0,0,0,101,116,104,0,0,0,0,0,101,120,99,108,97,109,0,0,101,120,99,108,97,109,100,98,108,0,0,0,0,0,0,0,101,120,99,108,97,109,100,111,119,110,0,0,0,0,0,0,101,120,99,108,97,109,100,111,119,110,115,109,97,108,108,0,101,120,99,108,97,109,108,101,102,116,0,0,0,0,0,0,101,120,99,108,97,109,115,109,97,108,108,0,0,0,0,0,101,120,105,115,116,101,110,116,105,97,108,0,0,0,0,0,102,0,0,0,0,0,0,0,102,101,109,97,108,101,0,0,102,102,0,0,0,0,0,0,102,102,105,0,0,0,0,0,102,102,108,0,0,0,0,0,102,105,0,0,0,0,0,0,102,105,103,117,114,101,100,97,115,104,0,0,0,0,0,0,102,105,108,108,101,100,98,111,120,0,0,0,0,0,0,0,102,105,108,108,101,100,114,101,99,116,0,0,0,0,0,0,102,105,118,101,0,0,0,0,102,105,118,101,101,105,103,104,116,104,115,0,0,0,0,0,102,105,118,101,105,110,102,101,114,105,111,114,0,0,0,0,102,105,118,101,111,108,100,115,116,121,108,101,0,0,0,0,102,105,118,101,115,117,112,101,114,105,111,114,0,0,0,0,102,108,0,0,0,0,0,0,102,108,111,114,105,110,0,0,102,111,117,114,0,0,0,0,102,111,117,114,105,110,102,101,114,105,111,114,0,0,0,0,102,111,117,114,111,108,100,115,116,121,108,101,0,0,0,0,102,111,117,114,115,117,112,101,114,105,111,114,0,0,0,0,102,114,97,99,116,105,111,110,0,0,0,0,0,0,0,0,102,114,97,110,99,0,0,0,103,0,0,0,0,0,0,0,103,97,109,109,97,0,0,0,103,98,114,101,118,101,0,0,103,99,97,114,111,110,0,0,103,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,103,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,103,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,103,101,114,109,97,110,100,98,108,115,0,0,0,0,0,0,103,114,97,100,105,101,110,116,0,0,0,0,0,0,0,0,103,114,97,118,101,0,0,0,103,114,97,118,101,99,111,109,98,0,0,0,0,0,0,0,103,114,101,97,116,101,114,0,103,114,101,97,116,101,114,101,113,117,97,108,0,0,0,0,103,117,105,108,108,101,109,111,116,108,101,102,116,0,0,0,103,117,105,108,108,101,109,111,116,114,105,103,104,116,0,0,103,117,105,108,115,105,110,103,108,108,101,102,116,0,0,0,103,117,105,108,115,105,110,103,108,114,105,103,104,116,0,0,104,0,0,0,0,0,0,0,104,98,97,114,0,0,0,0,104,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,104,101,97,114,116,0,0,0,104,111,111,107,97,98,111,118,101,99,111,109,98,0,0,0,104,111,117,115,101,0,0,0,104,117,110,103,97,114,117,109,108,97,117,116,0,0,0,0,104,121,112,104,101,110,0,0,104,121,112,104,101,110,105,110,102,101,114,105,111,114,0,0,104,121,112,104,101,110,115,117,112,101,114,105,111,114,0,0,105,0,0,0,0,0,0,0,105,97,99,117,116,101,0,0,105,98,114,101,118,101,0,0,105,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,105,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,105,103,114,97,118,101,0,0,105,106,0,0,0,0,0,0,105,109,97,99,114,111,110,0,105,110,102,105,110,105,116,121,0,0,0,0,0,0,0,0,105,110,116,101,103,114,97,108,0,0,0,0,0,0,0,0,105,110,116,101,103,114,97,108,98,116,0,0,0,0,0,0,105,110,116,101,103,114,97,108,101,120,0,0,0,0,0,0,105,110,116,101,103,114,97,108,116,112,0,0,0,0,0,0,105,110,116,101,114,115,101,99,116,105,111,110,0,0,0,0,105,110,118,98,117,108,108,101,116,0,0,0,0,0,0,0,105,110,118,99,105,114,99,108,101,0,0,0,0,0,0,0,105,110,118,115,109,105,108,101,102,97,99,101,0,0,0,0,105,111,103,111,110,101,107,0,105,111,116,97,0,0,0,0,105,111,116,97,100,105,101,114,101,115,105,115,0,0,0,0,105,111,116,97,100,105,101,114,101,115,105,115,116,111,110,111,115,0,0,0,0,0,0,0,105,111,116,97,116,111,110,111,115,0,0,0,0,0,0,0,105,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,105,116,105,108,100,101,0,0,106,0,0,0,0,0,0,0,106,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,107,0,0,0,0,0,0,0,107,97,112,112,97,0,0,0,107,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,107,103,114,101,101,110,108,97,110,100,105,99,0,0,0,0,108,0,0,0,0,0,0,0,108,97,99,117,116,101,0,0,108,97,109,98,100,97,0,0,108,99,97,114,111,110,0,0,108,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,108,100,111,116,0,0,0,0,108,101,115,115,0,0,0,0,108,101,115,115,101,113,117,97,108,0,0,0,0,0,0,0,108,102,98,108,111,99,107,0,108,105,114,97,0,0,0,0,108,108,0,0,0,0,0,0,108,111,103,105,99,97,108,97,110,100,0,0,0,0,0,0,108,111,103,105,99,97,108,110,111,116,0,0,0,0,0,0,108,111,103,105,99,97,108,111,114,0,0,0,0,0,0,0,108,111,110,103,115,0,0,0,108,111,122,101,110,103,101,0,108,115,108,97,115,104,0,0,108,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,108,116,115,104,97,100,101,0,109,0,0,0,0,0,0,0,109,97,99,114,111,110,0,0,109,97,108,101,0,0,0,0,109,105,110,117,115,0,0,0,109,105,110,117,116,101,0,0,109,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,109,117,0,0,0,0,0,0,109,117,108,116,105,112,108,121,0,0,0,0,0,0,0,0,109,117,115,105,99,97,108,110,111,116,101,0,0,0,0,0,109,117,115,105,99,97,108,110,111,116,101,100,98,108,0,0,110,0,0,0,0,0,0,0,110,97,99,117,116,101,0,0,110,97,112,111,115,116,114,111,112,104,101,0,0,0,0,0,110,98,115,112,97,99,101,0,110,99,97,114,111,110,0,0,110,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,110,105,110,101,0,0,0,0,110,105,110,101,105,110,102,101,114,105,111,114,0,0,0,0,110,105,110,101,111,108,100,115,116,121,108,101,0,0,0,0,110,105,110,101,115,117,112,101,114,105,111,114,0,0,0,0,110,111,110,98,114,101,97,107,105,110,103,115,112,97,99,101,0,0,0,0,0,0,0,0,110,111,116,101,108,101,109,101,110,116,0,0,0,0,0,0,110,111,116,101,113,117,97,108,0,0,0,0,0,0,0,0,110,111,116,115,117,98,115,101,116,0,0,0,0,0,0,0,110,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,110,116,105,108,100,101,0,0,110,117,0,0,0,0,0,0,110,117,109,98,101,114,115,105,103,110,0,0,0,0,0,0,111,0,0,0,0,0,0,0,111,97,99,117,116,101,0,0,111,98,114,101,118,101,0,0,111,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,111,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,111,101,0,0,0,0,0,0,111,103,111,110,101,107,0,0,111,103,114,97,118,101,0,0,111,104,111,114,110,0,0,0,111,104,117,110,103,97,114,117,109,108,97,117,116,0,0,0,111,109,97,99,114,111,110,0,111,109,101,103,97,0,0,0,111,109,101,103,97,49,0,0,111,109,101,103,97,116,111,110,111,115,0,0,0,0,0,0,111,109,105,99,114,111,110,0,111,109,105,99,114,111,110,116,111,110,111,115,0,0,0,0,111,110,101,0,0,0,0,0,111,110,101,100,111,116,101,110,108,101,97,100,101,114,0,0,111,110,101,101,105,103,104,116,104,0,0,0,0,0,0,0,111,110,101,102,105,116,116,101,100,0,0,0,0,0,0,0,111,110,101,104,97,108,102,0,111,110,101,105,110,102,101,114,105,111,114,0,0,0,0,0,111,110,101,111,108,100,115,116,121,108,101,0,0,0,0,0,111,110,101,113,117,97,114,116,101,114,0,0,0,0,0,0,111,110,101,115,117,112,101,114,105,111,114,0,0,0,0,0,111,110,101,116,104,105,114,100,0,0,0,0,0,0,0,0,111,112,101,110,98,117,108,108,101,116,0,0,0,0,0,0,111,114,100,102,101,109,105,110,105,110,101,0,0,0,0,0,111,114,100,109,97,115,99,117,108,105,110,101,0,0,0,0,111,114,116,104,111,103,111,110,97,108,0,0,0,0,0,0,111,115,108,97,115,104,0,0,111,115,108,97,115,104,97,99,117,116,101,0,0,0,0,0,111,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,111,116,105,108,100,101,0,0,112,0,0,0,0,0,0,0,112,97,114,97,103,114,97,112,104,0,0,0,0,0,0,0,112,97,114,101,110,108,101,102,116,0,0,0,0,0,0,0,112,97,114,101,110,108,101,102,116,98,116,0,0,0,0,0,112,97,114,101,110,108,101,102,116,101,120,0,0,0,0,0,112,97,114,101,110,108,101,102,116,105,110,102,101,114,105,111,114,0,0,0,0,0,0,0,112,97,114,101,110,108,101,102,116,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,112,97,114,101,110,108,101,102,116,116,112,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,0,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,98,116,0,0,0,0,112,97,114,101,110,114,105,103,104,116,101,120,0,0,0,0,112,97,114,101,110,114,105,103,104,116,105,110,102,101,114,105,111,114,0,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,115,117,112,101,114,105,111,114,0,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,116,112,0,0,0,0,112,97,114,116,105,97,108,100,105,102,102,0,0,0,0,0,112,101,114,99,101,110,116,0,112,101,114,105,111,100,0,0,112,101,114,105,111,100,99,101,110,116,101,114,101,100,0,0,112,101,114,105,111,100,105,110,102,101,114,105,111,114,0,0,112,101,114,105,111,100,115,117,112,101,114,105,111,114,0,0,112,101,114,112,101,110,100,105,99,117,108,97,114,0,0,0,112,101,114,116,104,111,117,115,97,110,100,0,0,0,0,0,112,101,115,101,116,97,0,0,112,104,105,0,0,0,0,0,112,104,105,49,0,0,0,0,112,105,0,0,0,0,0,0,112,108,117,115,0,0,0,0,112,108,117,115,109,105,110,117,115,0,0,0,0,0,0,0,112,114,101,115,99,114,105,112,116,105,111,110,0,0,0,0,112,114,111,100,117,99,116,0,112,114,111,112,101,114,115,117,98,115,101,116,0,0,0,0,112,114,111,112,101,114,115,117,112,101,114,115,101,116,0,0,112,114,111,112,111,114,116,105,111,110,97,108,0,0,0,0,112,115,105,0,0,0,0,0,113,0,0,0,0,0,0,0,113,117,101,115,116,105,111,110,0,0,0,0,0,0,0,0,113,117,101,115,116,105,111,110,100,111,119,110,0,0,0,0,113,117,101,115,116,105,111,110,100,111,119,110,115,109,97,108,108,0,0,0,0,0,0,0,113,117,101,115,116,105,111,110,115,109,97,108,108,0,0,0,113,117,111,116,101,100,98,108,0,0,0,0,0,0,0,0,113,117,111,116,101,100,98,108,98,97,115,101,0,0,0,0,113,117,111,116,101,100,98,108,108,101,102,116,0,0,0,0,113,117,111,116,101,100,98,108,114,105,103,104,116,0,0,0,113,117,111,116,101,108,101,102,116,0,0,0,0,0,0,0,113,117,111,116,101,114,101,118,101,114,115,101,100,0,0,0,113,117,111,116,101,114,105,103,104,116,0,0,0,0,0,0,113,117,111,116,101,115,105,110,103,108,98,97,115,101,0,0,113,117,111,116,101,115,105,110,103,108,101,0,0,0,0,0,114,97,99,117,116,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480);
/* memory initializer */ allocate([114,97,100,105,99,97,108,0,114,97,100,105,99,97,108,101,120,0,0,0,0,0,0,0,114,99,97,114,111,110,0,0,114,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,114,101,102,108,101,120,115,117,98,115,101,116,0,0,0,0,114,101,102,108,101,120,115,117,112,101,114,115,101,116,0,0,114,101,103,105,115,116,101,114,101,100,0,0,0,0,0,0,114,101,103,105,115,116,101,114,115,97,110,115,0,0,0,0,114,101,103,105,115,116,101,114,115,101,114,105,102,0,0,0,114,101,118,108,111,103,105,99,97,108,110,111,116,0,0,0,114,104,111,0,0,0,0,0,114,105,110,103,0,0,0,0,114,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,114,116,98,108,111,99,107,0,114,117,112,105,97,104,0,0,115,0,0,0,0,0,0,0,115,97,99,117,116,101,0,0,115,99,97,114,111,110,0,0,115,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,115,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,115,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,115,101,99,111,110,100,0,0,115,101,99,116,105,111,110,0,115,101,109,105,99,111,108,111,110,0,0,0,0,0,0,0,115,101,118,101,110,0,0,0,115,101,118,101,110,101,105,103,104,116,104,115,0,0,0,0,115,101,118,101,110,105,110,102,101,114,105,111,114,0,0,0,115,101,118,101,110,111,108,100,115,116,121,108,101,0,0,0,115,101,118,101,110,115,117,112,101,114,105,111,114,0,0,0,115,104,97,100,101,0,0,0,115,105,103,109,97,0,0,0,115,105,103,109,97,49,0,0,115,105,109,105,108,97,114,0,115,105,120,0,0,0,0,0,115,105,120,105,110,102,101,114,105,111,114,0,0,0,0,0,115,105,120,111,108,100,115,116,121,108,101,0,0,0,0,0,115,105,120,115,117,112,101,114,105,111,114,0,0,0,0,0,115,108,97,115,104,0,0,0,115,109,105,108,101,102,97,99,101,0,0,0,0,0,0,0,115,112,97,99,101,0,0,0,115,112,97,100,101,0,0,0,115,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,115,116,101,114,108,105,110,103,0,0,0,0,0,0,0,0,115,117,99,104,116,104,97,116,0,0,0,0,0,0,0,0,115,117,109,109,97,116,105,111,110,0,0,0,0,0,0,0,115,117,110,0,0,0,0,0,116,0,0,0,0,0,0,0,116,97,117,0,0,0,0,0,116,98,97,114,0,0,0,0,116,99,97,114,111,110,0,0,116,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,116,104,101,114,101,102,111,114,101,0,0,0,0,0,0,0,116,104,101,116,97,0,0,0,116,104,101,116,97,49,0,0,116,104,111,114,110,0,0,0,116,104,114,101,101,0,0,0,116,104,114,101,101,101,105,103,104,116,104,115,0,0,0,0,116,104,114,101,101,105,110,102,101,114,105,111,114,0,0,0,116,104,114,101,101,111,108,100,115,116,121,108,101,0,0,0,116,104,114,101,101,113,117,97,114,116,101,114,115,0,0,0,116,104,114,101,101,113,117,97,114,116,101,114,115,101,109,100,97,115,104,0,0,0,0,0,116,104,114,101,101,115,117,112,101,114,105,111,114,0,0,0,116,105,108,100,101,0,0,0,116,105,108,100,101,99,111,109,98,0,0,0,0,0,0,0,116,111,110,111,115,0,0,0,116,114,97,100,101,109,97,114,107,0,0,0,0,0,0,0,116,114,97,100,101,109,97,114,107,115,97,110,115,0,0,0,116,114,97,100,101,109,97,114,107,115,101,114,105,102,0,0,116,114,105,97,103,100,110,0,116,114,105,97,103,108,102,0,116,114,105,97,103,114,116,0,116,114,105,97,103,117,112,0,116,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,116,119,111,0,0,0,0,0,116,119,111,100,111,116,101,110,108,101,97,100,101,114,0,0,116,119,111,105,110,102,101,114,105,111,114,0,0,0,0,0,116,119,111,111,108,100,115,116,121,108,101,0,0,0,0,0,116,119,111,115,117,112,101,114,105,111,114,0,0,0,0,0,116,119,111,116,104,105,114,100,115,0,0,0,0,0,0,0,117,0,0,0,0,0,0,0,117,97,99,117,116,101,0,0,117,98,114,101,118,101,0,0,117,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,117,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,117,103,114,97,118,101,0,0,117,104,111,114,110,0,0,0,117,104,117,110,103,97,114,117,109,108,97,117,116,0,0,0,117,109,97,99,114,111,110,0,117,110,100,101,114,115,99,111,114,101,0,0,0,0,0,0,117,110,100,101,114,115,99,111,114,101,100,98,108,0,0,0,117,110,105,111,110,0,0,0,117,110,105,118,101,114,115,97,108,0,0,0,0,0,0,0,117,111,103,111,110,101,107,0,117,112,98,108,111,99,107,0,117,112,115,105,108,111,110,0,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115,0,117,112,115,105,108,111,110,100,105,101,114,101,115,105,115,116,111,110,111,115,0,0,0,0,117,112,115,105,108,111,110,116,111,110,111,115,0,0,0,0,117,114,105,110,103,0,0,0,117,116,105,108,100,101,0,0,118,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,119,97,99,117,116,101,0,0,119,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,119,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,119,101,105,101,114,115,116,114,97,115,115,0,0,0,0,0,119,103,114,97,118,101,0,0,120,0,0,0,0,0,0,0,120,105,0,0,0,0,0,0,121,0,0,0,0,0,0,0,121,97,99,117,116,101,0,0,121,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,121,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,121,101,110,0,0,0,0,0,121,103,114,97,118,101,0,0,122,0,0,0,0,0,0,0,122,97,99,117,116,101,0,0,122,99,97,114,111,110,0,0,122,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,122,101,114,111,0,0,0,0,122,101,114,111,105,110,102,101,114,105,111,114,0,0,0,0,122,101,114,111,111,108,100,115,116,121,108,101,0,0,0,0,122,101,114,111,115,117,112,101,114,105,111,114,0,0,0,0,122,101,116,97,0,0,0,0,123,0,0,0,0,0,0,0,124,0,0,0,0,0,0,0,125,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,8,127,0,0,16,127,0,0,24,127,0,0,32,127,0,0,40,127,0,0,104,126,0,0,48,127,0,0,56,127,0,0,72,127,0,0,80,127,0,0,88,127,0,0,96,127,0,0,104,127,0,0,112,127,0,0,0,0,0,0,0,0,0,0,116,114,117,101,0,0,0,0,102,97,108,115,101,0,0,0,37,100,0,0,0,0,0,0,37,103,0,0,0,0,0,0,47,37,115,0,0,0,0,0,110,117,108,108,0,0,0,0,60,60,0,0,0,0,0,0,32,47,37,115,32,0,0,0,32,62,62,0,0,0,0,0,60,115,116,114,101,97,109,62,0,0,0,0,0,0,0,0,37,100,32,37,100,32,82,0,60,101,114,114,111,114,62,0,60,69,79,70,62,0,0,0,60,110,111,110,101,62,0,0,37,117,0,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,98,111,111,108,101,97,110,0,105,110,116,101,103,101,114,0,114,101,97,108,0,0,0,0,115,116,114,105,110,103,0,0,110,97,109,101,0,0,0,0,97,114,114,97,121,0,0,0,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,115,116,114,101,97,109,0,0,114,101,102,0,0,0,0,0,99,109,100,0,0,0,0,0,101,114,114,111,114,0,0,0,101,111,102,0,0,0,0,0,110,111,110,101,0,0,0,0,114,98,0,0,0,0,0,0,67,111,117,108,100,110,39,116,32,111,112,101,110,32,102,105,108,101,32,39,37,115,39,58,32,37,115,46,0,0,0,0,68,111,99,117,109,101,110,116,32,98,97,115,101,32,115,116,114,101,97,109,32,105,115,32,110,111,116,32,115,101,101,107,97,98,108,101,0,0,0,0,67,111,117,108,100,110,39,116,32,114,101,97,100,32,120,114,101,102,32,116,97,98,108,101,0,0,0,0,0,0,0,0,67,111,117,108,100,110,39,116,32,114,101,97,100,32,112,97,103,101,32,99,97,116,97,108,111,103,0,0,0,0,0,0,37,80,68,70,45,0,0,0,77,97,121,32,110,111,116,32,98,101,32,97,32,80,68,70,32,102,105,108,101,32,40,99,111,110,116,105,110,117,105,110,103,32,97,110,121,119,97,121,41,0,0,0,0,0,0,0,32,9,10,13,0,0,0,0,37,100,46,37,100,0,0,0,69,110,99,114,121,112,116,0,101,110,100,111,98,106,0,0,115,116,97,114,116,120,114,101,102,0,0,0,0,0,0,0,70,97,105,108,101,100,32,116,111,32,103,101,116,32,111,98,106,101,99,116,32,110,117,109,32,102,114,111,109,32,104,105,110,116,32,116,97,98,108,101,115,32,102,111,114,32,112,97,103,101,32,37,100,0,0,0,73,110,118,97,108,105,100,32,111,98,106,101,99,116,32,110,117,109,32,40,37,100,41,32,102,111,114,32,112,97,103,101,32,37,100,0,0,0,0,0,79,98,106,101,99,116,32,40,37,100,32,37,100,41,32,105,115,32,110,111,116,32,97,32,112,97,103,101,68,105,99,116,0,0,0,0,0,0,0,0,70,97,105,108,101,100,32,112,97,114,115,105,110,103,32,112,97,103,101,32,37,100,32,117,115,105,110,103,32,104,105,110,116,32,116,97,98,108,101,115,0,0,0,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,67,97,110,110,111,116,32,104,97,110,100,108,101,32,85,82,73,32,39,37,115,39,46,0,80,97,103,101,0,0,0,0,77,101,100,105,97,66,111,120,0,0,0,0,0,0,0,0,67,114,111,112,66,111,120,0,66,108,101,101,100,66,111,120,0,0,0,0,0,0,0,0,84,114,105,109,66,111,120,0,65,114,116,66,111,120,0,0,82,111,116,97,116,101,0,0,76,97,115,116,77,111,100,105,102,105,101,100,0,0,0,0,66,111,120,67,111,108,111,114,73,110,102,111,0,0,0,0,71,114,111,117,112,0,0,0,77,101,116,97,100,97,116,97,0,0,0,0,0,0,0,0,80,105,101,99,101,73,110,102,111,0,0,0,0,0,0,0,83,101,112,97,114,97,116,105,111,110,73,110,102,111,0,0,82,101,115,111,117,114,99,101,115,0,0,0,0,0,0,0,84,114,97,110,115,0,0,0,80,97,103,101,32,116,114,97,110,115,105,116,105,111,110,32,111,98,106,101,99,116,32,40,112,97,103,101,32,37,100,41,32,105,115,32,119,114,111,110,103,32,116,121,112,101,32,40,37,115,41,0,0,0,0,0,68,117,114,0,0,0,0,0,80,97,103,101,32,100,117,114,97,116,105,111,110,32,111,98,106,101,99,116,32,40,112,97,103,101,32,37,100,41,32,105,115,32,119,114,111,110,103,32,116,121,112,101,32,40,37,115,41,0,0,0,0,0,0,0,65,110,110,111,116,115,0,0,80,97,103,101,32,97,110,110,111,116,97,116,105,111,110,115,32,111,98,106,101,99,116,32,40,112,97,103,101,32,37,100,41,32,105,115,32,119,114,111,110,103,32,116,121,112,101,32,40,37,115,41,0,0,0,0,67,111,110,116,101,110,116,115,0,0,0,0,0,0,0,0,80,97,103,101,32,99,111,110,116,101,110,116,115,32,111,98,106,101,99,116,32,40,112,97,103,101,32,37,100,41,32,105,115,32,119,114,111,110,103,32,116,121,112,101,32,40,37,115,41,0,0,0,0,0,0,0,84,104,117,109,98,0,0,0,80,97,103,101,32,116,104,117,109,98,32,111,98,106,101,99,116,32,40,112,97,103,101,32,37,100,41,32,105,115,32,119,114,111,110,103,32,116,121,112,101,32,40,37,115,41,0,0,65,65,0,0,0,0,0,0,80,97,103,101,32,97,100,100,105,116,105,111,110,97,108,32,97,99,116,105,111,110,32,111,98,106,101,99,116,32,40,112,97,103,101,32,37,100,41,32,105,115,32,119,114,111,110,103,32,116,121,112,101,32,40,37,115,41,0,0,0,0,0,0,42,42,42,42,42,32,77,101,100,105,97,66,111,120,32,61,32,108,108,58,37,103,44,37,103,32,117,114,58,37,103,44,37,103,10,0,0,0,0,0,42,42,42,42,42,32,67,114,111,112,66,111,120,32,61,32,108,108,58,37,103,44,37,103,32,117,114,58,37,103,44,37,103,10,0,0,0,0,0,0,42,42,42,42,42,32,82,111,116,97,116,101,32,61,32,37,100,10,0,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,42,42,42,42,42,32,65,110,110,111,116,97,116,105,111,110,115,0,0,0,0,0,0,0,70,105,108,116,101,114,0,0,83,116,97,110,100,97,114,100,0,0,0,0,0,0,0,0,67,111,117,108,100,110,39,116,32,102,105,110,100,32,116,104,101,32,39,37,115,39,32,115,101,99,117,114,105,116,121,32,104,97,110,100,108,101,114,0,77,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,39,70,105,108,116,101,114,39,32,101,110,116,114,121,32,105,110,32,101,110,99,114,121,112,116,105,111,110,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,73,110,99,111,114,114,101,99,116,32,112,97,115,115,119,111,114,100,0,0,0,0,0,0,0,0,0,0,120,134,0,0,3,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,86,0,0,0,0,0,0,0,82,0,0,0,0,0,0,0,76,101,110,103,116,104,0,0,79,0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,80,0,0,0,0,0,0,0,73,68,0,0,0,0,0,0,67,70,0,0,0,0,0,0,83,116,109,70,0,0,0,0,83,116,114,70,0,0,0,0,67,70,77,0,0,0,0,0,86,50,0,0,0,0,0,0,65,69,83,86,50,0,0,0,69,110,99,114,121,112,116,77,101,116,97,100,97,116,97,0,85,110,115,117,112,112,111,114,116,101,100,32,118,101,114,115,105,111,110,47,114,101,118,105,115,105,111,110,32,40,37,100,47,37,100,41,32,111,102,32,83,116,97,110,100,97,114,100,32,115,101,99,117,114,105,116,121,32,104,97,110,100,108,101,114,0,0,0,0,0,0,0,87,101,105,114,100,32,101,110,99,114,121,112,116,105,111,110,32,105,110,102,111,0,0,0,50,51,83,116,97,110,100,97,114,100,83,101,99,117,114,105,116,121,72,97,110,100,108,101,114,0,0,0,0,0,0,0,49,53,83,101,99,117,114,105,116,121,72,97,110,100,108,101,114,0,0,0,0,0,0,0,88,113,4,0,88,134,0,0,128,113,4,0,56,134,0,0,112,134,0,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,0,0,0,0,216,139,0,0,9,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,136,139,0,0,13,0,0,0,7,0,0,0,8,0,0,0,2,0,0,0,14,0,0,0,0,0,0,0,78,111,116,32,99,114,101,97,116,105,110,103,32,99,97,99,104,101,68,97,116,97,32,102,111,114,32,84,51,70,111,110,116,67,97,99,104,101,44,32,105,116,32,97,115,107,101,100,32,102,111,114,32,116,111,111,32,109,117,99,104,32,109,101,109,111,114,121,46,10,32,32,32,32,32,32,32,84,104,105,115,32,99,111,117,108,100,32,116,101,111,114,101,116,105,99,97,108,108,121,32,114,101,115,117,108,116,32,105,110,32,119,114,111,110,103,32,114,101,110,100,101,114,105,110,103,44,10,32,32,32,32,32,32,32,98,117,116,32,109,111,115,116,32,112,114,111,98,97,98,108,121,32,116,104,101,32,100,111,99,117,109,101,110,116,32,105,115,32,98,111,103,117,115,46,10,32,32,32,32,32,32,32,80,108,101,97,115,101,32,114,101,112,111,114,116,32,97,32,98,117,103,32,105,102,32,121,111,117,32,116,104,105,110,107,32,116,104,101,32,114,101,110,100,101,114,105,110,103,32,109,97,121,32,98,101,32,119,114,111,110,103,32,98,101,99,97,117,115,101,32,111,102,32,116,104,105,115,46,0,0,0,0,0,0,0,0,0,0,140,0,0,9,0,0,0,10,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,11,0,0,0,12,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,1,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,2,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,3,0,0,0,42,0,0,0,1,0,0,0,4,0,0,0,1,0,0,0,43,0,0,0,44,0,0,0,5,0,0,0,45,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,46,0,0,0,5,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,2,0,0,0,48,0,0,0,9,0,0,0,13,0,0,0,22,0,0,0,23,0,0,0,1,0,0,0,49,0,0,0,10,0,0,0,1,0,0,0,50,0,0,0,11,0,0,0,24,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,67,111,117,108,100,110,39,116,32,102,105,110,100,32,97,32,102,111,110,116,32,102,111,114,32,39,37,115,39,0,0,0,40,117,110,110,97,109,101,100,41,0,0,0,0,0,0,0,67,111,117,108,100,110,39,116,32,99,114,101,97,116,101,32,97,32,102,111,110,116,32,102,111,114,32,39,37,115,39,0,116,51,71,108,121,112,104,83,116,97,99,107,32,119,97,115,32,110,117,108,108,32,105,110,32,83,112,108,97,115,104,79,117,116,112,117,116,68,101,118,58,58,116,121,112,101,51,68,49,0,0,0,0,0,0,0,116,51,71,108,121,112,104,83,116,97,99,107,32,111,114,105,103,66,105,116,109,97,112,32,119,97,115,32,110,111,116,32,110,117,108,108,32,105,110,32,83,112,108,97,115,104,79,117,116,112,117,116,68,101,118,58,58,116,121,112,101,51,68,49,0,0,0,0,0,0,0,0,116,51,71,108,121,112,104,83,116,97,99,107,32,111,114,105,103,83,112,108,97,115,104,32,119,97,115,32,110,111,116,32,110,117,108,108,32,105,110,32,83,112,108,97,115,104,79,117,116,112,117,116,68,101,118,58,58,116,121,112,101,51,68,49,0,0,0,0,0,0,0,0,66,97,100,32,98,111,117,110,100,105,110,103,32,98,111,120,32,105,110,32,84,121,112,101,32,51,32,103,108,121,112,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,49,56,83,112,108,97,115,104,65,120,105,97,108,80,97,116,116,101,114,110,0,0,0,0,128,113,4,0,112,139,0,0,176,214,0,0,0,0,0,0,50,48,83,112,108,97,115,104,71,111,117,114,97,117,100,80,97,116,116,101,114,110,0,0,49,56,83,112,108,97,115,104,71,111,117,114,97,117,100,67,111,108,111,114,0,0,0,0,128,113,4,0,176,139,0,0,176,214,0,0,0,0,0,0,128,113,4,0,152,139,0,0,200,139,0,0,0,0,0,0,49,53,83,112,108,97,115,104,79,117,116,112,117,116,68,101,118,0,0,0,0,0,0,0,128,113,4,0,232,139,0,0,248,228,2,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,0,0,0,0,136,140,0,0,14,0,0,0,15,0,0,0,6,0,0,0,0,0,0,0,49,57,83,112,108,97,115,104,79,117,116,70,111,110,116,70,105,108,101,73,68,0,0,0,128,113,4,0,112,140,0,0,64,214,0,0,0,0,0,0,102,100,58,47,47,48,0,0,0,0,0,0,232,140,0,0,16,0,0,0,17,0,0,0,1,0,0,0,7,0,0,0,49,56,83,116,100,105,110,80,68,70,68,111,99,66,117,105,108,100,101,114,0,0,0,0,49,51,80,68,70,68,111,99,66,117,105,108,100,101,114,0,88,113,4,0,208,140,0,0,128,113,4,0,184,140,0,0,224,140,0,0,0,0,0,0,73,110,116,101,114,110,97,108,58,32,99,97,108,108,101,100,32,103,101,116,82,97,119,67,104,97,114,40,41,32,111,110,32,110,111,110,45,112,114,101,100,105,99,116,111,114,32,115,116,114,101,97,109,0,0,0,73,110,116,101,114,110,97,108,58,32,99,97,108,108,101,100,32,103,101,116,67,104,97,114,115,40,41,32,111,110,32,110,111,110,45,112,114,101,100,105,99,116,111,114,32,115,116,114,101,97,109,0,0,0,0,0,73,110,116,101,114,110,97,108,58,32,99,97,108,108,101,100,32,103,101,116,82,97,119,67,104,97,114,115,40,41,32,111,110,32,110,111,110,45,112,114,101,100,105,99,116,111,114,32,115,116,114,101,97,109,0,0,70,105,108,116,101,114,0,0,70,0,0,0,0,0,0,0,68,101,99,111,100,101,80,97,114,109,115,0,0,0,0,0,68,80,0,0,0,0,0,0,66,97,100,32,102,105,108,116,101,114,32,110,97,109,101,0,66,97,100,32,39,70,105,108,116,101,114,39,32,97,116,116,114,105,98,117,116,101,32,105,110,32,115,116,114,101,97,109,0,0,0,0,0,0,0,0,65,83,67,73,73,72,101,120,68,101,99,111,100,101,0,0,65,72,120,0,0,0,0,0,65,83,67,73,73,56,53,68,101,99,111,100,101,0,0,0,65,56,53,0,0,0,0,0,76,90,87,68,101,99,111,100,101,0,0,0,0,0,0,0,76,90,87,0,0,0,0,0,80,114,101,100,105,99,116,111,114,0,0,0,0,0,0,0,67,111,108,117,109,110,115,0,67,111,108,111,114,115,0,0,66,105,116,115,80,101,114,67,111,109,112,111,110,101,110,116,0,0,0,0,0,0,0,0,69,97,114,108,121,67,104,97,110,103,101,0,0,0,0,0,82,117,110,76,101,110,103,116,104,68,101,99,111,100,101,0,82,76,0,0,0,0,0,0,67,67,73,84,84,70,97,120,68,101,99,111,100,101,0,0,67,67,70,0,0,0,0,0,75,0,0,0,0,0,0,0,69,110,100,79,102,76,105,110,101,0,0,0,0,0,0,0,69,110,99,111,100,101,100,66,121,116,101,65,108,105,103,110,0,0,0,0,0,0,0,0,82,111,119,115,0,0,0,0,69,110,100,79,102,66,108,111,99,107,0,0,0,0,0,0,66,108,97,99,107,73,115,49,0,0,0,0,0,0,0,0,68,67,84,68,101,99,111,100,101,0,0,0,0,0,0,0,68,67,84,0,0,0,0,0,67,111,108,111,114,84,114,97,110,115,102,111,114,109,0,0,70,108,97,116,101,68,101,99,111,100,101,0,0,0,0,0,70,108,0,0,0,0,0,0,74,66,73,71,50,68,101,99,111,100,101,0,0,0,0,0,74,66,73,71,50,71,108,111,98,97,108,115,0,0,0,0,74,80,88,68,101,99,111,100,101,0,0,0,0,0,0,0,85,110,107,110,111,119,110,32,102,105,108,116,101,114,32,39,37,115,39,0,0,0,0,0,0,0,0,0,56,188,0,0,18,0,0,0,19,0,0,0,1,0,0,0,1,0,0,0,20,0,0,0,1,0,0,0,1,0,0,0,25,0,0,0,12,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,8,0,0,0,8,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,13,0,0,0,30,0,0,0,31,0,0,0,9,0,0,0,1,0,0,0,32,0,0,0,33,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,200,188,0,0,21,0,0,0,22,0,0,0,1,0,0,0,1,0,0,0,23,0,0,0,1,0,0,0,1,0,0,0,25,0,0,0,12,0,0,0,34,0,0,0,24,0,0,0,7,0,0,0,35,0,0,0,14,0,0,0,8,0,0,0,1,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,29,0,0,0,13,0,0,0,39,0,0,0,31,0,0,0,9,0,0,0,73,110,116,101,114,110,97,108,58,32,99,97,108,108,101,100,32,115,101,116,80,111,115,40,41,32,111,110,32,70,105,108,116,101,114,83,116,114,101,97,109,0,0,0,0,0,0,0,0,0,0,0,72,188,0,0,25,0,0,0,26,0,0,0,40,0,0,0,27,0,0,0,28,0,0,0,41,0,0,0,42,0,0,0,25,0,0,0,12,0,0,0,43,0,0,0,29,0,0,0,7,0,0,0,44,0,0,0,15,0,0,0,8,0,0,0,8,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,13,0,0,0,30,0,0,0,45,0,0,0,10,0,0,0,2,0,0,0,32,0,0,0,33,0,0,0,46,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,112,188,0,0,30,0,0,0,31,0,0,0,47,0,0,0,32,0,0,0,33,0,0,0,48,0,0,0,49,0,0,0,25,0,0,0,12,0,0,0,50,0,0,0,34,0,0,0,7,0,0,0,51,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,13,0,0,0,30,0,0,0,31,0,0,0,9,0,0,0,3,0,0,0,32,0,0,0,33,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,144,188,0,0,35,0,0,0,36,0,0,0,53,0,0,0,37,0,0,0,38,0,0,0,54,0,0,0,55,0,0,0,25,0,0,0,12,0,0,0,56,0,0,0,39,0,0,0,7,0,0,0,57,0,0,0,17,0,0,0,8,0,0,0,8,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,13,0,0,0,30,0,0,0,31,0,0,0,9,0,0,0,4,0,0,0,32,0,0,0,33,0,0,0,58,0,0,0,54,0,0,0,55,0,0,0,0,0,0,0,232,189,0,0,18,0,0,0,40,0,0,0,59,0,0,0,41,0,0,0,20,0,0,0,60,0,0,0,61,0,0,0,25,0,0,0,12,0,0,0,62,0,0,0,42,0,0,0,7,0,0,0,63,0,0,0,18,0,0,0,8,0,0,0,8,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,13,0,0,0,30,0,0,0,31,0,0,0,9,0,0,0,5,0,0,0,32,0,0,0,33,0,0,0,64,0,0,0,56,0,0,0,0,0,0,0,73,110,116,101,114,110,97,108,58,32,99,97,108,108,101,100,32,109,97,107,101,83,117,98,83,116,114,101,97,109,40,41,32,111,110,32,69,109,98,101,100,83,116,114,101,97,109,0,73,110,116,101,114,110,97,108,58,32,99,97,108,108,101,100,32,115,101,116,80,111,115,40,41,32,111,110,32,69,109,98,101,100,83,116,114,101,97,109,0,0,0,0,0,0,0,0,73,110,116,101,114,110,97,108,58,32,99,97,108,108,101,100,32,103,101,116,83,116,97,114,116,40,41,32,111,110,32,69,109,98,101,100,83,116,114,101,97,109,0,0,0,0,0,0,73,110,116,101,114,110,97,108,58,32,99,97,108,108,101,100,32,109,111,118,101,83,116,97,114,116,40,41,32,111,110,32,69,109,98,101,100,83,116,114,101,97,109,0,0,0,0,0,0,0,0,0,216,188,0,0,43,0,0,0,44,0,0,0,65,0,0,0,45,0,0,0,23,0,0,0,66,0,0,0,67,0,0,0,25,0,0,0,12,0,0,0,34,0,0,0,24,0,0,0,7,0,0,0,35,0,0,0,14,0,0,0,11,0,0,0,9,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,29,0,0,0,13,0,0,0,39,0,0,0,31,0,0,0,9,0,0,0,73,108,108,101,103,97,108,32,99,104,97,114,97,99,116,101,114,32,60,37,48,50,120,62,32,105,110,32,65,83,67,73,73,72,101,120,32,115,116,114,101,97,109,0,0,0,0,0,47,65,83,67,73,73,72,101,120,68,101,99,111,100,101,32,102,105,108,116,101,114,10,0,0,0,0,0,248,188,0,0,46,0,0,0,47,0,0,0,68,0,0,0,48,0,0,0,23,0,0,0,69,0,0,0,70,0,0,0,25,0,0,0,12,0,0,0,34,0,0,0,24,0,0,0,7,0,0,0,35,0,0,0,14,0,0,0,12,0,0,0,10,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,29,0,0,0,13,0,0,0,39,0,0,0,31,0,0,0,9,0,0,0,47,65,83,67,73,73,56,53,68,101,99,111,100,101,32,102,105,108,116,101,114,10,0,0,0,0,0,0,96,189,0,0,49,0,0,0,50,0,0,0,71,0,0,0,51,0,0,0,23,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,19,0,0,0,34,0,0,0,24,0,0,0,7,0,0,0,35,0,0,0,14,0,0,0,13,0,0,0,11,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,29,0,0,0,13,0,0,0,39,0,0,0,31,0,0,0,9,0,0,0,66,97,100,32,76,90,87,32,115,116,114,101,97,109,32,45,32,101,120,112,101,99,116,101,100,32,99,108,101,97,114,45,116,97,98,108,101,32,99,111,100,101,0,0,0,0,0,0,66,97,100,32,76,90,87,32,115,116,114,101,97,109,32,45,32,117,110,101,120,112,101,99,116,101,100,32,99,111,100,101,0,0,0,0,0,0,0,0,60,60,32,0,0,0,0,0,47,69,97,114,108,121,67,104,97,110,103,101,32,48,32,0,62,62,32,47,76,90,87,68,101,99,111,100,101,32,102,105,108,116,101,114,10,0,0,0,0,0,0,0,136,189,0,0,52,0,0,0,53,0,0,0,75,0,0,0,54,0,0,0,23,0,0,0,76,0,0,0,77,0,0,0,25,0,0,0,12,0,0,0,34,0,0,0,24,0,0,0,7,0,0,0,35,0,0,0,14,0,0,0,14,0,0,0,12,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,29,0,0,0,13,0,0,0,39,0,0,0,31,0,0,0,9,0,0,0,47,82,117,110,76,101,110,103,116,104,68,101,99,111,100,101,32,102,105,108,116,101,114,10,0,0,0,0,0,0,0,0,0,0,0,0,32,189,0,0,55,0,0,0,56,0,0,0,78,0,0,0,57,0,0,0,23,0,0,0,79,0,0,0,80,0,0,0,25,0,0,0,12,0,0,0,34,0,0,0,58,0,0,0,7,0,0,0,35,0,0,0,14,0,0,0,15,0,0,0,13,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,29,0,0,0,13,0,0,0,39,0,0,0,31,0,0,0,9,0,0,0,66,97,100,32,50,68,32,99,111,100,101,32,37,48,52,120,32,105,110,32,67,67,73,84,84,70,97,120,32,115,116,114,101,97,109,0,0,0,0,0,66,97,100,32,82,84,67,32,99,111,100,101,32,105,110,32,67,67,73,84,84,70,97,120,32,115,116,114,101,97,109,0,255,255,255,255,255,255,255,255,7,0,8,0,7,0,7,0,6,0,6,0,6,0,6,0,6,0,5,0,6,0,5,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,66,97,100,32,116,119,111,32,100,105,109,32,99,111,100,101,32,40,37,48,52,120,41,32,105,110,32,67,67,73,84,84,70,97,120,32,115,116,114,101,97,109,0,0,0,0,0,0,255,255,255,255,12,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,11,0,0,7,11,0,0,7,12,0,192,7,12,0,0,8,12,0,64,8,12,0,128,8,12,0,192,8,12,0,0,9,11,0,64,7,11,0,64,7,11,0,128,7,11,0,128,7,12,0,64,9,12,0,128,9,12,0,192,9,12,0,0,10,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,8,0,29,0,8,0,29,0,8,0,30,0,8,0,30,0,8,0,45,0,8,0,45,0,8,0,46,0,8,0,46,0,7,0,22,0,7,0,22,0,7,0,22,0,7,0,22,0,7,0,23,0,7,0,23,0,7,0,23,0,7,0,23,0,8,0,47,0,8,0,47,0,8,0,48,0,8,0,48,0,6,0,13,0,6,0,13,0,6,0,13,0,6,0,13,0,6,0,13,0,6,0,13,0,6,0,13,0,6,0,13,0,7,0,20,0,7,0,20,0,7,0,20,0,7,0,20,0,8,0,33,0,8,0,33,0,8,0,34,0,8,0,34,0,8,0,35,0,8,0,35,0,8,0,36,0,8,0,36,0,8,0,37,0,8,0,37,0,8,0,38,0,8,0,38,0,7,0,19,0,7,0,19,0,7,0,19,0,7,0,19,0,8,0,31,0,8,0,31,0,8,0,32,0,8,0,32,0,6,0,1,0,6,0,1,0,6,0,1,0,6,0,1,0,6,0,1,0,6,0,1,0,6,0,1,0,6,0,1,0,6,0,12,0,6,0,12,0,6,0,12,0,6,0,12,0,6,0,12,0,6,0,12,0,6,0,12,0,6,0,12,0,8,0,53,0,8,0,53,0,8,0,54,0,8,0,54,0,7,0,26,0,7,0,26,0,7,0,26,0,7,0,26,0,8,0,39,0,8,0,39,0,8,0,40,0,8,0,40,0,8,0,41,0,8,0,41,0,8,0,42,0,8,0,42,0,8,0,43,0,8,0,43,0,8,0,44,0,8,0,44,0,7,0,21,0,7,0,21,0,7,0,21,0,7,0,21,0,7,0,28,0,7,0,28,0,7,0,28,0,7,0,28,0,8,0,61,0,8,0,61,0,8,0,62,0,8,0,62,0,8,0,63,0,8,0,63,0,8,0,0,0,8,0,0,0,8,0,64,1,8,0,64,1,8,0,128,1,8,0,128,1,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,7,0,27,0,7,0,27,0,7,0,27,0,7,0,27,0,8,0,59,0,8,0,59,0,8,0,60,0,8,0,60,0,9,0,192,5,9,0,0,6,9,0,64,6,9,0,192,6,7,0,18,0,7,0,18,0,7,0,18,0,7,0,18,0,7,0,24,0,7,0,24,0,7,0,24,0,7,0,24,0,8,0,49,0,8,0,49,0,8,0,50,0,8,0,50,0,8,0,51,0,8,0,51,0,8,0,52,0,8,0,52,0,7,0,25,0,7,0,25,0,7,0,25,0,7,0,25,0,8,0,55,0,8,0,55,0,8,0,56,0,8,0,56,0,8,0,57,0,8,0,57,0,8,0,58,0,8,0,58,0,6,0,192,0,6,0,192,0,6,0,192,0,6,0,192,0,6,0,192,0,6,0,192,0,6,0,192,0,6,0,192,0,6,0,128,6,6,0,128,6,6,0,128,6,6,0,128,6,6,0,128,6,6,0,128,6,6,0,128,6,6,0,128,6,8,0,192,1,8,0,192,1,8,0,0,2,8,0,0,2,9,0,192,2,9,0,0,3,8,0,128,2,8,0,128,2,8,0,64,2,8,0,64,2,9,0,64,3,9,0,128,3,9,0,192,3,9,0,0,4,9,0,64,4,9,0,128,4,9,0,192,4,9,0,0,5,9,0,64,5,9,0,128,5,7,0,0,1,7,0,0,1,7,0,0,1,7,0,0,1,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,6,0,16,0,6,0,16,0,6,0,16,0,6,0,16,0,6,0,16,0,6,0,16,0,6,0,16,0,6,0,16,0,6,0,17,0,6,0,17,0,6,0,17,0,6,0,17,0,6,0,17,0,6,0,17,0,6,0,17,0,6,0,17,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,6,0,14,0,6,0,14], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+30720);
/* memory initializer */ allocate([6,0,14,0,6,0,14,0,6,0,14,0,6,0,14,0,6,0,14,0,6,0,14,0,6,0,15,0,6,0,15,0,6,0,15,0,6,0,15,0,6,0,15,0,6,0,15,0,6,0,15,0,6,0,15,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,66,97,100,32,119,104,105,116,101,32,99,111,100,101,32,40,37,48,52,120,41,32,105,110,32,67,67,73,84,84,70,97,120,32,115,116,114,101,97,109,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,12,0,254,255,12,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,11,0,0,7,11,0,0,7,11,0,0,7,11,0,0,7,12,0,192,7,12,0,192,7,12,0,0,8,12,0,0,8,12,0,64,8,12,0,64,8,12,0,128,8,12,0,128,8,12,0,192,8,12,0,192,8,12,0,0,9,12,0,0,9,11,0,64,7,11,0,64,7,11,0,64,7,11,0,64,7,11,0,128,7,11,0,128,7,11,0,128,7,11,0,128,7,12,0,64,9,12,0,64,9,12,0,128,9,12,0,128,9,12,0,192,9,12,0,192,9,12,0,0,10,12,0,0,10,10,0,18,0,10,0,18,0,10,0,18,0,10,0,18,0,10,0,18,0,10,0,18,0,10,0,18,0,10,0,18,0,12,0,52,0,12,0,52,0,13,0,128,2,13,0,192,2,13,0,0,3,13,0,64,3,12,0,55,0,12,0,55,0,12,0,56,0,12,0,56,0,13,0,0,5,13,0,64,5,13,0,128,5,13,0,192,5,12,0,59,0,12,0,59,0,12,0,60,0,12,0,60,0,13,0,0,6,13,0,64,6,11,0,24,0,11,0,24,0,11,0,24,0,11,0,24,0,11,0,25,0,11,0,25,0,11,0,25,0,11,0,25,0,13,0,128,6,13,0,192,6,12,0,64,1,12,0,64,1,12,0,128,1,12,0,128,1,12,0,192,1,12,0,192,1,13,0,0,2,13,0,64,2,12,0,53,0,12,0,53,0,12,0,54,0,12,0,54,0,13,0,128,3,13,0,192,3,13,0,0,4,13,0,64,4,13,0,128,4,13,0,192,4,10,0,64,0,10,0,64,0,10,0,64,0,10,0,64,0,10,0,64,0,10,0,64,0,10,0,64,0,10,0,64,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,11,0,23,0,11,0,23,0,12,0,50,0,12,0,51,0,12,0,44,0,12,0,45,0,12,0,46,0,12,0,47,0,12,0,57,0,12,0,58,0,12,0,61,0,12,0,0,1,10,0,16,0,10,0,16,0,10,0,16,0,10,0,16,0,10,0,17,0,10,0,17,0,10,0,17,0,10,0,17,0,12,0,48,0,12,0,49,0,12,0,62,0,12,0,63,0,12,0,30,0,12,0,31,0,12,0,32,0,12,0,33,0,12,0,40,0,12,0,41,0,11,0,22,0,11,0,22,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,9,0,15,0,9,0,15,0,9,0,15,0,9,0,15,0,9,0,15,0,9,0,15,0,9,0,15,0,9,0,15,0,12,0,128,0,12,0,192,0,12,0,26,0,12,0,27,0,12,0,28,0,12,0,29,0,11,0,19,0,11,0,19,0,11,0,20,0,11,0,20,0,12,0,34,0,12,0,35,0,12,0,36,0,12,0,37,0,12,0,38,0,12,0,39,0,11,0,21,0,11,0,21,0,12,0,42,0,12,0,43,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,6,0,9,0,6,0,8,0,5,0,7,0,5,0,7,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,66,97,100,32,98,108,97,99,107,32,99,111,100,101,32,40,37,48,52,120,41,32,105,110,32,67,67,73,84,84,70,97,120,32,115,116,114,101,97,109,0,0,0,0,0,0,0,0,47,75,32,37,100,32,0,0,47,69,110,100,79,102,76,105,110,101,32,116,114,117,101,32,0,0,0,0,0,0,0,0,47,69,110,99,111,100,101,100,66,121,116,101,65,108,105,103,110,32,116,114,117,101,32,0,47,67,111,108,117,109,110,115,32,37,100,32,0,0,0,0,47,82,111,119,115,32,37,100,32,0,0,0,0,0,0,0,47,69,110,100,79,102,66,108,111,99,107,32,102,97,108,115,101,32,0,0,0,0,0,0,47,66,108,97,99,107,73,115,49,32,116,114,117,101,32,0,62,62,32,47,67,67,73,84,84,70,97,120,68,101,99,111,100,101,32,102,105,108,116,101,114,10,0,0,0,0,0,0,0,0,0,0,168,189,0,0,59,0,0,0,60,0,0,0,81,0,0,0,61,0,0,0,62,0,0,0,82,0,0,0,83,0,0,0,25,0,0,0,12,0,0,0,34,0,0,0,63,0,0,0,7,0,0,0,35,0,0,0,14,0,0,0,16,0,0,0,14,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,29,0,0,0,13,0,0,0,39,0,0,0,31,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,105,109,97,103,101,32,115,105,122,101,32,105,110,32,68,67,84,32,115,116,114,101,97,109,0,0,0,0,0,0,0,0,66,97,100,32,68,67,84,32,100,97,116,97,58,32,105,110,99,111,114,114,101,99,116,32,114,101,115,116,97,114,116,32,109,97,114,107,101,114,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,32,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,4,0,0,0,5,0,0,0,12,0,0,0,19,0,0,0,26,0,0,0,33,0,0,0,40,0,0,0,48,0,0,0,41,0,0,0,34,0,0,0,27,0,0,0,20,0,0,0,13,0,0,0,6,0,0,0,7,0,0,0,14,0,0,0,21,0,0,0,28,0,0,0,35,0,0,0,42,0,0,0,49,0,0,0,56,0,0,0,57,0,0,0,50,0,0,0,43,0,0,0,36,0,0,0,29,0,0,0,22,0,0,0,15,0,0,0,23,0,0,0,30,0,0,0,37,0,0,0,44,0,0,0,51,0,0,0,58,0,0,0,59,0,0,0,52,0,0,0,45,0,0,0,38,0,0,0,31,0,0,0,39,0,0,0,46,0,0,0,53,0,0,0,60,0,0,0,61,0,0,0,54,0,0,0,47,0,0,0,55,0,0,0,62,0,0,0,63,0,0,0,66,97,100,32,72,117,102,102,109,97,110,32,99,111,100,101,32,105,110,32,68,67,84,32,115,116,114,101,97,109,0,0,66,97,100,32,68,67,84,32,100,97,116,97,58,32,109,105,115,115,105,110,103,32,48,48,32,97,102,116,101,114,32,102,102,0,0,0,0,0,0,0,66,97,100,32,68,67,84,32,104,101,97,100,101,114,0,0,85,110,107,110,111,119,110,32,68,67,84,32,109,97,114,107,101,114,32,60,37,48,50,120,62,0,0,0,0,0,0,0,66,97,100,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,105,110,32,68,67,84,32,115,116,114,101,97,109,0,0,66,97,100,32,68,67,84,32,112,114,101,99,105,115,105,111,110,32,37,100,0,0,0,0,66,97,100,32,68,67,84,32,115,99,97,110,32,105,110,102,111,32,98,108,111,99,107,0,66,97,100,32,68,67,84,32,99,111,109,112,111,110,101,110,116,32,73,68,32,105,110,32,115,99,97,110,32,105,110,102,111,32,98,108,111,99,107,0,66,97,100,32,68,67,84,32,99,111,101,102,102,105,99,105,101,110,116,32,110,117,109,98,101,114,115,32,105,110,32,115,99,97,110,32,105,110,102,111,32,98,108,111,99,107,0,0,66,97,100,32,68,67,84,32,113,117,97,110,116,105,122,97,116,105,111,110,32,116,97,98,108,101,0,0,0,0,0,0,66,97,100,32,68,67,84,32,72,117,102,102,109,97,110,32,116,97,98,108,101,0,0,0,66,97,100,32,68,67,84,32,114,101,115,116,97,114,116,32,105,110,116,101,114,118,97,108,0,0,0,0,0,0,0,0,66,97,100,32,68,67,84,32,65,80,80,48,32,109,97,114,107,101,114,0,0,0,0,0,74,70,73,70,0,0,0,0,65,100,111,98,101,0,0,0,66,97,100,32,68,67,84,32,65,100,111,98,101,32,65,80,80,49,52,32,109,97,114,107,101,114,0,0,0,0,0,0,66,97,100,32,68,67,84,32,116,114,97,105,108,101,114,0,60,60,32,62,62,32,47,68,67,84,68,101,99,111,100,101,32,102,105,108,116,101,114,10,0,0,0,0,0,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,13,0,0,0,1,0,0,0,15,0,0,0,1,0,0,0,17,0,0,0,2,0,0,0,19,0,0,0,2,0,0,0,23,0,0,0,2,0,0,0,27,0,0,0,2,0,0,0,31,0,0,0,3,0,0,0,35,0,0,0,3,0,0,0,43,0,0,0,3,0,0,0,51,0,0,0,3,0,0,0,59,0,0,0,4,0,0,0,67,0,0,0,4,0,0,0,83,0,0,0,4,0,0,0,99,0,0,0,4,0,0,0,115,0,0,0,5,0,0,0,131,0,0,0,5,0,0,0,163,0,0,0,5,0,0,0,195,0,0,0,5,0,0,0,227,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,7,0,0,0,2,0,0,0,9,0,0,0,2,0,0,0,13,0,0,0,3,0,0,0,17,0,0,0,3,0,0,0,25,0,0,0,4,0,0,0,33,0,0,0,4,0,0,0,49,0,0,0,5,0,0,0,65,0,0,0,5,0,0,0,97,0,0,0,6,0,0,0,129,0,0,0,6,0,0,0,193,0,0,0,7,0,0,0,1,1,0,0,7,0,0,0,129,1,0,0,8,0,0,0,1,2,0,0,8,0,0,0,1,3,0,0,9,0,0,0,1,4,0,0,9,0,0,0,1,6,0,0,10,0,0,0,1,8,0,0,10,0,0,0,1,12,0,0,11,0,0,0,1,16,0,0,11,0,0,0,1,24,0,0,12,0,0,0,1,32,0,0,12,0,0,0,1,48,0,0,13,0,0,0,1,64,0,0,13,0,0,0,1,96,0,0,7,0,0,1,8,0,80,0,8,0,16,0,8,0,24,1,7,0,16,1,8,0,112,0,8,0,48,0,9,0,192,0,7,0,8,1,8,0,96,0,8,0,32,0,9,0,160,0,8,0,0,0,8,0,128,0,8,0,64,0,9,0,224,0,7,0,4,1,8,0,88,0,8,0,24,0,9,0,144,0,7,0,20,1,8,0,120,0,8,0,56,0,9,0,208,0,7,0,12,1,8,0,104,0,8,0,40,0,9,0,176,0,8,0,8,0,8,0,136,0,8,0,72,0,9,0,240,0,7,0,2,1,8,0,84,0,8,0,20,0,8,0,28,1,7,0,18,1,8,0,116,0,8,0,52,0,9,0,200,0,7,0,10,1,8,0,100,0,8,0,36,0,9,0,168,0,8,0,4,0,8,0,132,0,8,0,68,0,9,0,232,0,7,0,6,1,8,0,92,0,8,0,28,0,9,0,152,0,7,0,22,1,8,0,124,0,8,0,60,0,9,0,216,0,7,0,14,1,8,0,108,0,8,0,44,0,9,0,184,0,8,0,12,0,8,0,140,0,8,0,76,0,9,0,248,0,7,0,1,1,8,0,82,0,8,0,18,0,8,0,26,1,7,0,17,1,8,0,114,0,8,0,50,0,9,0,196,0,7,0,9,1,8,0,98,0,8,0,34,0,9,0,164,0,8,0,2,0,8,0,130,0,8,0,66,0,9,0,228,0,7,0,5,1,8,0,90,0,8,0,26,0,9,0,148,0,7,0,21,1,8,0,122,0,8,0,58,0,9,0,212,0,7,0,13,1,8,0,106,0,8,0,42,0,9,0,180,0,8,0,10,0,8,0,138,0,8,0,74,0,9,0,244,0,7,0,3,1,8,0,86,0,8,0,22,0,8,0,30,1,7,0,19,1,8,0,118,0,8,0,54,0,9,0,204,0,7,0,11,1,8,0,102,0,8,0,38,0,9,0,172,0,8,0,6,0,8,0,134,0,8,0,70,0,9,0,236,0,7,0,7,1,8,0,94,0,8,0,30,0,9,0,156,0,7,0,23,1,8,0,126,0,8,0,62,0,9,0,220,0,7,0,15,1,8,0,110,0,8,0,46,0,9,0,188,0,8,0,14,0,8,0,142,0,8,0,78,0,9,0,252,0,7,0,0,1,8,0,81,0,8,0,17,0,8,0,25,1,7,0,16,1,8,0,113,0,8,0,49,0,9,0,194,0,7,0,8,1,8,0,97,0,8,0,33,0,9,0,162,0,8,0,1,0,8,0,129,0,8,0,65,0,9,0,226,0,7,0,4,1,8,0,89,0,8,0,25,0,9,0,146,0,7,0,20,1,8,0,121,0,8,0,57,0,9,0,210,0,7,0,12,1,8,0,105,0,8,0,41,0,9,0,178,0,8,0,9,0,8,0,137,0,8,0,73,0,9,0,242,0,7,0,2,1,8,0,85,0,8,0,21,0,8,0,29,1,7,0,18,1,8,0,117,0,8,0,53,0,9,0,202,0,7,0,10,1,8,0,101,0,8,0,37,0,9,0,170,0,8,0,5,0,8,0,133,0,8,0,69,0,9,0,234,0,7,0,6,1,8,0,93,0,8,0,29,0,9,0,154,0,7,0,22,1,8,0,125,0,8,0,61,0,9,0,218,0,7,0,14,1,8,0,109,0,8,0,45,0,9,0,186,0,8,0,13,0,8,0,141,0,8,0,77,0,9,0,250,0,7,0,1,1,8,0,83,0,8,0,19,0,8,0,27,1,7,0,17,1,8,0,115,0,8,0,51,0,9,0,198,0,7,0,9,1,8,0,99,0,8,0,35,0,9,0,166,0,8,0,3,0,8,0,131,0,8,0,67,0,9,0,230,0,7,0,5,1,8,0,91,0,8,0,27,0,9,0,150,0,7,0,21,1,8,0,123,0,8,0,59,0,9,0,214,0,7,0,13,1,8,0,107,0,8,0,43,0,9,0,182,0,8,0,11,0,8,0,139,0,8,0,75,0,9,0,246,0,7,0,3,1,8,0,87,0,8,0,23,0,8,0,31,1,7,0,19,1,8,0,119,0,8,0,55,0,9,0,206,0,7,0,11,1,8,0,103,0,8,0,39,0,9,0,174,0,8,0,7,0,8,0,135,0,8,0,71,0,9,0,238,0,7,0,7,1,8,0,95,0,8,0,31,0,9,0,158,0,7,0,23,1,8,0,127,0,8,0,63,0,9,0,222,0,7,0,15,1,8,0,111,0,8,0,47,0,9,0,190,0,8,0,15,0,8,0,143,0,8,0,79,0,9,0,254,0,7,0,0,1,8,0,80,0,8,0,16,0,8,0,24,1,7,0,16,1,8,0,112,0,8,0,48,0,9,0,193,0,7,0,8,1,8,0,96,0,8,0,32,0,9,0,161,0,8,0,0,0,8,0,128,0,8,0,64,0,9,0,225,0,7,0,4,1,8,0,88,0,8,0,24,0,9,0,145,0,7,0,20,1,8,0,120,0,8,0,56,0,9,0,209,0,7,0,12,1,8,0,104,0,8,0,40,0,9,0,177,0,8,0,8,0,8,0,136,0,8,0,72,0,9,0,241,0,7,0,2,1,8,0,84,0,8,0,20,0,8,0,28,1,7,0,18,1,8,0,116,0,8,0,52,0,9,0,201,0,7,0,10,1,8,0,100,0,8,0,36,0,9,0,169,0,8,0,4,0,8,0,132,0,8,0,68,0,9,0,233,0,7,0,6,1,8,0,92,0,8,0,28,0,9,0,153,0,7,0,22,1,8,0,124,0,8,0,60,0,9,0,217,0,7,0,14,1,8,0,108,0,8,0,44,0,9,0,185,0,8,0,12,0,8,0,140,0,8,0,76,0,9,0,249,0,7,0,1,1,8,0,82,0,8,0,18,0,8,0,26,1,7,0,17,1,8,0,114,0,8,0,50,0,9,0,197,0,7,0,9,1,8,0,98,0,8,0,34,0,9,0,165,0,8,0,2,0,8,0,130,0,8,0,66,0,9,0,229,0,7,0,5,1,8,0,90,0,8,0,26,0,9,0,149,0,7,0,21,1,8,0,122,0,8,0,58,0,9,0,213,0,7,0,13,1,8,0,106,0,8,0,42,0,9,0,181,0,8,0,10,0,8,0,138,0,8,0,74,0,9,0,245,0,7,0,3,1,8,0,86,0,8,0,22,0,8,0,30,1,7,0,19,1,8,0,118,0,8,0,54,0,9,0,205,0,7,0,11,1,8,0,102,0,8,0,38,0,9,0,173,0,8,0,6,0,8,0,134,0,8,0,70,0,9,0,237,0,7,0,7,1,8,0,94,0,8,0,30,0,9,0,157,0,7,0,23,1,8,0,126,0,8,0,62,0,9,0,221,0,7,0,15,1,8,0,110,0,8,0,46,0,9,0,189,0,8,0,14,0,8,0,142,0,8,0,78,0,9,0,253,0,7,0,0,1,8,0,81,0,8,0,17,0,8,0,25,1,7,0,16,1,8,0,113,0,8,0,49,0,9,0,195,0,7,0,8,1,8,0,97,0,8,0,33,0,9,0,163,0,8,0,1,0,8,0,129,0,8,0,65,0,9,0,227,0,7,0,4,1,8,0,89,0,8,0,25,0,9,0,147,0,7,0,20,1,8,0,121,0,8,0,57,0,9,0,211,0,7,0,12,1,8,0,105,0,8,0,41,0,9,0,179,0,8,0,9,0,8,0,137,0,8,0,73,0,9,0,243,0,7,0,2,1,8,0,85,0,8,0,21,0,8,0,29,1,7,0,18,1,8,0,117,0,8,0,53,0,9,0,203,0,7,0,10,1,8,0,101,0,8,0,37,0,9,0,171,0,8,0,5,0,8,0,133,0,8,0,69,0,9,0,235,0,7,0,6,1,8,0,93,0,8,0,29,0,9,0,155,0,7,0,22,1,8,0,125,0,8,0,61,0,9,0,219,0,7,0,14,1,8,0,109,0,8,0,45,0,9,0,187,0,8,0,13,0,8,0,141,0,8,0,77,0,9,0,251,0,7,0,1,1,8,0,83,0,8,0,19,0,8,0,27,1,7,0,17,1,8,0,115,0,8,0,51,0,9,0,199,0,7,0,9,1,8,0,99,0,8,0,35,0,9,0,167,0,8,0,3,0,8,0,131,0,8,0,67,0,9,0,231,0,7,0,5,1,8,0,91,0,8,0,27,0,9,0,151,0,7,0,21,1,8,0,123,0,8,0,59,0,9,0,215,0,7,0,13,1,8,0,107,0,8,0,43,0,9,0,183,0,8,0,11,0,8,0,139,0,8,0,75,0,9,0,247,0,7,0,3,1,8,0,87,0,8,0,23,0,8,0,31,1,7,0,19,1,8,0,119,0,8,0,55,0,9,0,207,0,7,0,11,1,8,0,103,0,8,0,39,0,9,0,175,0,8,0,7,0,8,0,135,0,8,0,71,0,9,0,239,0,7,0,7,1,8,0,95,0,8,0,31,0,9,0,159,0,7,0,23,1,8,0,127,0,8,0,63,0,9,0,223,0,7,0,15,1,8,0,111,0,8,0,47,0,9,0,191,0,8,0,15,0,8,0,143,0,8,0,79,0,9,0,255,0,112,177,0,0,9,0,0,0,5,0,0,0,5,0,16,0,5,0,8,0,5,0,24,0,5,0,4,0,5,0,20,0,5,0,12,0,5,0,28,0,5,0,2,0,5,0,18,0,5,0,10,0,5,0,26,0,5,0,6,0,5,0,22,0,5,0,14,0,0,0,0,0,5,0,1,0,5,0,17,0,5,0,9,0,5,0,25,0,5,0,5,0,5,0,21,0,5,0,13,0,5,0,29,0,5,0,3,0,5,0,19,0,5,0,11,0,5,0,27,0,5,0,7,0,5,0,23,0,5,0,15,0,0,0,0,0,120,185,0,0,5,0,0,0,0,0,0,0,200,189,0,0,64,0,0,0,65,0,0,0,84,0,0,0,66,0,0,0,23,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,20,0,0,0,34,0,0,0,67,0,0,0,7,0,0,0,35,0,0,0,14,0,0,0,17,0,0,0,15,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,29,0,0,0,13,0,0,0,39,0,0,0,88,0,0,0,18,0,0,0,85,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,109,101,116,104,111,100,32,105,110,32,102,108,97,116,101,32,115,116,114,101,97,109,0,0,0,0,0,0,66,97,100,32,70,67,72,69,67,75,32,105,110,32,102,108,97,116,101,32,115,116,114,101,97,109,0,0,0,0,0,0,70,68,73,67,84,32,98,105,116,32,115,101,116,32,105,110,32,102,108,97,116,101,32,115,116,114,101,97,109,0,0,0,60,60,32,62,62,32,47,70,108,97,116,101,68,101,99,111,100,101,32,102,105,108,116,101,114,10,0,0,0,0,0,0,85,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,102,105,108,101,32,105,110,32,102,108,97,116,101,32,115,116,114,101,97,109,0,0,66,97,100,32,117,110,99,111,109,112,114,101,115,115,101,100,32,98,108,111,99,107,32,108,101,110,103,116,104,32,105,110,32,102,108,97,116,101,32,115,116,114,101,97,109,0,0,0,66,97,100,32,98,108,111,99,107,32,104,101,97,100,101,114,32,105,110,32,102,108,97,116,101,32,115,116,114,101,97,109,0,0,0,0,0,0,0,0,66,97,100,32,100,121,110,97,109,105,99,32,99,111,100,101,32,116,97,98,108,101,32,105,110,32,102,108,97,116,101,32,115,116,114,101,97,109,0,0,0,0,0,0,64,189,0,0,68,0,0,0,69,0,0,0,89,0,0,0,70,0,0,0,23,0,0,0,90,0,0,0,91,0,0,0,25,0,0,0,12,0,0,0,34,0,0,0,24,0,0,0,7,0,0,0,35,0,0,0,14,0,0,0,19,0,0,0,16,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,29,0,0,0,13,0,0,0,39,0,0,0,31,0,0,0,9,0,0,0,54,83,116,114,101,97,109,0,88,113,4,0,8,188,0,0,49,48,70,105,108,101,83,116,114,101,97,109,0,0,0,0,49,48,66,97,115,101,83,116,114,101,97,109,0,0,0,0,128,113,4,0,40,188,0,0,16,188,0,0,0,0,0,0,128,113,4,0,24,188,0,0,56,188,0,0,0,0,0,0,49,54,67,97,99,104,101,100,70,105,108,101,83,116,114,101,97,109,0,0,0,0,0,0,128,113,4,0,88,188,0,0,56,188,0,0,0,0,0,0,57,77,101,109,83,116,114,101,97,109,0,0,0,0,0,0,128,113,4,0,128,188,0,0,56,188,0,0,0,0,0,0,49,52,65,83,67,73,73,72,101,120,83,116,114,101,97,109,0,0,0,0,0,0,0,0,49,50,70,105,108,116,101,114,83,116,114,101,97,109,0,0,128,113,4,0,184,188,0,0,16,188,0,0,0,0,0,0,128,113,4,0,160,188,0,0,200,188,0,0,0,0,0,0,49,51,65,83,67,73,73,56,53,83,116,114,101,97,109,0,128,113,4,0,232,188,0,0,200,188,0,0,0,0,0,0,49,52,67,67,73,84,84,70,97,120,83,116,114,101,97,109,0,0,0,0,0,0,0,0,128,113,4,0,8,189,0,0,200,188,0,0,0,0,0,0,57,69,79,70,83,116,114,101,97,109,0,0,0,0,0,0,128,113,4,0,48,189,0,0,200,188,0,0,0,0,0,0,57,76,90,87,83,116,114,101,97,109,0,0,0,0,0,0,128,113,4,0,80,189,0,0,200,188,0,0,0,0,0,0,49,53,82,117,110,76,101,110,103,116,104,83,116,114,101,97,109,0,0,0,0,0,0,0,128,113,4,0,112,189,0,0,200,188,0,0,0,0,0,0,57,68,67,84,83,116,114,101,97,109,0,0,0,0,0,0,128,113,4,0,152,189,0,0,200,188,0,0,0,0,0,0,49,49,70,108,97,116,101,83,116,114,101,97,109,0,0,0,128,113,4,0,184,189,0,0,200,188,0,0,0,0,0,0,49,49,69,109,98,101,100,83,116,114,101,97,109,0,0,0,128,113,4,0,216,189,0,0,56,188,0,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,67,67,73,84,84,70,97,120,32,114,111,119,32,105,115,32,119,114,111,110,103,32,108,101,110,103,116,104,32,40,37,100,41,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,67,67,73,84,84,70,97,120,32,99,111,100,101,0,0,0,78,0,0,0,0,0,0,0,70,105,114,115,116,0,0,0,84,111,111,32,109,97,110,121,32,111,98,106,101,99,116,115,32,105,110,32,97,110,32,111,98,106,101,99,116,32,115,116,114,101,97,109,0,0,0,0,83,105,122,101,0,0,0,0,78,111,32,118,97,108,105,100,32,88,82,101,102,32,115,105,122,101,32,105,110,32,116,114,97,105,108,101,114,0,0,0,82,111,111,116,0,0,0,0,120,114,101,102,0,0,0,0,111,98,106,0,0,0,0,0,116,114,97,105,108,101,114,0,73,110,118,97,108,105,100,32,39,111,98,106,39,32,112,97,114,97,109,101,116,101,114,115,39,0,0,0,0,0,0,0,110,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,80,114,101,118,0,0,0,0,88,82,101,102,83,116,109,0,73,110,118,97,108,105,100,32,39,115,105,122,101,39,32,112,97,114,97,109,101,116,101,114,0,0,0,0,0,0,0,0,87,0,0,0,0,0,0,0,73,110,100,101,120,0,0,0,73,110,118,97,108,105,100,32,39,115,105,122,101,39,32,105,110,115,105,100,101,32,120,114,101,102,32,116,97,98,108,101,0,0,0,0,0,0,0,0,80,68,70,32,102,105,108,101,32,105,115,32,100,97,109,97,103,101,100,32,45,32,97,116,116,101,109,112,116,105,110,103,32,116,111,32,114,101,99,111,110,115,116,114,117,99,116,32,120,114,101,102,32,116,97,98,108,101,46,46,46,0,0,0,101,110,100,111,98,106,0,0,66,97,100,32,111,98,106,101,99,116,32,110,117,109,98,101,114,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,39,111,98,106,39,32,112,97,114,97,109,101,116,101,114,115,0,0,0,0,0,0,0,0,101,110,100,115,116,114,101,97,109,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,39,101,110,100,115,116,114,101,97,109,39,32,112,97,114,97,109,101,116,101,114,46,0,0,67,111,117,108,100,110,39,116,32,102,105,110,100,32,116,114,97,105,108,101,114,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,0,0,67,109,100,32,119,97,115,32,110,111,116,32,111,98,106,32,98,117,116,32,37,115,44,32,97,115,115,117,109,105,110,103,32,116,104,101,32,99,114,101,97,116,111,114,32,109,101,97,110,116,32,111,98,106,32,37,100,0,0,0,0,0,0,0,88,82,101,102,58,58,115,101,116,77,111,100,105,102,105,101,100,79,98,106,101,99,116,32,111,110,32,117,110,107,110,111,119,110,32,114,101,102,58,32,37,105,44,32,37,105,10,0,70,97,105,108,101,100,32,116,111,32,112,97,114,115,101,32,88,82,101,102,32,101,110,116,114,121,32,91,37,100,93,46,0,0,0,0,0,0,0,0,67,105,114,99,117,108,97,114,32,88,82,101,102,0,0,0,73,110,118,97,108,105,100,32,88,82,101,102,32,101,110,116,114,121,0,0,0,0,0,0,33,34,118,101,99,116,111,114,32,108,101,110,103,116,104,95,101,114,114,111,114,34,0,0,47,109,101,100,105,97,47,100,54,57,100,100,57,98,50,45,52,55,57,49,45,52,98,56,101,45,97,101,98,51,45,102,54,51,53,51,98,52,53,100,55,49,48,47,104,111,109,101,47,97,108,111,110,47,68,101,118,47,101,109,115,99,114,105,112,116,101,110,47,115,121,115,116,101,109,47,105,110,99,108,117,100,101,47,108,105,98,99,120,120,47,118,101,99,116,111,114,0,0,0,0,0,0,0,95,95,116,104,114,111,119,95,108,101,110,103,116,104,95,101,114,114,111,114,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,0,0,0,0,56,194,0,0,71,0,0,0,72,0,0,0,49,54,79,98,106,101,99,116,83,116,114,101,97,109,73,116,101,109,0,0,0,0,0,0,128,113,4,0,32,194,0,0,120,235,2,0,0,0,0,0,0,0,0,0,120,194,0,0,73,0,0,0,74,0,0,0,17,0,0,0,0,0,0,0,49,53,79,98,106,101,99,116,83,116,114,101,97,109,75,101,121,0,0,0,0,0,0,0,128,113,4,0,96,194,0,0,88,235,2,0,0,0,0,0,0,0,0,0,8,199,0,0,75,0,0,0,76,0,0,0,46,110,111,116,100,101,102,0,70,111,117,110,100,32,97,32,98,97,100,32,116,97,98,108,101,32,100,101,102,105,110,105,116,105,111,110,32,111,110,32,116,114,117,101,32,116,121,112,101,32,100,101,102,105,110,105,116,105,111,110,44,32,116,114,121,105,110,103,32,116,111,32,99,111,110,116,105,110,117,101,46,46,46,0,0,0,0,0,152,194,0,0,24,199,0,0,32,199,0,0,40,199,0,0,48,199,0,0,56,199,0,0,72,199,0,0,88,199,0,0,96,199,0,0,104,199,0,0,120,199,0,0,136,199,0,0,152,199,0,0,168,199,0,0,184,199,0,0,192,199,0,0,200,199,0,0,208,199,0,0,216,199,0,0,224,199,0,0,232,199,0,0,240,199,0,0,248,199,0,0,0,200,0,0,8,200,0,0,16,200,0,0,24,200,0,0,32,200,0,0,40,200,0,0,48,200,0,0,56,200,0,0,72,200,0,0,80,200,0,0,88,200,0,0,96,200,0,0,112,200,0,0,120,200,0,0,128,200,0,0,136,200,0,0,144,200,0,0,152,200,0,0,160,200,0,0,168,200,0,0,176,200,0,0,184,200,0,0,192,200,0,0,200,200,0,0,208,200,0,0,216,200,0,0,224,200,0,0,232,200,0,0,240,200,0,0,248,200,0,0,0,201,0,0,8,201,0,0,16,201,0,0,24,201,0,0,32,201,0,0,40,201,0,0,48,201,0,0,56,201,0,0,64,201,0,0,72,201,0,0,88,201,0,0,104,201,0,0,120,201,0,0,136,201,0,0,152,201,0,0,160,201,0,0,168,201,0,0,176,201,0,0,184,201,0,0,192,201,0,0,200,201,0,0,208,201,0,0,216,201,0,0,224,201,0,0,232,201,0,0,240,201,0,0,248,201,0,0,0,202,0,0,8,202,0,0,16,202,0,0,24,202,0,0,32,202,0,0,40,202,0,0,48,202,0,0,56,202,0,0,64,202,0,0,72,202,0,0,80,202,0,0,88,202,0,0,96,202,0,0,104,202,0,0,112,202,0,0,128,202,0,0,136,202,0,0,152,202,0,0,168,202,0,0,184,202,0,0,192,202,0,0,208,202,0,0,216,202,0,0,224,202,0,0,240,202,0,0,0,203,0,0,8,203,0,0,16,203,0,0,32,203,0,0,48,203,0,0,56,203,0,0,64,203,0,0,80,203,0,0,88,203,0,0,96,203,0,0,112,203,0,0,128,203,0,0,136,203,0,0,144,203,0,0,160,203,0,0,176,203,0,0,184,203,0,0,192,203,0,0,200,203,0,0,216,203,0,0,232,203,0,0,240,203,0,0,248,203,0,0,0,204,0,0,16,204,0,0,32,204,0,0,40,204,0,0,48,204,0,0,56,204,0,0,72,204,0,0,80,204,0,0,88,204,0,0,104,204,0,0,120,204,0,0,136,204,0,0,152,204,0,0,168,204,0,0,176,204,0,0,192,204,0,0,208,204,0,0,216,204,0,0,224,204,0,0,240,204,0,0,0,205,0,0,16,205,0,0,32,205,0,0,40,205,0,0,48,205,0,0,64,205,0,0,80,205,0,0,88,205,0,0,96,205,0,0,112,205,0,0,128,205,0,0,144,205,0,0,152,205,0,0,160,205,0,0,168,205,0,0,184,205,0,0,200,205,0,0,216,205,0,0,224,205,0,0,232,205,0,0,248,205,0,0,8,206,0,0,24,206,0,0,40,206,0,0,56,206,0,0,64,206,0,0,72,206,0,0,80,206,0,0,88,206,0,0,96,206,0,0,104,206,0,0,112,206,0,0,120,206,0,0,136,206,0,0,152,206,0,0,168,206,0,0,184,206,0,0,192,206,0,0,200,206,0,0,216,206,0,0,232,206,0,0,248,206,0,0,8,207,0,0,24,207,0,0,40,207,0,0,48,207,0,0,56,207,0,0,72,207,0,0,88,207,0,0,104,207,0,0,120,207,0,0,136,207,0,0,152,207,0,0,168,207,0,0,176,207,0,0,192,207,0,0,200,207,0,0,208,207,0,0,224,207,0,0,240,207,0,0,248,207,0,0,0,208,0,0,16,208,0,0,32,208,0,0,40,208,0,0,48,208,0,0,64,208,0,0,72,208,0,0,88,208,0,0,104,208,0,0,112,208,0,0,128,208,0,0,136,208,0,0,152,208,0,0,160,208,0,0,168,208,0,0,184,208,0,0,192,208,0,0,200,208,0,0,208,208,0,0,216,208,0,0,224,208,0,0,232,208,0,0,240,208,0,0,248,208,0,0,8,209,0,0,16,209,0,0,24,209,0,0,32,209,0,0,40,209,0,0,48,209,0,0,56,209,0,0,64,209,0,0,80,209,0,0,96,209,0,0,112,209,0,0,128,209,0,0,136,209,0,0,152,209,0,0,168,209,0,0,176,209,0,0,184,209,0,0,192,209,0,0,200,209,0,0,216,209,0,0,232,209,0,0,240,209,0,0,248,209,0,0,0,210,0,0,8,210,0,0,49,50,70,111,70,105,84,114,117,101,84,121,112,101,0,0,128,113,4,0,248,198,0,0,224,238,2,0,0,0,0,0,110,117,108,108,0,0,0,0,67,82,0,0,0,0,0,0,115,112,97,99,101,0,0,0,101,120,99,108,97,109,0,0,113,117,111,116,101,100,98,108,0,0,0,0,0,0,0,0,110,117,109,98,101,114,115,105,103,110,0,0,0,0,0,0,100,111,108,108,97,114,0,0,112,101,114,99,101,110,116,0,97,109,112,101,114,115,97,110,100,0,0,0,0,0,0,0,113,117,111,116,101,115,105,110,103,108,101,0,0,0,0,0,112,97,114,101,110,108,101,102,116,0,0,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,0,0,0,0,0,0,97,115,116,101,114,105,115,107,0,0,0,0,0,0,0,0,112,108,117,115,0,0,0,0,99,111,109,109,97,0,0,0,104,121,112,104,101,110,0,0,112,101,114,105,111,100,0,0,115,108,97,115,104,0,0,0,122,101,114,111,0,0,0,0,111,110,101,0,0,0,0,0,116,119,111,0,0,0,0,0,116,104,114,101,101,0,0,0,102,111,117,114], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+40960);
/* memory initializer */ allocate([102,105,118,101,0,0,0,0,115,105,120,0,0,0,0,0,115,101,118,101,110,0,0,0,101,105,103,104,116,0,0,0,110,105,110,101,0,0,0,0,99,111,108,111,110,0,0,0,115,101,109,105,99,111,108,111,110,0,0,0,0,0,0,0,108,101,115,115,0,0,0,0,101,113,117,97,108,0,0,0,103,114,101,97,116,101,114,0,113,117,101,115,116,105,111,110,0,0,0,0,0,0,0,0,97,116,0,0,0,0,0,0,65,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,68,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,74,0,0,0,0,0,0,0,75,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,79,0,0,0,0,0,0,0,80,0,0,0,0,0,0,0,81,0,0,0,0,0,0,0,82,0,0,0,0,0,0,0,83,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,86,0,0,0,0,0,0,0,87,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,89,0,0,0,0,0,0,0,90,0,0,0,0,0,0,0,98,114,97,99,107,101,116,108,101,102,116,0,0,0,0,0,98,97,99,107,115,108,97,115,104,0,0,0,0,0,0,0,98,114,97,99,107,101,116,114,105,103,104,116,0,0,0,0,97,115,99,105,105,99,105,114,99,117,109,0,0,0,0,0,117,110,100,101,114,115,99,111,114,101,0,0,0,0,0,0,103,114,97,118,101,0,0,0,97,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,104,0,0,0,0,0,0,0,105,0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,107,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,110,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,112,0,0,0,0,0,0,0,113,0,0,0,0,0,0,0,114,0,0,0,0,0,0,0,115,0,0,0,0,0,0,0,116,0,0,0,0,0,0,0,117,0,0,0,0,0,0,0,118,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,120,0,0,0,0,0,0,0,121,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,98,114,97,99,101,108,101,102,116,0,0,0,0,0,0,0,98,97,114,0,0,0,0,0,98,114,97,99,101,114,105,103,104,116,0,0,0,0,0,0,97,115,99,105,105,116,105,108,100,101,0,0,0,0,0,0,65,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,65,114,105,110,103,0,0,0,67,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,69,97,99,117,116,101,0,0,78,116,105,108,100,101,0,0,79,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,85,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,97,97,99,117,116,101,0,0,97,103,114,97,118,101,0,0,97,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,97,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,97,116,105,108,100,101,0,0,97,114,105,110,103,0,0,0,99,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,101,97,99,117,116,101,0,0,101,103,114,97,118,101,0,0,101,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,101,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,105,97,99,117,116,101,0,0,105,103,114,97,118,101,0,0,105,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,105,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,110,116,105,108,100,101,0,0,111,97,99,117,116,101,0,0,111,103,114,97,118,101,0,0,111,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,111,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,111,116,105,108,100,101,0,0,117,97,99,117,116,101,0,0,117,103,114,97,118,101,0,0,117,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,117,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,100,97,103,103,101,114,0,0,100,101,103,114,101,101,0,0,99,101,110,116,0,0,0,0,115,116,101,114,108,105,110,103,0,0,0,0,0,0,0,0,115,101,99,116,105,111,110,0,98,117,108,108,101,116,0,0,112,97,114,97,103,114,97,112,104,0,0,0,0,0,0,0,103,101,114,109,97,110,100,98,108,115,0,0,0,0,0,0,114,101,103,105,115,116,101,114,101,100,0,0,0,0,0,0,99,111,112,121,114,105,103,104,116,0,0,0,0,0,0,0,116,114,97,100,101,109,97,114,107,0,0,0,0,0,0,0,97,99,117,116,101,0,0,0,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,0,110,111,116,101,113,117,97,108,0,0,0,0,0,0,0,0,65,69,0,0,0,0,0,0,79,115,108,97,115,104,0,0,105,110,102,105,110,105,116,121,0,0,0,0,0,0,0,0,112,108,117,115,109,105,110,117,115,0,0,0,0,0,0,0,108,101,115,115,101,113,117,97,108,0,0,0,0,0,0,0,103,114,101,97,116,101,114,101,113,117,97,108,0,0,0,0,121,101,110,0,0,0,0,0,109,117,49,0,0,0,0,0,112,97,114,116,105,97,108,100,105,102,102,0,0,0,0,0,115,117,109,109,97,116,105,111,110,0,0,0,0,0,0,0,112,114,111,100,117,99,116,0,112,105,0,0,0,0,0,0,105,110,116,101,103,114,97,108,0,0,0,0,0,0,0,0,111,114,100,102,101,109,105,110,105,110,101,0,0,0,0,0,111,114,100,109,97,115,99,117,108,105,110,101,0,0,0,0,79,104,109,0,0,0,0,0,97,101,0,0,0,0,0,0,111,115,108,97,115,104,0,0,113,117,101,115,116,105,111,110,100,111,119,110,0,0,0,0,101,120,99,108,97,109,100,111,119,110,0,0,0,0,0,0,108,111,103,105,99,97,108,110,111,116,0,0,0,0,0,0,114,97,100,105,99,97,108,0,102,108,111,114,105,110,0,0,97,112,112,114,111,120,101,113,117,97,108,0,0,0,0,0,105,110,99,114,101,109,101,110,116,0,0,0,0,0,0,0,103,117,105,108,108,101,109,111,116,108,101,102,116,0,0,0,103,117,105,108,108,101,109,111,116,114,105,103,104,116,0,0,101,108,108,105,112,115,105,115,0,0,0,0,0,0,0,0,110,98,115,112,97,99,101,0,65,103,114,97,118,101,0,0,65,116,105,108,100,101,0,0,79,116,105,108,100,101,0,0,79,69,0,0,0,0,0,0,111,101,0,0,0,0,0,0,101,110,100,97,115,104,0,0,101,109,100,97,115,104,0,0,113,117,111,116,101,100,98,108,108,101,102,116,0,0,0,0,113,117,111,116,101,100,98,108,114,105,103,104,116,0,0,0,113,117,111,116,101,108,101,102,116,0,0,0,0,0,0,0,113,117,111,116,101,114,105,103,104,116,0,0,0,0,0,0,100,105,118,105,100,101,0,0,108,111,122,101,110,103,101,0,121,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,89,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,102,114,97,99,116,105,111,110,0,0,0,0,0,0,0,0,99,117,114,114,101,110,99,121,0,0,0,0,0,0,0,0,103,117,105,108,115,105,110,103,108,108,101,102,116,0,0,0,103,117,105,108,115,105,110,103,108,114,105,103,104,116,0,0,102,105,0,0,0,0,0,0,102,108,0,0,0,0,0,0,100,97,103,103,101,114,100,98,108,0,0,0,0,0,0,0,112,101,114,105,111,100,99,101,110,116,101,114,101,100,0,0,113,117,111,116,101,115,105,110,103,108,98,97,115,101,0,0,113,117,111,116,101,100,98,108,98,97,115,101,0,0,0,0,112,101,114,116,104,111,117,115,97,110,100,0,0,0,0,0,65,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,69,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,65,97,99,117,116,101,0,0,69,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,69,103,114,97,118,101,0,0,73,97,99,117,116,101,0,0,73,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,73,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,73,103,114,97,118,101,0,0,79,97,99,117,116,101,0,0,79,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,97,112,112,108,101,108,111,103,111,0,0,0,0,0,0,0,79,103,114,97,118,101,0,0,85,97,99,117,116,101,0,0,85,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,85,103,114,97,118,101,0,0,100,111,116,108,101,115,115,105,0,0,0,0,0,0,0,0,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,0,116,105,108,100,101,0,0,0,111,118,101,114,115,99,111,114,101,0,0,0,0,0,0,0,98,114,101,118,101,0,0,0,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,0,114,105,110,103,0,0,0,0,99,101,100,105,108,108,97,0,104,117,110,103,97,114,117,109,108,97,117,116,0,0,0,0,111,103,111,110,101,107,0,0,99,97,114,111,110,0,0,0,76,115,108,97,115,104,0,0,108,115,108,97,115,104,0,0,83,99,97,114,111,110,0,0,115,99,97,114,111,110,0,0,90,99,97,114,111,110,0,0,122,99,97,114,111,110,0,0,98,114,111,107,101,110,98,97,114,0,0,0,0,0,0,0,69,116,104,0,0,0,0,0,101,116,104,0,0,0,0,0,89,97,99,117,116,101,0,0,121,97,99,117,116,101,0,0,84,104,111,114,110,0,0,0,116,104,111,114,110,0,0,0,109,105,110,117,115,0,0,0,109,117,108,116,105,112,108,121,0,0,0,0,0,0,0,0,111,110,101,115,117,112,101,114,105,111,114,0,0,0,0,0,116,119,111,115,117,112,101,114,105,111,114,0,0,0,0,0,116,104,114,101,101,115,117,112,101,114,105,111,114,0,0,0,111,110,101,104,97,108,102,0,111,110,101,113,117,97,114,116,101,114,0,0,0,0,0,0,116,104,114,101,101,113,117,97,114,116,101,114,115,0,0,0,102,114,97,110,99,0,0,0,71,98,114,101,118,101,0,0,103,98,114,101,118,101,0,0,73,100,111,116,0,0,0,0,83,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,115,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,67,97,99,117,116,101,0,0,99,97,99,117,116,101,0,0,67,99,97,114,111,110,0,0,99,99,97,114,111,110,0,0,100,109,97,99,114,111,110,0,0,0,0,0,64,210,0,0,77,0,0,0,78,0,0,0,48,49,50,51,52,53,54,55,56,57,46,101,101,32,45,0,49,48,70,111,70,105,84,121,112,101,49,67,0,0,0,0,128,113,4,0,48,210,0,0,224,238,2,0,0,0,0,0,72,79,77,69,0,0,0,0,85,83,69,82,0,0,0,0,46,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,115,116,114,111,107,101,32,91,100,97,115,104,58,37,100,93,32,91,119,105,100,116,104,58,37,46,50,102,93,58,10,0,102,105,108,108,32,91,101,111,58,37,100,93,58,10,0,0,102,105,108,108,67,104,97,114,58,32,120,61,37,46,50,102,32,121,61,37,46,50,102,32,99,61,37,51,100,61,48,120,37,48,50,120,61,39,37,99,39,10,0,0,0,0,0,0,102,105,108,108,73,109,97,103,101,77,97,115,107,58,32,119,61,37,100,32,104,61,37,100,32,109,97,116,61,91,37,46,50,102,32,37,46,50,102,32,37,46,50,102,32,37,46,50,102,32,37,46,50,102,32,37,46,50,102,93,10,0,0,0,100,114,97,119,73,109,97,103,101,58,32,115,114,99,77,111,100,101,61,37,100,32,115,114,99,65,108,112,104,97,61,37,100,32,119,61,37,100,32,104,61,37,100,32,109,97,116,61,91,37,46,50,102,32,37,46,50,102,32,37,46,50,102,32,37,46,50,102,32,37,46,50,102,32,37,46,50,102,93,10,0,0,0,0,0,0,0,0,98,105,116,109,97,112,45,62,97,108,112,104,97,32,105,115,32,78,85,76,76,32,105,110,32,83,112,108,97,115,104,58,58,99,111,109,112,111,115,105,116,101,66,97,99,107,103,114,111,117,110,100,0,0,0,0,121,91,48,93,32,60,61,32,121,91,49,93,0,0,0,0,83,112,108,97,115,104,46,99,99,0,0,0,0,0,0,0,103,111,117,114,97,117,100,84,114,105,97,110,103,108,101,83,104,97,100,101,100,70,105,108,108,0,0,0,0,0,0,0,121,91,49,93,32,60,61,32,121,91,50,93,0,0,0,0,121,91,115,99,97,110,69,100,103,101,76,91,48,93,93,32,60,32,121,91,115,99,97,110,69,100,103,101,76,91,49,93,93,0,0,0,0,0,0,0,121,91,115,99,97,110,69,100,103,101,82,91,48,93,93,32,60,32,121,91,115,99,97,110,69,100,103,101,82,91,49,93,93,0,0,0,0,0,0,0,115,99,97,110,76,105,109,105,116,76,32,60,61,32,115,99,97,110,76,105,109,105,116,82,32,124,124,32,97,98,115,40,115,99,97,110,76,105,109,105,116,76,32,45,32,115,99,97,110,76,105,109,105,116,82,41,32,60,61,32,50,0,0,0,102,97,98,115,40,99,111,108,111,114,105,110,116,101,114,112,32,45,32,40,115,99,97,110,67,111,108,111,114,77,97,112,91,48,93,32,42,32,88,32,43,32,115,99,97,110,67,111,108,111,114,77,97,112,91,49,93,41,41,32,60,32,49,101,45,49,48,0,0,0,0,0,32,32,37,51,100,58,32,120,61,37,56,46,50,102,32,121,61,37,56,46,50,102,37,115,37,115,37,115,37,115,10,0,32,102,105,114,115,116,0,0,0,0,0,0,0,0,0,0,32,108,97,115,116,0,0,0,32,99,108,111,115,101,100,0,32,99,117,114,118,101,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,8,214,0,0,79,0,0,0,80,0,0,0,1,0,0,0,0,0,0,0,49,52,83,112,108,97,115,104,70,111,110,116,70,105,108,101,0,0,0,0,0,0,0,0,88,113,4,0,240,213,0,0,0,0,0,0,64,214,0,0,81,0,0,0,82,0,0,0,1,0,0,0,0,0,0,0,49,54,83,112,108,97,115,104,70,111,110,116,70,105,108,101,73,68,0,0,0,0,0,0,88,113,4,0,40,214,0,0,0,0,0,0,176,214,0,0,1,0,0,0,83,0,0,0,84,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,184,214,0,0,92,0,0,0,83,0,0,0,85,0,0,0,3,0,0,0,93,0,0,0,0,0,0,0,49,54,83,112,108,97,115,104,83,111,108,105,100,67,111,108,111,114,0,0,0,0,0,0,49,51,83,112,108,97,115,104,80,97,116,116,101,114,110,0,88,113,4,0,160,214,0,0,128,113,4,0,136,214,0,0,176,214,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,1,0,0,0,1,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,83,113,117,97,114,101,0,0,67,105,114,99,108,101,0,0,68,105,97,109,111,110,100,0,79,112,101,110,65,114,114,111,119,0,0,0,0,0,0,0,67,108,111,115,101,100,65,114,114,111,119,0,0,0,0,0,66,117,116,116,0,0,0,0,82,79,112,101,110,65,114,114,111,119,0,0,0,0,0,0,82,67,108,111,115,101,100,65,114,114,111,119,0,0,0,0,83,108,97,115,104,0,0,0,83,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,66,97,100,32,65,110,110,111,116,32,80,97,116,104,0,0,0,0,0,0,208,26,1,0,86,0,0,0,87,0,0,0,0,0,0,0,240,26,1,0,88,0,0,0,89,0,0,0,73,110,118,97,108,105,100,32,81,117,97,100,80,111,105,110,116,32,105,110,32,97,110,110,111,116,0,0,0,0,0,0,0,0,0,0,80,24,1,0,90,0,0,0,91,0,0,0,94,0,0,0,1,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,24,27,1,0,92,0,0,0,93,0,0,0,94,0,0,0,1,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,56,27,1,0,94,0,0,0,95,0,0,0,94,0,0,0,1,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,0,0,0,0,87,0,0,0,0,0,0,0,68,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,83,87,0,0,0,0,0,0,78,0,0,0,0,0,0,0,65,0,0,0,0,0,0,0,70,66,0,0,0,0,0,0,82,0,0,0,0,0,0,0,66,67,0,0,0,0,0,0,66,71,0,0,0,0,0,0,67,65,0,0,0,0,0,0,82,67,0,0,0,0,0,0,65,67,0,0,0,0,0,0,73,70,0,0,0,0,0,0,84,80,0,0,0,0,0,0,0,0,0,0,96,24,1,0,96,0,0,0,97,0,0,0,21,0,0,0,0,0,0,0,82,101,99,116,0,0,0,0,66,97,100,32,98,111,117,110,100,105,110,103,32,98,111,120,32,102,111,114,32,97,110,110,111,116,97,116,105,111,110,0,67,111,110,116,101,110,116,115,0,0,0,0,0,0,0,0,80,0,0,0,0,0,0,0,78,77,0,0,0,0,0,0,77,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0,65,80,0,0,0,0,0,0,65,83,0,0,0,0,0,0,79,102,102,0,0,0,0,0,66,83,0,0,0,0,0,0,66,111,114,100,101,114,0,0,83,116,114,117,99,116,80,97,114,101,110,116,0,0,0,0,79,67,0,0,0,0,0,0,65,110,110,111,116,97,116,105,111,110,32,79,67,32,118,97,108,117,101,32,110,111,116,32,110,117,108,108,32,111,114,32,100,105,99,116,58,32,37,105,0,0,0,0,0,0,0,0,123,48,58,46,50,102,125,32,123,49,58,46,50,102,125,32,123,50,58,46,50,102,125,32,123,51,58,46,50,102,125,32,123,52,58,99,125,10,0,0,123,48,58,46,50,102,125,32,123,49,58,46,50,102,125,32,123,50,58,46,50,102,125,32,123,51,58,115,125,10,0,0,114,103,0,0,0,0,0,0,82,71,0,0,0,0,0,0,123,48,58,46,50,102,125,32,123,49,58,99,125,10,0,0,123,48,58,46,50,102,125,32,123,49,58,46,50,102,125,32,109,10,0,0,0,0,0,0,123,48,58,46,50,102,125,32,123,49,58,46,50,102,125,32,123,50,58,46,50,102,125,32,123,51,58,46,50,102,125,32,123,52,58,46,50,102,125,32,123,53,58,46,50,102,125,32,99,10,0,0,0,0,0,0,102,10,0,0,0,0,0,0,115,10,0,0,0,0,0,0,83,10,0,0,0,0,0,0,76,101,110,103,116,104,0,0,83,117,98,116,121,112,101,0,70,111,114,109,0,0,0,0,66,66,111,120,0,0,0,0,84,114,97,110,115,112,97,114,101,110,99,121,0,0,0,0,71,114,111,117,112,0,0,0,82,101,115,111,117,114,99,101,115,0,0,0,0,0,0,0,99,97,0,0,0,0,0,0,66,77,0,0,0,0,0,0,69,120,116,71,83,116,97,116,101,0,0,0,0,0,0,0,88,79,98,106,101,99,116,0,0,0,0,0,120,24,1,0,98,0,0,0,99,0,0,0,21,0,0,0,0,0,0,0,80,111,112,117,112,0,0,0,80,97,114,101,110,116,0,0,79,112,101,110,0,0,0,0,0,0,0,0,152,24,1,0,100,0,0,0,101,0,0,0,21,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,67,114,101,97,116,105,111,110,68,97,116,101,0,0,0,0,73,82,84,0,0,0,0,0,83,117,98,106,0,0,0,0,82,84,0,0,0,0,0,0,69,120,68,97,116,97,0,0,0,0,0,0,184,24,1,0,102,0,0,0,103,0,0,0,22,0,0,0,0,0,0,0,84,101,120,116,0,0,0,0,78,97,109,101,0,0,0,0,78,111,116,101,0,0,0,0,83,116,97,116,101,77,111,100,101,108,0,0,0,0,0,0,83,116,97,116,101,0,0,0,77,97,114,107,101,100,0,0,85,110,109,97,114,107,101,100,0,0,0,0,0,0,0,0,65,99,99,101,112,116,101,100,0,0,0,0,0,0,0,0,82,101,106,101,99,116,101,100,0,0,0,0,0,0,0,0,67,97,110,99,101,108,108,101,100,0,0,0,0,0,0,0,67,111,109,112,108,101,116,101,100,0,0,0,0,0,0,0,78,111,110,101,0,0,0,0,82,101,118,105,101,119,0,0,113,10,0,0,0,0,0,0,49,32,49,32,49,32,114,103,10,0,0,0,0,0,0,0,51,46,54,48,50,32,50,52,32,109,32,50,48,46,51,57,56,32,50,52,32,108,32,50,50,46,51,56,55,32,50,52,32,50,52,32,50,50,46,51,56,55,32,50,52,32,50,48,46,51,57,56,32,99,32,50,52,32,51,46,54,48,50,32,108,32,50,52,10,49,46,54,49,51,32,50,50,46,51,56,55,32,48,32,50,48,46,51,57,56,32,48,32,99,32,51,46,54,48,50,32,48,32,108,32,49,46,54,49,51,32,48,32,48,32,49,46,54,49,51,32,48,32,51,46,54,48,50,32,99,32,48,32,50,48,46,51,57,56,10,108,32,48,32,50,50,46,51,56,55,32,49,46,54,49,51,32,50,52,32,51,46,54,48,50,32,50,52,32,99,32,104,10,51,46,54,48,50,32,50,52,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,50,32,119,10,49,32,74,10,49,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,57,32,49,56,32,109,32,52,32,49,56,32,108,32,52,32,55,32,52,32,52,32,54,32,51,32,99,32,50,48,32,51,32,108,32,49,56,32,52,32,49,56,32,55,32,49,56,32,49,56,32,99,32,49,55,32,49,56,32,108,32,83,10,49,46,53,32,119,10,48,32,106,10,49,48,32,49,54,32,109,32,49,52,32,50,49,32,108,32,83,10,49,46,56,53,54,50,53,32,119,10,49,32,106,10,49,53,46,48,55,32,50,48,46,53,50,51,32,109,32,49,53,46,48,55,32,49,57,46,54,55,50,32,49,52,46,51,55,57,32,49,56,46,57,55,55,32,49,51,46,53,50,51,32,49,56,46,57,55,55,32,99,32,49,50,46,54,55,50,32,49,56,46,57,55,55,10,49,49,46,57,55,55,32,49,57,46,54,55,50,32,49,49,46,57,55,55,32,50,48,46,53,50,51,32,99,32,49,49,46,57,55,55,32,50,49,46,51,55,57,32,49,50,46,54,55,50,32,50,50,46,48,55,32,49,51,46,53,50,51,32,50,50,46,48,55,32,99,10,49,52,46,51,55,57,32,50,50,46,48,55,32,49,53,46,48,55,32,50,49,46,51,55,57,32,49,53,46,48,55,32,50,48,46,53,50,51,32,99,32,104,10,49,53,46,48,55,32,50,48,46,53,50,51,32,109,32,83,10,49,32,119,10,48,32,106,10,54,46,53,32,49,51,46,53,32,109,32,49,53,46,53,32,49,51,46,53,32,108,32,83,10,54,46,53,32,49,48,46,53,32,109,32,49,51,46,53,32,49,48,46,53,32,108,32,83,10,54,46,56,48,49,32,55,46,53,32,109,32,49,53,46,53,32,55,46,53,32,108,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,50,32,119,10,49,32,106,10,57,32,49,57,32,109,32,52,32,49,57,32,108,32,52,32,56,32,52,32,53,32,54,32,52,32,99,32,50,48,32,52,32,108,32,49,56,32,53,32,49,56,32,56,32,49,56,32,49,57,32,99,32,49,55,32,49,57,32,108,32,83,10,49,46,53,32,119,10,48,32,106,10,49,48,32,49,55,32,109,32,49,52,32,50,50,32,108,32,83,10,49,46,56,53,54,50,53,32,119,10,49,32,106,10,49,53,46,48,55,32,50,49,46,53,50,51,32,109,32,49,53,46,48,55,32,50,48,46,54,55,50,32,49,52,46,51,55,57,32,49,57,46,57,55,55,32,49,51,46,53,50,51,32,49,57,46,57,55,55,32,99,32,49,50,46,54,55,50,32,49,57,46,57,55,55,10,49,49,46,57,55,55,32,50,48,46,54,55,50,32,49,49,46,57,55,55,32,50,49,46,53,50,51,32,99,32,49,49,46,57,55,55,32,50,50,46,51,55,57,32,49,50,46,54,55,50,32,50,51,46,48,55,32,49,51,46,53,50,51,32,50,51,46,48,55,32,99,10,49,52,46,51,55,57,32,50,51,46,48,55,32,49,53,46,48,55,32,50,50,46,51,55,57,32,49,53,46,48,55,32,50,49,46,53,50,51,32,99,32,104,10,49,53,46,48,55,32,50,49,46,53,50,51,32,109,32,83,10,49,32,119,10,48,32,106,10,54,46,53,32,49,52,46,53,32,109,32,49,53,46,53,32,49,52,46,53,32,108,32,83,10,54,46,53,32,49,49,46,53,32,109,32,49,51,46,53,32,49,49,46,53,32,108,32,83,10,54,46,56,48,49,32,56,46,53,32,109,32,49,53,46,53,32,56,46,53,32,108,32,83,10,0,67,111,109,109,101,110,116,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,50,32,119,10,48,32,74,10,49,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,56,32,50,48,32,109,32,49,54,32,50,48,32,108,32,49,56,46,51,54,51,32,50,48,32,50,48,32,49,56,46,50,49,53,32,50,48,32,49,54,32,99,32,50,48,32,49,51,32,108,32,50,48,32,49,48,46,55,56,53,32,49,56,46,51,54,51,32,57,10,49,54,32,57,32,99,32,49,51,32,57,32,108,32,56,32,51,32,108,32,56,32,57,32,108,32,56,32,57,32,108,32,53,46,54,51,55,32,57,32,52,32,49,48,46,55,56,53,32,52,32,49,51,32,99,32,52,32,49,54,32,108,32,52,32,49,56,46,50,49,53,10,53,46,54,51,55,32,50,48,32,56,32,50,48,32,99,32,104,10,56,32,50,48,32,109,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,56,32,50,49,32,109,32,49,54,32,50,49,32,108,32,49,56,46,51,54,51,32,50,49,32,50,48,32,49,57,46,50,49,53,32,50,48,32,49,55,10,99,32,50,48,32,49,52,32,108,32,50,48,32,49,49,46,55,56,53,32,49,56,46,51,54,51,32,49,48,10,49,54,32,49,48,32,99,32,49,51,32,49,48,32,108,32,56,32,52,32,108,32,56,32,49,48,32,108,32,56,32,49,48,32,108,32,53,46,54,51,55,32,49,48,32,52,32,49,49,46,55,56,53,32,52,32,49,52,32,99,32,52,32,49,55,32,108,32,52,10,49,57,46,50,49,53,32,53,46,54,51,55,32,50,49,32,56,32,50,49,32,99,32,104,10,56,32,50,49,32,109,32,83,10,0,75,101,121,0,0,0,0,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,50,32,119,10,49,32,74,10,48,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,49,49,46,56,57,53,32,49,56,46,55,53,52,32,109,32,49,51,46,57,50,54,32,50,48,46,54,50,53,32,49,55,46,48,57,32,50,48,46,52,57,54,32,49,56,46,57,54,49,32,49,56,46,52,54,53,32,99,32,50,48,46,56,51,50,10,49,54,46,52,51,52,32,50,48,46,54,57,57,32,49,51,46,50,55,32,49,56,46,54,54,56,32,49,49,46,51,57,56,32,99,32,49,55,46,49,54,52,32,49,48,46,48,49,54,32,49,53,46,48,52,51,32,57,46,55,52,54,32,49,51,46,50,56,49,10,49,48,46,53,49,54,32,99,32,49,50,46,52,55,51,32,57,46,51,50,52,32,108,32,49,49,46,50,56,49,32,49,48,46,48,55,56,32,108,32,57,46,53,52,55,32,56,46,54,54,52,32,108,32,57,46,48,48,56,32,54,46,52,57,54,32,108,10,55,46,48,53,57,32,54,46,48,53,57,32,108,32,54,46,51,52,32,52,46,49,50,49,32,108,32,53,46,53,52,51,32,51,46,54,54,56,32,108,32,51,46,51,55,53,32,52,46,50,48,55,32,108,32,50,46,57,51,56,32,54,46,49,53,54,32,108,10,49,48,46,53,55,32,49,51,46,52,53,55,32,108,32,57,46,57,52,57,32,49,53,46,50,55,55,32,49,48,46,51,57,49,32,49,55,46,51,54,55,32,49,49,46,56,57,53,32,49,56,46,55,53,52,32,99,32,104,10,49,49,46,56,57,53,32,49,56,46,55,53,52,32,109,32,83,10,49,46,53,32,119,10,49,54,46,48,53,57,32,49,53,46,53,56,54,32,109,32,49,54,46,53,50,51,32,49,53,46,48,55,56,32,49,55,46,51,49,54,32,49,53,46,48,52,51,32,49,55,46,56,50,52,32,49,53,46,53,49,50,32,99,32,49,56,46,51,51,50,10,49,53,46,57,56,32,49,56,46,51,54,51,32,49,54,46,55,55,32,49,55,46,56,57,53,32,49,55,46,50,55,55,32,99,32,49,55,46,52,51,32,49,55,46,55,56,53,32,49,54,46,54,51,55,32,49,55,46,56,49,54,32,49,54,46,49,50,57,10,49,55,46,51,53,50,32,99,32,49,53,46,54,50,49,32,49,54,46,56,56,51,32,49,53,46,53,57,32,49,54,46,48,57,52,32,49,54,46,48,53,57,32,49,53,46,53,56,54,32,99,32,104,10,49,54,46,48,53,57,32,49,53,46,53,56,54,32,109,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,50,32,119,10,49,49,46,56,57,53,32,49,57,46,55,53,52,32,109,32,49,51,46,57,50,54,32,50,49,46,54,50,53,32,49,55,46,48,57,32,50,49,46,52,57,54,32,49,56,46,57,54,49,32,49,57,46,52,54,53,32,99,32,50,48,46,56,51,50,10,49,55,46,52,51,52,32,50,48,46,54,57,57,32,49,52,46,50,55,32,49,56,46,54,54,56,32,49,50,46,51,57,56,32,99,32,49,55,46,49,54,52,32,49,49,46,48,49,54,32,49,53,46,48,52,51,32,49,48,46,55,52,54,32,49,51,46,50,56,49,10,49,49,46,53,49,54,32,99,32,49,50,46,52,55,51,32,49,48,46,51,50,52,32,108,32,49,49,46,50,56,49,32,49,49,46,48,55,56,32,108,32,57,46,53,52,55,32,57,46,54,54,52,32,108,32,57,46,48,48,56,32,55,46,52,57,54,32,108,10,55,46,48,53,57,32,55,46,48,53,57,32,108,32,54,46,51,52,32,53,46,49,50,49,32,108,32,53,46,53,52,51,32,52,46,54,54,56,32,108,32,51,46,51,55,53,32,53,46,50,48,55,32,108,32,50,46,57,51,56,32,55,46,49,53,54,32,108,10,49,48,46,53,55,32,49,52,46,52,53,55,32,108,32,57,46,57,52,57,32,49,54,46,50,55,55,32,49,48,46,51,57,49,32,49,56,46,51,54,55,32,49,49,46,56,57,53,32,49,57,46,55,53,52,32,99,32,104,10,49,49,46,56,57,53,32,49,57,46,55,53,52,32,109,32,83,10,49,46,53,32,119,10,49,54,46,48,53,57,32,49,54,46,53,56,54,32,109,32,49,54,46,53,50,51,32,49,54,46,48,55,56,32,49,55,46,51,49,54,32,49,54,46,48,52,51,32,49,55,46,56,50,52,32,49,54,46,53,49,50,32,99,32,49,56,46,51,51,50,10,49,54,46,57,56,32,49,56,46,51,54,51,32,49,55,46,55,55,32,49,55,46,56,57,53,32,49,56,46,50,55,55,32,99,32,49,55,46,52,51,32,49,56,46,55,56,53,32,49,54,46,54,51,55,32,49,56,46,56,49,54,32,49,54,46,49,50,57,10,49,56,46,51,53,50,32,99,32,49,53,46,54,50,49,32,49,55,46,56,56,51,32,49,53,46,53,57,32,49,55,46,48,57,52,32,49,54,46,48,53,57,32,49,54,46,53,56,54,32,99,32,104,10,49,54,46,48,53,57,32,49,54,46,53,56,54,32,109,32,83,10,0,72,101,108,112,0,0,0,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,50,46,53,32,119,10,49,32,74,10,49,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,56,46,50,56,57,32,49,54,46,52,56,56,32,109,32,56,46,56,50,52,32,49,55,46,56,50,56,32,49,48,46,48,52,51,32,49,56,46,55,55,51,32,49,49,46,52,55,51,32,49,56,46,57,54,53,32,99,32,49,50,46,57,48,50,32,49,57,46,49,53,54,10,49,52,46,51,50,56,32,49,56,46,53,53,57,32,49,53,46,49,57,53,32,49,55,46,52,48,54,32,99,32,49,54,46,48,54,50,32,49,54,46,50,53,52,32,49,54,46,50,52,50,32,49,52,46,55,50,51,32,49,53,46,54,54,52,32,49,51,46,51,57,56,10,99,32,83,10,48,32,106,10,49,50,32,56,32,109,32,49,50,32,49,50,32,49,54,32,49,49,32,49,54,32,49,53,32,99,32,83,10,49,46,53,51,57,50,56,54,32,119,10,49,32,106,10,113,32,49,32,48,32,48,32,45,48,46,57,57,57,57,57,49,32,48,32,50,52,32,99,109,10,49,50,46,54,56,52,32,50,48,46,56,57,49,32,109,32,49,50,46,52,55,51,32,50,49,46,50,53,56,32,49,50,46,48,48,52,32,50,49,46,51,57,53,32,49,49,46,54,50,57,32,50,49,46,49,57,54,32,99,32,49,49,46,50,53,52,10,50,48,46,57,57,50,32,49,49,46,49,48,53,32,50,48,46,53,51,49,32,49,49,46,50,57,55,32,50,48,46,49,52,57,32,99,32,49,49,46,52,56,56,32,49,57,46,55,55,32,49,49,46,57,52,53,32,49,57,46,54,49,32,49,50,46,51,51,50,10,49,57,46,55,56,57,32,99,32,49,50,46,55,49,57,32,49,57,46,57,54,57,32,49,50,46,56,57,49,32,50,48,46,52,50,54,32,49,50,46,55,49,57,32,50,48,46,56,49,55,32,99,32,83,32,81,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,50,46,53,32,119,10,56,46,50,56,57,32,49,55,46,52,56,56,32,109,32,57,46,49,48,57,32,49,57,46,53,51,57,32,49,49,46,52,51,56,32,50,48,46,53,51,53,32,49,51,46,52,56,56,32,49,57,46,55,49,49,32,99,32,49,53,46,53,51,57,32,49,56,46,56,57,49,10,49,54,46,53,51,53,32,49,54,46,53,54,50,32,49,53,46,55,49,49,32,49,52,46,53,49,50,32,99,32,49,53,46,54,57,57,32,49,52,46,52,55,51,32,49,53,46,54,56,52,32,49,52,46,52,51,56,32,49,53,46,54,54,52,32,49,52,46,51,57,56,10,99,32,83,10,48,32,106,10,49,50,32,57,32,109,32,49,50,32,49,51,32,49,54,32,49,50,32,49,54,32,49,54,32,99,32,83,10,49,46,53,51,57,50,56,54,32,119,10,49,32,106,10,113,32,49,32,48,32,48,32,45,48,46,57,57,57,57,57,49,32,48,32,50,52,32,99,109,10,49,50,46,54,56,52,32,49,57,46,56,57,49,32,109,32,49,50,46,52,55,51,32,50,48,46,50,53,56,32,49,50,46,48,48,52,32,50,48,46,51,57,53,32,49,49,46,54,50,57,32,50,48,46,49,57,53,32,99,32,49,49,46,50,53,52,10,49,57,46,57,57,50,32,49,49,46,49,48,53,32,49,57,46,53,51,49,32,49,49,46,50,57,55,32,49,57,46,49,52,57,32,99,32,49,49,46,52,56,56,32,49,56,46,55,55,32,49,49,46,57,52,53,32,49,56,46,54,49,32,49,50,46,51,51,50,10,49,56,46,55,56,57,32,99,32,49,50,46,55,49,57,32,49,56,46,57,54,57,32,49,50,46,56,57,49,32,49,57,46,52,50,54,32,49,50,46,55,49,57,32,49,57,46,56,49,55,32,99,32,83,32,81,10,0,78,101,119,80,97,114,97,103,114,97,112,104,0,0,0,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,52,32,119,10,48,32,74,10,50,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,113,32,49,32,48,32,48,32,45,49,32,48,32,50,52,32,99,109,10,57,46,50,49,49,32,49,49,46,57,56,56,32,109,32,56,46,52,52,57,32,49,50,46,48,55,32,55,46,55,49,49,32,49,49,46,55,48,55,32,55,46,51,48,53,32,49,49,46,48,53,57,32,99,32,54,46,56,57,56,32,49,48,46,52,49,10,54,46,56,57,56,32,57,46,53,57,32,55,46,51,48,53,32,56,46,57,52,49,32,99,32,55,46,55,49,49,32,56,46,50,57,51,32,56,46,52,52,57,32,55,46,57,51,32,57,46,50,49,49,32,56,46,48,49,50,32,99,32,83,32,81,10,49,46,48,48,52,52,49,51,32,119,10,49,32,74,10,49,32,106,10,113,32,49,32,48,32,48,32,45,48,46,57,57,49,50,51,50,32,48,32,50,52,32,99,109,10,49,56,46,48,55,32,49,49,46,53,49,49,32,109,32,49,53,46,49,49,51,32,49,48,46,48,49,52,32,108,32,49,50,46,49,57,57,32,49,49,46,54,48,50,32,108,32,49,50,46,55,49,49,32,56,46,51,50,51,32,108,32,49,48,46,51,48,49,10,54,46,48,52,53,32,108,32,49,51,46,53,55,52,32,53,46,53,49,55,32,108,32,49,52,46,57,57,54,32,50,46,53,50,50,32,108,32,49,54,46,53,49,50,32,53,46,52,55,52,32,108,32,49,57,46,56,48,49,32,53,46,56,57,57,32,108,10,49,55,46,52,54,49,32,56,46,50,53,50,32,108,32,49,56,46,48,55,32,49,49,46,53,49,49,32,108,32,104,10,49,56,46,48,55,32,49,49,46,53,49,49,32,109,32,83,32,81,10,50,32,119,10,48,32,106,10,49,49,32,49,55,32,109,32,49,48,32,49,55,32,108,32,49,48,32,51,32,108,32,83,10,49,52,32,51,32,109,32,49,52,32,49,51,32,108,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,52,32,119,10,48,32,74,10,50,32,106,10,113,32,49,32,48,32,48,32,45,49,32,48,32,50,52,32,99,109,10,57,46,50,49,49,32,49,48,46,57,56,56,32,109,32,56,46,49,48,57,32,49,49,46,49,48,53,32,55,46,49,50,53,32,49,48,46,51,48,57,32,55,46,48,49,50,32,57,46,50,49,49,32,99,32,54,46,56,57,53,32,56,46,49,48,57,10,55,46,54,57,49,32,55,46,49,50,53,32,56,46,55,56,57,32,55,46,48,49,50,32,99,32,56,46], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+51200);
/* memory initializer */ allocate([57,51,32,54,46,57,57,54,32,57,46,48,55,32,54,46,57,57,54,32,57,46,50,49,49,32,55,46,48,49,50,32,99,32,83,32,81,10,49,46,48,48,52,52,49,51,32,119,10,49,32,74,10,49,32,106,10,113,32,49,32,48,32,48,32,45,48,46,57,57,49,50,51,50,32,48,32,50,52,32,99,109,10,49,56,46,48,55,32,49,48,46,53,48,50,32,109,32,49,53,46,49,49,51,32,57,46,48,48,53,32,108,32,49,50,46,49,57,57,32,49,48,46,53,57,51,32,108,32,49,50,46,55,49,49,32,55,46,51,49,52,32,108,32,49,48,46,51,48,49,10,53,46,48,51,54,32,108,32,49,51,46,53,55,52,32,52,46,53,48,56,32,108,32,49,52,46,57,57,54,32,49,46,53,49,51,32,108,32,49,54,46,53,49,50,32,52,46,52,54,53,32,108,32,49,57,46,56,48,49,32,52,46,56,57,49,32,108,10,49,55,46,52,54,49,32,55,46,50,52,51,32,108,32,49,56,46,48,55,32,49,48,46,53,48,50,32,108,32,104,10,49,56,46,48,55,32,49,48,46,53,48,50,32,109,32,83,32,81,10,50,32,119,10,48,32,106,10,49,49,32,49,56,32,109,32,49,48,32,49,56,32,108,32,49,48,32,52,32,108,32,83,10,49,52,32,52,32,109,32,49,52,32,49,52,32,108,32,83,10,0,0,0,0,0,0,0,0,80,97,114,97,103,114,97,112,104,0,0,0,0,0,0,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,50,32,119,10,49,32,74,10,49,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,49,53,32,51,32,109,32,49,53,32,49,56,32,108,32,49,49,32,49,56,32,108,32,49,49,32,51,32,108,32,83,10,52,32,119,10,113,32,49,32,48,32,48,32,45,49,32,48,32,50,52,32,99,109,10,57,46,55,55,55,32,49,48,46,57,56,56,32,109,32,56,46,55,52,54,32,49,48,46,56,55,49,32,55,46,57,55,51,32,57,46,57,56,56,32,56,32,56,46,57,52,57,32,99,32,56,46,48,50,55,32,55,46,57,49,32,56,46,56,52,52,10,55,46,48,54,54,32,57,46,56,55,57,32,55,46,48,48,52,32,99,32,83,32,81,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,50,32,119,10,49,53,32,52,32,109,32,49,53,32,49,57,32,108,32,49,49,32,49,57,32,108,32,49,49,32,52,32,108,32,83,10,52,32,119,10,113,32,49,32,48,32,48,32,45,49,32,48,32,50,52,32,99,109,10,57,46,55,55,55,32,57,46,57,56,56,32,109,32,56,46,55,52,54,32,57,46,56,55,49,32,55,46,57,55,51,32,56,46,57,56,56,32,56,32,55,46,57,52,57,32,99,32,56,46,48,50,55,32,54,46,57,49,32,56,46,56,52,52,32,54,46,48,54,54,10,57,46,56,55,57,32,54,46,48,48,52,32,99,32,83,32,81,10,0,0,0,73,110,115,101,114,116,0,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,50,32,119,10,49,32,74,10,48,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,49,50,32,49,56,46,48,49,50,32,109,32,50,48,32,49,56,32,108,32,83,10,57,32,49,48,32,109,32,49,55,32,49,48,32,108,32,83,10,49,50,32,49,52,46,48,49,50,32,109,32,50,48,32,49,52,32,108,32,83,10,49,50,32,54,46,48,49,50,32,109,32,50,48,32,54,46,48,49,50,32,108,32,83,10,52,32,49,50,32,109,32,54,32,49,48,32,108,32,52,32,56,32,108,32,83,10,52,32,49,50,32,109,32,52,32,56,32,108,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,49,50,32,49,57,46,48,49,50,32,109,32,50,48,32,49,57,32,108,32,83,10,57,32,49,49,32,109,32,49,55,32,49,49,32,108,32,83,10,49,50,32,49,53,46,48,49,50,32,109,32,50,48,32,49,53,32,108,32,83,10,49,50,32,55,46,48,49,50,32,109,32,50,48,32,55,46,48,49,50,32,108,32,83,10,52,32,49,51,32,109,32,54,32,49,49,32,108,32,52,32,57,32,108,32,83,10,52,32,49,51,32,109,32,52,32,57,32,108,32,83,10,0,0,0,0,0,67,114,111,115,115,0,0,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,50,46,53,32,119,10,49,32,74,10,48,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,49,56,32,53,32,109,32,54,32,49,55,32,108,32,83,10,54,32,53,32,109,32,49,56,32,49,55,32,108,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,49,56,32,54,32,109,32,54,32,49,56,32,108,32,83,10,54,32,54,32,109,32,49,56,32,49,56,32,108,32,83,10,0,0,0,0,0,0,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,50,46,53,32,119,10,49,32,74,10,49,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,49,57,46,53,32,49,49,46,53,32,109,32,49,57,46,53,32,55,46,51,53,57,32,49,54,46,49,52,49,32,52,32,49,50,32,52,32,99,32,55,46,56,53,57,32,52,32,52,46,53,32,55,46,51,53,57,32,52,46,53,32,49,49,46,53,32,99,32,52,46,53,10,49,53,46,54,52,49,32,55,46,56,53,57,32,49,57,32,49,50,32,49,57,32,99,32,49,54,46,49,52,49,32,49,57,32,49,57,46,53,32,49,53,46,54,52,49,32,49,57,46,53,32,49,49,46,53,32,99,32,104,10,49,57,46,53,32,49,49,46,53,32,109,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,49,57,46,53,32,49,50,46,53,32,109,32,49,57,46,53,32,56,46,51,53,57,32,49,54,46,49,52,49,32,53,32,49,50,32,53,32,99,10,55,46,56,53,57,32,53,32,52,46,53,32,56,46,51,53,57,32,52,46,53,32,49,50,46,53,32,99,32,52,46,53,10,49,54,46,54,52,49,32,55,46,56,53,57,32,50,48,32,49,50,32,50,48,32,99,32,49,54,46,49,52,49,32,50,48,32,49,57,46,53,32,49,54,46,54,52,49,32,49,57,46,53,32,49,50,46,53,32,99,32,104,10,49,57,46,53,32,49,50,46,53,32,109,32,83,10,0,0,0,81,10,0,0,0,0,0,0,47,71,83,48,32,103,115,10,47,70,109,48,32,68,111,0,70,109,48,0,0,0,0,0,71,83,48,0,0,0,0,0,0,0,0,0,216,24,1,0,104,0,0,0,105,0,0,0,23,0,0,0,0,0,0,0,76,105,110,107,0,0,0,0,68,101,115,116,0,0,0,0,72,0,0,0,0,0,0,0,79,0,0,0,0,0,0,0,81,117,97,100,80,111,105,110,116,115,0,0,0,0,0,0,0,0,0,0,248,24,1,0,106,0,0,0,107,0,0,0,21,0,0,0,0,0,0,0,70,114,101,101,84,101,120,116,0,0,0,0,0,0,0,0,68,65,0,0,0,0,0,0,66,97,100,32,97,112,112,101,97,114,97,110,99,101,32,102,111,114,32,97,110,110,111,116,97,116,105,111,110,0,0,0,81,0,0,0,0,0,0,0,68,83,0,0,0,0,0,0,67,76,0,0,0,0,0,0,73,84,0,0,0,0,0,0,70,114,101,101,84,101,120,116,67,97,108,108,111,117,116,0,70,114,101,101,84,101,120,116,84,121,112,101,87,114,105,116,101,114,0,0,0,0,0,0,66,69,0,0,0,0,0,0,82,68,0,0,0,0,0,0,76,69,0,0,0,0,0,0,0,0,0,0,24,25,1,0,108,0,0,0,109,0,0,0,24,0,0,0,0,0,0,0,76,105,110,101,0,0,0,0,76,0,0,0,0,0,0,0,73,67,0,0,0,0,0,0,76,76,0,0,0,0,0,0,76,76,69,0,0,0,0,0,67,97,112,0,0,0,0,0,76,105,110,101,65,114,114,111,119,0,0,0,0,0,0,0,76,105,110,101,68,105,109,101,110,115,105,111,110,0,0,0,76,76,79,0,0,0,0,0,67,80,0,0,0,0,0,0,73,110,108,105,110,101,0,0,84,111,112,0,0,0,0,0,77,101,97,115,117,114,101,0,67,79,0,0,0,0,0,0,91,0,0,0,0,0,0,0,32,123,48,58,46,50,102,125,0,0,0,0,0,0,0,0,32,93,32,48,32,100,10,0,91,93,32,48,32,100,10,0,123,48,58,46,50,102,125,32,119,10,0,0,0,0,0,0,123,48,58,46,50,102,125,32,123,49,58,46,50,102,125,32,108,10,0,0,0,0,0,0,0,0,0,0,64,25,1,0,110,0,0,0,111,0,0,0,25,0,0,0,0,0,0,0,72,105,103,104,108,105,103,104,116,0,0,0,0,0,0,0,85,110,100,101,114,108,105,110,101,0,0,0,0,0,0,0,83,113,117,105,103,103,108,121,0,0,0,0,0,0,0,0,83,116,114,105,107,101,79,117,116,0,0,0,0,0,0,0,66,97,100,32,65,110,110,111,116,32,84,101,120,116,32,77,97,114,107,117,112,32,81,117,97,100,80,111,105,110,116,115,0,0,0,0,0,0,0,0,91,93,48,32,100,32,50,32,119,10,0,0,0,0,0,0,77,117,108,116,105,112,108,121,0,0,0,0,0,0,0,0,0,0,0,0,96,25,1,0,112,0,0,0,113,0,0,0,26,0,0,0,0,0,0,0,77,75,0,0,0,0,0,0,65,65,0,0,0,0,0,0,65,110,110,111,116,87,105,100,103,101,116,58,58,108,97,121,111,117,116,84,101,120,116,44,32,98,97,100,32,117,110,105,99,111,100,101,32,115,116,114,105,110,103,0,0,0,0,0,119,97,114,110,105,110,103,58,32,108,97,121,111,117,116,84,101,120,116,58,32,99,97,110,110,111,116,32,99,111,110,118,101,114,116,32,85,43,37,48,52,88,10,0,0,0,0,0,92,123,48,58,48,51,111,125,0,0,0,0,0,0,0,0,84,102,0,0,0,0,0,0,84,109,0,0,0,0,0,0,47,90,97,68,98,0,0,0,90,97,68,98,0,0,0,0,90,97,112,102,68,105,110,103,98,97,116,115,0,0,0,0,85,110,107,110,111,119,110,32,102,111,110,116,32,105,110,32,102,105,101,108,100,39,115,32,68,65,32,115,116,114,105,110,103,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,102,111,110,116,32,110,97,109,101,32,105,110,32,39,84,102,39,32,111,112,101,114,97,116,111,114,32,105,110,32,102,105,101,108,100,39,115,32,68,65,32,115,116,114,105,110,103,0,77,105,115,115,105,110,103,32,39,84,102,39,32,111,112,101,114,97,116,111,114,32,105,110,32,102,105,101,108,100,39,115,32,68,65,32,115,116,114,105,110,103,0,0,0,0,0,0,47,84,120,32,66,77,67,10,0,0,0,0,0,0,0,0,66,84,10,0,0,0,0,0,123,48,58,46,50,102,125,0,49,32,48,32,48,32,49,32,48,32,123,48,58,46,50,102,125,32,84,109,10,0,0,0,123,48,58,46,50,102,125,32,123,49,58,46,50,102,125,32,84,100,10,0,0,0,0,0,32,84,106,10,0,0,0,0,49,32,48,32,48,32,49,32,123,48,58,46,50,102,125,32,123,49,58,46,50,102,125,32,84,109,10,0,0,0,0,0,123,48,58,46,50,102,125,32,48,32,84,100,10,0,0,0,69,84,10,0,0,0,0,0,69,77,67,10,0,0,0,0,48,32,103,32,102,10,0,0,123,48,58,46,50,102,125,32,123,49,58,46,50,102,125,32,123,50,58,46,50,102,125,32,123,51,58,46,50,102,125,32,114,101,32,102,10,0,0,0,49,32,103,10,0,0,0,0,48,32,48,32,123,48,58,46,50,102,125,32,123,49,58,46,50,102,125,32,114,101,32,102,10,0,0,0,0,0,0,0,70,84,0,0,0,0,0,0,70,102,0,0,0,0,0,0,66,116,110,0,0,0,0,0,93,32,48,32,100,10,0,0,123,48,58,46,50,102,125,32,123,48,58,46,50,102,125,32,123,49,58,46,50,102,125,32,123,50,58,46,50,102,125,32,114,101,32,115,10,0,0,0,48,32,48,32,109,10,0,0,48,32,123,48,58,46,50,102,125,32,108,10,0,0,0,0,123,48,58,46,50,102,125,32,123,48,58,46,50,102,125,32,108,10,0,0,0,0,0,0,123,48,58,46,50,102,125,32,48,32,108,10,0,0,0,0,48,32,48,32,109,32,123,48,58,46,50,102,125,32,48,32,108,32,115,10,0,0,0,0,123,48,58,46,50,102,125,32,123,48,58,46,50,102,125,32,123,49,58,46,50,102,125,32,123,50,58,46,50,102,125,32,114,101,32,87,32,110,10,0,68,82,0,0,0,0,0,0,70,111,110,116,0,0,0,0,86,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,84,120,0,0,0,0,0,0,77,97,120,76,101,110,0,0,67,104,0,0,0,0,0,0,79,112,116,0,0,0,0,0,84,73,0,0,0,0,0,0,83,105,103,0,0,0,0,0,85,110,107,110,111,119,110,32,102,105,101,108,100,32,116,121,112,101,0,0,0,0,0,0,84,121,112,101,49,0,0,0,66,97,115,101,70,111,110,116,0,0,0,0,0,0,0,0,0,0,0,0,128,25,1,0,114,0,0,0,115,0,0,0,27,0,0,0,0,0,0,0,77,111,118,105,101,0,0,0,66,97,100,32,65,110,110,111,116,32,77,111,118,105,101,0,123,48,58,100,125,32,48,32,48,32,123,49,58,100,125,32,48,32,48,32,99,109,10,0,47,77,73,109,103,32,68,111,10,0,0,0,0,0,0,0,77,73,109,103,0,0,0,0,70,82,77,0,0,0,0,0,77,97,116,114,105,120,0,0,48,32,48,32,123,48,58,100,125,32,123,49,58,100,125,32,114,101,32,87,32,110,10,0,49,32,48,32,48,32,49,32,123,48,58,100,125,32,123,49,58,100,125,32,99,109,10,0,47,70,82,77,32,68,111,10,0,0,0,0,0,0,0,0,0,0,0,0,160,25,1,0,116,0,0,0,117,0,0,0,21,0,0,0,0,0,0,0,83,99,114,101,101,110,0,0,73,110,118,97,108,105,100,32,82,101,110,100,105,116,105,111,110,32,97,99,116,105,111,110,58,32,97,115,115,111,99,105,97,116,101,100,32,115,99,114,101,101,110,32,97,110,110,111,116,97,116,105,111,110,32,119,105,116,104,111,117,116,32,80,0,0,0,0,0,0,0,0,0,0,0,0,192,25,1,0,118,0,0,0,119,0,0,0,21,0,0,0,0,0,0,0,83,116,97,109,112,0,0,0,68,114,97,102,116,0,0,0,0,0,0,0,224,25,1,0,120,0,0,0,121,0,0,0,28,0,0,0,0,0,0,0,123,48,58,46,50,102,125,32,123,49,58,46,50,102,125,32,123,50,58,46,50,102,125,32,123,51,58,46,50,102,125,32,114,101,10,0,0,0,0,0,98,10,0,0,0,0,0,0,0,0,0,0,0,26,1,0,122,0,0,0,123,0,0,0,21,0,0,0,0,0,0,0,80,111,108,121,103,111,110,0,80,111,108,121,76,105,110,101,0,0,0,0,0,0,0,0,86,101,114,116,105,99,101,115,0,0,0,0,0,0,0,0,66,97,100,32,65,110,110,111,116,32,80,111,108,121,103,111,110,32,86,101,114,116,105,99,101,115,0,0,0,0,0,0,80,111,108,121,103,111,110,67,108,111,117,100,0,0,0,0,80,111,108,121,76,105,110,101,68,105,109,101,110,115,105,111,110,0,0,0,0,0,0,0,0,0,0,0,32,26,1,0,124,0,0,0,125,0,0,0,21,0,0,0,0,0,0,0,67,97,114,101,116,0,0,0,83,121,0,0,0,0,0,0,0,0,0,0,64,26,1,0,126,0,0,0,127,0,0,0,21,0,0,0,0,0,0,0,73,110,107,0,0,0,0,0,73,110,107,76,105,115,116,0,66,97,100,32,65,110,110,111,116,32,73,110,107,32,76,105,115,116,0,0,0,0,0,0,0,0,0,0,104,26,1,0,128,0,0,0,129,0,0,0,29,0,0,0,0,0,0,0,70,105,108,101,65,116,116,97,99,104,109,101,110,116,0,0,70,83,0,0,0,0,0,0,66,97,100,32,65,110,110,111,116,32,70,105,108,101,32,65,116,116,97,99,104,109,101,110,116,0,0,0,0,0,0,0,80,117,115,104,80,105,110,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,50,32,119,10,49,32,74,10,49,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,53,32,52,32,109,32,54,32,53,32,108,32,83,10,50,32,119,10,49,49,32,49,52,32,109,32,57,32,49,50,32,108,32,54,32,49,50,32,108,32,49,51,32,53,32,108,32,49,51,32,56,32,108,32,49,53,32,49,48,32,108,32,49,56,32,49,49,32,108,32,50,48,32,49,49,32,108,32,49,50,32,49,57,32,108,32,49,50,10,49,55,32,108,32,49,49,32,49,52,32,108,32,104,10,49,49,32,49,52,32,109,32,83,10,51,32,119,10,54,32,53,32,109,32,57,32,56,32,108,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,50,32,119,10,53,32,53,32,109,32,54,32,54,32,108,32,83,10,50,32,119,10,49,49,32,49,53,32,109,32,57,32,49,51,32,108,32,54,32,49,51,32,108,32,49,51,32,54,32,108,32,49,51,32,57,32,108,32,49,53,32,49,49,32,108,32,49,56,32,49,50,32,108,32,50,48,32,49,50,32,108,32,49,50,32,50,48,32,108,32,49,50,10,49,56,32,108,32,49,49,32,49,53,32,108,32,104,10,49,49,32,49,53,32,109,32,83,10,51,32,119,10,54,32,54,32,109,32,57,32,57,32,108,32,83,10,0,0,0,0,0,80,97,112,101,114,99,108,105,112,0,0,0,0,0,0,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,50,32,119,10,49,32,74,10,49,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,49,54,46,54,52,53,32,49,50,46,48,51,53,32,109,32,49,50,46,52,49,56,32,55,46,55,48,55,32,108,32,49,48,46,57,48,50,32,54,46,53,53,57,32,54,46,52,48,50,32,49,49,46,50,48,51,32,56,46,48,57,32,49,50,46,53,54,50,32,99,10,49,52,46,49,51,51,32,49,56,46,53,55,56,32,108,32,49,52,46,57,52,57,32,49,57,46,51,56,55,32,49,54,46,56,54,55,32,49,57,46,49,56,52,32,49,55,46,53,51,57,32,49,56,46,52,54,53,32,99,32,50,48,46,53,53,49,10,49,53,46,50,51,32,108,32,50,49,46,49,57,49,32,49,52,46,54,54,32,50,49,46,51,51,54,32,49,50,46,56,56,55,32,50,48,46,52,50,54,32,49,50,46,49,48,50,32,99,32,49,51,46,49,56,32,52,46,56,50,52,32,108,32,49,50,46,49,56,10,51,46,56,50,32,54,46,50,53,32,50,46,53,54,54,32,52,46,51,50,52,32,52,46,52,54,49,32,99,32,51,32,54,46,51,57,53,32,51,46,51,56,51,32,49,49,46,52,51,56,32,52,46,55,49,49,32,49,50,46,56,48,49,32,99,32,57,46,54,52,56,10,49,55,46,56,56,55,32,108,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,49,54,46,54,52,53,32,49,51,46,48,51,53,32,109,32,49,50,46,52,49,56,32,56,46,55,48,55,32,108,10,49,48,46,57,48,50,32,55,46,53,53,57,32,54,46,52,48,50,32,49,50,46,50,48,51,32,56,46,48,57,32,49,51,46,53,54,50,32,99,10,49,52,46,49,51,51,32,49,57,46,53,55,56,32,108,32,49,52,46,57,52,57,32,50,48,46,51,56,55,32,49,54,46,56,54,55,32,50,48,46,49,56,52,32,49,55,46,53,51,57,32,49,57,46,52,54,53,32,99,32,50,48,46,53,53,49,10,49,54,46,50,51,32,108,32,50,49,46,49,57,49,32,49,53,46,54,54,32,50,49,46,51,51,54,32,49,51,46,56,56,55,32,50,48,46,52,50,54,32,49,51,46,49,48,50,32,99,32,49,51,46,49,56,32,53,46,56,50,52,32,108,32,49,50,46,49,56,10,52,46,56,50,32,54,46,50,53,32,51,46,53,54,54,32,52,46,51,50,52,32,53,46,52,54,49,32,99,32,51,32,55,46,51,57,53,32,51,46,51,56,51,32,49,50,46,52,51,56,32,52,46,55,49,49,32,49,51,46,56,48,49,32,99,32,57,46,54,52,56,10,49,56,46,56,56,55,32,108,32,83,10,0,71,114,97,112,104,0,0,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,49,32,119,10,49,32,74,10,48,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,49,56,46,53,32,49,53,46,53,32,109,32,49,56,46,53,32,49,51,46,48,56,54,32,108,32,49,54,46,48,56,54,32,49,53,46,53,32,108,32,49,56,46,53,32,49,53,46,53,32,108,32,104,10,49,56,46,53,32,49,53,46,53,32,109,32,83,10,55,32,55,32,109,32,49,48,32,49,49,32,108,32,49,51,32,57,32,108,32,49,56,32,49,53,32,108,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,55,32,56,32,109,32,49,48,32,49,50,32,108,32,49,51,32,49,48,32,108,32,49,56,32,49,54,32,108,32,83,10,49,56,46,53,32,49,54,46,53,32,109,32,49,56,46,53,32,49,52,46,48,56,54,32,108,32,49,54,46,48,56,54,32,49,54,46,53,32,108,32,49,56,46,53,32,49,54,46,53,32,108,32,104,10,49,56,46,53,32,49,54,46,53,32,109,32,83,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,50,32,119,10,49,32,106,10,51,32,49,57,32,109,32,51,32,51,32,108,32,50,49,32,51,32,108,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,51,32,50,48,32,109,32,51,32,52,32,108,32,50,49,32,52,32,108,32,83,10,0,0,84,97,103,0,0,0,0,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,48,46,57,57,57,55,56,49,32,119,10,49,32,74,10,49,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,113,32,49,32,48,32,48,32,45,49,32,48,32,50,52,32,99,109,10,56,46,52,57,50,32,56,46,55,48,55,32,109,32,56,46,52,57,50,32,57,46,53,51,53,32,55,46,56,50,32,49,48,46,50,48,55,32,54,46,57,57,50,32,49,48,46,50,48,55,32,99,32,54,46,49,54,52,32,49,48,46,50,48,55,32,53,46,52,57,50,10,57,46,53,51,53,32,53,46,52,57,50,32,56,46,55,48,55,32,99,32,53,46,52,57,50,32,55,46,56,55,57,32,54,46,49,54,52,32,55,46,50,48,55,32,54,46,57,57,50,32,55,46,50,48,55,32,99,32,55,46,56,50,32,55,46,50,48,55,10,56,46,52,57,50,32,55,46,56,55,57,32,56,46,52,57,50,32,56,46,55,48,55,32,99,32,104,10,56,46,52,57,50,32,56,46,55,48,55,32,109,32,83,32,81,10,50,32,119,10,50,48,46,48,55,56,32,49,49,46,52,49,52,32,109,32,50,48,46,56,57,49,32,49,48,46,54,48,50,32,50,48,46,55,56,53,32,57,46,50,57,51,32,50,48,46,48,55,56,32,56,46,53,56,54,32,99,32,49,52,46,52,50,50,32,50,46,57,51,32,108,10,49,51,46,55,49,53,32,50,46,50,50,51,32,49,50,46,51,48,49,32,50,46,50,50,51,32,49,49,46,53,57,52,32,50,46,57,51,32,99,32,51,46,56,49,54,32,49,48,46,55,48,55,32,108,32,51,46,49,48,57,32,49,49,46,52,49,52,10,50,46,52,48,50,32,49,55,46,55,56,49,32,51,46,56,49,54,32,49,57,46,49,57,53,32,99,32,53,46,50,51,32,50,48,46,54,48,57,32,49,49,46,53,57,52,32,49,57,46,57,48,50,32,49,50,46,51,48,49,32,49,57,46,49,57,53,32,99,10,50,48,46,48,55,56,32,49,49,46,52,49,52,32,108,32,104,10,50,48,46,48,55,56,32,49,49,46,52,49,52,32,109,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,50,48,46,48,55,56,32,49,50,46,52,49,52,32,109,10,50,48,46,56,57,49,32,49,49,46,54,48,53,32,50,48,46,55,56,53,32,49,48,46,50,57,51,32,50,48,46,48,55,56,32,57,46,53,56,54,32,99,32,49,52,46,52,50,50,32,51,46,57,51,32,108,10,49,51,46,55,49,53,32,51,46,50,50,51,32,49,50,46,51,48,49,32,51,46,50,50,51,32,49,49,46,53,57,52,32,51,46,57,51,32,99,32,51,46,56,49,54,32,49,49,46,55,48,55,32,108,32,51,46,49,48,57,32,49,50,46,52,49,52,10,50,46,52,48,50,32,49,56,46,55,56,49,32,51,46,56,49,54,32,50,48,46,49,57,53,32,99,32,53,46,50,51,32,50,49,46,54,48,57,32,49,49,46,53,57,52,32,50,48,46,57,48,50,32,49,50,46,51,48,49,32,50,48,46,49,57,53,32,99,10,50,48,46,48,55,56,32,49,50,46,52,49,52,32,108,32,104,10,50,48,46,48,55,56,32,49,50,46,52,49,52,32,109,32,83,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,49,32,119,10,48,32,106,10,49,49,46,57,52,57,32,49,51,46,49,56,52,32,109,32,49,54,46,49,57,49,32,56,46,57,52,49,32,108,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,49,49,46,57,52,57,32,49,52,46,49,56,52,32,109,32,49,54,46,49,57,49,32,57,46,57,52,49,32,108,32,83,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,49,52,46,48,55,32,54,46,56,50,32,109,32,57,46,56,50,56,32,49,49,46,48,54,50,32,108,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,49,52,46,48,55,32,55,46,56,50,32,109,32,57,46,56,50,56,32,49,50,46,48,54,50,32,108,32,83,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,54,46,57,51,32,49,53,46,49,52,49,32,109,32,56,32,50,48,32,49,52,46,50,55,32,50,48,46,53,32,49,54,32,50,48,46,53,32,99,10,49,56,46,48,57,52,32,50,48,46,53,48,52,32,49,57,46,53,32,50,48,32,49,57,46,53,32,49,56,32,99,32,49,57,46,53,32,49,54,46,54,57,57,32,50,48,46,57,49,32,49,54,46,52,49,56,32,50,50,46,53,32,49,54,46,53,32,99,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,48,46,57,57,57,55,56,49,32,119,10,49,32,106,10,113,32,49,32,48,32,48,32,45,49,32,48,32,50,52,32,99,109,10,56,46,52,57,50,32,55,46,55,48,55,32,109,32,56,46,52,57,50,32,56,46,53,51,53,32,55,46,56,50,32,57,46,50,48,55,32,54,46,57,57,50,32,57,46,50,48,55,32,99,32,54,46,49,54,52,32,57,46,50,48,55,32,53,46,52,57,50,10,56,46,53,51,53,32,53,46,52,57,50,32,55,46,55,48,55,32,99,32,53,46,52,57,50,32,54,46,56,55,57,32,54,46,49,54,52,32,54,46,50,48,55,32,54,46,57,57,50,32,54,46,50,48,55,32,99,32,55,46,56,50,32,54,46,50,48,55,10,56,46,52,57,50,32,54,46,56,55,57,32,56,46,52,57,50,32,55,46,55,48,55,32,99,32,104,10,56,46,52,57,50,32,55,46,55,48,55,32,109,32,83,32,81,10,49,32,119,10,48,32,106,10,54,46,57,51,32,49,54,46,49,52,49,32,109,32,56,32,50,49,32,49,52,46,50,55,32,50,49,46,53,32,49,54,32,50,49,46,53,32,99,32,49,56,46,48,57,52,32,50,49,46,53,48,52,32,49,57,46,53,32,50,49,32,49,57,46,53,32,49,57,32,99,10,49,57,46,53,32,49,55,46,54,57,57,32,50,48,46,57,49,32,49,55,46,52,49,56,32,50,50,46,53,32,49,55,46,53,32,99,32,83,10,0,0,0,0,0,136,26,1,0,130,0,0,0,131,0,0,0,30,0,0,0,0,0,0,0,83,111,117,110,100,0,0,0,66,97,100,32,65,110,110,111,116,32,83,111,117,110,100,0,83,112,101,97,107,101,114,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,50,32,119,10,48,32,74,10,49,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,52,32,49,52,32,109,32,52,46,48,56,54,32,56,46,48,52,51,32,108,32,55,32,56,32,108,32,49,49,32,52,32,108,32,49,49,32,49,56,32,108,32,55,32,49,52,32,108,32,52,32,49,52,32,108,32,104,10,52,32,49,52,32,109,32,83,10,49,32,119,10,49,32,74,10,48,32,106,10,49,51,46,54,57,57,32,49,53,46,51,57,56,32,109,32,49,52,46,54,57,57,32,49,51,46,51,57,56,32,49,52,46,54,57,57,32,57,46,51,57,56,32,49,51,46,54,57,57,32,55,46,51,57,56,32,99,32,83,10,49,56,46,49,57,57,32,49,57,46,51,57,56,32,109,32,50,49,46,49,57,57,32,49,55,46,51,57,56,32,50,49,46,49,57,57,32,53,46,51,57,56,32,49,56,46,49,57,57,32,51,46,51,57,56,32,99,32,83,10,49,54,32,49,55,46,51,57,56,32,109,32,49,56,32,49,54,46,51,57,56,32,49,56,32,55,46,51,57,56,32,49,54,32,53,46,51,57,56,32,99,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,50,32,119,10,48,32,74,10,49,32,106,10,52,32,49,53,32,109,32,52,46,48,56,54,32,57,46,48,52,51,32,108,32,55,32,57,32,108,32,49,49,32,53,32,108,32,49,49,32,49,57,32,108,32,55,32,49,53,32,108,32,52,32,49,53,32,108,32,104,10,52,32,49,53,32,109,32,83,10,49,32,119,10,49,32,74,10,48,32,106,10,49,51,46,54,57,57,32,49,54,32,109,32,49,52,46,54,57,57,32,49,52,32,49,52,46,54,57,57,32,49,48,32,49,51,46,54,57,57,32,56,32,99,32,83,10,49,56,46,49,57,57,32,50,48,32,109,32,50,49,46,49,57,57,32,49,56,32,50,49,46,49,57,57,32,54,32,49,56,46,49,57,57,32,52,32,99,32,83,10,49,54,32,49,56,32,109,32,49,56,32,49,55,32,49,56,32,56,32,49,54,32,54,32,99,32,83,10,0,0,0,0,0,0,77,105,99,0,0,0,0,0,52,46,51,48,49,32,50,51,32,109,32,49,57,46,54,57,57,32,50,51,32,108,32,50,49,46,53,50,51,32,50,51,32,50,51,32,50,49,46,53,50,51,32,50,51,32,49,57,46,54,57,57,32,99,32,50,51,32,52,46,51,48,49,32,108,32,50,51,10,50,46,52,55,55,32,50,49,46,53,50,51,32,49,32,49,57,46,54,57,57,32,49,32,99,32,52,46,51,48,49,32,49,32,108,32,50,46,52,55,55,32,49,32,49,32,50,46,52,55,55,32,49,32,52,46,51,48,49,32,99,32,49,32,49,57,46,54,57,57,10,108,32,49,32,50,49,46,53,50,51,32,50,46,52,55,55,32,50,51,32,52,46,51,48,49,32,50,51,32,99,32,104,10,52,46,51,48,49,32,50,51,32,109,32,102,10,48,46,53,51,51,51,51,51,32,48,46,53,52,49,49,55,54,32,48,46,53,50,49,53,54,57,32,82,71,32,50,32,119,10,49,32,74,10,48,32,106,10,91,93,32,48,46,48,32,100,10,52,32,77,32,49,50,32,50,48,32,109,32,49,50,32,50,48,32,108,32,49,51,46,54,53,54,32,50,48,32,49,53,32,49,56,46,54,53,54,32,49,53,32,49,55,32,99,32,49,53,32,49,51,32,108,32,49,53,32,49,49,46,51,52,52,32,49,51,46,54,53,54,32,49,48,10,49,50,32,49,48,32,99,32,49,50,32,49,48,32,108,32,49,48,46,51,52,52,32,49,48,32,57,32,49,49,46,51,52,52,32,57,32,49,51,32,99,32,57,32,49,55,32,108,32,57,32,49,56,46,54,53,54,32,49,48,46,51,52,52,32,50,48,32,49,50,10,50,48,32,99,32,104,10,49,50,32,50,48,32,109,32,83,10,49,32,119,10,49,55,46,53,32,49,52,46,53,32,109,32,49,55,46,53,32,49,49,46,57,55,51,32,108,32,49,55,46,53,32,56,46,57,52,49,32,49,53,46,48,52,55,32,54,46,53,32,49,50,32,54,46,53,32,99,32,56,46,57,53,51,32,54,46,53,32,54,46,53,10,56,46,57,52,49,32,54,46,53,32,49,49,46,57,55,51,32,99,32,54,46,53,32,49,52,46,53,32,108,32,83,10,50,32,119,10,48,32,74,10,49,50,32,54,46,53,50,32,109,32,49,50,32,51,32,108,32,83,10,49,32,74,10,56,32,51,32,109,32,49,54,32,51,32,108,32,83,10,48,46,55,50,57,52,49,50,32,48,46,55,52,49,49,55,54,32,48,46,55,49,51,55,50,53,32,82,71,32,49,50,32,50,49,32,109,32,49,50,32,50,49,32,108,32,49,51,46,54,53,54,32,50,49,32,49,53,32,49,57,46,54,53,54,32,49,53,32,49,56,32,99,10,49,53,32,49,52,32,108,32,49,53,32,49,50,46,51,52,52,32,49,51,46,54,53,54,32,49,49,32,49,50,32,49,49,32,99,32,49,50,32,49,49,32,108,32,49,48,46,51,52,52,32,49,49,32,57,32,49,50,46,51,52,52,32,57,32,49,52,32,99,10,57,32,49,56,32,108,32,57,32,49,57,46,54,53,54,32,49,48,46,51,52,52,32,50,49,32,49,50,32,50,49,32,99,32,104,10,49,50,32,50,49,32,109,32,83,10,49,32,119,10,49,55,46,53,32,49,53,46,53,32,109,32,49,55,46,53,32,49,50,46,57,55,51,32,108,32,49,55,46,53,32,57,46,57,52,49,32,49,53,46,48,52,55,32,55,46,53,32,49,50,32,55,46,53,32,99,32,56,46,57,53,51,32,55,46,53,32,54,46,53,10,57,46,57,52,49,32,54,46,53,32,49,50,46,57,55,51,32,99,32,54,46,53,32,49,53,46,53,32,108,32,83,10,50,32,119,10,48,32,74,10,49,50,32,55,46,53,50,32,109,32,49,50,32,52,32,108,32,83,10,49,32,74,10,56,32,52,32,109,32,49,54,32,52,32,108,32,83,10,0,0,0,0,0,0,0,0,0,0,0,168,26,1,0,132,0,0,0,133,0,0,0,21,0,0,0,0,0,0,0,51,68,0,0,0,0,0,0,51,68,65,0,0,0,0,0,80,79,0,0,0,0,0,0,80,86,0,0,0,0,0,0,88,65,0,0,0,0,0,0,65,73,83,0,0,0,0,0,80,67,0,0,0,0,0,0,80,73,0,0,0,0,0,0,88,68,0,0,0,0,0,0,68,73,83,0,0,0,0,0,84,66], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+61440);
/* memory initializer */ allocate([78,80,0,0,0,0,0,0,87,105,100,103,101,116,0,0,80,114,105,110,116,101,114,77,97,114,107,0,0,0,0,0,84,114,97,112,78,101,116,0,87,97,116,101,114,109,97,114,107,0,0,0,0,0,0,0,49,49,65,110,110,111,116,66,111,114,100,101,114,0,0,0,88,113,4,0,64,24,1,0,53,65,110,110,111,116,0,0,88,113,4,0,88,24,1,0,49,48,65,110,110,111,116,80,111,112,117,112,0,0,0,0,128,113,4,0,104,24,1,0,96,24,1,0,0,0,0,0,49,49,65,110,110,111,116,77,97,114,107,117,112,0,0,0,128,113,4,0,136,24,1,0,96,24,1,0,0,0,0,0,57,65,110,110,111,116,84,101,120,116,0,0,0,0,0,0,128,113,4,0,168,24,1,0,152,24,1,0,0,0,0,0,57,65,110,110,111,116,76,105,110,107,0,0,0,0,0,0,128,113,4,0,200,24,1,0,96,24,1,0,0,0,0,0,49,51,65,110,110,111,116,70,114,101,101,84,101,120,116,0,128,113,4,0,232,24,1,0,152,24,1,0,0,0,0,0,57,65,110,110,111,116,76,105,110,101,0,0,0,0,0,0,128,113,4,0,8,25,1,0,152,24,1,0,0,0,0,0,49,53,65,110,110,111,116,84,101,120,116,77,97,114,107,117,112,0,0,0,0,0,0,0,128,113,4,0,40,25,1,0,152,24,1,0,0,0,0,0,49,49,65,110,110,111,116,87,105,100,103,101,116,0,0,0,128,113,4,0,80,25,1,0,96,24,1,0,0,0,0,0,49,48,65,110,110,111,116,77,111,118,105,101,0,0,0,0,128,113,4,0,112,25,1,0,96,24,1,0,0,0,0,0,49,49,65,110,110,111,116,83,99,114,101,101,110,0,0,0,128,113,4,0,144,25,1,0,96,24,1,0,0,0,0,0,49,48,65,110,110,111,116,83,116,97,109,112,0,0,0,0,128,113,4,0,176,25,1,0,152,24,1,0,0,0,0,0,49,51,65,110,110,111,116,71,101,111,109,101,116,114,121,0,128,113,4,0,208,25,1,0,152,24,1,0,0,0,0,0,49,50,65,110,110,111,116,80,111,108,121,103,111,110,0,0,128,113,4,0,240,25,1,0,152,24,1,0,0,0,0,0,49,48,65,110,110,111,116,67,97,114,101,116,0,0,0,0,128,113,4,0,16,26,1,0,152,24,1,0,0,0,0,0,56,65,110,110,111,116,73,110,107,0,0,0,0,0,0,0,128,113,4,0,48,26,1,0,152,24,1,0,0,0,0,0,49,57,65,110,110,111,116,70,105,108,101,65,116,116,97,99,104,109,101,110,116,0,0,0,128,113,4,0,80,26,1,0,152,24,1,0,0,0,0,0,49,48,65,110,110,111,116,83,111,117,110,100,0,0,0,0,128,113,4,0,120,26,1,0,152,24,1,0,0,0,0,0,55,65,110,110,111,116,51,68,0,0,0,0,0,0,0,0,128,113,4,0,152,26,1,0,96,24,1,0,0,0,0,0,49,54,65,110,110,111,116,67,97,108,108,111,117,116,76,105,110,101,0,0,0,0,0,0,88,113,4,0,184,26,1,0,50,49,65,110,110,111,116,67,97,108,108,111,117,116,77,117,108,116,105,76,105,110,101,0,128,113,4,0,216,26,1,0,208,26,1,0,0,0,0,0,49,54,65,110,110,111,116,66,111,114,100,101,114,65,114,114,97,121,0,0,0,0,0,0,128,113,4,0,0,27,1,0,80,24,1,0,0,0,0,0,49,51,65,110,110,111,116,66,111,114,100,101,114,66,83,0,128,113,4,0,40,27,1,0,80,24,1,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,77,97,114,107,117,112,51,68,0,0,0,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,32,111,114,32,37,100,0,0,0,0,0,67,111,117,114,105,101,114,0,67,111,117,114,105,101,114,45,66,111,108,100,0,0,0,0,67,111,117,114,105,101,114,45,66,111,108,100,79,98,108,105,113,117,101,0,0,0,0,0,67,111,117,114,105,101,114,45,79,98,108,105,113,117,101,0,72,101,108,118,101,116,105,99,97,0,0,0,0,0,0,0,72,101,108,118,101,116,105,99,97,45,66,111,108,100,0,0,72,101,108,118,101,116,105,99,97,45,66,111,108,100,79,98,108,105,113,117,101,0,0,0,72,101,108,118,101,116,105,99,97,45,79,98,108,105,113,117,101,0,0,0,0,0,0,0,83,121,109,98,111,108,0,0,84,105,109,101,115,45,66,111,108,100,0,0,0,0,0,0,84,105,109,101,115,45,66,111,108,100,73,116,97,108,105,99,0,0,0,0,0,0,0,0,84,105,109,101,115,45,73,116,97,108,105,99,0,0,0,0,84,105,109,101,115,45,82,111,109,97,110,0,0,0,0,0,90,97,112,102,68,105,110,103,98,97,116,115,0,0,0,0,240,27,1,0,176,36,2,0,117,2,99,255,233,255,6,255,203,2,37,3,0,0,0,0,248,27,1,0,176,36,2,0,117,2,99,255,143,255,6,255,237,2,33,3,0,0,0,0,8,28,1,0,176,36,2,0,117,2,99,255,199,255,6,255,101,3,33,3,0,0,0,0,32,28,1,0,176,36,2,0,117,2,99,255,229,255,6,255,81,3,37,3,0,0,0,0,48,28,1,0,176,36,2,0,206,2,49,255,90,255,31,255,232,3,163,3,0,0,0,0,64,28,1,0,176,36,2,0,206,2,49,255,86,255,28,255,235,3,194,3,0,0,0,0,80,28,1,0,176,36,2,0,206,2,49,255,82,255,28,255,90,4,194,3,0,0,0,0,104,28,1,0,176,36,2,0,206,2,49,255,86,255,31,255,92,4,163,3,0,0,0,0,128,28,1,0,232,46,2,0,242,3,219,254,76,255,219,254,66,4,242,3,0,0,0,0,136,28,1,0,176,36,2,0,171,2,39,255,88,255,38,255,232,3,167,3,0,0,0,0,152,28,1,0,176,36,2,0,171,2,39,255,56,255,38,255,228,3,153,3,0,0,0,0,176,28,1,0,176,36,2,0,171,2,39,255,87,255,39,255,242,3,115,3,0,0,0,0,192,28,1,0,176,36,2,0,171,2,39,255,88,255,38,255,232,3,130,3,0,0,0,0,208,28,1,0,192,56,2,0,52,3,113,255,255,255,113,255,213,3,52,3,0,0,0,0,224,28,1,0,40,29,1,0,248,28,1,0,16,29,1,0,64,29,1,0,136,29,1,0,88,29,1,0,112,29,1,0,0,30,1,0,232,29,1,0,184,29,1,0,208,29,1,0,120,232,1,0,88,2,0,0,0,0,0,0,128,232,1,0,88,2,0,0,0,0,0,0,136,232,1,0,88,2,0,0,0,0,0,0,152,232,1,0,88,2,0,0,0,0,0,0,168,232,1,0,88,2,0,0,0,0,0,0,176,232,1,0,88,2,0,0,0,0,0,0,184,232,1,0,88,2,0,0,0,0,0,0,192,232,1,0,88,2,0,0,0,0,0,0,208,232,1,0,88,2,0,0,0,0,0,0,224,232,1,0,88,2,0,0,0,0,0,0,240,232,1,0,88,2,0,0,0,0,0,0,0,233,1,0,88,2,0,0,0,0,0,0,16,233,1,0,88,2,0,0,0,0,0,0,24,233,1,0,88,2,0,0,0,0,0,0,32,233,1,0,88,2,0,0,0,0,0,0,40,233,1,0,88,2,0,0,0,0,0,0,48,233,1,0,88,2,0,0,0,0,0,0,56,233,1,0,88,2,0,0,0,0,0,0,64,233,1,0,88,2,0,0,0,0,0,0,80,233,1,0,88,2,0,0,0,0,0,0,88,233,1,0,88,2,0,0,0,0,0,0,96,233,1,0,88,2,0,0,0,0,0,0,104,233,1,0,88,2,0,0,0,0,0,0,216,226,1,0,88,2,0,0,0,0,0,0,112,233,1,0,88,2,0,0,0,0,0,0,120,233,1,0,88,2,0,0,0,0,0,0,136,233,1,0,88,2,0,0,0,0,0,0,144,233,1,0,88,2,0,0,0,0,0,0,152,233,1,0,88,2,0,0,0,0,0,0,160,233,1,0,88,2,0,0,0,0,0,0,176,233,1,0,88,2,0,0,0,0,0,0,184,233,1,0,88,2,0,0,0,0,0,0,192,233,1,0,88,2,0,0,0,0,0,0,200,233,1,0,88,2,0,0,0,0,0,0,208,233,1,0,88,2,0,0,0,0,0,0,216,233,1,0,88,2,0,0,0,0,0,0,224,233,1,0,88,2,0,0,0,0,0,0,232,233,1,0,88,2,0,0,0,0,0,0,248,233,1,0,88,2,0,0,0,0,0,0,0,234,1,0,88,2,0,0,0,0,0,0,8,234,1,0,88,2,0,0,0,0,0,0,16,234,1,0,88,2,0,0,0,0,0,0,24,234,1,0,88,2,0,0,0,0,0,0,32,234,1,0,88,2,0,0,0,0,0,0,40,234,1,0,88,2,0,0,0,0,0,0,64,234,1,0,88,2,0,0,0,0,0,0,48,234,1,0,88,2,0,0,0,0,0,0,72,234,1,0,88,2,0,0,0,0,0,0,88,234,1,0,88,2,0,0,0,0,0,0,96,234,1,0,88,2,0,0,0,0,0,0,104,234,1,0,88,2,0,0,0,0,0,0,112,234,1,0,88,2,0,0,0,0,0,0,128,234,1,0,88,2,0,0,0,0,0,0,136,234,1,0,88,2,0,0,0,0,0,0,144,234,1,0,88,2,0,0,0,0,0,0,152,234,1,0,88,2,0,0,0,0,0,0,168,234,1,0,88,2,0,0,0,0,0,0,176,234,1,0,88,2,0,0,0,0,0,0,184,234,1,0,88,2,0,0,0,0,0,0,192,234,1,0,88,2,0,0,0,0,0,0,200,234,1,0,88,2,0,0,0,0,0,0,208,234,1,0,88,2,0,0,0,0,0,0,216,234,1,0,88,2,0,0,0,0,0,0,224,234,1,0,88,2,0,0,0,0,0,0,232,234,1,0,88,2,0,0,0,0,0,0,8,235,1,0,88,2,0,0,0,0,0,0,248,234,1,0,88,2,0,0,0,0,0,0,240,234,1,0,88,2,0,0,0,0,0,0,16,235,1,0,88,2,0,0,0,0,0,0,24,235,1,0,88,2,0,0,0,0,0,0,32,235,1,0,88,2,0,0,0,0,0,0,40,235,1,0,88,2,0,0,0,0,0,0,48,235,1,0,88,2,0,0,0,0,0,0,64,235,1,0,88,2,0,0,0,0,0,0,72,235,1,0,88,2,0,0,0,0,0,0,80,235,1,0,88,2,0,0,0,0,0,0,88,235,1,0,88,2,0,0,0,0,0,0,96,235,1,0,88,2,0,0,0,0,0,0,104,235,1,0,88,2,0,0,0,0,0,0,112,235,1,0,88,2,0,0,0,0,0,0,120,235,1,0,88,2,0,0,0,0,0,0,128,235,1,0,88,2,0,0,0,0,0,0,136,235,1,0,88,2,0,0,0,0,0,0,144,235,1,0,88,2,0,0,0,0,0,0,152,235,1,0,88,2,0,0,0,0,0,0,160,235,1,0,88,2,0,0,0,0,0,0,168,235,1,0,88,2,0,0,0,0,0,0,176,235,1,0,88,2,0,0,0,0,0,0,184,235,1,0,88,2,0,0,0,0,0,0,192,235,1,0,88,2,0,0,0,0,0,0,208,235,1,0,88,2,0,0,0,0,0,0,216,235,1,0,88,2,0,0,0,0,0,0,232,235,1,0,88,2,0,0,0,0,0,0,240,235,1,0,88,2,0,0,0,0,0,0,248,235,1,0,88,2,0,0,0,0,0,0,0,236,1,0,88,2,0,0,0,0,0,0,16,236,1,0,88,2,0,0,0,0,0,0,24,236,1,0,88,2,0,0,0,0,0,0,40,236,1,0,88,2,0,0,0,0,0,0,48,236,1,0,88,2,0,0,0,0,0,0,56,236,1,0,88,2,0,0,0,0,0,0,64,236,1,0,88,2,0,0,0,0,0,0,72,236,1,0,88,2,0,0,0,0,0,0,80,236,1,0,88,2,0,0,0,0,0,0,88,236,1,0,88,2,0,0,0,0,0,0,96,236,1,0,88,2,0,0,0,0,0,0,104,236,1,0,88,2,0,0,0,0,0,0,112,236,1,0,88,2,0,0,0,0,0,0,120,236,1,0,88,2,0,0,0,0,0,0,128,236,1,0,88,2,0,0,0,0,0,0,136,236,1,0,88,2,0,0,0,0,0,0,144,236,1,0,88,2,0,0,0,0,0,0,160,236,1,0,88,2,0,0,0,0,0,0,176,236,1,0,88,2,0,0,0,0,0,0,192,236,1,0,88,2,0,0,0,0,0,0,200,236,1,0,88,2,0,0,0,0,0,0,216,236,1,0,88,2,0,0,0,0,0,0,232,236,1,0,88,2,0,0,0,0,0,0,240,236,1,0,88,2,0,0,0,0,0,0,0,237,1,0,88,2,0,0,0,0,0,0,8,237,1,0,88,2,0,0,0,0,0,0,16,237,1,0,88,2,0,0,0,0,0,0,32,237,1,0,88,2,0,0,0,0,0,0,40,237,1,0,88,2,0,0,0,0,0,0,56,237,1,0,88,2,0,0,0,0,0,0,64,237,1,0,88,2,0,0,0,0,0,0,80,237,1,0,88,2,0,0,0,0,0,0,88,237,1,0,88,2,0,0,0,0,0,0,104,237,1,0,88,2,0,0,0,0,0,0,112,237,1,0,88,2,0,0,0,0,0,0,128,237,1,0,88,2,0,0,0,0,0,0,144,237,1,0,88,2,0,0,0,0,0,0,152,237,1,0,88,2,0,0,0,0,0,0,160,237,1,0,88,2,0,0,0,0,0,0,168,237,1,0,88,2,0,0,0,0,0,0,176,237,1,0,88,2,0,0,0,0,0,0,192,237,1,0,88,2,0,0,0,0,0,0,200,237,1,0,88,2,0,0,0,0,0,0,208,237,1,0,88,2,0,0,0,0,0,0,224,237,1,0,88,2,0,0,0,0,0,0,232,237,1,0,88,2,0,0,0,0,0,0,8,238,1,0,88,2,0,0,0,0,0,0,248,237,1,0,88,2,0,0,0,0,0,0,16,238,1,0,88,2,0,0,0,0,0,0,32,238,1,0,88,2,0,0,0,0,0,0,40,238,1,0,88,2,0,0,0,0,0,0,56,238,1,0,88,2,0,0,0,0,0,0,64,238,1,0,88,2,0,0,0,0,0,0,72,238,1,0,88,2,0,0,0,0,0,0,80,238,1,0,88,2,0,0,0,0,0,0,88,238,1,0,88,2,0,0,0,0,0,0,104,238,1,0,88,2,0,0,0,0,0,0,120,238,1,0,88,2,0,0,0,0,0,0,136,238,1,0,88,2,0,0,0,0,0,0,144,238,1,0,88,2,0,0,0,0,0,0,152,238,1,0,88,2,0,0,0,0,0,0,168,238,1,0,88,2,0,0,0,0,0,0,176,238,1,0,88,2,0,0,0,0,0,0,192,238,1,0,88,2,0,0,0,0,0,0,208,238,1,0,88,2,0,0,0,0,0,0,216,238,1,0,88,2,0,0,0,0,0,0,224,238,1,0,88,2,0,0,0,0,0,0,240,238,1,0,88,2,0,0,0,0,0,0,0,239,1,0,88,2,0,0,0,0,0,0,16,239,1,0,88,2,0,0,0,0,0,0,24,239,1,0,88,2,0,0,0,0,0,0,40,239,1,0,88,2,0,0,0,0,0,0,56,239,1,0,88,2,0,0,0,0,0,0,72,239,1,0,88,2,0,0,0,0,0,0,88,239,1,0,88,2,0,0,0,0,0,0,96,239,1,0,88,2,0,0,0,0,0,0,104,239,1,0,88,2,0,0,0,0,0,0,112,239,1,0,88,2,0,0,0,0,0,0,128,239,1,0,88,2,0,0,0,0,0,0,136,239,1,0,88,2,0,0,0,0,0,0,152,239,1,0,88,2,0,0,0,0,0,0,168,239,1,0,88,2,0,0,0,0,0,0,176,239,1,0,88,2,0,0,0,0,0,0,184,239,1,0,88,2,0,0,0,0,0,0,200,239,1,0,88,2,0,0,0,0,0,0,216,239,1,0,88,2,0,0,0,0,0,0,224,239,1,0,88,2,0,0,0,0,0,0,240,239,1,0,88,2,0,0,0,0,0,0,232,239,1,0,88,2,0,0,0,0,0,0,248,239,1,0,88,2,0,0,0,0,0,0,8,240,1,0,88,2,0,0,0,0,0,0,16,240,1,0,88,2,0,0,0,0,0,0,32,240,1,0,88,2,0,0,0,0,0,0,48,240,1,0,88,2,0,0,0,0,0,0,64,240,1,0,88,2,0,0,0,0,0,0,80,240,1,0,88,2,0,0,0,0,0,0,96,240,1,0,88,2,0,0,0,0,0,0,104,240,1,0,88,2,0,0,0,0,0,0,112,240,1,0,88,2,0,0,0,0,0,0,120,240,1,0,88,2,0,0,0,0,0,0,136,240,1,0,88,2,0,0,0,0,0,0,144,240,1,0,88,2,0,0,0,0,0,0,168,240,1,0,88,2,0,0,0,0,0,0,152,240,1,0,88,2,0,0,0,0,0,0,176,240,1,0,88,2,0,0,0,0,0,0,184,240,1,0,88,2,0,0,0,0,0,0,208,240,1,0,88,2,0,0,0,0,0,0,200,240,1,0,88,2,0,0,0,0,0,0,216,240,1,0,88,2,0,0,0,0,0,0,232,240,1,0,88,2,0,0,0,0,0,0,240,240,1,0,88,2,0,0,0,0,0,0,0,241,1,0,88,2,0,0,0,0,0,0,8,241,1,0,88,2,0,0,0,0,0,0,16,241,1,0,88,2,0,0,0,0,0,0,32,241,1,0,88,2,0,0,0,0,0,0,48,241,1,0,88,2,0,0,0,0,0,0,56,241,1,0,88,2,0,0,0,0,0,0,88,241,1,0,88,2,0,0,0,0,0,0,80,241,1,0,88,2,0,0,0,0,0,0,64,241,1,0,88,2,0,0,0,0,0,0,104,241,1,0,88,2,0,0,0,0,0,0,112,241,1,0,88,2,0,0,0,0,0,0,120,241,1,0,88,2,0,0,0,0,0,0,128,241,1,0,88,2,0,0,0,0,0,0,136,241,1,0,88,2,0,0,0,0,0,0,144,241,1,0,88,2,0,0,0,0,0,0,152,241,1,0,88,2,0,0,0,0,0,0,160,241,1,0,88,2,0,0,0,0,0,0,176,241,1,0,88,2,0,0,0,0,0,0,184,241,1,0,88,2,0,0,0,0,0,0,192,241,1,0,88,2,0,0,0,0,0,0,200,241,1,0,88,2,0,0,0,0,0,0,208,241,1,0,88,2,0,0,0,0,0,0,224,241,1,0,88,2,0,0,0,0,0,0,232,241,1,0,88,2,0,0,0,0,0,0,240,241,1,0,88,2,0,0,0,0,0,0,248,241,1,0,88,2,0,0,0,0,0,0,8,242,1,0,88,2,0,0,0,0,0,0,16,242,1,0,88,2,0,0,0,0,0,0,24,242,1,0,88,2,0,0,0,0,0,0,40,242,1,0,88,2,0,0,0,0,0,0,48,242,1,0,88,2,0,0,0,0,0,0,56,242,1,0,88,2,0,0,0,0,0,0,72,242,1,0,88,2,0,0,0,0,0,0,80,242,1,0,88,2,0,0,0,0,0,0,88,242,1,0,88,2,0,0,0,0,0,0,96,242,1,0,88,2,0,0,0,0,0,0,112,242,1,0,88,2,0,0,0,0,0,0,128,242,1,0,88,2,0,0,0,0,0,0,136,242,1,0,88,2,0,0,0,0,0,0,144,242,1,0,88,2,0,0,0,0,0,0,152,242,1,0,88,2,0,0,0,0,0,0,176,242,1,0,88,2,0,0,0,0,0,0,168,242,1,0,88,2,0,0,0,0,0,0,200,242,1,0,88,2,0,0,0,0,0,0,192,242,1,0,88,2,0,0,0,0,0,0,208,242,1,0,88,2,0,0,0,0,0,0,216,242,1,0,88,2,0,0,0,0,0,0,224,242,1,0,88,2,0,0,0,0,0,0,232,242,1,0,88,2,0,0,0,0,0,0,248,242,1,0,88,2,0,0,0,0,0,0,8,243,1,0,88,2,0,0,0,0,0,0,16,243,1,0,88,2,0,0,0,0,0,0,32,243,1,0,88,2,0,0,0,0,0,0,48,243,1,0,88,2,0,0,0,0,0,0,56,243,1,0,88,2,0,0,0,0,0,0,64,243,1,0,88,2,0,0,0,0,0,0,88,243,1,0,88,2,0,0,0,0,0,0,80,243,1,0,88,2,0,0,0,0,0,0,104,243,1,0,88,2,0,0,0,0,0,0,112,243,1,0,88,2,0,0,0,0,0,0,120,243,1,0,88,2,0,0,0,0,0,0,128,243,1,0,88,2,0,0,0,0,0,0,144,243,1,0,88,2,0,0,0,0,0,0,152,243,1,0,88,2,0,0,0,0,0,0,160,243,1,0,88,2,0,0,0,0,0,0,176,243,1,0,88,2,0,0,0,0,0,0,184,243,1,0,88,2,0,0,0,0,0,0,200,243,1,0,88,2,0,0,0,0,0,0,216,243,1,0,88,2,0,0,0,0,0,0,240,243,1,0,88,2,0,0,0,0,0,0,232,243,1,0,88,2,0,0,0,0,0,0,248,243,1,0,88,2,0,0,0,0,0,0,0,244,1,0,88,2,0,0,0,0,0,0,16,244,1,0,88,2,0,0,0,0,0,0,32,244,1,0,88,2,0,0,0,0,0,0,48,244,1,0,88,2,0,0,0,0,0,0,64,244,1,0,88,2,0,0,0,0,0,0,72,244,1,0,88,2,0,0,0,0,0,0,88,244,1,0,88,2,0,0,0,0,0,0,104,244,1,0,88,2,0,0,0,0,0,0,120,244,1,0,88,2,0,0,0,0,0,0,128,244,1,0,88,2,0,0,0,0,0,0,152,244,1,0,88,2,0,0,0,0,0,0,136,244,1,0,88,2,0,0,0,0,0,0,168,244,1,0,88,2,0,0,0,0,0,0,184,244,1,0,88,2,0,0,0,0,0,0,192,244,1,0,88,2,0,0,0,0,0,0,200,244,1,0,88,2,0,0,0,0,0,0,208,244,1,0,88,2,0,0,0,0,0,0,216,244,1,0,88,2,0,0,0,0,0,0,232,244,1,0,88,2,0,0,0,0,0,0,248,244,1,0,88,2,0,0,0,0,0,0,8,245,1,0,88,2,0,0,0,0,0,0,16,245,1,0,88,2,0,0,0,0,0,0,24,245,1,0,88,2,0,0,0,0,0,0,32,245,1,0,88,2,0,0,0,0,0,0,48,245,1,0,88,2,0,0,0,0,0,0,56,245,1,0,88,2,0,0,0,0,0,0,64,245,1,0,88,2,0,0,0,0,0,0,80,245,1,0,88,2,0,0,0,0,0,0,88,245,1,0,88,2,0,0,0,0,0,0,96,245,1,0,88,2,0,0,0,0,0,0,104,245,1,0,88,2,0,0,0,0,0,0,120,245,1,0,88,2,0,0,0,0,0,0,128,245,1,0,88,2,0,0,0,0,0,0,136,245,1,0,88,2,0,0,0,0,0,0,152,245,1,0,88,2,0,0,0,0,0,0,168,245,1,0,88,2,0,0,0,0,0,0,184,245,1,0,88,2,0,0,0,0,0,0,0,0,0,0,120,232,1,0,88,2,0,0,0,0,0,0,128,232,1,0,88,2,0,0,0,0,0,0,136,232,1,0,88,2,0,0,0,0,0,0,152,232,1,0,88,2,0,0,0,0,0,0,168,232,1,0,88,2,0,0,0,0,0,0,176,232,1,0,88,2,0,0,0,0,0,0,184,232,1,0,88,2,0,0,0,0,0,0,192,232,1,0,88,2,0,0,0,0,0,0,208,232,1,0,88,2,0,0,0,0,0,0,224,232,1,0,88,2,0,0,0,0,0,0,240,232,1,0,88,2,0,0,0,0,0,0,0,233,1,0,88,2,0,0,0,0,0,0,16,233,1,0,88,2,0,0,0,0,0,0,24,233,1,0,88,2,0,0,0,0,0,0,32,233,1,0,88,2,0,0,0,0,0,0,40,233,1,0,88,2,0,0,0,0,0,0,48,233,1,0,88,2,0,0,0,0,0,0,56,233,1,0,88,2,0,0,0,0,0,0,64,233,1,0,88,2,0,0,0,0,0,0,80,233,1,0,88,2,0,0,0,0,0,0,88,233,1,0,88,2,0,0,0,0,0,0,96,233,1,0,88,2,0,0,0,0,0,0,104,233,1,0,88,2,0,0,0,0,0,0,216,226,1,0,88,2,0,0,0,0,0,0,112,233,1,0,88,2,0,0,0,0,0,0,120,233,1,0,88,2,0,0,0,0,0,0,136,233,1,0,88,2,0,0,0,0,0,0,144,233,1,0,88,2,0,0,0,0,0,0,152,233,1,0,88,2,0,0,0,0,0,0,160,233,1,0,88,2,0,0,0,0,0,0,176,233,1,0,88,2,0,0,0,0,0,0,184,233,1,0,88,2,0,0,0,0,0,0,192,233,1,0,88,2,0,0,0,0,0,0,200,233,1,0,88,2,0,0,0,0,0,0,208,233,1,0,88,2,0,0,0,0,0,0,216,233,1,0,88,2,0,0,0,0,0,0,224,233,1,0,88,2,0,0,0,0,0,0,232,233,1,0,88,2,0,0,0,0,0,0,248,233,1,0,88,2,0,0,0,0,0,0,0,234,1,0,88,2,0,0,0,0,0,0,8,234,1,0,88,2,0,0,0,0,0,0,16,234,1,0,88,2,0,0,0,0,0,0,24,234,1,0,88,2,0,0,0,0,0,0,32,234,1,0,88,2,0,0,0,0,0,0,40,234,1,0,88,2,0,0,0,0,0,0,48,234,1,0,88,2,0,0,0,0,0,0,64,234,1,0,88,2,0,0,0,0,0,0,72,234,1,0,88,2,0,0,0,0,0,0,88,234,1,0,88,2,0,0,0,0,0,0,96,234,1,0,88,2,0,0,0,0,0,0,104,234,1,0,88,2,0,0,0,0,0,0,112,234,1,0,88,2,0,0,0,0,0,0,128,234,1,0,88,2,0,0,0,0,0,0,136,234,1,0,88,2,0,0,0,0,0,0,144,234,1,0,88,2,0,0,0,0,0,0,152,234,1,0,88,2,0,0,0,0,0,0,168,234,1,0,88,2,0,0,0,0,0,0,176,234,1,0,88,2,0,0,0,0,0,0,184,234,1,0,88,2,0,0,0,0,0,0,192,234,1,0,88,2,0,0,0,0,0,0,200,234,1,0,88,2,0,0,0,0,0,0,208,234,1,0,88,2,0,0,0,0,0,0,216,234,1,0,88,2,0,0,0,0,0,0,224,234,1,0,88,2,0,0,0,0,0,0,232,234,1,0,88,2,0,0,0,0,0,0,240,234,1,0,88,2,0,0,0,0,0,0,248,234,1,0,88,2,0,0,0,0,0,0,8,235,1,0,88,2,0,0,0,0,0,0,16,235,1,0,88,2,0,0,0,0,0,0,24,235,1,0,88,2,0,0,0,0,0,0,32,235,1,0,88,2,0,0,0,0,0,0,40,235,1,0,88,2,0,0,0,0,0,0,48,235,1,0,88,2,0,0,0,0,0,0,64,235,1,0,88,2,0,0,0,0,0,0,72,235,1,0,88,2,0,0,0,0,0,0,80,235,1,0,88,2,0,0,0,0,0,0,88,235,1,0,88,2,0,0,0,0,0,0,96,235,1,0,88,2,0,0,0,0,0,0,104,235,1,0,88,2,0,0,0,0,0,0,112,235,1,0,88,2,0,0,0,0,0,0,120,235,1,0,88,2,0,0,0,0,0,0,128,235,1,0,88,2,0,0,0,0,0,0,136,235,1,0,88,2,0,0,0,0,0,0,144,235,1,0,88,2,0,0,0,0,0,0,152,235,1,0,88,2,0,0,0,0,0,0,160,235,1,0,88,2,0,0,0,0,0,0,168,235,1,0,88,2,0,0,0,0,0,0,176,235,1,0,88,2,0,0,0,0,0,0,184,235,1,0,88,2,0,0,0,0,0,0,192,235,1,0,88,2,0,0,0,0,0,0,208,235,1,0,88,2,0,0,0,0,0,0,216,235,1,0,88,2,0,0,0,0,0,0,232,235,1,0,88,2,0,0,0,0,0,0,240,235,1,0,88,2,0,0,0,0,0,0,248,235,1,0,88,2,0,0,0,0,0,0,0,236,1,0,88,2,0,0,0,0,0,0,16,236,1,0,88,2,0,0,0,0,0,0,24,236,1,0,88,2,0,0,0,0,0,0,40,236,1,0,88,2,0,0,0,0,0,0,48,236,1,0,88,2,0,0,0,0,0,0,56,236,1,0,88,2,0,0,0,0,0,0,64,236,1,0,88,2,0,0,0,0,0,0,72,236,1,0,88,2,0,0,0,0,0,0,80,236,1,0,88,2,0,0,0,0,0,0,88,236,1,0,88,2,0,0,0,0,0,0,96,236,1,0,88,2,0,0,0,0,0,0,104,236,1,0,88,2,0,0,0,0,0,0,112,236,1,0,88,2,0,0,0,0,0,0,120,236,1,0,88,2,0,0,0,0,0,0,128,236,1,0,88,2,0,0,0,0,0,0,136,236,1,0,88,2,0,0,0,0,0,0,144,236,1,0,88,2,0,0,0,0,0,0,160,236,1,0,88,2,0,0,0,0,0,0,176,236,1,0,88,2,0,0,0,0,0,0,192,236,1,0,88,2,0,0,0,0,0,0,200,236,1,0,88,2,0,0,0,0,0,0,216,236,1,0,88,2,0,0,0,0,0,0,232,236,1,0,88,2,0,0,0,0,0,0,240,236,1,0,88,2,0,0,0,0,0,0,0,237,1,0,88,2,0,0,0,0,0,0,8,237,1,0,88,2,0,0,0,0,0,0,16,237,1,0,88,2,0,0,0,0,0,0,32,237,1,0,88,2,0,0,0,0,0,0,40,237,1,0,88,2,0,0,0,0,0,0,56,237,1,0,88,2,0,0,0,0,0,0,64,237,1,0,88,2,0,0,0,0,0,0,80,237,1,0,88,2,0,0,0,0,0,0,88,237,1,0,88,2,0,0,0,0,0,0,104,237,1,0,88,2,0,0,0,0,0,0,112,237,1,0,88,2,0,0,0,0,0,0,128,237,1,0,88,2,0,0,0,0,0,0,144,237,1,0,88,2,0,0,0,0,0,0,152,237,1,0,88,2,0,0,0,0,0,0,160,237,1,0,88,2,0,0,0,0,0,0,168,237,1,0,88,2,0,0,0,0,0,0,176,237,1,0,88,2,0,0,0,0,0,0,192,237,1,0,88,2,0,0,0,0,0,0,200,237,1,0,88,2,0,0,0,0,0,0,208,237,1,0,88,2,0,0,0,0,0,0,224,237,1,0,88,2,0,0,0,0,0,0,232,237,1,0,88,2,0,0,0,0,0,0,248,237,1,0,88,2,0,0,0,0,0,0,8,238,1,0,88,2,0,0,0,0,0,0,16,238,1,0,88,2,0,0,0,0,0,0,32,238,1,0,88,2,0,0,0,0,0,0,40,238,1,0,88,2,0,0,0,0,0,0,56,238,1,0,88,2,0,0,0,0,0,0,64,238,1,0,88,2,0,0,0,0,0,0,72,238,1,0,88,2,0,0,0,0,0,0,80,238,1,0,88,2,0,0,0,0,0,0,88,238,1,0,88,2,0,0,0,0,0,0,104,238,1,0,88,2,0,0,0,0,0,0,120,238,1,0,88,2,0,0,0,0,0,0,136,238,1,0,88,2,0,0,0,0,0,0,144,238,1,0,88,2,0,0,0,0,0,0,152,238,1,0,88,2,0,0,0,0,0,0,168,238,1,0,88,2,0,0,0,0,0,0,176,238,1,0,88,2,0,0,0,0,0,0,192,238,1,0,88,2,0,0,0,0,0,0,208,238,1,0,88,2,0,0,0,0,0,0,216,238,1,0,88,2,0,0,0,0,0,0,224,238,1,0,88,2,0,0,0,0,0,0,240,238,1,0,88,2,0,0,0,0,0,0,0,239,1,0,88,2,0,0,0,0,0,0,16,239,1,0,88,2,0,0,0,0,0,0,24,239,1,0,88,2,0,0,0,0,0,0,40,239,1,0,88,2,0,0,0,0,0,0,56,239,1,0,88,2,0,0,0,0,0,0,72,239,1,0,88,2,0,0,0,0,0,0,88,239,1,0,88,2,0,0,0,0,0,0,96,239,1,0,88,2,0,0,0,0,0,0,104,239,1,0,88,2,0,0,0,0,0,0,112,239,1,0,88,2,0,0,0,0,0,0,128,239,1,0,88,2,0,0,0,0,0,0,136,239,1,0,88,2,0,0,0,0,0,0,152,239,1,0,88,2,0,0,0,0,0,0,168,239,1,0,88,2,0,0,0,0,0,0,176,239,1,0,88,2,0,0,0,0,0,0,184,239,1,0,88,2,0,0,0,0,0,0,200,239,1,0,88,2,0,0,0,0,0,0,216,239,1,0,88,2,0,0,0,0,0,0,224,239,1,0,88,2,0,0,0,0,0,0,232,239,1,0,88,2,0,0,0,0,0,0,240,239,1,0,88,2,0,0,0,0,0,0,248,239,1,0,88,2,0,0,0,0,0,0,8,240,1,0,88,2,0,0,0,0,0,0,16,240,1,0,88,2,0,0,0,0,0,0,32,240,1,0,88,2,0,0,0,0,0,0,48,240,1,0,88,2,0,0,0,0,0,0,64,240,1,0,88,2,0,0,0,0,0,0,80,240,1,0,88,2,0,0,0,0,0,0,96,240,1,0,88,2,0,0,0,0,0,0,104,240,1,0,88,2,0,0,0,0,0,0,112,240,1,0,88,2,0,0,0,0,0,0,120,240,1,0,88,2,0,0,0,0,0,0,136,240,1,0,88,2,0,0,0,0,0,0,144,240,1,0,88,2,0,0,0,0,0,0,152,240,1,0,88,2,0,0,0,0,0,0,168,240,1,0,88,2,0,0,0,0,0,0,176,240,1,0,88,2,0,0,0,0,0,0,184,240,1,0,88,2,0,0,0,0,0,0,200,240,1,0,88,2,0,0,0,0,0,0,208,240,1,0,88,2,0,0,0,0,0,0,216,240,1,0,88,2,0,0,0,0,0,0,232,240,1,0,88,2,0,0,0,0,0,0,240,240,1,0,88,2,0,0,0,0,0,0,0,241,1,0,88,2,0,0,0,0,0,0,8,241,1,0,88,2,0,0,0,0,0,0,16,241,1,0,88,2,0,0,0,0,0,0,32,241,1,0,88,2,0,0,0,0,0,0,48,241,1,0,88,2,0,0,0,0,0,0,56,241,1,0,88,2,0,0,0,0,0,0,64,241,1,0,88,2,0,0,0,0,0,0,80,241,1,0,88,2,0,0,0,0,0,0,88,241,1,0,88,2,0,0,0,0,0,0,104,241,1,0,88,2,0,0,0,0,0,0,112,241,1,0,88,2,0,0,0,0,0,0,120,241,1,0,88,2,0,0,0,0,0,0,128,241,1,0,88,2,0,0,0,0,0,0,136,241,1,0,88,2,0,0,0,0,0,0,144,241,1,0,88,2,0,0,0,0,0,0,152,241,1,0,88,2,0,0,0,0,0,0,160,241,1,0,88,2,0,0,0,0,0,0,176,241,1,0,88,2,0,0,0,0,0,0,184,241,1,0,88,2,0,0,0,0,0,0,192,241,1,0,88,2,0,0,0,0,0,0,200,241,1,0,88,2,0,0,0,0,0,0,208,241,1,0,88,2,0,0,0,0,0,0,224,241,1,0,88,2,0,0,0,0,0,0,232,241,1,0,88,2,0,0,0,0,0,0,240,241,1,0,88,2,0,0,0,0,0,0,248,241,1,0,88,2,0,0,0,0,0,0,8,242,1,0,88,2,0,0,0,0,0,0,16,242,1,0,88,2,0,0,0,0,0,0,24,242,1,0,88,2,0,0,0,0,0,0,40,242,1,0,88,2,0,0,0,0,0,0,48,242,1,0,88,2,0,0,0,0,0,0,56,242,1,0,88,2,0,0,0,0,0,0,72,242,1,0,88,2,0,0,0,0,0,0,80,242,1,0,88,2,0,0,0,0,0,0,88,242,1,0,88,2,0,0,0,0,0,0,96,242,1,0,88,2,0,0,0,0,0,0,112,242,1,0,88,2,0,0,0,0,0,0,128,242,1,0,88,2,0,0,0,0,0,0,136,242,1,0,88,2,0,0,0,0,0,0,144,242,1,0,88,2,0,0,0,0,0,0,152,242,1,0,88,2,0,0,0,0,0,0,168,242,1,0,88,2,0,0,0,0,0,0,176,242,1,0,88,2,0,0,0,0,0,0,192,242,1,0,88,2,0,0,0,0,0,0,200,242,1,0,88,2,0,0,0,0,0,0,208,242,1,0,88,2,0,0,0,0,0,0,216,242,1,0,88,2,0,0,0,0,0,0,224,242,1,0,88,2,0,0,0,0,0,0,232,242,1,0,88,2,0,0,0,0,0,0,248,242,1,0,88,2,0,0,0,0,0,0,8,243,1,0,88,2,0,0,0,0,0,0,16,243,1,0,88,2,0,0,0,0,0,0,32,243,1,0,88,2,0,0,0,0,0,0,48,243,1,0,88,2,0,0,0,0,0,0,56,243,1,0,88,2,0,0,0,0,0,0,64,243,1,0,88,2,0,0,0,0,0,0,80,243,1,0,88,2,0,0,0,0,0,0,88,243,1,0,88,2,0,0,0,0,0,0,104,243,1,0,88,2,0,0,0,0,0,0,112,243,1,0,88,2,0,0,0,0,0,0,120,243,1,0,88,2,0,0,0,0,0,0,128,243,1,0,88,2,0,0,0,0,0,0,144,243,1,0,88,2,0,0,0,0,0,0,152,243,1,0,88,2,0,0,0,0,0,0,160,243,1,0,88,2,0,0,0,0,0,0,176,243,1,0,88,2,0,0,0,0,0,0,184,243,1,0,88,2,0,0,0,0,0,0,200,243,1,0,88,2,0,0,0,0,0,0,216,243,1,0,88,2,0,0,0,0,0,0,232,243,1,0,88,2,0,0,0,0,0,0,240,243,1,0,88,2,0,0,0,0,0,0,248,243,1,0,88,2,0,0,0,0,0,0,0,244,1,0,88,2,0,0,0,0,0,0,16,244,1,0,88,2,0,0,0,0,0,0,32,244,1,0,88,2,0,0,0,0,0,0,48,244,1,0,88,2,0,0,0,0,0,0,64,244,1,0,88,2,0,0,0,0,0,0,72,244,1,0,88,2,0,0,0,0,0,0,88,244,1,0,88,2,0,0,0,0,0,0,104,244,1,0,88,2,0,0,0,0,0,0,120,244,1,0,88,2,0,0,0,0,0,0,128,244,1,0,88,2,0,0,0,0,0,0,136,244,1,0,88,2,0,0,0,0,0,0,152,244,1,0,88,2,0,0,0,0,0,0,168,244,1,0,88,2,0,0,0,0,0,0,184,244,1,0,88,2,0,0,0,0,0,0,192,244,1,0,88,2,0,0,0,0,0,0,200,244,1,0,88,2,0,0,0,0,0,0,208,244,1,0,88,2,0,0,0,0,0,0,216,244,1,0,88,2,0,0,0,0,0,0,232,244,1,0,88,2,0,0,0,0,0,0,248,244,1,0,88,2,0,0,0,0,0,0,8,245,1,0,88,2,0,0,0,0,0,0,16,245,1,0,88,2,0,0,0,0,0,0,24,245,1,0,88,2,0,0,0,0,0,0,32,245,1,0,88,2,0,0,0,0,0,0,48,245,1,0,88,2,0,0,0,0,0,0,56,245,1,0,88,2,0,0,0,0,0,0,64,245,1,0,88,2,0,0,0,0,0,0,80,245,1,0,88,2,0,0,0,0,0,0,88,245,1,0,88,2,0,0,0,0,0,0,96,245,1,0,88,2,0,0,0,0,0,0,104,245,1,0,88,2,0,0,0,0,0,0,120,245,1,0,88,2,0,0,0,0,0,0,128,245,1,0,88,2,0,0,0,0,0,0,136,245,1,0,88,2,0,0,0,0,0,0,152,245,1,0,88,2,0,0,0,0,0,0,168,245,1,0,88,2,0,0,0,0,0,0,184,245,1,0,88,2,0,0,0,0,0,0,0,0,0,0,120,232,1,0,88,2,0,0,0,0,0,0,128,232,1,0,88,2,0,0,0,0,0,0,136,232,1,0,88,2,0,0,0,0,0,0,152,232,1,0,88,2,0,0,0,0,0,0,168,232,1,0,88,2,0,0,0,0,0,0,176,232,1,0,88,2,0,0,0,0,0,0,184,232,1,0,88,2,0,0,0,0,0,0,192,232,1,0,88,2,0,0,0,0,0,0,208,232,1,0,88,2,0,0,0,0,0,0,224,232,1,0,88,2,0,0,0,0,0,0,240,232,1,0,88,2,0,0,0,0,0,0,0,233,1,0,88,2,0,0,0,0,0,0,16,233,1,0,88,2,0,0,0,0,0,0,24,233,1,0,88,2,0,0,0,0,0,0,32,233,1,0,88,2,0,0,0,0,0,0,40,233,1,0,88,2,0,0,0,0,0,0,48,233,1,0,88,2,0,0,0,0,0,0,56,233,1,0,88,2,0,0,0,0,0,0,64,233,1,0,88,2,0,0,0,0,0,0,80,233,1,0,88,2,0,0,0,0,0,0,88,233,1,0,88,2,0,0,0,0,0,0,96,233,1,0,88,2,0,0,0,0,0,0,104,233,1,0,88,2,0,0,0,0,0,0,216,226,1,0,88,2,0,0,0,0,0,0,112,233,1,0,88,2,0,0,0,0,0,0,120,233,1,0,88,2,0,0,0,0,0,0,136,233,1,0,88,2,0,0,0,0,0,0,144,233,1,0,88,2,0,0,0,0,0,0,152,233,1,0,88,2,0,0,0,0,0,0,160,233,1,0,88,2,0,0,0,0,0,0,176,233,1,0,88,2,0,0,0,0,0,0,184,233,1,0,88,2,0,0,0,0,0,0,192,233,1,0,88,2,0,0,0,0,0,0,200,233,1,0,88,2,0,0,0,0,0,0,208,233,1,0,88,2,0,0,0,0,0,0,216,233,1,0,88,2,0,0,0,0,0,0,224,233,1,0,88,2,0,0,0,0,0,0,232,233,1,0,88,2,0,0,0,0,0,0,248,233,1,0,88,2,0,0,0,0,0,0,0,234,1,0,88,2,0,0,0,0,0,0,8,234,1,0,88,2,0,0,0,0,0,0,16,234,1,0,88,2,0,0,0,0,0,0,24,234,1,0,88,2,0,0,0,0,0,0,32,234,1,0,88,2,0,0,0,0,0,0,40,234,1,0,88,2,0,0,0,0,0,0,48,234,1,0,88,2,0,0,0,0,0,0,64,234,1,0,88,2,0,0,0,0,0,0,72,234,1,0,88,2,0,0,0,0,0,0,88,234,1,0,88,2,0,0,0,0,0,0,96,234,1,0,88,2,0,0,0,0,0,0,104,234,1,0,88,2,0,0,0,0,0,0,112,234,1,0,88,2,0,0,0,0,0,0,128,234,1,0,88,2,0,0,0,0,0,0,136,234,1,0,88,2,0,0,0,0,0,0,144,234,1,0,88,2,0,0,0,0,0,0,152,234,1,0,88,2,0,0,0,0,0,0,168,234,1,0,88,2,0,0,0,0,0,0,176,234,1,0,88,2,0,0,0,0,0,0,184,234,1,0,88,2,0,0,0,0,0,0,192,234,1,0,88,2,0,0,0,0,0,0,200,234,1,0,88,2,0,0,0,0,0,0,208,234,1,0,88,2,0,0,0,0,0,0,216,234,1,0,88,2,0,0,0,0,0,0,224,234,1,0,88,2,0,0,0,0,0,0,232,234,1,0,88,2,0,0,0,0,0,0,240,234,1,0,88,2,0,0,0,0,0,0,248,234,1,0,88,2,0,0,0,0,0,0,8,235,1,0,88,2,0,0,0,0,0,0,16,235,1,0,88,2,0,0,0,0,0,0,24,235,1,0,88,2,0,0,0,0,0,0,32,235,1,0,88,2,0,0,0,0,0,0,40,235,1,0,88,2,0,0,0,0,0,0,48,235,1,0,88,2,0,0,0,0,0,0,64,235,1,0,88,2,0,0,0,0,0,0,72,235,1,0,88,2,0,0,0,0,0,0,80,235,1,0,88,2,0,0,0,0,0,0,88,235,1,0,88,2,0,0,0,0,0,0,96,235,1,0,88,2,0,0,0,0,0,0,104,235,1,0,88,2,0,0,0,0,0,0,112,235,1,0,88,2,0,0,0,0,0,0,120,235,1,0,88,2,0,0,0,0,0,0,128,235,1,0,88,2,0,0,0,0,0,0,136,235,1,0,88,2,0,0,0,0,0,0,144,235,1,0,88,2,0,0,0,0,0,0,152,235,1,0,88,2,0,0,0,0,0,0,160,235,1,0,88,2,0,0,0,0,0,0,168,235,1,0,88,2,0,0,0,0,0,0,176,235,1], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+71680);
/* memory initializer */ allocate([88,2,0,0,0,0,0,0,184,235,1,0,88,2,0,0,0,0,0,0,192,235,1,0,88,2,0,0,0,0,0,0,208,235,1,0,88,2,0,0,0,0,0,0,216,235,1,0,88,2,0,0,0,0,0,0,232,235,1,0,88,2,0,0,0,0,0,0,240,235,1,0,88,2,0,0,0,0,0,0,248,235,1,0,88,2,0,0,0,0,0,0,0,236,1,0,88,2,0,0,0,0,0,0,16,236,1,0,88,2,0,0,0,0,0,0,24,236,1,0,88,2,0,0,0,0,0,0,40,236,1,0,88,2,0,0,0,0,0,0,48,236,1,0,88,2,0,0,0,0,0,0,56,236,1,0,88,2,0,0,0,0,0,0,64,236,1,0,88,2,0,0,0,0,0,0,72,236,1,0,88,2,0,0,0,0,0,0,80,236,1,0,88,2,0,0,0,0,0,0,88,236,1,0,88,2,0,0,0,0,0,0,96,236,1,0,88,2,0,0,0,0,0,0,104,236,1,0,88,2,0,0,0,0,0,0,112,236,1,0,88,2,0,0,0,0,0,0,120,236,1,0,88,2,0,0,0,0,0,0,128,236,1,0,88,2,0,0,0,0,0,0,136,236,1,0,88,2,0,0,0,0,0,0,144,236,1,0,88,2,0,0,0,0,0,0,160,236,1,0,88,2,0,0,0,0,0,0,176,236,1,0,88,2,0,0,0,0,0,0,192,236,1,0,88,2,0,0,0,0,0,0,200,236,1,0,88,2,0,0,0,0,0,0,216,236,1,0,88,2,0,0,0,0,0,0,232,236,1,0,88,2,0,0,0,0,0,0,240,236,1,0,88,2,0,0,0,0,0,0,0,237,1,0,88,2,0,0,0,0,0,0,8,237,1,0,88,2,0,0,0,0,0,0,16,237,1,0,88,2,0,0,0,0,0,0,32,237,1,0,88,2,0,0,0,0,0,0,40,237,1,0,88,2,0,0,0,0,0,0,56,237,1,0,88,2,0,0,0,0,0,0,64,237,1,0,88,2,0,0,0,0,0,0,80,237,1,0,88,2,0,0,0,0,0,0,88,237,1,0,88,2,0,0,0,0,0,0,104,237,1,0,88,2,0,0,0,0,0,0,112,237,1,0,88,2,0,0,0,0,0,0,128,237,1,0,88,2,0,0,0,0,0,0,144,237,1,0,88,2,0,0,0,0,0,0,152,237,1,0,88,2,0,0,0,0,0,0,160,237,1,0,88,2,0,0,0,0,0,0,168,237,1,0,88,2,0,0,0,0,0,0,176,237,1,0,88,2,0,0,0,0,0,0,192,237,1,0,88,2,0,0,0,0,0,0,200,237,1,0,88,2,0,0,0,0,0,0,208,237,1,0,88,2,0,0,0,0,0,0,224,237,1,0,88,2,0,0,0,0,0,0,232,237,1,0,88,2,0,0,0,0,0,0,248,237,1,0,88,2,0,0,0,0,0,0,8,238,1,0,88,2,0,0,0,0,0,0,16,238,1,0,88,2,0,0,0,0,0,0,32,238,1,0,88,2,0,0,0,0,0,0,40,238,1,0,88,2,0,0,0,0,0,0,56,238,1,0,88,2,0,0,0,0,0,0,64,238,1,0,88,2,0,0,0,0,0,0,72,238,1,0,88,2,0,0,0,0,0,0,80,238,1,0,88,2,0,0,0,0,0,0,88,238,1,0,88,2,0,0,0,0,0,0,104,238,1,0,88,2,0,0,0,0,0,0,120,238,1,0,88,2,0,0,0,0,0,0,136,238,1,0,88,2,0,0,0,0,0,0,144,238,1,0,88,2,0,0,0,0,0,0,152,238,1,0,88,2,0,0,0,0,0,0,168,238,1,0,88,2,0,0,0,0,0,0,176,238,1,0,88,2,0,0,0,0,0,0,192,238,1,0,88,2,0,0,0,0,0,0,208,238,1,0,88,2,0,0,0,0,0,0,216,238,1,0,88,2,0,0,0,0,0,0,224,238,1,0,88,2,0,0,0,0,0,0,240,238,1,0,88,2,0,0,0,0,0,0,0,239,1,0,88,2,0,0,0,0,0,0,16,239,1,0,88,2,0,0,0,0,0,0,24,239,1,0,88,2,0,0,0,0,0,0,40,239,1,0,88,2,0,0,0,0,0,0,56,239,1,0,88,2,0,0,0,0,0,0,72,239,1,0,88,2,0,0,0,0,0,0,88,239,1,0,88,2,0,0,0,0,0,0,96,239,1,0,88,2,0,0,0,0,0,0,104,239,1,0,88,2,0,0,0,0,0,0,112,239,1,0,88,2,0,0,0,0,0,0,128,239,1,0,88,2,0,0,0,0,0,0,136,239,1,0,88,2,0,0,0,0,0,0,152,239,1,0,88,2,0,0,0,0,0,0,168,239,1,0,88,2,0,0,0,0,0,0,176,239,1,0,88,2,0,0,0,0,0,0,184,239,1,0,88,2,0,0,0,0,0,0,200,239,1,0,88,2,0,0,0,0,0,0,216,239,1,0,88,2,0,0,0,0,0,0,224,239,1,0,88,2,0,0,0,0,0,0,232,239,1,0,88,2,0,0,0,0,0,0,240,239,1,0,88,2,0,0,0,0,0,0,248,239,1,0,88,2,0,0,0,0,0,0,8,240,1,0,88,2,0,0,0,0,0,0,16,240,1,0,88,2,0,0,0,0,0,0,32,240,1,0,88,2,0,0,0,0,0,0,48,240,1,0,88,2,0,0,0,0,0,0,64,240,1,0,88,2,0,0,0,0,0,0,80,240,1,0,88,2,0,0,0,0,0,0,96,240,1,0,88,2,0,0,0,0,0,0,104,240,1,0,88,2,0,0,0,0,0,0,112,240,1,0,88,2,0,0,0,0,0,0,120,240,1,0,88,2,0,0,0,0,0,0,136,240,1,0,88,2,0,0,0,0,0,0,144,240,1,0,88,2,0,0,0,0,0,0,152,240,1,0,88,2,0,0,0,0,0,0,168,240,1,0,88,2,0,0,0,0,0,0,176,240,1,0,88,2,0,0,0,0,0,0,184,240,1,0,88,2,0,0,0,0,0,0,200,240,1,0,88,2,0,0,0,0,0,0,208,240,1,0,88,2,0,0,0,0,0,0,216,240,1,0,88,2,0,0,0,0,0,0,232,240,1,0,88,2,0,0,0,0,0,0,240,240,1,0,88,2,0,0,0,0,0,0,0,241,1,0,88,2,0,0,0,0,0,0,8,241,1,0,88,2,0,0,0,0,0,0,16,241,1,0,88,2,0,0,0,0,0,0,32,241,1,0,88,2,0,0,0,0,0,0,48,241,1,0,88,2,0,0,0,0,0,0,56,241,1,0,88,2,0,0,0,0,0,0,64,241,1,0,88,2,0,0,0,0,0,0,80,241,1,0,88,2,0,0,0,0,0,0,88,241,1,0,88,2,0,0,0,0,0,0,104,241,1,0,88,2,0,0,0,0,0,0,112,241,1,0,88,2,0,0,0,0,0,0,120,241,1,0,88,2,0,0,0,0,0,0,128,241,1,0,88,2,0,0,0,0,0,0,136,241,1,0,88,2,0,0,0,0,0,0,144,241,1,0,88,2,0,0,0,0,0,0,152,241,1,0,88,2,0,0,0,0,0,0,160,241,1,0,88,2,0,0,0,0,0,0,176,241,1,0,88,2,0,0,0,0,0,0,184,241,1,0,88,2,0,0,0,0,0,0,192,241,1,0,88,2,0,0,0,0,0,0,200,241,1,0,88,2,0,0,0,0,0,0,208,241,1,0,88,2,0,0,0,0,0,0,224,241,1,0,88,2,0,0,0,0,0,0,232,241,1,0,88,2,0,0,0,0,0,0,240,241,1,0,88,2,0,0,0,0,0,0,248,241,1,0,88,2,0,0,0,0,0,0,8,242,1,0,88,2,0,0,0,0,0,0,16,242,1,0,88,2,0,0,0,0,0,0,24,242,1,0,88,2,0,0,0,0,0,0,40,242,1,0,88,2,0,0,0,0,0,0,48,242,1,0,88,2,0,0,0,0,0,0,56,242,1,0,88,2,0,0,0,0,0,0,72,242,1,0,88,2,0,0,0,0,0,0,80,242,1,0,88,2,0,0,0,0,0,0,88,242,1,0,88,2,0,0,0,0,0,0,96,242,1,0,88,2,0,0,0,0,0,0,112,242,1,0,88,2,0,0,0,0,0,0,128,242,1,0,88,2,0,0,0,0,0,0,136,242,1,0,88,2,0,0,0,0,0,0,144,242,1,0,88,2,0,0,0,0,0,0,152,242,1,0,88,2,0,0,0,0,0,0,168,242,1,0,88,2,0,0,0,0,0,0,176,242,1,0,88,2,0,0,0,0,0,0,192,242,1,0,88,2,0,0,0,0,0,0,200,242,1,0,88,2,0,0,0,0,0,0,208,242,1,0,88,2,0,0,0,0,0,0,216,242,1,0,88,2,0,0,0,0,0,0,224,242,1,0,88,2,0,0,0,0,0,0,232,242,1,0,88,2,0,0,0,0,0,0,248,242,1,0,88,2,0,0,0,0,0,0,8,243,1,0,88,2,0,0,0,0,0,0,16,243,1,0,88,2,0,0,0,0,0,0,32,243,1,0,88,2,0,0,0,0,0,0,48,243,1,0,88,2,0,0,0,0,0,0,56,243,1,0,88,2,0,0,0,0,0,0,64,243,1,0,88,2,0,0,0,0,0,0,80,243,1,0,88,2,0,0,0,0,0,0,88,243,1,0,88,2,0,0,0,0,0,0,104,243,1,0,88,2,0,0,0,0,0,0,112,243,1,0,88,2,0,0,0,0,0,0,120,243,1,0,88,2,0,0,0,0,0,0,128,243,1,0,88,2,0,0,0,0,0,0,144,243,1,0,88,2,0,0,0,0,0,0,152,243,1,0,88,2,0,0,0,0,0,0,160,243,1,0,88,2,0,0,0,0,0,0,176,243,1,0,88,2,0,0,0,0,0,0,184,243,1,0,88,2,0,0,0,0,0,0,200,243,1,0,88,2,0,0,0,0,0,0,216,243,1,0,88,2,0,0,0,0,0,0,232,243,1,0,88,2,0,0,0,0,0,0,240,243,1,0,88,2,0,0,0,0,0,0,248,243,1,0,88,2,0,0,0,0,0,0,0,244,1,0,88,2,0,0,0,0,0,0,16,244,1,0,88,2,0,0,0,0,0,0,32,244,1,0,88,2,0,0,0,0,0,0,48,244,1,0,88,2,0,0,0,0,0,0,64,244,1,0,88,2,0,0,0,0,0,0,72,244,1,0,88,2,0,0,0,0,0,0,88,244,1,0,88,2,0,0,0,0,0,0,104,244,1,0,88,2,0,0,0,0,0,0,120,244,1,0,88,2,0,0,0,0,0,0,128,244,1,0,88,2,0,0,0,0,0,0,136,244,1,0,88,2,0,0,0,0,0,0,152,244,1,0,88,2,0,0,0,0,0,0,168,244,1,0,88,2,0,0,0,0,0,0,184,244,1,0,88,2,0,0,0,0,0,0,192,244,1,0,88,2,0,0,0,0,0,0,200,244,1,0,88,2,0,0,0,0,0,0,208,244,1,0,88,2,0,0,0,0,0,0,216,244,1,0,88,2,0,0,0,0,0,0,232,244,1,0,88,2,0,0,0,0,0,0,248,244,1,0,88,2,0,0,0,0,0,0,8,245,1,0,88,2,0,0,0,0,0,0,16,245,1,0,88,2,0,0,0,0,0,0,24,245,1,0,88,2,0,0,0,0,0,0,32,245,1,0,88,2,0,0,0,0,0,0,48,245,1,0,88,2,0,0,0,0,0,0,56,245,1,0,88,2,0,0,0,0,0,0,64,245,1,0,88,2,0,0,0,0,0,0,80,245,1,0,88,2,0,0,0,0,0,0,88,245,1,0,88,2,0,0,0,0,0,0,96,245,1,0,88,2,0,0,0,0,0,0,104,245,1,0,88,2,0,0,0,0,0,0,120,245,1,0,88,2,0,0,0,0,0,0,128,245,1,0,88,2,0,0,0,0,0,0,136,245,1,0,88,2,0,0,0,0,0,0,152,245,1,0,88,2,0,0,0,0,0,0,168,245,1,0,88,2,0,0,0,0,0,0,184,245,1,0,88,2,0,0,0,0,0,0,0,0,0,0,120,232,1,0,88,2,0,0,0,0,0,0,128,232,1,0,88,2,0,0,0,0,0,0,136,232,1,0,88,2,0,0,0,0,0,0,152,232,1,0,88,2,0,0,0,0,0,0,168,232,1,0,88,2,0,0,0,0,0,0,176,232,1,0,88,2,0,0,0,0,0,0,184,232,1,0,88,2,0,0,0,0,0,0,192,232,1,0,88,2,0,0,0,0,0,0,208,232,1,0,88,2,0,0,0,0,0,0,224,232,1,0,88,2,0,0,0,0,0,0,240,232,1,0,88,2,0,0,0,0,0,0,0,233,1,0,88,2,0,0,0,0,0,0,16,233,1,0,88,2,0,0,0,0,0,0,24,233,1,0,88,2,0,0,0,0,0,0,32,233,1,0,88,2,0,0,0,0,0,0,40,233,1,0,88,2,0,0,0,0,0,0,48,233,1,0,88,2,0,0,0,0,0,0,56,233,1,0,88,2,0,0,0,0,0,0,64,233,1,0,88,2,0,0,0,0,0,0,80,233,1,0,88,2,0,0,0,0,0,0,88,233,1,0,88,2,0,0,0,0,0,0,96,233,1,0,88,2,0,0,0,0,0,0,104,233,1,0,88,2,0,0,0,0,0,0,216,226,1,0,88,2,0,0,0,0,0,0,112,233,1,0,88,2,0,0,0,0,0,0,120,233,1,0,88,2,0,0,0,0,0,0,136,233,1,0,88,2,0,0,0,0,0,0,144,233,1,0,88,2,0,0,0,0,0,0,152,233,1,0,88,2,0,0,0,0,0,0,160,233,1,0,88,2,0,0,0,0,0,0,176,233,1,0,88,2,0,0,0,0,0,0,184,233,1,0,88,2,0,0,0,0,0,0,192,233,1,0,88,2,0,0,0,0,0,0,200,233,1,0,88,2,0,0,0,0,0,0,208,233,1,0,88,2,0,0,0,0,0,0,216,233,1,0,88,2,0,0,0,0,0,0,224,233,1,0,88,2,0,0,0,0,0,0,232,233,1,0,88,2,0,0,0,0,0,0,248,233,1,0,88,2,0,0,0,0,0,0,0,234,1,0,88,2,0,0,0,0,0,0,8,234,1,0,88,2,0,0,0,0,0,0,16,234,1,0,88,2,0,0,0,0,0,0,24,234,1,0,88,2,0,0,0,0,0,0,32,234,1,0,88,2,0,0,0,0,0,0,40,234,1,0,88,2,0,0,0,0,0,0,48,234,1,0,88,2,0,0,0,0,0,0,64,234,1,0,88,2,0,0,0,0,0,0,72,234,1,0,88,2,0,0,0,0,0,0,88,234,1,0,88,2,0,0,0,0,0,0,96,234,1,0,88,2,0,0,0,0,0,0,104,234,1,0,88,2,0,0,0,0,0,0,112,234,1,0,88,2,0,0,0,0,0,0,128,234,1,0,88,2,0,0,0,0,0,0,136,234,1,0,88,2,0,0,0,0,0,0,144,234,1,0,88,2,0,0,0,0,0,0,152,234,1,0,88,2,0,0,0,0,0,0,168,234,1,0,88,2,0,0,0,0,0,0,176,234,1,0,88,2,0,0,0,0,0,0,184,234,1,0,88,2,0,0,0,0,0,0,192,234,1,0,88,2,0,0,0,0,0,0,200,234,1,0,88,2,0,0,0,0,0,0,208,234,1,0,88,2,0,0,0,0,0,0,216,234,1,0,88,2,0,0,0,0,0,0,224,234,1,0,88,2,0,0,0,0,0,0,232,234,1,0,88,2,0,0,0,0,0,0,240,234,1,0,88,2,0,0,0,0,0,0,248,234,1,0,88,2,0,0,0,0,0,0,8,235,1,0,88,2,0,0,0,0,0,0,16,235,1,0,88,2,0,0,0,0,0,0,24,235,1,0,88,2,0,0,0,0,0,0,32,235,1,0,88,2,0,0,0,0,0,0,40,235,1,0,88,2,0,0,0,0,0,0,48,235,1,0,88,2,0,0,0,0,0,0,64,235,1,0,88,2,0,0,0,0,0,0,72,235,1,0,88,2,0,0,0,0,0,0,80,235,1,0,88,2,0,0,0,0,0,0,88,235,1,0,88,2,0,0,0,0,0,0,96,235,1,0,88,2,0,0,0,0,0,0,104,235,1,0,88,2,0,0,0,0,0,0,112,235,1,0,88,2,0,0,0,0,0,0,120,235,1,0,88,2,0,0,0,0,0,0,128,235,1,0,88,2,0,0,0,0,0,0,136,235,1,0,88,2,0,0,0,0,0,0,144,235,1,0,88,2,0,0,0,0,0,0,152,235,1,0,88,2,0,0,0,0,0,0,160,235,1,0,88,2,0,0,0,0,0,0,168,235,1,0,88,2,0,0,0,0,0,0,176,235,1,0,88,2,0,0,0,0,0,0,184,235,1,0,88,2,0,0,0,0,0,0,192,235,1,0,88,2,0,0,0,0,0,0,208,235,1,0,88,2,0,0,0,0,0,0,216,235,1,0,88,2,0,0,0,0,0,0,232,235,1,0,88,2,0,0,0,0,0,0,240,235,1,0,88,2,0,0,0,0,0,0,248,235,1,0,88,2,0,0,0,0,0,0,0,236,1,0,88,2,0,0,0,0,0,0,16,236,1,0,88,2,0,0,0,0,0,0,24,236,1,0,88,2,0,0,0,0,0,0,40,236,1,0,88,2,0,0,0,0,0,0,48,236,1,0,88,2,0,0,0,0,0,0,56,236,1,0,88,2,0,0,0,0,0,0,64,236,1,0,88,2,0,0,0,0,0,0,72,236,1,0,88,2,0,0,0,0,0,0,80,236,1,0,88,2,0,0,0,0,0,0,88,236,1,0,88,2,0,0,0,0,0,0,96,236,1,0,88,2,0,0,0,0,0,0,104,236,1,0,88,2,0,0,0,0,0,0,112,236,1,0,88,2,0,0,0,0,0,0,120,236,1,0,88,2,0,0,0,0,0,0,128,236,1,0,88,2,0,0,0,0,0,0,136,236,1,0,88,2,0,0,0,0,0,0,144,236,1,0,88,2,0,0,0,0,0,0,160,236,1,0,88,2,0,0,0,0,0,0,176,236,1,0,88,2,0,0,0,0,0,0,192,236,1,0,88,2,0,0,0,0,0,0,200,236,1,0,88,2,0,0,0,0,0,0,216,236,1,0,88,2,0,0,0,0,0,0,232,236,1,0,88,2,0,0,0,0,0,0,240,236,1,0,88,2,0,0,0,0,0,0,0,237,1,0,88,2,0,0,0,0,0,0,8,237,1,0,88,2,0,0,0,0,0,0,16,237,1,0,88,2,0,0,0,0,0,0,32,237,1,0,88,2,0,0,0,0,0,0,40,237,1,0,88,2,0,0,0,0,0,0,56,237,1,0,88,2,0,0,0,0,0,0,64,237,1,0,88,2,0,0,0,0,0,0,80,237,1,0,88,2,0,0,0,0,0,0,88,237,1,0,88,2,0,0,0,0,0,0,104,237,1,0,88,2,0,0,0,0,0,0,112,237,1,0,88,2,0,0,0,0,0,0,128,237,1,0,88,2,0,0,0,0,0,0,144,237,1,0,88,2,0,0,0,0,0,0,152,237,1,0,88,2,0,0,0,0,0,0,160,237,1,0,88,2,0,0,0,0,0,0,168,237,1,0,88,2,0,0,0,0,0,0,176,237,1,0,88,2,0,0,0,0,0,0,192,237,1,0,88,2,0,0,0,0,0,0,200,237,1,0,88,2,0,0,0,0,0,0,208,237,1,0,88,2,0,0,0,0,0,0,224,237,1,0,88,2,0,0,0,0,0,0,232,237,1,0,88,2,0,0,0,0,0,0,248,237,1,0,88,2,0,0,0,0,0,0,8,238,1,0,88,2,0,0,0,0,0,0,16,238,1,0,88,2,0,0,0,0,0,0,32,238,1,0,88,2,0,0,0,0,0,0,40,238,1,0,88,2,0,0,0,0,0,0,56,238,1,0,88,2,0,0,0,0,0,0,64,238,1,0,88,2,0,0,0,0,0,0,72,238,1,0,88,2,0,0,0,0,0,0,80,238,1,0,88,2,0,0,0,0,0,0,88,238,1,0,88,2,0,0,0,0,0,0,104,238,1,0,88,2,0,0,0,0,0,0,120,238,1,0,88,2,0,0,0,0,0,0,136,238,1,0,88,2,0,0,0,0,0,0,144,238,1,0,88,2,0,0,0,0,0,0,152,238,1,0,88,2,0,0,0,0,0,0,168,238,1,0,88,2,0,0,0,0,0,0,176,238,1,0,88,2,0,0,0,0,0,0,192,238,1,0,88,2,0,0,0,0,0,0,208,238,1,0,88,2,0,0,0,0,0,0,216,238,1,0,88,2,0,0,0,0,0,0,224,238,1,0,88,2,0,0,0,0,0,0,240,238,1,0,88,2,0,0,0,0,0,0,0,239,1,0,88,2,0,0,0,0,0,0,16,239,1,0,88,2,0,0,0,0,0,0,24,239,1,0,88,2,0,0,0,0,0,0,40,239,1,0,88,2,0,0,0,0,0,0,56,239,1,0,88,2,0,0,0,0,0,0,72,239,1,0,88,2,0,0,0,0,0,0,88,239,1,0,88,2,0,0,0,0,0,0,96,239,1,0,88,2,0,0,0,0,0,0,104,239,1,0,88,2,0,0,0,0,0,0,112,239,1,0,88,2,0,0,0,0,0,0,128,239,1,0,88,2,0,0,0,0,0,0,136,239,1,0,88,2,0,0,0,0,0,0,152,239,1,0,88,2,0,0,0,0,0,0,168,239,1,0,88,2,0,0,0,0,0,0,176,239,1,0,88,2,0,0,0,0,0,0,184,239,1,0,88,2,0,0,0,0,0,0,200,239,1,0,88,2,0,0,0,0,0,0,216,239,1,0,88,2,0,0,0,0,0,0,224,239,1,0,88,2,0,0,0,0,0,0,232,239,1,0,88,2,0,0,0,0,0,0,240,239,1,0,88,2,0,0,0,0,0,0,248,239,1,0,88,2,0,0,0,0,0,0,8,240,1,0,88,2,0,0,0,0,0,0,16,240,1,0,88,2,0,0,0,0,0,0,32,240,1,0,88,2,0,0,0,0,0,0,48,240,1,0,88,2,0,0,0,0,0,0,64,240,1,0,88,2,0,0,0,0,0,0,80,240,1,0,88,2,0,0,0,0,0,0,96,240,1,0,88,2,0,0,0,0,0,0,104,240,1,0,88,2,0,0,0,0,0,0,112,240,1,0,88,2,0,0,0,0,0,0,120,240,1,0,88,2,0,0,0,0,0,0,136,240,1,0,88,2,0,0,0,0,0,0,144,240,1,0,88,2,0,0,0,0,0,0,152,240,1,0,88,2,0,0,0,0,0,0,168,240,1,0,88,2,0,0,0,0,0,0,176,240,1,0,88,2,0,0,0,0,0,0,184,240,1,0,88,2,0,0,0,0,0,0,200,240,1,0,88,2,0,0,0,0,0,0,208,240,1,0,88,2,0,0,0,0,0,0,216,240,1,0,88,2,0,0,0,0,0,0,232,240,1,0,88,2,0,0,0,0,0,0,240,240,1,0,88,2,0,0,0,0,0,0,0,241,1,0,88,2,0,0,0,0,0,0,8,241,1,0,88,2,0,0,0,0,0,0,16,241,1,0,88,2,0,0,0,0,0,0,32,241,1,0,88,2,0,0,0,0,0,0,48,241,1,0,88,2,0,0,0,0,0,0,56,241,1,0,88,2,0,0,0,0,0,0,64,241,1,0,88,2,0,0,0,0,0,0,80,241,1,0,88,2,0,0,0,0,0,0,88,241,1,0,88,2,0,0,0,0,0,0,104,241,1,0,88,2,0,0,0,0,0,0,112,241,1,0,88,2,0,0,0,0,0,0,120,241,1,0,88,2,0,0,0,0,0,0,128,241,1,0,88,2,0,0,0,0,0,0,136,241,1,0,88,2,0,0,0,0,0,0,144,241,1,0,88,2,0,0,0,0,0,0,152,241,1,0,88,2,0,0,0,0,0,0,160,241,1,0,88,2,0,0,0,0,0,0,176,241,1,0,88,2,0,0,0,0,0,0,184,241,1,0,88,2,0,0,0,0,0,0,192,241,1,0,88,2,0,0,0,0,0,0,200,241,1,0,88,2,0,0,0,0,0,0,208,241,1,0,88,2,0,0,0,0,0,0,224,241,1,0,88,2,0,0,0,0,0,0,232,241,1,0,88,2,0,0,0,0,0,0,240,241,1,0,88,2,0,0,0,0,0,0,248,241,1,0,88,2,0,0,0,0,0,0,8,242,1,0,88,2,0,0,0,0,0,0,16,242,1,0,88,2,0,0,0,0,0,0,24,242,1,0,88,2,0,0,0,0,0,0,40,242,1,0,88,2,0,0,0,0,0,0,48,242,1,0,88,2,0,0,0,0,0,0,56,242,1,0,88,2,0,0,0,0,0,0,72,242,1,0,88,2,0,0,0,0,0,0,80,242,1,0,88,2,0,0,0,0,0,0,88,242,1,0,88,2,0,0,0,0,0,0,96,242,1,0,88,2,0,0,0,0,0,0,112,242,1,0,88,2,0,0,0,0,0,0,128,242,1,0,88,2,0,0,0,0,0,0,136,242,1,0,88,2,0,0,0,0,0,0,144,242,1,0,88,2,0,0,0,0,0,0,152,242,1,0,88,2,0,0,0,0,0,0,168,242,1,0,88,2,0,0,0,0,0,0,176,242,1,0,88,2,0,0,0,0,0,0,192,242,1,0,88,2,0,0,0,0,0,0,200,242,1,0,88,2,0,0,0,0,0,0,208,242,1,0,88,2,0,0,0,0,0,0,216,242,1,0,88,2,0,0,0,0,0,0,224,242,1,0,88,2,0,0,0,0,0,0,232,242,1,0,88,2,0,0,0,0,0,0,248,242,1,0,88,2,0,0,0,0,0,0,8,243,1,0,88,2,0,0,0,0,0,0,16,243,1,0,88,2,0,0,0,0,0,0,32,243,1,0,88,2,0,0,0,0,0,0,48,243,1,0,88,2,0,0,0,0,0,0,56,243,1,0,88,2,0,0,0,0,0,0,64,243,1,0,88,2,0,0,0,0,0,0,80,243,1,0,88,2,0,0,0,0,0,0,88,243,1,0,88,2,0,0,0,0,0,0,104,243,1,0,88,2,0,0,0,0,0,0,112,243,1,0,88,2,0,0,0,0,0,0,120,243,1,0,88,2,0,0,0,0,0,0,128,243,1,0,88,2,0,0,0,0,0,0,144,243,1,0,88,2,0,0,0,0,0,0,152,243,1,0,88,2,0,0,0,0,0,0,160,243,1,0,88,2,0,0,0,0,0,0,176,243,1,0,88,2,0,0,0,0,0,0,184,243,1,0,88,2,0,0,0,0,0,0,200,243,1,0,88,2,0,0,0,0,0,0,216,243,1,0,88,2,0,0,0,0,0,0,232,243,1,0,88,2,0,0,0,0,0,0,240,243,1,0,88,2,0,0,0,0,0,0,248,243,1,0,88,2,0,0,0,0,0,0,0,244,1,0,88,2,0,0,0,0,0,0,16,244,1,0,88,2,0,0,0,0,0,0,32,244,1,0,88,2,0,0,0,0,0,0,48,244,1,0,88,2,0,0,0,0,0,0,64,244,1,0,88,2,0,0,0,0,0,0,72,244,1,0,88,2,0,0,0,0,0,0,88,244,1,0,88,2,0,0,0,0,0,0,104,244,1,0,88,2,0,0,0,0,0,0,120,244,1,0,88,2,0,0,0,0,0,0,128,244,1,0,88,2,0,0,0,0,0,0,136,244,1,0,88,2,0,0,0,0,0,0,152,244,1,0,88,2,0,0,0,0,0,0,168,244,1,0,88,2,0,0,0,0,0,0,184,244,1,0,88,2,0,0,0,0,0,0,192,244,1,0,88,2,0,0,0,0,0,0,200,244,1,0,88,2,0,0,0,0,0,0,208,244,1,0,88,2,0,0,0,0,0,0,216,244,1,0,88,2,0,0,0,0,0,0,232,244,1,0,88,2,0,0,0,0,0,0,248,244,1,0,88,2,0,0,0,0,0,0,8,245,1,0,88,2,0,0,0,0,0,0,16,245,1,0,88,2,0,0,0,0,0,0,24,245,1,0,88,2,0,0,0,0,0,0,32,245,1,0,88,2,0,0,0,0,0,0,48,245,1,0,88,2,0,0,0,0,0,0,56,245,1,0,88,2,0,0,0,0,0,0,64,245,1,0,88,2,0,0,0,0,0,0,80,245,1,0,88,2,0,0,0,0,0,0,88,245,1,0,88,2,0,0,0,0,0,0,96,245,1,0,88,2,0,0,0,0,0,0,104,245,1,0,88,2,0,0,0,0,0,0,120,245,1,0,88,2,0,0,0,0,0,0,128,245,1,0,88,2,0,0,0,0,0,0,136,245,1,0,88,2,0,0,0,0,0,0,152,245,1,0,88,2,0,0,0,0,0,0,168,245,1,0,88,2,0,0,0,0,0,0,184,245,1,0,88,2,0,0,0,0,0,0,0,0,0,0,120,232,1,0,210,2,0,0,0,0,0,0,128,232,1,0,77,1,0,0,0,0,0,0,136,232,1,0,244,1,0,0,0,0,0,0,152,232,1,0,210,2,0,0,0,0,0,0,168,232,1,0,99,2,0,0,0,0,0,0,176,232,1,0,22,1,0,0,0,0,0,0,184,232,1,0,77,1,0,0,0,0,0,0,192,232,1,0,72,2,0,0,0,0,0,0,208,232,1,0,77,1,0,0,0,0,0,0,224,232,1,0,77,1,0,0,0,0,0,0,240,232,1,0,44,2,0,0,0,0,0,0,0,233,1,0,72,2,0,0,0,0,0,0,16,233,1,0,22,1,0,0,0,0,0,0,24,233,1,0,66,3,0,0,0,0,0,0,32,233,1,0,44,2,0,0,0,0,0,0,40,233,1,0,44,2,0,0,0,0,0,0,48,233,1,0,44,2,0,0,0,0,0,0,56,233,1,0,155,2,0,0,0,0,0,0,64,233,1,0,44,2,0,0,0,0,0,0,80,233,1,0,72,2,0,0,0,0,0,0,88,233,1,0,22,1,0,0,0,0,0,0,96,233,1,0,244,1,0,0,0,0,0,0,104,233,1,0,44,2,0,0,0,0,0,0,216,226,1,0,22,1,0,0,0,0,0,0,112,233,1,0,10,3,0,0,0,0,0,0,120,233,1,0,99,2,0,0,0,0,0,0,136,233,1,0,232,3,0,0,0,0,0,0,144,233,1,0,155,2,0,0,0,0,0,0,152,233,1,0,44,2,0,0,0,0,0,0,160,233,1,0,44,2,0,0,0,0,0,0,176,233,1,0,43,1,0,0,0,0,0,0,184,233,1,0,155,2,0,0,0,0,0,0,192,233,1,0,155,2,0,0,0,0,0,0,200,233,1,0,210,2,0,0,0,0,0,0,208,233,1,0,44,2,0,0,0,0,0,0,216,233,1,0,210,2,0,0,0,0,0,0,224,233,1,0,155,2,0,0,0,0,0,0,232,233,1,0,66,3,0,0,0,0,0,0,248,233,1,0,99,2,0,0,0,0,0,0,0,234,1,0,10,3,0,0,0,0,0,0,8,234,1,0,210,2,0,0,0,0,0,0,16,234,1,0,22,1,0,0,0,0,0,0,24,234,1,0,244,1,0,0,0,0,0,0,32,234,1,0,155,2,0,0,0,0,0,0,40,234,1,0,222,0,0,0,0,0,0,0,48,234,1,0,22,1,0,0,0,0,0,0,64,234,1,0,44,2,0,0,0,0,0,0,72,234,1,0,22,1,0,0,0,0,0,0,88,234,1,0,65,3,0,0,0,0,0,0,96,234,1,0,210,2,0,0,0,0,0,0,104,234,1,0,44,2,0,0,0,0,0,0,112,234,1,0,99,2,0,0,0,0,0,0,128,234,1,0,10,3,0,0,0,0,0,0,136,234,1,0,155,2,0,0,0,0,0,0,144,234,1,0,10,3,0,0,0,0,0,0,152,234,1,0,210,2,0,0,0,0,0,0,168,234,1,0,210,2,0,0,0,0,0,0,176,234,1,0,155,2,0,0,0,0,0,0,184,234,1,0,77,1,0,0,0,0,0,0,192,234,1,0,155,2,0,0,0,0,0,0,200,234,1,0,99,2,0,0,0,0,0,0,208,234,1,0,210,2,0,0,0,0,0,0,216,234,1,0,44,2,0,0,0,0,0,0,224,234,1,0,155,2,0,0,0,0,0,0,232,234,1,0,176,3,0,0,0,0,0,0,240,234,1,0,155,2,0,0,0,0,0,0,248,234,1,0,44,2,0,0,0,0,0,0,8,235,1,0,72,2,0,0,0,0,0,0,16,235,1,0,155,2,0,0,0,0,0,0,24,235,1,0,99,2,0,0,0,0,0,0,32,235,1,0,44,2,0,0,0,0,0,0,40,235,1,0,44,2,0,0,0,0,0,0,48,235,1,0,10,3,0,0,0,0,0,0,64,235,1,0,44,2,0,0,0,0,0,0,72,235,1,0,244,1,0,0,0,0,0,0,80,235,1,0,44,2,0,0,0,0,0,0,88,235,1,0,44,2,0,0,0,0,0,0,96,235,1,0,22,1,0,0,0,0,0,0,104,235,1,0,44,2,0,0,0,0,0,0,112,235,1,0,94,1,0,0,0,0,0,0,120,235,1,0,44,2,0,0,0,0,0,0,128,235,1,0,222,0,0,0,0,0,0,0,136,235,1,0,10,3,0,0,0,0,0,0,144,235,1,0,44,2,0,0,0,0,0,0,152,235,1,0,222,0,0,0,0,0,0,0,160,235,1,0,244,1,0,0,0,0,0,0,168,235,1,0,222,0,0,0,0,0,0,0,176,235,1,0,65,3,0,0,0,0,0,0,184,235,1,0,44,2,0,0,0,0,0,0,192,235,1,0,22,1,0,0,0,0,0,0,208,235,1,0,44,2,0,0,0,0,0,0,216,235,1,0,114,1,0,0,0,0,0,0,232,235,1,0,77,1,0,0,0,0,0,0,240,235,1,0,44,2,0,0,0,0,0,0,248,235,1,0,44,2,0,0,0,0,0,0,0,236,1,0,44,2,0,0,0,0,0,0,16,236,1,0,77,1,0,0,0,0,0,0,24,236,1,0,77,1,0,0,0,0,0,0,40,236,1,0,44,2,0,0,0,0,0,0,48,236,1,0,244,1,0,0,0,0,0,0,56,236,1,0,232,3,0,0,0,0,0,0,64,236,1,0,22,1,0,0,0,0,0,0,72,236,1,0,72,2,0,0,0,0,0,0,80,236,1,0,44,2,0,0,0,0,0,0,88,236,1,0,210,2,0,0,0,0,0,0,96,236,1,0,244,1,0,0,0,0,0,0,104,236,1,0,210,2,0,0,0,0,0,0,112,236,1,0,244,1,0,0,0,0,0,0,120,236,1,0,244,1,0,0,0,0,0,0,128,236,1,0,244,1,0,0,0,0,0,0,136,236,1,0,10,3,0,0,0,0,0,0,144,236,1,0,250,0,0,0,0,0,0,0,160,236,1,0,77,1,0,0,0,0,0,0,176,236,1,0,22,1,0,0,0,0,0,0,192,236,1,0,210,2,0,0,0,0,0,0,200,236,1,0,99,1,0,0,0,0,0,0,216,236,1,0,44,2,0,0,0,0,0,0,232,236,1,0,44,2,0,0,0,0,0,0,240,236,1,0,37,2,0,0,0,0,0,0,0,237,1,0,155,2,0,0,0,0,0,0,8,237,1,0,44,2,0,0,0,0,0,0,16,237,1,0,22,1,0,0,0,0,0,0,32,237,1,0,99,2,0,0,0,0,0,0,40,237,1,0,37,2,0,0,0,0,0,0,56,237,1,0,215,1,0,0,0,0,0,0,64,237,1,0,77,1,0,0,0,0,0,0,80,237,1,0,244,1,0,0,0,0,0,0,88,237,1,0,155,2,0,0,0,0,0,0,104,237,1,0,44,2,0,0,0,0,0,0,112,237,1,0,232,3,0,0,0,0,0,0,128,237,1,0,44,2,0,0,0,0,0,0,144,237,1,0,44,2,0,0,0,0,0,0,152,237,1,0,77,1,0,0,0,0,0,0,160,237,1,0,10,3,0,0,0,0,0,0,168,237,1,0,155,2,0,0,0,0,0,0,176,237,1,0,232,3,0,0,0,0,0,0,192,237,1,0,244,1,0,0,0,0,0,0,200,237,1,0,232,3,0,0,0,0,0,0,208,237,1,0,210,2,0,0,0,0,0,0,224,237,1,0,222,0,0,0,0,0,0,0,232,237,1,0,77,1,0,0,0,0,0,0,248,237,1,0,77,1,0,0,0,0,0,0,8,238,1,0,77,1,0,0,0,0,0,0,16,238,1,0,191,0,0,0,0,0,0,0,32,238,1,0,44,2,0,0,0,0,0,0,40,238,1,0,77,1,0,0,0,0,0,0,56,238,1,0,44,2,0,0,0,0,0,0,64,238,1,0,176,3,0,0,0,0,0,0,72,238,1,0,155,2,0,0,0,0,0,0,80,238,1,0,210,2,0,0,0,0,0,0,88,238,1,0,44,2,0,0,0,0,0,0,104,238,1,0,155,2,0,0,0,0,0,0,120,238,1,0,225,2,0,0,0,0,0,0,136,238,1,0,155,2,0,0,0,0,0,0,144,238,1,0,22,1,0,0,0,0,0,0,152,238,1,0,155,2,0,0,0,0,0,0,168,238,1,0,44,2,0,0,0,0,0,0,176,238,1,0,22,1,0,0,0,0,0,0,192,238,1,0,77,1,0,0,0,0,0,0,208,238,1,0,44,2,0,0,0,0,0,0,216,238,1,0,44,2,0,0,0,0,0,0,224,238,1,0,10,3,0,0,0,0,0,0,240,238,1,0,44,2,0,0,0,0,0,0,0,239,1,0,22,1,0,0,0,0,0,0,16,239,1,0,210,2,0,0,0,0,0,0,24,239,1,0,222,0,0,0,0,0,0,0,40,239,1,0,210,2,0,0,0,0,0,0,56,239,1,0,232,3,0,0,0,0,0,0,72,239,1,0,155,2,0,0,0,0,0,0,88,239,1,0,44,2,0,0,0,0,0,0,96,239,1,0,44,2,0,0,0,0,0,0,104,239,1,0,155,2,0,0,0,0,0,0,112,239,1,0,44,2,0,0,0,0,0,0,128,239,1,0,44,2,0,0,0,0,0,0,136,239,1,0,44,2,0,0,0,0,0,0,152,239,1,0,22,1,0,0,0,0,0,0,168,239,1,0,210,2,0,0,0,0,0,0,176,239,1,0,121,3,0,0,0,0,0,0,184,239,1,0,133,1,0,0,0,0,0,0,200,239,1,0,44,2,0,0,0,0,0,0,216,239,1,0,210,2,0,0,0,0,0,0,224,239,1,0,44,2,0,0,0,0,0,0,232,239,1,0,44,2,0,0,0,0,0,0,240,239,1,0,44,2,0,0,0,0,0,0,248,239,1,0,44,2,0,0,0,0,0,0,8,240,1,0,99,2,0,0,0,0,0,0,16,240,1,0,155,2,0,0,0,0,0,0,32,240,1,0,66,3,0,0,0,0,0,0,48,240,1,0,44,2,0,0,0,0,0,0,64,240,1,0,210,2,0,0,0,0,0,0,80,240,1,0,244,1,0,0,0,0,0,0,96,240,1,0,77,1,0,0,0,0,0,0,104,240,1,0,247,3,0,0,0,0,0,0,112,240,1,0,44,2,0,0,0,0,0,0,120,240,1,0,44,2,0,0,0,0,0,0,136,240,1,0,44,2,0,0,0,0,0,0,144,240,1,0,210,2,0,0,0,0,0,0,152,240,1,0,72,2,0,0,0,0,0,0,168,240,1,0,44,2,0,0,0,0,0,0,176,240,1,0,44,2,0,0,0,0,0,0,184,240,1,0,155,2,0,0,0,0,0,0,200,240,1,0,10,3,0,0,0,0,0,0,208,240,1,0,210,2,0,0,0,0,0,0,216,240,1,0,220,1,0,0,0,0,0,0,232,240,1,0,44,2,0,0,0,0,0,0,240,240,1,0,78,1,0,0,0,0,0,0,0,241,1,0,155,2,0,0,0,0,0,0,8,241,1,0,244,1,0,0,0,0,0,0,16,241,1,0,244,1,0,0,0,0,0,0,32,241,1,0,244,1,0,0,0,0,0,0,48,241,1,0,210,2,0,0,0,0,0,0,56,241,1,0,44,2,0,0,0,0,0,0,64,241,1,0,10,3,0,0,0,0,0,0,80,241,1,0,10,3,0,0,0,0,0,0,88,241,1,0,244,1,0,0,0,0,0,0,104,241,1,0,77,1,0,0,0,0,0,0,112,241,1,0,44,2,0,0,0,0,0,0,120,241,1,0,77,1,0,0,0,0,0,0,128,241,1,0,99,2,0,0,0,0,0,0,136,241,1,0,155,2,0,0,0,0,0,0,144,241,1,0,44,2,0,0,0,0,0,0,152,241,1,0,144,1,0,0,0,0,0,0,160,241,1,0,225,2,0,0,0,0,0,0,176,241,1,0,197,1,0,0,0,0,0,0,184,241,1,0,155,2,0,0,0,0,0,0,192,241,1,0,121,3,0,0,0,0,0,0,200,241,1,0,44,2,0,0,0,0,0,0,208,241,1,0,25,2,0,0,0,0,0,0,224,241,1,0,131,2,0,0,0,0,0,0,232,241,1,0,210,2,0,0,0,0,0,0,240,241,1,0,44,2,0,0,0,0,0,0,248,241,1,0,88,2,0,0,0,0,0,0,8,242,1,0,22,1,0,0,0,0,0,0,16,242,1,0,44,2,0,0,0,0,0,0,24,242,1,0,44,2,0,0,0,0,0,0,40,242,1,0,44,2,0,0,0,0,0,0,48,242,1,0,210,2,0,0,0,0,0,0,56,242,1,0,44,2,0,0,0,0,0,0,72,242,1,0,61,1,0,0,0,0,0,0,80,242,1,0,44,2,0,0,0,0,0,0,88,242,1,0,100,2,0,0,0,0,0,0,96,242,1,0,10,3,0,0,0,0,0,0,112,242,1,0,213,1,0,0,0,0,0,0,128,242,1,0,44,2,0,0,0,0,0,0,136,242,1,0,77,1,0,0,0,0,0,0,144,242,1,0,44,2,0,0,0,0,0,0,152,242,1,0,22,1,0,0,0,0,0,0,168,242,1,0,22,1,0,0,0,0,0,0,176,242,1,0,155,2,0,0,0,0,0,0,192,242,1,0,22,1,0,0,0,0,0,0,200,242,1,0,222,0,0,0,0,0,0,0,208,242,1,0,210,2,0,0,0,0,0,0,216,242,1,0,72,2,0,0,0,0,0,0,224,242,1,0,44,2,0,0,0,0,0,0,232,242,1,0,222,0,0,0,0,0,0,0,248,242,1,0,222,0,0,0,0,0,0,0,8,243,1,0,155,2,0,0,0,0,0,0,16,243,1,0,44,2,0,0,0,0,0,0,32,243,1,0,77,1,0,0,0,0,0,0,48,243,1,0,77,1,0,0,0,0,0,0,56,243,1,0,44,2,0,0,0,0,0,0,64,243,1,0,77,1,0,0,0,0,0,0,80,243,1,0,22,1,0,0,0,0,0,0,88,243,1,0,77,1,0,0,0,0,0,0,104,243,1,0,44,2,0,0,0,0,0,0,112,243,1,0,44,2,0,0,0,0,0,0,120,243,1,0,244,1,0,0,0,0,0,0,128,243,1,0,210,2,0,0,0,0,0,0,144,243,1,0,244,1,0,0,0,0,0,0,152,243,1,0,244,1,0,0,0,0,0,0,160,243,1,0,155,2,0,0,0,0,0,0,176,243,1,0,210,2,0,0,0,0,0,0,184,243,1,0,22,1,0,0,0,0,0,0,200,243,1,0,44,2,0,0,0,0,0,0,216,243,1,0,99,2,0,0,0,0,0,0,232,243,1,0,155,2,0,0,0,0,0,0,240,243,1,0,44,2,0,0,0,0,0,0,248,243,1,0,155,2,0,0,0,0,0,0,0,244,1,0,109,1,0,0,0,0,0,0,16,244,1,0,22,1,0,0,0,0,0,0,32,244,1,0,44,2,0,0,0,0,0,0,48,244,1,0,37,2,0,0,0,0,0,0,64,244,1,0,22,1,0,0,0,0,0,0,72,244,1,0,77,1,0,0,0,0,0,0,88,244,1,0,99,2,0,0,0,0,0,0,104,244,1,0,44,2,0,0,0,0,0,0,120,244,1,0,244,1,0,0,0,0,0,0,128,244,1,0,155,2,0,0,0,0,0,0,136,244,1,0,22,1,0,0,0,0,0,0,152,244,1,0,78,1,0,0,0,0,0,0,168,244,1,0,77,1,0,0,0,0,0,0,184,244,1,0,44,2,0,0,0,0,0,0,192,244,1,0,244,1,0,0,0,0,0,0,200,244,1,0,22,1,0,0,0,0,0,0,208,244,1,0,44,2,0,0,0,0,0,0,216,244,1,0,44,2,0,0,0,0,0,0,232,244,1,0,72,2,0,0,0,0,0,0,248,244,1,0,244,1,0,0,0,0,0,0,8,245,1,0,155,2,0,0,0,0,0,0,16,245,1,0,77,1,0,0,0,0,0,0,24,245,1,0,4,1,0,0,0,0,0,0,32,245,1,0,167,0,0,0,0,0,0,0,48,245,1,0,72,2,0,0,0,0,0,0,56,245,1,0,44,2,0,0,0,0,0,0,64,245,1,0,77,1,0,0,0,0,0,0,80,245,1,0,22,1,0,0,0,0,0,0,88,245,1,0,22,1,0,0,0,0,0,0,96,245,1,0,210,2,0,0,0,0,0,0,104,245,1,0,155,2,0,0,0,0,0,0,120,245,1,0,72,2], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+81920);
/* memory initializer */ allocate([128,245,1,0,44,2,0,0,0,0,0,0,136,245,1,0,4,1,0,0,0,0,0,0,152,245,1,0,222,0,0,0,0,0,0,0,168,245,1,0,155,2,0,0,0,0,0,0,184,245,1,0,77,1,0,0,0,0,0,0,0,0,0,0,120,232,1,0,210,2,0,0,0,0,0,0,128,232,1,0,133,1,0,0,0,0,0,0,136,232,1,0,44,2,0,0,0,0,0,0,152,232,1,0,210,2,0,0,0,0,0,0,168,232,1,0,99,2,0,0,0,0,0,0,176,232,1,0,22,1,0,0,0,0,0,0,184,232,1,0,77,1,0,0,0,0,0,0,192,232,1,0,72,2,0,0,0,0,0,0,208,232,1,0,77,1,0,0,0,0,0,0,224,232,1,0,77,1,0,0,0,0,0,0,240,232,1,0,44,2,0,0,0,0,0,0,0,233,1,0,72,2,0,0,0,0,0,0,16,233,1,0,77,1,0,0,0,0,0,0,24,233,1,0,66,3,0,0,0,0,0,0,32,233,1,0,44,2,0,0,0,0,0,0,40,233,1,0,99,2,0,0,0,0,0,0,48,233,1,0,99,2,0,0,0,0,0,0,56,233,1,0,210,2,0,0,0,0,0,0,64,233,1,0,99,2,0,0,0,0,0,0,80,233,1,0,72,2,0,0,0,0,0,0,88,233,1,0,22,1,0,0,0,0,0,0,96,233,1,0,244,1,0,0,0,0,0,0,104,233,1,0,44,2,0,0,0,0,0,0,216,226,1,0,22,1,0,0,0,0,0,0,112,233,1,0,10,3,0,0,0,0,0,0,120,233,1,0,99,2,0,0,0,0,0,0,136,233,1,0,232,3,0,0,0,0,0,0,144,233,1,0,210,2,0,0,0,0,0,0,152,233,1,0,44,2,0,0,0,0,0,0,160,233,1,0,44,2,0,0,0,0,0,0,176,233,1,0,144,1,0,0,0,0,0,0,184,233,1,0,210,2,0,0,0,0,0,0,192,233,1,0,210,2,0,0,0,0,0,0,200,233,1,0,210,2,0,0,0,0,0,0,208,233,1,0,44,2,0,0,0,0,0,0,216,233,1,0,210,2,0,0,0,0,0,0,224,233,1,0,155,2,0,0,0,0,0,0,232,233,1,0,66,3,0,0,0,0,0,0,248,233,1,0,99,2,0,0,0,0,0,0,0,234,1,0,10,3,0,0,0,0,0,0,8,234,1,0,210,2,0,0,0,0,0,0,16,234,1,0,22,1,0,0,0,0,0,0,24,234,1,0,44,2,0,0,0,0,0,0,32,234,1,0,210,2,0,0,0,0,0,0,40,234,1,0,22,1,0,0,0,0,0,0,48,234,1,0,22,1,0,0,0,0,0,0,64,234,1,0,99,2,0,0,0,0,0,0,72,234,1,0,22,1,0,0,0,0,0,0,88,234,1,0,65,3,0,0,0,0,0,0,96,234,1,0,210,2,0,0,0,0,0,0,104,234,1,0,99,2,0,0,0,0,0,0,112,234,1,0,99,2,0,0,0,0,0,0,128,234,1,0,10,3,0,0,0,0,0,0,136,234,1,0,155,2,0,0,0,0,0,0,144,234,1,0,10,3,0,0,0,0,0,0,152,234,1,0,210,2,0,0,0,0,0,0,168,234,1,0,210,2,0,0,0,0,0,0,176,234,1,0,210,2,0,0,0,0,0,0,184,234,1,0,77,1,0,0,0,0,0,0,192,234,1,0,155,2,0,0,0,0,0,0,200,234,1,0,99,2,0,0,0,0,0,0,208,234,1,0,210,2,0,0,0,0,0,0,216,234,1,0,44,2,0,0,0,0,0,0,224,234,1,0,155,2,0,0,0,0,0,0,232,234,1,0,176,3,0,0,0,0,0,0,240,234,1,0,155,2,0,0,0,0,0,0,248,234,1,0,99,2,0,0,0,0,0,0,8,235,1,0,72,2,0,0,0,0,0,0,16,235,1,0,155,2,0,0,0,0,0,0,24,235,1,0,99,2,0,0,0,0,0,0,32,235,1,0,44,2,0,0,0,0,0,0,40,235,1,0,44,2,0,0,0,0,0,0,48,235,1,0,10,3,0,0,0,0,0,0,64,235,1,0,99,2,0,0,0,0,0,0,72,235,1,0,44,2,0,0,0,0,0,0,80,235,1,0,99,2,0,0,0,0,0,0,88,235,1,0,44,2,0,0,0,0,0,0,96,235,1,0,77,1,0,0,0,0,0,0,104,235,1,0,99,2,0,0,0,0,0,0,112,235,1,0,94,1,0,0,0,0,0,0,120,235,1,0,99,2,0,0,0,0,0,0,128,235,1,0,22,1,0,0,0,0,0,0,136,235,1,0,10,3,0,0,0,0,0,0,144,235,1,0,44,2,0,0,0,0,0,0,152,235,1,0,22,1,0,0,0,0,0,0,160,235,1,0,44,2,0,0,0,0,0,0,168,235,1,0,22,1,0,0,0,0,0,0,176,235,1,0,121,3,0,0,0,0,0,0,184,235,1,0,99,2,0,0,0,0,0,0,192,235,1,0,77,1,0,0,0,0,0,0,208,235,1,0,99,2,0,0,0,0,0,0,216,235,1,0,114,1,0,0,0,0,0,0,232,235,1,0,77,1,0,0,0,0,0,0,240,235,1,0,99,2,0,0,0,0,0,0,248,235,1,0,99,2,0,0,0,0,0,0,0,236,1,0,99,2,0,0,0,0,0,0,16,236,1,0,133,1,0,0,0,0,0,0,24,236,1,0,77,1,0,0,0,0,0,0,40,236,1,0,44,2,0,0,0,0,0,0,48,236,1,0,44,2,0,0,0,0,0,0,56,236,1,0,232,3,0,0,0,0,0,0,64,236,1,0,77,1,0,0,0,0,0,0,72,236,1,0,72,2,0,0,0,0,0,0,80,236,1,0,99,2,0,0,0,0,0,0,88,236,1,0,210,2,0,0,0,0,0,0,96,236,1,0,44,2,0,0,0,0,0,0,104,236,1,0,10,3,0,0,0,0,0,0,112,236,1,0,44,2,0,0,0,0,0,0,120,236,1,0,44,2,0,0,0,0,0,0,128,236,1,0,244,1,0,0,0,0,0,0,136,236,1,0,10,3,0,0,0,0,0,0,144,236,1,0,250,0,0,0,0,0,0,0,160,236,1,0,77,1,0,0,0,0,0,0,176,236,1,0,22,1,0,0,0,0,0,0,192,236,1,0,210,2,0,0,0,0,0,0,200,236,1,0,218,1,0,0,0,0,0,0,216,236,1,0,99,2,0,0,0,0,0,0,232,236,1,0,99,2,0,0,0,0,0,0,240,236,1,0,37,2,0,0,0,0,0,0,0,237,1,0,155,2,0,0,0,0,0,0,8,237,1,0,99,2,0,0,0,0,0,0,16,237,1,0,77,1,0,0,0,0,0,0,32,237,1,0,99,2,0,0,0,0,0,0,40,237,1,0,37,2,0,0,0,0,0,0,56,237,1,0,238,1,0,0,0,0,0,0,64,237,1,0,77,1,0,0,0,0,0,0,80,237,1,0,44,2,0,0,0,0,0,0,88,237,1,0,155,2,0,0,0,0,0,0,104,237,1,0,99,2,0,0,0,0,0,0,112,237,1,0,232,3,0,0,0,0,0,0,128,237,1,0,44,2,0,0,0,0,0,0,144,237,1,0,99,2,0,0,0,0,0,0,152,237,1,0,77,1,0,0,0,0,0,0,160,237,1,0,10,3,0,0,0,0,0,0,168,237,1,0,155,2,0,0,0,0,0,0,176,237,1,0,232,3,0,0,0,0,0,0,192,237,1,0,44,2,0,0,0,0,0,0,200,237,1,0,232,3,0,0,0,0,0,0,208,237,1,0,210,2,0,0,0,0,0,0,224,237,1,0,22,1,0,0,0,0,0,0,232,237,1,0,244,1,0,0,0,0,0,0,248,237,1,0,77,1,0,0,0,0,0,0,8,238,1,0,77,1,0,0,0,0,0,0,16,238,1,0,238,0,0,0,0,0,0,0,32,238,1,0,44,2,0,0,0,0,0,0,40,238,1,0,77,1,0,0,0,0,0,0,56,238,1,0,44,2,0,0,0,0,0,0,64,238,1,0,176,3,0,0,0,0,0,0,72,238,1,0,210,2,0,0,0,0,0,0,80,238,1,0,210,2,0,0,0,0,0,0,88,238,1,0,44,2,0,0,0,0,0,0,104,238,1,0,210,2,0,0,0,0,0,0,120,238,1,0,225,2,0,0,0,0,0,0,136,238,1,0,155,2,0,0,0,0,0,0,144,238,1,0,22,1,0,0,0,0,0,0,152,238,1,0,155,2,0,0,0,0,0,0,168,238,1,0,99,2,0,0,0,0,0,0,176,238,1,0,22,1,0,0,0,0,0,0,192,238,1,0,77,1,0,0,0,0,0,0,208,238,1,0,44,2,0,0,0,0,0,0,216,238,1,0,44,2,0,0,0,0,0,0,224,238,1,0,10,3,0,0,0,0,0,0,240,238,1,0,99,2,0,0,0,0,0,0,0,239,1,0,77,1,0,0,0,0,0,0,16,239,1,0,210,2,0,0,0,0,0,0,24,239,1,0,22,1,0,0,0,0,0,0,40,239,1,0,210,2,0,0,0,0,0,0,56,239,1,0,232,3,0,0,0,0,0,0,72,239,1,0,155,2,0,0,0,0,0,0,88,239,1,0,99,2,0,0,0,0,0,0,96,239,1,0,44,2,0,0,0,0,0,0,104,239,1,0,155,2,0,0,0,0,0,0,112,239,1,0,44,2,0,0,0,0,0,0,128,239,1,0,44,2,0,0,0,0,0,0,136,239,1,0,44,2,0,0,0,0,0,0,152,239,1,0,22,1,0,0,0,0,0,0,168,239,1,0,210,2,0,0,0,0,0,0,176,239,1,0,121,3,0,0,0,0,0,0,184,239,1,0,133,1,0,0,0,0,0,0,200,239,1,0,99,2,0,0,0,0,0,0,216,239,1,0,210,2,0,0,0,0,0,0,224,239,1,0,99,2,0,0,0,0,0,0,232,239,1,0,44,2,0,0,0,0,0,0,240,239,1,0,44,2,0,0,0,0,0,0,248,239,1,0,99,2,0,0,0,0,0,0,8,240,1,0,99,2,0,0,0,0,0,0,16,240,1,0,155,2,0,0,0,0,0,0,32,240,1,0,66,3,0,0,0,0,0,0,48,240,1,0,44,2,0,0,0,0,0,0,64,240,1,0,210,2,0,0,0,0,0,0,80,240,1,0,44,2,0,0,0,0,0,0,96,240,1,0,77,1,0,0,0,0,0,0,72,252,1,0,44,2,0,0,0,0,0,0,104,240,1,0,207,3,0,0,0,0,0,0,112,240,1,0,44,2,0,0,0,0,0,0,120,240,1,0,44,2,0,0,0,0,0,0,136,240,1,0,44,2,0,0,0,0,0,0,144,240,1,0,210,2,0,0,0,0,0,0,152,240,1,0,72,2,0,0,0,0,0,0,168,240,1,0,44,2,0,0,0,0,0,0,176,240,1,0,99,2,0,0,0,0,0,0,184,240,1,0,155,2,0,0,0,0,0,0,200,240,1,0,10,3,0,0,0,0,0,0,208,240,1,0,210,2,0,0,0,0,0,0,216,240,1,0,238,1,0,0,0,0,0,0,232,240,1,0,99,2,0,0,0,0,0,0,240,240,1,0,133,1,0,0,0,0,0,0,0,241,1,0,155,2,0,0,0,0,0,0,8,241,1,0,244,1,0,0,0,0,0,0,16,241,1,0,44,2,0,0,0,0,0,0,32,241,1,0,44,2,0,0,0,0,0,0,48,241,1,0,210,2,0,0,0,0,0,0,56,241,1,0,99,2,0,0,0,0,0,0,64,241,1,0,10,3,0,0,0,0,0,0,80,241,1,0,10,3,0,0,0,0,0,0,88,241,1,0,44,2,0,0,0,0,0,0,104,241,1,0,77,1,0,0,0,0,0,0,112,241,1,0,99,2,0,0,0,0,0,0,120,241,1,0,133,1,0,0,0,0,0,0,128,241,1,0,99,2,0,0,0,0,0,0,136,241,1,0,155,2,0,0,0,0,0,0,144,241,1,0,99,2,0,0,0,0,0,0,152,241,1,0,144,1,0,0,0,0,0,0,160,241,1,0,225,2,0,0,0,0,0,0,176,241,1,0,37,2,0,0,0,0,0,0,184,241,1,0,210,2,0,0,0,0,0,0,192,241,1,0,121,3,0,0,0,0,0,0,200,241,1,0,44,2,0,0,0,0,0,0,208,241,1,0,44,2,0,0,0,0,0,0,224,241,1,0,231,2,0,0,0,0,0,0,232,241,1,0,210,2,0,0,0,0,0,0,240,241,1,0,44,2,0,0,0,0,0,0,248,241,1,0,88,2,0,0,0,0,0,0,8,242,1,0,22,1,0,0,0,0,0,0,16,242,1,0,99,2,0,0,0,0,0,0,24,242,1,0,99,2,0,0,0,0,0,0,40,242,1,0,99,2,0,0,0,0,0,0,48,242,1,0,210,2,0,0,0,0,0,0,56,242,1,0,99,2,0,0,0,0,0,0,72,242,1,0,133,1,0,0,0,0,0,0,80,242,1,0,44,2,0,0,0,0,0,0,88,242,1,0,100,2,0,0,0,0,0,0,96,242,1,0,10,3,0,0,0,0,0,0,112,242,1,0,72,2,0,0,0,0,0,0,128,242,1,0,44,2,0,0,0,0,0,0,136,242,1,0,77,1,0,0,0,0,0,0,144,242,1,0,99,2,0,0,0,0,0,0,152,242,1,0,77,1,0,0,0,0,0,0,168,242,1,0,22,1,0,0,0,0,0,0,176,242,1,0,210,2,0,0,0,0,0,0,192,242,1,0,22,1,0,0,0,0,0,0,200,242,1,0,22,1,0,0,0,0,0,0,208,242,1,0,210,2,0,0,0,0,0,0,216,242,1,0,72,2,0,0,0,0,0,0,224,242,1,0,99,2,0,0,0,0,0,0,232,242,1,0,22,1,0,0,0,0,0,0,248,242,1,0,22,1,0,0,0,0,0,0,8,243,1,0,155,2,0,0,0,0,0,0,16,243,1,0,99,2,0,0,0,0,0,0,32,243,1,0,77,1,0,0,0,0,0,0,48,243,1,0,77,1,0,0,0,0,0,0,56,243,1,0,44,2,0,0,0,0,0,0,64,243,1,0,77,1,0,0,0,0,0,0,80,243,1,0,22,1,0,0,0,0,0,0,88,243,1,0,244,1,0,0,0,0,0,0,104,243,1,0,99,2,0,0,0,0,0,0,112,243,1,0,44,2,0,0,0,0,0,0,120,243,1,0,44,2,0,0,0,0,0,0,128,243,1,0,210,2,0,0,0,0,0,0,144,243,1,0,99,2,0,0,0,0,0,0,152,243,1,0,99,2,0,0,0,0,0,0,160,243,1,0,210,2,0,0,0,0,0,0,176,243,1,0,210,2,0,0,0,0,0,0,184,243,1,0,22,1,0,0,0,0,0,0,200,243,1,0,44,2,0,0,0,0,0,0,216,243,1,0,99,2,0,0,0,0,0,0,232,243,1,0,210,2,0,0,0,0,0,0,240,243,1,0,44,2,0,0,0,0,0,0,248,243,1,0,155,2,0,0,0,0,0,0,0,244,1,0,109,1,0,0,0,0,0,0,16,244,1,0,22,1,0,0,0,0,0,0,32,244,1,0,44,2,0,0,0,0,0,0,48,244,1,0,37,2,0,0,0,0,0,0,64,244,1,0,22,1,0,0,0,0,0,0,72,244,1,0,133,1,0,0,0,0,0,0,88,244,1,0,99,2,0,0,0,0,0,0,104,244,1,0,44,2,0,0,0,0,0,0,120,244,1,0,44,2,0,0,0,0,0,0,128,244,1,0,155,2,0,0,0,0,0,0,136,244,1,0,22,1,0,0,0,0,0,0,152,244,1,0,133,1,0,0,0,0,0,0,168,244,1,0,244,1,0,0,0,0,0,0,184,244,1,0,44,2,0,0,0,0,0,0,192,244,1,0,44,2,0,0,0,0,0,0,200,244,1,0,22,1,0,0,0,0,0,0,208,244,1,0,44,2,0,0,0,0,0,0,216,244,1,0,44,2,0,0,0,0,0,0,232,244,1,0,72,2,0,0,0,0,0,0,248,244,1,0,244,1,0,0,0,0,0,0,8,245,1,0,210,2,0,0,0,0,0,0,16,245,1,0,77,1,0,0,0,0,0,0,24,245,1,0,24,1,0,0,0,0,0,0,32,245,1,0,167,0,0,0,0,0,0,0,48,245,1,0,72,2,0,0,0,0,0,0,56,245,1,0,44,2,0,0,0,0,0,0,64,245,1,0,77,1,0,0,0,0,0,0,80,245,1,0,77,1,0,0,0,0,0,0,88,245,1,0,22,1,0,0,0,0,0,0,96,245,1,0,210,2,0,0,0,0,0,0,104,245,1,0,210,2,0,0,0,0,0,0,120,245,1,0,72,2,0,0,0,0,0,0,128,245,1,0,44,2,0,0,0,0,0,0,136,245,1,0,24,1,0,0,0,0,0,0,152,245,1,0,22,1,0,0,0,0,0,0,168,245,1,0,155,2,0,0,0,0,0,0,184,245,1,0,77,1,0,0,0,0,0,0,120,232,1,0,210,2,0,0,0,0,0,0,128,232,1,0,133,1,0,0,0,0,0,0,136,232,1,0,44,2,0,0,0,0,0,0,152,232,1,0,210,2,0,0,0,0,0,0,168,232,1,0,99,2,0,0,0,0,0,0,176,232,1,0,22,1,0,0,0,0,0,0,184,232,1,0,77,1,0,0,0,0,0,0,192,232,1,0,72,2,0,0,0,0,0,0,208,232,1,0,77,1,0,0,0,0,0,0,224,232,1,0,77,1,0,0,0,0,0,0,240,232,1,0,44,2,0,0,0,0,0,0,0,233,1,0,72,2,0,0,0,0,0,0,16,233,1,0,77,1,0,0,0,0,0,0,24,233,1,0,66,3,0,0,0,0,0,0,32,233,1,0,44,2,0,0,0,0,0,0,40,233,1,0,99,2,0,0,0,0,0,0,48,233,1,0,99,2,0,0,0,0,0,0,56,233,1,0,210,2,0,0,0,0,0,0,64,233,1,0,99,2,0,0,0,0,0,0,80,233,1,0,72,2,0,0,0,0,0,0,88,233,1,0,22,1,0,0,0,0,0,0,96,233,1,0,244,1,0,0,0,0,0,0,104,233,1,0,44,2,0,0,0,0,0,0,216,226,1,0,22,1,0,0,0,0,0,0,112,233,1,0,10,3,0,0,0,0,0,0,120,233,1,0,99,2,0,0,0,0,0,0,136,233,1,0,232,3,0,0,0,0,0,0,144,233,1,0,210,2,0,0,0,0,0,0,152,233,1,0,44,2,0,0,0,0,0,0,160,233,1,0,44,2,0,0,0,0,0,0,176,233,1,0,144,1,0,0,0,0,0,0,184,233,1,0,210,2,0,0,0,0,0,0,192,233,1,0,210,2,0,0,0,0,0,0,200,233,1,0,210,2,0,0,0,0,0,0,208,233,1,0,44,2,0,0,0,0,0,0,216,233,1,0,210,2,0,0,0,0,0,0,224,233,1,0,155,2,0,0,0,0,0,0,232,233,1,0,66,3,0,0,0,0,0,0,248,233,1,0,99,2,0,0,0,0,0,0,0,234,1,0,10,3,0,0,0,0,0,0,8,234,1,0,210,2,0,0,0,0,0,0,16,234,1,0,22,1,0,0,0,0,0,0,24,234,1,0,44,2,0,0,0,0,0,0,32,234,1,0,210,2,0,0,0,0,0,0,40,234,1,0,22,1,0,0,0,0,0,0,48,234,1,0,22,1,0,0,0,0,0,0,64,234,1,0,99,2,0,0,0,0,0,0,72,234,1,0,22,1,0,0,0,0,0,0,88,234,1,0,65,3,0,0,0,0,0,0,96,234,1,0,210,2,0,0,0,0,0,0,104,234,1,0,99,2,0,0,0,0,0,0,112,234,1,0,99,2,0,0,0,0,0,0,128,234,1,0,10,3,0,0,0,0,0,0,136,234,1,0,155,2,0,0,0,0,0,0,144,234,1,0,10,3,0,0,0,0,0,0,152,234,1,0,210,2,0,0,0,0,0,0,168,234,1,0,210,2,0,0,0,0,0,0,176,234,1,0,210,2,0,0,0,0,0,0,184,234,1,0,77,1,0,0,0,0,0,0,192,234,1,0,155,2,0,0,0,0,0,0,200,234,1,0,99,2,0,0,0,0,0,0,208,234,1,0,210,2,0,0,0,0,0,0,216,234,1,0,44,2,0,0,0,0,0,0,224,234,1,0,155,2,0,0,0,0,0,0,232,234,1,0,176,3,0,0,0,0,0,0,240,234,1,0,155,2,0,0,0,0,0,0,248,234,1,0,99,2,0,0,0,0,0,0,8,235,1,0,72,2,0,0,0,0,0,0,16,235,1,0,155,2,0,0,0,0,0,0,24,235,1,0,99,2,0,0,0,0,0,0,32,235,1,0,44,2,0,0,0,0,0,0,40,235,1,0,44,2,0,0,0,0,0,0,48,235,1,0,10,3,0,0,0,0,0,0,64,235,1,0,99,2,0,0,0,0,0,0,72,235,1,0,44,2,0,0,0,0,0,0,80,235,1,0,99,2,0,0,0,0,0,0,88,235,1,0,44,2,0,0,0,0,0,0,96,235,1,0,77,1,0,0,0,0,0,0,104,235,1,0,99,2,0,0,0,0,0,0,112,235,1,0,94,1,0,0,0,0,0,0,120,235,1,0,99,2,0,0,0,0,0,0,128,235,1,0,22,1,0,0,0,0,0,0,136,235,1,0,10,3,0,0,0,0,0,0,144,235,1,0,44,2,0,0,0,0,0,0,152,235,1,0,22,1,0,0,0,0,0,0,160,235,1,0,44,2,0,0,0,0,0,0,168,235,1,0,22,1,0,0,0,0,0,0,176,235,1,0,121,3,0,0,0,0,0,0,184,235,1,0,99,2,0,0,0,0,0,0,192,235,1,0,77,1,0,0,0,0,0,0,208,235,1,0,99,2,0,0,0,0,0,0,216,235,1,0,114,1,0,0,0,0,0,0,232,235,1,0,77,1,0,0,0,0,0,0,240,235,1,0,99,2,0,0,0,0,0,0,248,235,1,0,99,2,0,0,0,0,0,0,0,236,1,0,99,2,0,0,0,0,0,0,16,236,1,0,133,1,0,0,0,0,0,0,24,236,1,0,77,1,0,0,0,0,0,0,40,236,1,0,44,2,0,0,0,0,0,0,48,236,1,0,44,2,0,0,0,0,0,0,56,236,1,0,232,3,0,0,0,0,0,0,64,236,1,0,77,1,0,0,0,0,0,0,72,236,1,0,72,2,0,0,0,0,0,0,80,236,1,0,99,2,0,0,0,0,0,0,88,236,1,0,210,2,0,0,0,0,0,0,96,236,1,0,44,2,0,0,0,0,0,0,104,236,1,0,10,3,0,0,0,0,0,0,112,236,1,0,44,2,0,0,0,0,0,0,120,236,1,0,44,2,0,0,0,0,0,0,128,236,1,0,244,1,0,0,0,0,0,0,136,236,1,0,10,3,0,0,0,0,0,0,144,236,1,0,250,0,0,0,0,0,0,0,160,236,1,0,77,1,0,0,0,0,0,0,176,236,1,0,22,1,0,0,0,0,0,0,192,236,1,0,210,2,0,0,0,0,0,0,200,236,1,0,218,1,0,0,0,0,0,0,216,236,1,0,99,2,0,0,0,0,0,0,232,236,1,0,99,2,0,0,0,0,0,0,240,236,1,0,37,2,0,0,0,0,0,0,0,237,1,0,155,2,0,0,0,0,0,0,8,237,1,0,99,2,0,0,0,0,0,0,16,237,1,0,77,1,0,0,0,0,0,0,32,237,1,0,99,2,0,0,0,0,0,0,40,237,1,0,37,2,0,0,0,0,0,0,56,237,1,0,238,1,0,0,0,0,0,0,64,237,1,0,77,1,0,0,0,0,0,0,80,237,1,0,44,2,0,0,0,0,0,0,88,237,1,0,155,2,0,0,0,0,0,0,104,237,1,0,99,2,0,0,0,0,0,0,112,237,1,0,232,3,0,0,0,0,0,0,128,237,1,0,44,2,0,0,0,0,0,0,144,237,1,0,99,2,0,0,0,0,0,0,152,237,1,0,77,1,0,0,0,0,0,0,160,237,1,0,10,3,0,0,0,0,0,0,168,237,1,0,155,2,0,0,0,0,0,0,176,237,1,0,232,3,0,0,0,0,0,0,192,237,1,0,44,2,0,0,0,0,0,0,200,237,1,0,232,3,0,0,0,0,0,0,208,237,1,0,210,2,0,0,0,0,0,0,224,237,1,0,22,1,0,0,0,0,0,0,232,237,1,0,244,1,0,0,0,0,0,0,248,237,1,0,77,1,0,0,0,0,0,0,8,238,1,0,77,1,0,0,0,0,0,0,16,238,1,0,238,0,0,0,0,0,0,0,32,238,1,0,44,2,0,0,0,0,0,0,40,238,1,0,77,1,0,0,0,0,0,0,56,238,1,0,44,2,0,0,0,0,0,0,64,238,1,0,176,3,0,0,0,0,0,0,72,238,1,0,210,2,0,0,0,0,0,0,80,238,1,0,210,2,0,0,0,0,0,0,88,238,1,0,44,2,0,0,0,0,0,0,104,238,1,0,210,2,0,0,0,0,0,0,120,238,1,0,225,2,0,0,0,0,0,0,136,238,1,0,155,2,0,0,0,0,0,0,144,238,1,0,22,1,0,0,0,0,0,0,152,238,1,0,155,2,0,0,0,0,0,0,168,238,1,0,99,2,0,0,0,0,0,0,176,238,1,0,22,1,0,0,0,0,0,0,192,238,1,0,77,1,0,0,0,0,0,0,208,238,1,0,44,2,0,0,0,0,0,0,216,238,1,0,44,2,0,0,0,0,0,0,224,238,1,0,10,3,0,0,0,0,0,0,240,238,1,0,99,2,0,0,0,0,0,0,0,239,1,0,77,1,0,0,0,0,0,0,16,239,1,0,210,2,0,0,0,0,0,0,24,239,1,0,22,1,0,0,0,0,0,0,40,239,1,0,210,2,0,0,0,0,0,0,56,239,1,0,232,3,0,0,0,0,0,0,72,239,1,0,155,2,0,0,0,0,0,0,88,239,1,0,99,2,0,0,0,0,0,0,96,239,1,0,44,2,0,0,0,0,0,0,104,239,1,0,155,2,0,0,0,0,0,0,112,239,1,0,44,2,0,0,0,0,0,0,128,239,1,0,44,2,0,0,0,0,0,0,136,239,1,0,44,2,0,0,0,0,0,0,152,239,1,0,22,1,0,0,0,0,0,0,168,239,1,0,210,2,0,0,0,0,0,0,176,239,1,0,121,3,0,0,0,0,0,0,184,239,1,0,133,1,0,0,0,0,0,0,200,239,1,0,99,2,0,0,0,0,0,0,216,239,1,0,210,2,0,0,0,0,0,0,224,239,1,0,99,2,0,0,0,0,0,0,232,239,1,0,44,2,0,0,0,0,0,0,240,239,1,0,44,2,0,0,0,0,0,0,248,239,1,0,99,2,0,0,0,0,0,0,8,240,1,0,99,2,0,0,0,0,0,0,16,240,1,0,155,2,0,0,0,0,0,0,32,240,1,0,66,3,0,0,0,0,0,0,48,240,1,0,44,2,0,0,0,0,0,0,64,240,1,0,210,2,0,0,0,0,0,0,80,240,1,0,44,2,0,0,0,0,0,0,96,240,1,0,77,1,0,0,0,0,0,0,104,240,1,0,207,3,0,0,0,0,0,0,112,240,1,0,44,2,0,0,0,0,0,0,120,240,1,0,44,2,0,0,0,0,0,0,136,240,1,0,44,2,0,0,0,0,0,0,144,240,1,0,210,2,0,0,0,0,0,0,152,240,1,0,72,2,0,0,0,0,0,0,168,240,1,0,44,2,0,0,0,0,0,0,176,240,1,0,99,2,0,0,0,0,0,0,184,240,1,0,155,2,0,0,0,0,0,0,200,240,1,0,10,3,0,0,0,0,0,0,208,240,1,0,210,2,0,0,0,0,0,0,216,240,1,0,238,1,0,0,0,0,0,0,232,240,1,0,99,2,0,0,0,0,0,0,240,240,1,0,133,1,0,0,0,0,0,0,0,241,1,0,155,2,0,0,0,0,0,0,8,241,1,0,244,1,0,0,0,0,0,0,16,241,1,0,44,2,0,0,0,0,0,0,32,241,1,0,44,2,0,0,0,0,0,0,48,241,1,0,210,2,0,0,0,0,0,0,56,241,1,0,99,2,0,0,0,0,0,0,64,241,1,0,10,3,0,0,0,0,0,0,80,241,1,0,10,3,0,0,0,0,0,0,88,241,1,0,44,2,0,0,0,0,0,0,104,241,1,0,77,1,0,0,0,0,0,0,112,241,1,0,99,2,0,0,0,0,0,0,120,241,1,0,133,1,0,0,0,0,0,0,128,241,1,0,99,2,0,0,0,0,0,0,136,241,1,0,155,2,0,0,0,0,0,0,144,241,1,0,99,2,0,0,0,0,0,0,152,241,1,0,144,1,0,0,0,0,0,0,160,241,1,0,225,2,0,0,0,0,0,0,176,241,1,0,37,2,0,0,0,0,0,0,184,241,1,0,210,2,0,0,0,0,0,0,192,241,1,0,121,3,0,0,0,0,0,0,200,241,1,0,44,2,0,0,0,0,0,0,208,241,1,0,44,2,0,0,0,0,0,0,224,241,1,0,231,2,0,0,0,0,0,0,232,241,1,0,210,2,0,0,0,0,0,0,240,241,1,0,44,2,0,0,0,0,0,0,248,241,1,0,88,2,0,0,0,0,0,0,8,242,1,0,22,1,0,0,0,0,0,0,16,242,1,0,99,2,0,0,0,0,0,0,24,242,1,0,99,2,0,0,0,0,0,0,40,242,1,0,99,2,0,0,0,0,0,0,48,242,1,0,210,2,0,0,0,0,0,0,56,242,1,0,99,2,0,0,0,0,0,0,72,242,1,0,133,1,0,0,0,0,0,0,80,242,1,0,44,2,0,0,0,0,0,0,88,242,1,0,100,2,0,0,0,0,0,0,96,242,1,0,10,3,0,0,0,0,0,0,112,242,1,0,72,2,0,0,0,0,0,0,128,242,1,0,44,2,0,0,0,0,0,0,136,242,1,0,77,1,0,0,0,0,0,0,144,242,1,0,99,2,0,0,0,0,0,0,152,242,1,0,77,1,0,0,0,0,0,0,168,242,1,0,22,1,0,0,0,0,0,0,176,242,1,0,210,2,0,0,0,0,0,0,192,242,1,0,22,1,0,0,0,0,0,0,200,242,1,0,22,1,0,0,0,0,0,0,208,242,1,0,210,2,0,0,0,0,0,0,216,242,1,0,72,2,0,0,0,0,0,0,224,242,1,0,99,2,0,0,0,0,0,0,232,242,1,0,22,1,0,0,0,0,0,0,248,242,1,0,22,1,0,0,0,0,0,0,8,243,1,0,155,2,0,0,0,0,0,0,16,243,1,0,99,2,0,0,0,0,0,0,32,243,1,0,77,1,0,0,0,0,0,0,48,243,1,0,77,1,0,0,0,0,0,0,56,243,1,0,44,2,0,0,0,0,0,0,64,243,1,0,77,1,0,0,0,0,0,0,80,243,1,0,22,1,0,0,0,0,0,0,88,243,1,0,244,1,0,0,0,0,0,0,104,243,1,0,99,2,0,0,0,0,0,0,112,243,1,0,44,2,0,0,0,0,0,0,120,243,1,0,44,2,0,0,0,0,0,0,128,243,1,0,210,2,0,0,0,0,0,0,144,243,1,0,99,2,0,0,0,0,0,0,152,243,1,0,99,2,0,0,0,0,0,0,160,243,1,0,210,2,0,0,0,0,0,0,176,243,1,0,210,2,0,0,0,0,0,0,184,243,1,0,22,1,0,0,0,0,0,0,200,243,1,0,44,2,0,0,0,0,0,0,216,243,1,0,99,2,0,0,0,0,0,0,232,243,1,0,210,2,0,0,0,0,0,0,240,243,1,0,44,2,0,0,0,0,0,0,248,243,1,0,155,2,0,0,0,0,0,0,0,244,1,0,109,1,0,0,0,0,0,0,16,244,1,0,22,1,0,0,0,0,0,0,32,244,1,0,44,2,0,0,0,0,0,0,48,244,1,0,37,2,0,0,0,0,0,0,64,244,1,0,22,1,0,0,0,0,0,0,72,244,1,0,133,1,0,0,0,0,0,0,88,244,1,0,99,2,0,0,0,0,0,0,104,244,1,0,44,2,0,0,0,0,0,0,120,244,1,0,44,2,0,0,0,0,0,0,128,244,1,0,155,2,0,0,0,0,0,0,136,244,1,0,22,1,0,0,0,0,0,0,152,244,1,0,133,1,0,0,0,0,0,0,168,244,1,0,244,1,0,0,0,0,0,0,184,244,1,0,44,2,0,0,0,0,0,0,192,244,1,0,44,2,0,0,0,0,0,0,200,244,1,0,22,1,0,0,0,0,0,0,208,244,1,0,44,2,0,0,0,0,0,0,216,244,1,0,44,2,0,0,0,0,0,0,232,244,1,0,72,2,0,0,0,0,0,0,248,244,1,0,244,1,0,0,0,0,0,0,8,245,1,0,210,2,0,0,0,0,0,0,16,245,1,0,77,1,0,0,0,0,0,0,24,245,1,0,24,1,0,0,0,0,0,0,32,245,1,0,167,0,0,0,0,0,0,0,48,245,1,0,72,2,0,0,0,0,0,0,56,245,1,0,44,2,0,0,0,0,0,0,64,245,1,0,77,1,0,0,0,0,0,0,80,245,1,0,77,1,0,0,0,0,0,0,88,245,1,0,22,1,0,0,0,0,0,0,96,245,1,0,210,2,0,0,0,0,0,0,104,245,1,0,210,2,0,0,0,0,0,0,120,245,1,0,72,2,0,0,0,0,0,0,128,245,1,0,44,2,0,0,0,0,0,0,136,245,1,0,24,1,0,0,0,0,0,0,152,245,1,0,22,1,0,0,0,0,0,0,168,245,1,0,155,2,0,0,0,0,0,0,184,245,1,0,77,1,0,0,0,0,0,0,0,0,0,0,120,232,1,0,210,2,0,0,0,0,0,0,128,232,1,0,77,1,0,0,0,0,0,0,136,232,1,0,244,1,0,0,0,0,0,0,152,232,1,0,210,2,0,0,0,0,0,0,168,232,1,0,99,2,0,0,0,0,0,0,176,232,1,0,22,1,0,0,0,0,0,0,184,232,1,0,77,1,0,0,0,0,0,0,192,232,1,0,72,2,0,0,0,0,0,0,208,232,1,0,77,1,0,0,0,0,0,0,224,232,1,0,77,1,0,0,0,0,0,0,240,232,1,0,44,2,0,0,0,0,0,0,0,233,1,0,72,2,0,0,0,0,0,0,16,233,1,0,22,1,0,0,0,0,0,0,24,233,1,0,66,3,0,0,0,0,0,0,32,233,1,0,44,2,0,0,0,0,0,0,40,233,1,0,44,2,0,0,0,0,0,0,48,233,1,0,44,2,0,0,0,0,0,0,56,233,1,0,155,2,0,0,0,0,0,0,64,233,1,0,44,2,0,0,0,0,0,0,80,233,1,0,72,2,0,0,0,0,0,0,88,233,1,0,22,1,0,0,0,0,0,0,96,233,1,0,244,1,0,0,0,0,0,0,104,233,1,0,44,2,0,0,0,0,0,0,216,226,1,0,22,1,0,0,0,0,0,0,112,233,1,0,10,3,0,0,0,0,0,0,120,233,1,0,99,2,0,0,0,0,0,0,136,233,1,0,232,3,0,0,0,0,0,0,144,233,1,0,155,2,0,0,0,0,0,0,152,233,1,0,44,2,0,0,0,0,0,0,160,233,1,0,44,2,0,0,0,0,0,0,176,233,1,0,43,1,0,0,0,0,0,0,184,233,1,0,155,2,0,0,0,0,0,0,192,233,1,0,155,2,0,0,0,0,0,0,200,233,1,0,210,2,0,0,0,0,0,0,208,233,1,0,44,2,0,0,0,0,0,0,216,233,1,0,210,2,0,0,0,0,0,0,224,233,1,0,155,2,0,0,0,0,0,0,232,233,1,0,66,3,0,0,0,0,0,0,248,233,1,0,99,2,0,0,0,0,0,0,0,234,1,0,10,3,0,0,0,0,0,0,8,234,1,0,210,2,0,0,0,0,0,0,16,234,1,0,22,1,0,0,0,0,0,0,24,234,1,0,244,1,0,0,0,0,0,0,32,234,1,0,155,2,0,0,0,0,0,0,40,234,1,0,222,0,0,0,0,0,0,0,48,234,1,0,22,1,0,0,0,0,0,0,64,234,1,0,44,2,0,0,0,0,0,0,72,234,1,0,22,1,0,0,0,0,0,0,88,234,1,0,65,3,0,0,0,0,0,0,96,234,1,0,210,2,0,0,0,0,0,0,104,234,1,0,44,2,0,0,0,0,0,0,112,234,1,0,99,2,0,0,0,0,0,0,128,234,1,0,10,3,0,0,0,0,0,0,136,234,1,0,155,2,0,0,0,0,0,0,144,234,1,0,10,3,0,0,0,0,0,0,152,234,1,0,210,2,0,0,0,0,0,0,168,234,1,0,210,2,0,0,0,0,0,0,176,234,1,0,155,2,0,0,0,0,0,0,184,234,1,0,77,1,0,0,0,0,0,0,192,234,1,0,155,2,0,0,0,0,0,0,200,234,1,0,99,2,0,0,0,0,0,0,208,234,1,0,210,2,0,0,0,0,0,0,216,234,1,0,44,2,0,0,0,0,0,0,224,234,1,0,155,2,0,0,0,0,0,0,232,234,1,0,176,3,0,0,0,0,0,0,240,234,1,0,155,2,0,0,0,0,0,0,248,234,1,0,44,2,0,0,0,0,0,0,8,235,1,0,72,2,0,0,0,0,0,0,16,235,1,0,155,2,0,0,0,0,0,0,24,235,1,0,99,2,0,0,0,0,0,0,32,235,1,0,44,2,0,0,0,0,0,0,40,235,1,0,44,2,0,0,0,0,0,0,48,235,1,0,10,3,0,0,0,0,0,0,64,235,1,0,44,2,0,0,0,0,0,0,72,235,1,0,244,1,0,0,0,0,0,0,80,235,1,0,44,2,0,0,0,0,0,0,88,235,1,0,44,2,0,0,0,0,0,0,96,235,1,0,22,1,0,0,0,0,0,0,104,235,1,0,44,2,0,0,0,0,0,0,112,235,1,0,94,1,0,0,0,0,0,0,120,235,1,0,44,2,0,0,0,0,0,0,128,235,1,0,222,0,0,0,0,0,0,0,136,235,1,0,10,3,0,0,0,0,0,0,144,235,1,0,44,2,0,0,0,0,0,0,152,235,1,0,222,0,0,0,0,0,0,0,160,235,1,0,244,1,0,0,0,0,0,0,168,235,1,0,222,0,0,0,0,0,0,0,176,235,1,0,65,3,0,0,0,0,0,0,184,235,1,0,44,2,0,0,0,0,0,0,192,235,1,0,22,1,0,0,0,0,0,0,208,235,1,0,44,2,0,0,0,0,0,0,216,235,1,0,114,1,0,0,0,0,0,0,232,235,1,0,77,1,0,0,0,0,0,0,240,235,1,0,44,2,0,0,0,0,0,0,248,235,1,0,44,2,0,0,0,0,0,0,0,236,1,0,44,2,0,0,0,0,0,0,16,236,1,0,77,1,0,0,0,0,0,0,24,236,1,0,77,1,0,0,0,0,0,0,40,236,1,0,44,2,0,0,0,0,0,0,48,236,1,0,244,1,0,0,0,0,0,0,56,236,1,0,232,3,0,0,0,0,0,0,64,236,1,0,22,1,0,0,0,0,0,0,72,236,1,0,72,2,0,0,0,0,0,0,80,236,1,0,44,2,0,0,0,0,0,0,88,236,1,0,210,2,0,0,0,0,0,0,96,236,1,0,244,1,0,0,0,0,0,0,104,236,1,0,210,2,0,0,0,0,0,0,112,236,1,0,244,1,0,0,0,0,0,0,120,236,1,0,244,1,0,0,0,0,0,0,128,236,1,0,244,1,0,0,0,0,0,0,136,236,1,0,10,3,0,0,0,0,0,0,144,236,1,0,250,0,0,0,0,0,0,0,160,236,1,0,77,1,0,0,0,0,0,0,176,236,1,0,22,1,0,0,0,0,0,0,192,236,1,0,210,2,0,0,0,0,0,0,200,236,1,0,99,1,0,0,0,0,0,0,216,236,1,0,44,2,0,0,0,0,0,0,232,236,1,0,44,2,0,0,0,0,0,0,240,236,1,0,37,2,0,0,0,0,0,0,0,237,1,0,155,2,0,0,0,0,0,0,8,237,1,0,44,2,0,0,0,0,0,0,16,237,1,0,22,1,0,0,0,0,0,0,32,237,1,0,99,2,0,0,0,0,0,0,40,237,1,0,37,2,0,0,0,0,0,0,56,237,1,0,215,1,0,0,0,0,0,0,64,237,1,0,77,1,0,0,0,0,0,0,80,237,1,0,244,1,0,0,0,0,0,0,88,237,1,0,155,2,0,0,0,0,0,0,104,237,1,0,44,2,0,0,0,0,0,0,112,237,1,0,232,3,0,0,0,0,0,0,128,237,1,0,44,2,0,0,0,0,0,0,144,237,1,0,44,2,0,0,0,0,0,0,152,237,1,0,77,1,0,0,0,0,0,0,160,237,1,0,10,3,0,0,0,0,0,0,168,237,1,0,155,2,0,0,0,0,0,0,176,237,1,0,232,3,0,0,0,0,0,0,192,237,1,0,244,1,0,0,0,0,0,0,200,237,1,0,232,3,0,0,0,0,0,0,208,237,1,0,210,2,0,0,0,0,0,0,224,237,1,0,222,0,0,0,0,0,0,0,232,237,1,0,77,1,0,0,0,0,0,0,248,237,1,0,77,1,0,0,0,0,0,0,8,238,1,0,77,1,0,0,0,0,0,0,16,238,1,0,191,0,0,0,0,0,0,0,32,238,1,0,44,2,0,0,0,0,0,0,40,238,1,0,77,1,0,0,0,0,0,0,56,238,1,0,44,2,0,0,0,0,0,0,64,238,1,0,176,3,0,0,0,0,0,0,72,238,1,0,155,2,0,0,0,0,0,0,80,238,1,0,210,2,0,0,0,0,0,0,88,238,1,0,44,2,0,0,0,0,0,0,104,238,1,0,155,2,0,0,0,0,0,0,120,238,1,0,225,2,0,0,0,0,0,0,136,238,1,0,155,2,0,0,0,0,0,0,144,238,1,0,22,1,0,0,0,0,0,0,152,238,1,0,155,2,0,0,0,0,0,0,168,238,1,0,44,2,0,0,0,0,0,0,176,238,1,0,22,1,0,0,0,0,0,0,192,238,1,0,77,1,0,0,0,0,0,0,208,238,1,0,44,2,0,0,0,0,0,0,216,238,1,0,44,2,0,0,0,0,0,0,224,238,1,0,10,3,0,0,0,0,0,0,240,238,1,0,44,2,0,0,0,0,0,0,0,239,1,0,22,1,0,0,0,0,0,0,16,239,1,0,210,2,0,0,0,0,0,0,24,239,1,0,222,0,0,0,0,0,0,0,40,239,1,0,210,2,0,0,0,0,0,0,56,239,1,0,232,3,0,0,0,0,0,0,72,239,1,0,155,2,0,0,0,0,0,0,88,239,1,0,44,2,0,0,0,0,0,0,96,239,1,0,44,2,0,0,0,0,0,0,104,239,1,0,155,2,0,0,0,0,0,0,112,239,1,0,44,2,0,0,0,0,0,0,128,239,1,0,44,2,0,0,0,0,0,0,136,239,1,0,44,2,0,0,0,0,0,0,152,239,1,0,22,1,0,0,0,0,0,0,168,239,1,0,210,2,0,0,0,0,0,0,176,239,1,0,121,3,0,0,0,0,0,0,184,239,1,0,133,1,0,0,0,0,0,0,200,239,1,0,44,2,0,0,0,0,0,0,216,239,1,0,210,2,0,0,0,0,0,0,224,239,1,0,44,2,0,0,0,0,0,0,232,239,1,0,44,2,0,0,0,0,0,0,240,239,1,0,44,2,0,0,0,0,0,0,248,239,1,0,44,2,0,0,0,0,0,0,8,240,1,0,99,2,0,0,0,0,0,0,16,240,1,0,155,2,0,0,0,0,0,0,32,240,1,0,66,3,0,0,0,0,0,0,48,240,1,0,44,2,0,0,0,0,0,0,64,240,1,0,210,2,0,0,0,0,0,0,80,240,1,0,244,1,0,0,0,0,0,0,96,240,1,0,77,1,0,0,0,0,0,0,104,240,1,0,247,3,0,0,0,0,0,0,112,240,1,0,44,2,0,0,0,0,0,0,120,240,1,0,44,2,0,0,0,0,0,0,136,240,1,0,44,2,0,0,0,0,0,0,144,240,1,0,210,2,0,0,0,0,0,0,152,240,1,0,72,2,0,0,0,0,0,0,168,240,1,0,44,2,0,0,0,0,0,0,176,240,1,0,44,2,0,0,0,0,0,0,184,240,1,0,155,2,0,0,0,0,0,0,200,240,1,0,10,3,0,0,0,0,0,0,208,240,1,0,210,2,0,0,0,0,0,0,216,240,1,0,220,1,0,0,0,0,0,0,232,240,1,0,44,2,0,0,0,0,0,0,240,240,1,0,78,1,0,0,0,0,0,0,0,241,1,0,155,2,0,0,0,0,0,0,8,241,1,0,244,1,0,0,0,0,0,0,16,241,1,0,244,1,0,0,0,0,0,0,32,241,1,0,244,1,0,0,0,0,0,0,48,241,1,0,210,2,0,0,0,0,0,0,56,241,1,0,44,2,0,0,0,0,0,0,64,241,1,0,10,3,0,0,0,0,0,0,80,241,1,0,10,3,0,0,0,0,0,0,88,241,1,0,244,1,0,0,0,0,0,0,104,241,1,0,77,1,0,0,0,0,0,0,112,241,1,0,44,2], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+92160);
/* memory initializer */ allocate([120,241,1,0,77,1,0,0,0,0,0,0,128,241,1,0,99,2,0,0,0,0,0,0,136,241,1,0,155,2,0,0,0,0,0,0,144,241,1,0,44,2,0,0,0,0,0,0,152,241,1,0,144,1,0,0,0,0,0,0,160,241,1,0,225,2,0,0,0,0,0,0,176,241,1,0,197,1,0,0,0,0,0,0,184,241,1,0,155,2,0,0,0,0,0,0,192,241,1,0,121,3,0,0,0,0,0,0,200,241,1,0,44,2,0,0,0,0,0,0,208,241,1,0,25,2,0,0,0,0,0,0,224,241,1,0,131,2,0,0,0,0,0,0,232,241,1,0,210,2,0,0,0,0,0,0,240,241,1,0,44,2,0,0,0,0,0,0,248,241,1,0,88,2,0,0,0,0,0,0,8,242,1,0,22,1,0,0,0,0,0,0,16,242,1,0,44,2,0,0,0,0,0,0,24,242,1,0,44,2,0,0,0,0,0,0,40,242,1,0,44,2,0,0,0,0,0,0,48,242,1,0,210,2,0,0,0,0,0,0,56,242,1,0,44,2,0,0,0,0,0,0,72,242,1,0,61,1,0,0,0,0,0,0,80,242,1,0,44,2,0,0,0,0,0,0,88,242,1,0,100,2,0,0,0,0,0,0,96,242,1,0,10,3,0,0,0,0,0,0,112,242,1,0,213,1,0,0,0,0,0,0,128,242,1,0,44,2,0,0,0,0,0,0,136,242,1,0,77,1,0,0,0,0,0,0,144,242,1,0,44,2,0,0,0,0,0,0,152,242,1,0,22,1,0,0,0,0,0,0,168,242,1,0,22,1,0,0,0,0,0,0,176,242,1,0,155,2,0,0,0,0,0,0,192,242,1,0,22,1,0,0,0,0,0,0,200,242,1,0,222,0,0,0,0,0,0,0,208,242,1,0,210,2,0,0,0,0,0,0,216,242,1,0,72,2,0,0,0,0,0,0,224,242,1,0,44,2,0,0,0,0,0,0,232,242,1,0,222,0,0,0,0,0,0,0,248,242,1,0,222,0,0,0,0,0,0,0,8,243,1,0,155,2,0,0,0,0,0,0,16,243,1,0,44,2,0,0,0,0,0,0,32,243,1,0,77,1,0,0,0,0,0,0,48,243,1,0,77,1,0,0,0,0,0,0,56,243,1,0,44,2,0,0,0,0,0,0,64,243,1,0,77,1,0,0,0,0,0,0,80,243,1,0,22,1,0,0,0,0,0,0,88,243,1,0,77,1,0,0,0,0,0,0,104,243,1,0,44,2,0,0,0,0,0,0,112,243,1,0,44,2,0,0,0,0,0,0,120,243,1,0,244,1,0,0,0,0,0,0,128,243,1,0,210,2,0,0,0,0,0,0,144,243,1,0,244,1,0,0,0,0,0,0,152,243,1,0,244,1,0,0,0,0,0,0,160,243,1,0,155,2,0,0,0,0,0,0,176,243,1,0,210,2,0,0,0,0,0,0,184,243,1,0,22,1,0,0,0,0,0,0,200,243,1,0,44,2,0,0,0,0,0,0,216,243,1,0,99,2,0,0,0,0,0,0,232,243,1,0,155,2,0,0,0,0,0,0,240,243,1,0,44,2,0,0,0,0,0,0,248,243,1,0,155,2,0,0,0,0,0,0,0,244,1,0,109,1,0,0,0,0,0,0,16,244,1,0,22,1,0,0,0,0,0,0,32,244,1,0,44,2,0,0,0,0,0,0,48,244,1,0,37,2,0,0,0,0,0,0,64,244,1,0,22,1,0,0,0,0,0,0,72,244,1,0,77,1,0,0,0,0,0,0,88,244,1,0,99,2,0,0,0,0,0,0,104,244,1,0,44,2,0,0,0,0,0,0,120,244,1,0,244,1,0,0,0,0,0,0,128,244,1,0,155,2,0,0,0,0,0,0,136,244,1,0,22,1,0,0,0,0,0,0,152,244,1,0,78,1,0,0,0,0,0,0,168,244,1,0,77,1,0,0,0,0,0,0,184,244,1,0,44,2,0,0,0,0,0,0,192,244,1,0,244,1,0,0,0,0,0,0,200,244,1,0,22,1,0,0,0,0,0,0,208,244,1,0,44,2,0,0,0,0,0,0,216,244,1,0,44,2,0,0,0,0,0,0,232,244,1,0,72,2,0,0,0,0,0,0,248,244,1,0,244,1,0,0,0,0,0,0,8,245,1,0,155,2,0,0,0,0,0,0,16,245,1,0,77,1,0,0,0,0,0,0,24,245,1,0,4,1,0,0,0,0,0,0,32,245,1,0,167,0,0,0,0,0,0,0,48,245,1,0,72,2,0,0,0,0,0,0,56,245,1,0,44,2,0,0,0,0,0,0,64,245,1,0,77,1,0,0,0,0,0,0,80,245,1,0,22,1,0,0,0,0,0,0,88,245,1,0,22,1,0,0,0,0,0,0,96,245,1,0,210,2,0,0,0,0,0,0,104,245,1,0,155,2,0,0,0,0,0,0,120,245,1,0,72,2,0,0,0,0,0,0,128,245,1,0,44,2,0,0,0,0,0,0,136,245,1,0,4,1,0,0,0,0,0,0,152,245,1,0,222,0,0,0,0,0,0,0,168,245,1,0,155,2,0,0,0,0,0,0,184,245,1,0,77,1,0,0,0,0,0,0,0,0,0,0,200,245,1,0,128,1,0,0,0,0,0,0,216,245,1,0,119,2,0,0,0,0,0,0,224,245,1,0,0,3,0,0,0,0,0,0,232,245,1,0,201,2,0,0,0,0,0,0,176,232,1,0,250,0,0,0,0,0,0,0,248,245,1,0,22,3,0,0,0,0,0,0,192,232,1,0,37,2,0,0,0,0,0,0,8,246,1,0,91,2,0,0,0,0,0,0,16,246,1,0,22,3,0,0,0,0,0,0,24,246,1,0,128,1,0,0,0,0,0,0,40,246,1,0,201,2,0,0,0,0,0,0,16,233,1,0,22,1,0,0,0,0,0,0,56,246,1,0,37,2,0,0,0,0,0,0,64,246,1,0,238,1,0,0,0,0,0,0,80,246,1,0,174,2,0,0,0,0,0,0,88,246,1,0,251,2,0,0,0,0,0,0,80,233,1,0,37,2,0,0,0,0,0,0,216,226,1,0,250,0,0,0,0,0,0,0,96,246,1,0,80,2,0,0,0,0,0,0,104,246,1,0,37,2,0,0,0,0,0,0,120,246,1,0,247,0,0,0,0,0,0,0,128,246,1,0,0,3,0,0,0,0,0,0,144,246,1,0,210,2,0,0,0,0,0,0,152,233,1,0,244,1,0,0,0,0,0,0,160,233,1,0,244,1,0,0,0,0,0,0,152,246,1,0,37,2,0,0,0,0,0,0,160,246,1,0,9,2,0,0,0,0,0,0,168,246,1,0,55,3,0,0,0,0,0,0,176,246,1,0,99,2,0,0,0,0,0,0,184,246,1,0,241,2,0,0,0,0,0,0,192,246,1,0,91,2,0,0,0,0,0,0,208,246,1,0,91,2,0,0,0,0,0,0,216,246,1,0,201,2,0,0,0,0,0,0,232,246,1,0,37,2,0,0,0,0,0,0,248,234,1,0,188,1,0,0,0,0,0,0,8,235,1,0,37,2,0,0,0,0,0,0,240,246,1,0,99,2,0,0,0,0,0,0,248,246,1,0,55,3,0,0,0,0,0,0,8,247,1,0,241,2,0,0,0,0,0,0,32,235,1,0,244,1,0,0,0,0,0,0,16,247,1,0,121,3,0,0,0,0,0,0,24,247,1,0,128,1,0,0,0,0,0,0,40,247,1,0,241,2,0,0,0,0,0,0,112,235,1,0,204,1,0,0,0,0,0,0,48,247,1,0,0,3,0,0,0,0,0,0,56,247,1,0,183,1,0,0,0,0,0,0,64,247,1,0,178,2,0,0,0,0,0,0,72,247,1,0,238,1,0,0,0,0,0,0,88,247,1,0,241,2,0,0,0,0,0,0,72,236,1,0,37,2,0,0,0,0,0,0,96,247,1,0,183,1,0,0,0,0,0,0,104,247,1,0,91,2,0,0,0,0,0,0,120,247,1,0,128,1,0,0,0,0,0,0,240,236,1,0,37,2,0,0,0,0,0,0,232,236,1,0,64,2,0,0,0,0,0,0,136,247,1,0,210,2,0,0,0,0,0,0,144,247,1,0,95,3,0,0,0,0,0,0,160,247,1,0,201,2,0,0,0,0,0,0,176,247,1,0,174,2,0,0,0,0,0,0,16,237,1,0,22,1,0,0,0,0,0,0,184,247,1,0,201,2,0,0,0,0,0,0,192,247,1,0,64,2,0,0,0,0,0,0,200,247,1,0,37,2,0,0,0,0,0,0,216,247,1,0,174,2,0,0,0,0,0,0,40,237,1,0,37,2,0,0,0,0,0,0,232,247,1,0,91,2,0,0,0,0,0,0,56,237,1,0,238,1,0,0,0,0,0,0,240,247,1,0,122,3,0,0,0,0,0,0,64,237,1,0,77,1,0,0,0,0,0,0,0,248,1,0,201,2,0,0,0,0,0,0,16,248,1,0,183,1,0,0,0,0,0,0,24,248,1,0,9,2,0,0,0,0,0,0,32,248,1,0,91,2,0,0,0,0,0,0,40,248,1,0,73,1,0,0,0,0,0,0,176,237,1,0,232,3,0,0,0,0,0,0,56,248,1,0,44,2,0,0,0,0,0,0,64,248,1,0,128,1,0,0,0,0,0,0,80,248,1,0,244,1,0,0,0,0,0,0,32,238,1,0,244,1,0,0,0,0,0,0,96,248,1,0,73,1,0,0,0,0,0,0,112,248,1,0,91,2,0,0,0,0,0,0,128,248,1,0,37,2,0,0,0,0,0,0,144,248,1,0,229,2,0,0,0,0,0,0,152,248,1,0,0,3,0,0,0,0,0,0,168,248,1,0,0,3,0,0,0,0,0,0,144,238,1,0,22,1,0,0,0,0,0,0,176,248,1,0,22,3,0,0,0,0,0,0,192,238,1,0,77,1,0,0,0,0,0,0,208,238,1,0,244,1,0,0,0,0,0,0,192,248,1,0,155,1,0,0,0,0,0,0,0,239,1,0,77,1,0,0,0,0,0,0,200,248,1,0,37,2,0,0,0,0,0,0,208,248,1,0,0,3,0,0,0,0,0,0,224,248,1,0,210,2,0,0,0,0,0,0,232,248,1,0,9,2,0,0,0,0,0,0,240,248,1,0,37,2,0,0,0,0,0,0,248,248,1,0,174,2,0,0,0,0,0,0,8,249,1,0,210,2,0,0,0,0,0,0,16,249,1,0,55,3,0,0,0,0,0,0,232,239,1,0,244,1,0,0,0,0,0,0,240,239,1,0,244,1,0,0,0,0,0,0,24,249,1,0,201,2,0,0,0,0,0,0,40,249,1,0,128,1,0,0,0,0,0,0,56,249,1,0,18,3,0,0,0,0,0,0,72,249,1,0,250,0,0,0,0,0,0,0,80,249,1,0,174,2,0,0,0,0,0,0,96,249,1,0,37,2,0,0,0,0,0,0,104,249,1,0,128,1,0,0,0,0,0,0,120,249,1,0,91,2,0,0,0,0,0,0,120,240,1,0,244,1,0,0,0,0,0,0,136,240,1,0,238,2,0,0,0,0,0,0,152,240,1,0,37,2,0,0,0,0,0,0,168,240,1,0,244,1,0,0,0,0,0,0,216,240,1,0,238,1,0,0,0,0,0,0,128,249,1,0,0,3,0,0,0,0,0,0,136,249,1,0,219,3,0,0,0,0,0,0,240,240,1,0,224,1,0,0,0,0,0,0,152,249,1,0,128,1,0,0,0,0,0,0,168,249,1,0,27,3,0,0,0,0,0,0,184,249,1,0,99,2,0,0,0,0,0,0,192,249,1,0,238,1,0,0,0,0,0,0,200,249,1,0,91,2,0,0,0,0,0,0,216,249,1,0,91,2,0,0,0,0,0,0,232,249,1,0,174,2,0,0,0,0,0,0,152,241,1,0,144,1,0,0,0,0,0,0,248,249,1,0,77,1,0,0,0,0,0,0,0,250,1,0,146,2,0,0,0,0,0,0,176,241,1,0,37,2,0,0,0,0,0,0,16,250,1,0,244,1,0,0,0,0,0,0,192,241,1,0,65,3,0,0,0,0,0,0,32,250,1,0,238,1,0,0,0,0,0,0,200,241,1,0,244,1,0,0,0,0,0,0,240,241,1,0,244,1,0,0,0,0,0,0,40,250,1,0,219,3,0,0,0,0,0,0,248,241,1,0,201,2,0,0,0,0,0,0,56,250,1,0,128,1,0,0,0,0,0,0,72,250,1,0,146,2,0,0,0,0,0,0,88,250,1,0,183,1,0,0,0,0,0,0,104,250,1,0,91,2,0,0,0,0,0,0,88,242,1,0,100,2,0,0,0,0,0,0,120,250,1,0,73,1,0,0,0,0,0,0,128,250,1,0,232,3,0,0,0,0,0,0,144,250,1,0,128,1,0,0,0,0,0,0,152,242,1,0,77,1,0,0,0,0,0,0,176,242,1,0,10,3,0,0,0,0,0,0,216,242,1,0,37,2,0,0,0,0,0,0,160,250,1,0,201,2,0,0,0,0,0,0,176,250,1,0,238,1,0,0,0,0,0,0,184,250,1,0,22,3,0,0,0,0,0,0,200,250,1,0,238,1,0,0,0,0,0,0,216,250,1,0,219,3,0,0,0,0,0,0,232,250,1,0,155,1,0,0,0,0,0,0,240,250,1,0,18,4,0,0,0,0,0,0,112,243,1,0,244,1,0,0,0,0,0,0,0,251,1,0,27,3,0,0,0,0,0,0,8,251,1,0,238,1,0,0,0,0,0,0,24,251,1,0,128,1,0,0,0,0,0,0,240,243,1,0,244,1,0,0,0,0,0,0,40,251,1,0,238,1,0,0,0,0,0,0,48,244,1,0,37,2,0,0,0,0,0,0,56,251,1,0,174,2,0,0,0,0,0,0,64,251,1,0,37,2,0,0,0,0,0,0,80,251,1,0,201,2,0,0,0,0,0,0,96,251,1,0,219,3,0,0,0,0,0,0,152,244,1,0,224,1,0,0,0,0,0,0,112,251,1,0,201,2,0,0,0,0,0,0,128,251,1,0,133,2,0,0,0,0,0,0,136,251,1,0,119,2,0,0,0,0,0,0,232,244,1,0,201,2,0,0,0,0,0,0,144,251,1,0,210,2,0,0,0,0,0,0,152,251,1,0,37,2,0,0,0,0,0,0,24,245,1,0,200,0,0,0,0,0,0,0,32,245,1,0,167,0,0,0,0,0,0,0,48,245,1,0,37,2,0,0,0,0,0,0,160,251,1,0,22,3,0,0,0,0,0,0,176,251,1,0,201,2,0,0,0,0,0,0,80,245,1,0,77,1,0,0,0,0,0,0,184,251,1,0,108,2,0,0,0,0,0,0,200,251,1,0,238,1,0,0,0,0,0,0,216,251,1,0,237,1,0,0,0,0,0,0,88,245,1,0,250,0,0,0,0,0,0,0,224,251,1,0,210,2,0,0,0,0,0,0,232,251,1,0,219,3,0,0,0,0,0,0,120,245,1,0,37,2,0,0,0,0,0,0,248,251,1,0,128,1,0,0,0,0,0,0,8,252,1,0,37,2,0,0,0,0,0,0,16,252,1,0,201,2,0,0,0,0,0,0,32,252,1,0,18,1,0,0,0,0,0,0,48,252,1,0,18,4,0,0,0,0,0,0,64,252,1,0,155,2,0,0,0,0,0,0,120,232,1,0,210,2,0,0,0,0,0,0,128,232,1,0,188,1,0,0,0,0,0,0,136,232,1,0,44,2,0,0,0,0,0,0,152,232,1,0,210,2,0,0,0,0,0,0,168,232,1,0,155,2,0,0,0,0,0,0,176,232,1,0,250,0,0,0,0,0,0,0,184,232,1,0,77,1,0,0,0,0,0,0,192,232,1,0,58,2,0,0,0,0,0,0,208,232,1,0,77,1,0,0,0,0,0,0,224,232,1,0,77,1,0,0,0,0,0,0,240,232,1,0,188,1,0,0,0,0,0,0,0,233,1,0,8,2,0,0,0,0,0,0,16,233,1,0,77,1,0,0,0,0,0,0,24,233,1,0,238,2,0,0,0,0,0,0,32,233,1,0,244,1,0,0,0,0,0,0,40,233,1,0,155,2,0,0,0,0,0,0,48,233,1,0,44,2,0,0,0,0,0,0,56,233,1,0,210,2,0,0,0,0,0,0,64,233,1,0,44,2,0,0,0,0,0,0,80,233,1,0,58,2,0,0,0,0,0,0,88,233,1,0,133,1,0,0,0,0,0,0,96,233,1,0,188,1,0,0,0,0,0,0,104,233,1,0,244,1,0,0,0,0,0,0,216,226,1,0,250,0,0,0,0,0,0,0,112,233,1,0,10,3,0,0,0,0,0,0,120,233,1,0,244,1,0,0,0,0,0,0,136,233,1,0,232,3,0,0,0,0,0,0,144,233,1,0,210,2,0,0,0,0,0,0,152,233,1,0,244,1,0,0,0,0,0,0,160,233,1,0,244,1,0,0,0,0,0,0,176,233,1,0,138,1,0,0,0,0,0,0,184,233,1,0,210,2,0,0,0,0,0,0,192,233,1,0,155,2,0,0,0,0,0,0,200,233,1,0,210,2,0,0,0,0,0,0,208,233,1,0,244,1,0,0,0,0,0,0,216,233,1,0,210,2,0,0,0,0,0,0,224,233,1,0,155,2,0,0,0,0,0,0,232,233,1,0,238,2,0,0,0,0,0,0,248,233,1,0,99,2,0,0,0,0,0,0,0,234,1,0,10,3,0,0,0,0,0,0,8,234,1,0,10,3,0,0,0,0,0,0,16,234,1,0,133,1,0,0,0,0,0,0,24,234,1,0,244,1,0,0,0,0,0,0,32,234,1,0,10,3,0,0,0,0,0,0,40,234,1,0,22,1,0,0,0,0,0,0,48,234,1,0,22,1,0,0,0,0,0,0,64,234,1,0,155,2,0,0,0,0,0,0,72,234,1,0,250,0,0,0,0,0,0,0,88,234,1,0,176,3,0,0,0,0,0,0,96,234,1,0,210,2,0,0,0,0,0,0,104,234,1,0,244,1,0,0,0,0,0,0,112,234,1,0,155,2,0,0,0,0,0,0,128,234,1,0,10,3,0,0,0,0,0,0,136,234,1,0,99,2,0,0,0,0,0,0,144,234,1,0,10,3,0,0,0,0,0,0,152,234,1,0,210,2,0,0,0,0,0,0,168,234,1,0,210,2,0,0,0,0,0,0,176,234,1,0,210,2,0,0,0,0,0,0,184,234,1,0,77,1,0,0,0,0,0,0,192,234,1,0,44,2,0,0,0,0,0,0,200,234,1,0,155,2,0,0,0,0,0,0,208,234,1,0,210,2,0,0,0,0,0,0,216,234,1,0,244,1,0,0,0,0,0,0,224,234,1,0,210,2,0,0,0,0,0,0,232,234,1,0,232,3,0,0,0,0,0,0,240,234,1,0,210,2,0,0,0,0,0,0,248,234,1,0,244,1,0,0,0,0,0,0,8,235,1,0,58,2,0,0,0,0,0,0,16,235,1,0,210,2,0,0,0,0,0,0,24,235,1,0,155,2,0,0,0,0,0,0,32,235,1,0,244,1,0,0,0,0,0,0,40,235,1,0,244,1,0,0,0,0,0,0,48,235,1,0,10,3,0,0,0,0,0,0,64,235,1,0,44,2,0,0,0,0,0,0,72,235,1,0,188,1,0,0,0,0,0,0,80,235,1,0,44,2,0,0,0,0,0,0,88,235,1,0,188,1,0,0,0,0,0,0,96,235,1,0,77,1,0,0,0,0,0,0,104,235,1,0,244,1,0,0,0,0,0,0,112,235,1,0,94,1,0,0,0,0,0,0,120,235,1,0,44,2,0,0,0,0,0,0,128,235,1,0,22,1,0,0,0,0,0,0,136,235,1,0,10,3,0,0,0,0,0,0,144,235,1,0,244,1,0,0,0,0,0,0,152,235,1,0,77,1,0,0,0,0,0,0,160,235,1,0,44,2,0,0,0,0,0,0,168,235,1,0,22,1,0,0,0,0,0,0,176,235,1,0,65,3,0,0,0,0,0,0,184,235,1,0,44,2,0,0,0,0,0,0,192,235,1,0,77,1,0,0,0,0,0,0,208,235,1,0,244,1,0,0,0,0,0,0,216,235,1,0,44,1,0,0,0,0,0,0,232,235,1,0,77,1,0,0,0,0,0,0,240,235,1,0,44,2,0,0,0,0,0,0,248,235,1,0,44,2,0,0,0,0,0,0,0,236,1,0,44,2,0,0,0,0,0,0,16,236,1,0,188,1,0,0,0,0,0,0,24,236,1,0,44,1,0,0,0,0,0,0,40,236,1,0,244,1,0,0,0,0,0,0,48,236,1,0,133,1,0,0,0,0,0,0,56,236,1,0,232,3,0,0,0,0,0,0,64,236,1,0,77,1,0,0,0,0,0,0,72,236,1,0,58,2,0,0,0,0,0,0,80,236,1,0,44,2,0,0,0,0,0,0,88,236,1,0,210,2,0,0,0,0,0,0,96,236,1,0,244,1,0,0,0,0,0,0,104,236,1,0,210,2,0,0,0,0,0,0,112,236,1,0,244,1,0,0,0,0,0,0,120,236,1,0,244,1,0,0,0,0,0,0,128,236,1,0,188,1,0,0,0,0,0,0,136,236,1,0,10,3,0,0,0,0,0,0,144,236,1,0,250,0,0,0,0,0,0,0,160,236,1,0,77,1,0,0,0,0,0,0,176,236,1,0,133,1,0,0,0,0,0,0,192,236,1,0,210,2,0,0,0,0,0,0,200,236,1,0,43,2,0,0,0,0,0,0,216,236,1,0,244,1,0,0,0,0,0,0,232,236,1,0,44,2,0,0,0,0,0,0,240,236,1,0,37,2,0,0,0,0,0,0,0,237,1,0,44,2,0,0,0,0,0,0,8,237,1,0,155,2,0,0,0,0,0,0,16,237,1,0,77,1,0,0,0,0,0,0,32,237,1,0,244,1,0,0,0,0,0,0,40,237,1,0,37,2,0,0,0,0,0,0,56,237,1,0,238,1,0,0,0,0,0,0,64,237,1,0,77,1,0,0,0,0,0,0,80,237,1,0,188,1,0,0,0,0,0,0,88,237,1,0,155,2,0,0,0,0,0,0,104,237,1,0,244,1,0,0,0,0,0,0,112,237,1,0,232,3,0,0,0,0,0,0,128,237,1,0,244,1,0,0,0,0,0,0,144,237,1,0,44,2,0,0,0,0,0,0,152,237,1,0,77,1,0,0,0,0,0,0,160,237,1,0,10,3,0,0,0,0,0,0,168,237,1,0,155,2,0,0,0,0,0,0,176,237,1,0,232,3,0,0,0,0,0,0,192,237,1,0,133,1,0,0,0,0,0,0,200,237,1,0,232,3,0,0,0,0,0,0,208,237,1,0,210,2,0,0,0,0,0,0,224,237,1,0,22,1,0,0,0,0,0,0,232,237,1,0,244,1,0,0,0,0,0,0,248,237,1,0,77,1,0,0,0,0,0,0,8,238,1,0,77,1,0,0,0,0,0,0,16,238,1,0,22,1,0,0,0,0,0,0,32,238,1,0,244,1,0,0,0,0,0,0,40,238,1,0,77,1,0,0,0,0,0,0,56,238,1,0,244,1,0,0,0,0,0,0,64,238,1,0,210,2,0,0,0,0,0,0,72,238,1,0,210,2,0,0,0,0,0,0,80,238,1,0,210,2,0,0,0,0,0,0,88,238,1,0,188,1,0,0,0,0,0,0,104,238,1,0,210,2,0,0,0,0,0,0,120,238,1,0,235,2,0,0,0,0,0,0,136,238,1,0,155,2,0,0,0,0,0,0,144,238,1,0,22,1,0,0,0,0,0,0,152,238,1,0,155,2,0,0,0,0,0,0,168,238,1,0,244,1,0,0,0,0,0,0,176,238,1,0,133,1,0,0,0,0,0,0,192,238,1,0,77,1,0,0,0,0,0,0,208,238,1,0,244,1,0,0,0,0,0,0,216,238,1,0,188,1,0,0,0,0,0,0,224,238,1,0,10,3,0,0,0,0,0,0,240,238,1,0,44,2,0,0,0,0,0,0,0,239,1,0,77,1,0,0,0,0,0,0,16,239,1,0,210,2,0,0,0,0,0,0,24,239,1,0,77,1,0,0,0,0,0,0,40,239,1,0,210,2,0,0,0,0,0,0,56,239,1,0,232,3,0,0,0,0,0,0,72,239,1,0,210,2,0,0,0,0,0,0,88,239,1,0,44,2,0,0,0,0,0,0,96,239,1,0,244,1,0,0,0,0,0,0,104,239,1,0,155,2,0,0,0,0,0,0,112,239,1,0,244,1,0,0,0,0,0,0,128,239,1,0,188,1,0,0,0,0,0,0,136,239,1,0,188,1,0,0,0,0,0,0,152,239,1,0,22,1,0,0,0,0,0,0,168,239,1,0,210,2,0,0,0,0,0,0,176,239,1,0,210,2,0,0,0,0,0,0,184,239,1,0,244,1,0,0,0,0,0,0,200,239,1,0,244,1,0,0,0,0,0,0,216,239,1,0,210,2,0,0,0,0,0,0,224,239,1,0,44,2,0,0,0,0,0,0,232,239,1,0,244,1,0,0,0,0,0,0,240,239,1,0,244,1,0,0,0,0,0,0,248,239,1,0,44,2,0,0,0,0,0,0,8,240,1,0,155,2,0,0,0,0,0,0,16,240,1,0,44,2,0,0,0,0,0,0,32,240,1,0,238,2,0,0,0,0,0,0,48,240,1,0,244,1,0,0,0,0,0,0,64,240,1,0,210,2,0,0,0,0,0,0,80,240,1,0,244,1,0,0,0,0,0,0,96,240,1,0,77,1,0,0,0,0,0,0,104,240,1,0,162,3,0,0,0,0,0,0,112,240,1,0,188,1,0,0,0,0,0,0,120,240,1,0,244,1,0,0,0,0,0,0,136,240,1,0,244,1,0,0,0,0,0,0,144,240,1,0,210,2,0,0,0,0,0,0,152,240,1,0,58,2,0,0,0,0,0,0,168,240,1,0,244,1,0,0,0,0,0,0,176,240,1,0,244,1,0,0,0,0,0,0,184,240,1,0,44,2,0,0,0,0,0,0,200,240,1,0,10,3,0,0,0,0,0,0,208,240,1,0,210,2,0,0,0,0,0,0,216,240,1,0,238,1,0,0,0,0,0,0,232,240,1,0,44,2,0,0,0,0,0,0,240,240,1,0,138,1,0,0,0,0,0,0,0,241,1,0,99,2,0,0,0,0,0,0,8,241,1,0,188,1,0,0,0,0,0,0,16,241,1,0,133,1,0,0,0,0,0,0,32,241,1,0,188,1,0,0,0,0,0,0,48,241,1,0,210,2,0,0,0,0,0,0,56,241,1,0,44,2,0,0,0,0,0,0,64,241,1,0,10,3,0,0,0,0,0,0,80,241,1,0,10,3,0,0,0,0,0,0,88,241,1,0,133,1,0,0,0,0,0,0,104,241,1,0,77,1,0,0,0,0,0,0,112,241,1,0,244,1,0,0,0,0,0,0,120,241,1,0,188,1,0,0,0,0,0,0,128,241,1,0,155,2,0,0,0,0,0,0,136,241,1,0,155,2,0,0,0,0,0,0,144,241,1,0,44,2,0,0,0,0,0,0,152,241,1,0,144,1,0,0,0,0,0,0,160,241,1,0,235,2,0,0,0,0,0,0,176,241,1,0,37,2,0,0,0,0,0,0,184,241,1,0,210,2,0,0,0,0,0,0,192,241,1,0,232,3,0,0,0,0,0,0,200,241,1,0,244,1,0,0,0,0,0,0,208,241,1,0,28,2,0,0,0,0,0,0,224,241,1,0,160,2,0,0,0,0,0,0,232,241,1,0,210,2,0,0,0,0,0,0,240,241,1,0,244,1,0,0,0,0,0,0,248,241,1,0,88,2,0,0,0,0,0,0,8,242,1,0,133,1,0,0,0,0,0,0,16,242,1,0,155,2,0,0,0,0,0,0,24,242,1,0,244,1,0,0,0,0,0,0,40,242,1,0,244,1,0,0,0,0,0,0,48,242,1,0,210,2,0,0,0,0,0,0,56,242,1,0,155,2,0,0,0,0,0,0,72,242,1,0,160,1,0,0,0,0,0,0,80,242,1,0,188,1,0,0,0,0,0,0,88,242,1,0,100,2,0,0,0,0,0,0,96,242,1,0,10,3,0,0,0,0,0,0,112,242,1,0,69,2,0,0,0,0,0,0,128,242,1,0,244,1,0,0,0,0,0,0,136,242,1,0,77,1,0,0,0,0,0,0,144,242,1,0,44,2,0,0,0,0,0,0,152,242,1,0,77,1,0,0,0,0,0,0,168,242,1,0,133,1,0,0,0,0,0,0,176,242,1,0,65,3,0,0,0,0,0,0,192,242,1,0,22,1,0,0,0,0,0,0,200,242,1,0,22,1,0,0,0,0,0,0,208,242,1,0,210,2,0,0,0,0,0,0,216,242,1,0,58,2,0,0,0,0,0,0,224,242,1,0,44,2,0,0,0,0,0,0,232,242,1,0,77,1,0,0,0,0,0,0,248,242,1,0,22,1,0,0,0,0,0,0,8,243,1,0,210,2,0,0,0,0,0,0,16,243,1,0,244,1,0,0,0,0,0,0,32,243,1,0,44,1,0,0,0,0,0,0,48,243,1,0,77,1,0,0,0,0,0,0,56,243,1,0,244,1,0,0,0,0,0,0,64,243,1,0,77,1,0,0,0,0,0,0,80,243,1,0,22,1,0,0,0,0,0,0,88,243,1,0,244,1,0,0,0,0,0,0,104,243,1,0,44,2,0,0,0,0,0,0,112,243,1,0,244,1,0,0,0,0,0,0,120,243,1,0,244,1,0,0,0,0,0,0,128,243,1,0,210,2,0,0,0,0,0,0,144,243,1,0,44,2,0,0,0,0,0,0,152,243,1,0,44,2,0,0,0,0,0,0,160,243,1,0,210,2,0,0,0,0,0,0,176,243,1,0,210,2,0,0,0,0,0,0,184,243,1,0,133,1,0,0,0,0,0,0,200,243,1,0,244,1,0,0,0,0,0,0,216,243,1,0,44,2,0,0,0,0,0,0,232,243,1,0,210,2,0,0,0,0,0,0,240,243,1,0,244,1,0,0,0,0,0,0,248,243,1,0,44,2,0,0,0,0,0,0,0,244,1,0,74,1,0,0,0,0,0,0,16,244,1,0,22,1,0,0,0,0,0,0,32,244,1,0,244,1,0,0,0,0,0,0,48,244,1,0,37,2,0,0,0,0,0,0,64,244,1,0,133,1,0,0,0,0,0,0,72,244,1,0,188,1,0,0,0,0,0,0,88,244,1,0,155,2,0,0,0,0,0,0,104,244,1,0,244,1,0,0,0,0,0,0,120,244,1,0,188,1,0,0,0,0,0,0,128,244,1,0,155,2,0,0,0,0,0,0,136,244,1,0,22,1,0,0,0,0,0,0,152,244,1,0,138,1,0,0,0,0,0,0,168,244,1,0,244,1,0,0,0,0,0,0,184,244,1,0,244,1,0,0,0,0,0,0,192,244,1,0,133,1,0,0,0,0,0,0,200,244,1,0,22,1,0,0,0,0,0,0,208,244,1,0,244,1,0,0,0,0,0,0,216,244,1,0,244,1,0,0,0,0,0,0,232,244,1,0,58,2,0,0,0,0,0,0,248,244,1,0,188,1,0,0,0,0,0,0,8,245,1,0,210,2,0,0,0,0,0,0,16,245,1,0,77,1,0,0,0,0,0,0,24,245,1,0,220,0,0,0,0,0,0,0,32,245,1,0,167,0,0,0,0,0,0,0,48,245,1,0,58,2,0,0,0,0,0,0,56,245,1,0,188,1,0,0,0,0,0,0,64,245,1,0,77,1,0,0,0,0,0,0,80,245,1,0,77,1,0,0,0,0,0,0,88,245,1,0,250,0,0,0,0,0,0,0,96,245,1,0,210,2,0,0,0,0,0,0,104,245,1,0,10,3,0,0,0,0,0,0,120,245,1,0,58,2,0,0,0,0,0,0,128,245,1,0,244,1,0,0,0,0,0,0,136,245,1,0,220,0,0,0,0,0,0,0,152,245,1,0,77,1,0,0,0,0,0,0,168,245,1,0,155,2,0,0,0,0,0,0,184,245,1,0,44,1,0,0,0,0,0,0,0,0,0,0,120,232,1,0,210,2,0,0,0,0,0,0,128,232,1,0,133,1,0,0,0,0,0,0,136,232,1,0,244,1,0,0,0,0,0,0,152,232,1,0,210,2,0,0,0,0,0,0,168,232,1,0,99,2,0,0,0,0,0,0,176,232,1,0,250,0,0,0,0,0,0,0,184,232,1,0,77,1,0,0,0,0,0,0,192,232,1,0,58,2,0,0,0,0,0,0,208,232,1,0,77,1,0,0,0,0,0,0,224,232,1,0,77,1,0,0,0,0,0,0,240,232,1,0,188,1,0,0,0,0,0,0,0,233,1,0,58,2,0,0,0,0,0,0,16,233,1,0,77,1,0,0,0,0,0,0,24,233,1,0,238,2,0,0,0,0,0,0,32,233,1,0,244,1,0,0,0,0,0,0,40,233,1,0,99,2,0,0,0,0,0,0,48,233,1,0,44,2,0,0,0,0,0,0,56,233,1,0,155,2,0,0,0,0,0,0,64,233,1,0,44,2,0,0,0,0,0,0,80,233,1,0,94,2,0,0,0,0,0,0,88,233,1,0,133,1,0,0,0,0,0,0,96,233,1,0,133,1,0,0,0,0,0,0,104,233,1,0,244,1,0,0,0,0,0,0,216,226,1,0,250,0,0,0,0,0,0,0,112,233,1,0,210,2,0,0,0,0,0,0,120,233,1,0,244,1,0,0,0,0,0,0,136,233,1,0,232,3,0,0,0,0,0,0,144,233,1,0,155,2,0,0,0,0,0,0,152,233,1,0,244,1,0,0,0,0,0,0,160,233,1,0,244,1,0,0,0,0,0,0,176,233,1,0,126,1,0,0,0,0,0,0,184,233,1,0,155,2,0,0,0,0,0,0,192,233,1,0,155,2,0,0,0,0,0,0,200,233,1,0,155,2,0,0,0,0,0,0,208,233,1,0,244,1,0,0,0,0,0,0,216,233,1,0,210,2,0,0,0,0,0,0,224,233,1,0,155,2,0,0,0,0,0,0,232,233,1,0,238,2,0,0,0,0,0,0,248,233,1,0,155,2,0,0,0,0,0,0,0,234,1,0,210,2,0,0,0,0,0,0,8,234,1,0,10,3,0,0,0,0,0,0,16,234,1,0,133,1,0,0,0,0,0,0,24,234,1,0,244,1,0,0,0,0,0,0,32,234,1,0,155,2,0,0,0,0,0,0,40,234,1,0,22,1,0,0,0,0,0,0,48,234,1,0,22,1,0,0,0,0,0,0,64,234,1,0,99,2,0,0,0,0,0,0,72,234,1,0,250,0,0,0,0,0,0,0,88,234,1,0,121,3,0,0,0,0,0,0,96,234,1,0,210,2,0,0,0,0,0,0,104,234,1,0,244,1,0,0,0,0,0,0,112,234,1,0,99,2,0,0,0,0,0,0,128,234,1,0,210,2,0,0,0,0,0,0,136,234,1,0,99,2,0,0,0,0,0,0,144,234,1,0,210,2,0,0,0,0,0,0,152,234,1,0,210,2,0,0,0,0,0,0,168,234,1,0,155,2,0,0,0,0,0,0,176,234,1,0,155,2,0,0,0,0,0,0,184,234,1,0,77,1,0,0,0,0,0,0,192,234,1,0,44,2,0,0,0,0,0,0,200,234,1,0,99,2,0,0,0,0,0,0,208,234,1,0,210,2,0,0,0,0,0,0,216,234,1,0,244,1,0,0,0,0,0,0,224,234,1,0,155,2,0,0,0,0,0,0,232,234,1,0,121,3,0,0,0,0,0,0,240,234,1,0,155,2,0,0,0,0,0,0,248,234,1,0,244,1,0,0,0,0,0,0,8,235,1,0,58,2,0,0,0,0,0,0,16,235,1,0,99,2,0,0,0,0,0,0,24,235,1,0,99,2,0,0,0,0,0,0,32,235,1,0,244,1,0,0,0,0,0,0,40,235,1,0,244,1,0,0,0,0,0,0,48,235,1,0,210,2,0,0,0,0,0,0,64,235,1,0,244,1,0,0,0,0,0,0,72,235,1,0,188,1,0,0,0,0,0,0,80,235,1,0,244,1,0,0,0,0,0,0,88,235,1,0,188,1,0,0,0,0,0,0,96,235,1,0,77,1,0,0,0,0,0,0,104,235,1,0,244,1,0,0,0,0,0,0,112,235,1,0,94,1,0,0,0,0,0,0,120,235,1,0,44,2,0,0,0,0,0,0,128,235,1,0,22,1,0,0,0,0,0,0,136,235,1,0,210,2,0,0,0,0,0,0,144,235,1,0,244,1,0,0,0,0,0,0,152,235,1,0,22,1,0,0,0,0,0,0,160,235,1,0,244,1,0,0,0,0,0,0,168,235,1,0,22,1,0,0,0,0,0,0,176,235,1,0,10,3,0,0,0,0,0,0,184,235,1,0,44,2,0,0,0,0,0,0,192,235,1,0,22,1,0,0,0,0,0,0,208,235,1,0,244,1,0,0,0,0,0,0,216,235,1,0,10,1,0,0,0,0,0,0,232,235,1,0,77,1,0,0,0,0,0,0,240,235,1,0,244,1,0,0,0,0,0,0,248,235,1,0,244,1,0,0,0,0,0,0,0,236,1,0,44,2,0,0,0,0,0,0,16,236,1,0,133,1,0,0,0,0,0,0,24,236,1,0,44,1,0,0,0,0,0,0,40,236,1,0,244,1,0,0,0,0,0,0,48,236,1,0,133,1,0,0,0,0,0,0,56,236,1,0,176,3,0,0,0,0,0,0,64,236,1,0,22,1,0,0,0,0,0,0,72,236,1,0,58,2,0,0,0,0,0,0,80,236,1,0,44,2,0,0,0,0,0,0,88,236,1,0,155,2,0,0,0,0,0,0,96,236,1,0,188,1,0,0,0,0,0,0,104,236,1,0,155,2,0,0,0,0,0,0,112,236,1,0,244,1,0,0,0,0,0,0,120,236,1,0,188,1,0,0,0,0,0,0,128,236,1,0,133,1,0,0,0,0,0,0,136,236,1,0,210,2,0,0,0,0,0,0,144,236,1,0,250,0,0,0,0,0,0,0,160,236,1,0,77,1,0,0,0,0,0,0,176,236,1,0,133,1,0,0,0,0,0,0,192,236,1,0,210,2,0,0,0,0,0,0,200,236,1,0,43,2,0,0,0,0,0,0,216,236,1,0,244,1,0,0,0,0,0,0,232,236,1,0,64,2,0,0,0,0,0,0,240,236,1,0,37,2,0,0,0,0,0,0,0,237,1,0,44,2,0,0,0,0,0,0,8,237,1,0,99,2,0,0,0,0,0,0,16,237,1,0,77,1,0,0,0,0,0,0,32,237,1,0,244,1,0,0,0,0,0,0,40,237,1,0,37,2,0,0,0,0,0,0,56,237,1,0,238,1,0,0,0,0,0,0,64,237,1,0,77,1,0,0,0,0,0,0,80,237,1,0,188,1,0,0,0,0,0,0,88,237,1,0,155,2,0,0,0,0,0,0,104,237,1,0,244,1,0,0,0,0,0,0,112,237,1,0,232,3,0,0,0,0,0,0,128,237,1,0,244,1,0,0,0,0,0,0,144,237,1,0,44,2,0,0,0,0,0,0,152,237,1,0,77,1,0,0,0,0,0,0,160,237,1,0,210,2,0,0,0,0,0,0,168,237,1,0,155,2,0,0,0,0,0,0,176,237,1,0,232,3,0,0,0,0,0,0,192,237,1,0,133,1,0,0,0,0,0,0,200,237,1,0,176,3,0,0,0,0,0,0,208,237,1,0,210,2,0,0,0,0,0,0,224,237,1,0,22,1,0,0,0,0,0,0,232,237,1,0,244,1,0,0,0,0,0,0,248,237,1,0,77,1,0,0,0,0,0,0,8,238,1,0,77,1,0,0,0,0,0,0,16,238,1,0,22,1,0,0,0,0,0,0,32,238,1,0,244,1,0,0,0,0,0,0,40,238,1,0,133,1,0,0,0,0,0,0,56,238,1,0,244,1,0,0,0,0,0,0,64,238,1,0,210,2,0,0,0,0,0,0,72,238,1,0,155,2,0,0,0,0,0,0,80,238,1,0,210,2,0,0,0,0,0,0,88,238,1,0,188,1,0,0,0,0,0,0,104,238,1,0,155,2,0,0,0,0,0,0,120,238,1,0,235,2,0,0,0,0,0,0,136,238,1,0,155,2,0,0,0,0,0,0,144,238,1,0,22,1,0,0,0,0,0,0,152,238,1,0,155,2,0,0,0,0,0,0,168,238,1,0,244,1,0,0,0,0,0,0,176,238,1,0,133,1,0,0,0,0,0,0,192,238,1,0,77,1,0,0,0,0,0,0,208,238,1,0,244,1,0,0,0,0,0,0,216,238,1,0,188,1,0,0,0,0,0,0,224,238,1,0,210,2,0,0,0,0,0,0,240,238,1,0,44,2,0,0,0,0,0,0,0,239,1,0,77,1,0,0,0,0,0,0,16,239,1,0,210,2,0,0,0,0,0,0,24,239,1,0,77,1,0,0,0,0,0,0,40,239,1,0,210,2,0,0,0,0,0,0,56,239,1,0,232,3,0,0,0,0,0,0,72,239,1,0,99,2,0,0,0,0,0,0,88,239,1,0,44,2,0,0,0,0,0,0,96,239,1,0,244,1,0,0,0,0,0,0,104,239,1,0,155,2,0,0,0,0,0,0,112,239,1,0,244,1,0,0,0,0,0,0,128,239,1,0,188,1,0,0,0,0,0,0,136,239,1,0,188,1,0,0,0,0,0,0,152,239,1,0,22,1,0,0,0,0,0,0,168,239,1,0,210,2,0,0,0,0,0,0,176,239,1,0,210,2,0,0,0,0,0,0,184,239,1,0,244,1,0,0,0,0,0,0,200,239,1,0,244,1,0,0,0,0,0,0,216,239,1,0,210,2,0,0,0,0,0,0,224,239,1,0,44,2,0,0,0,0,0,0,232,239,1,0,244,1,0,0,0,0,0,0,240,239,1,0,244,1,0,0,0,0,0,0,248,239,1,0,44,2,0,0,0,0,0,0,8,240,1,0,99,2,0,0,0,0,0,0,16,240,1,0,44,2,0,0,0,0,0,0,32,240,1,0,238,2,0,0,0,0,0,0,48,240,1,0,244,1,0,0,0,0,0,0,64,240,1,0,155,2,0,0,0,0,0,0,80,240,1,0,188,1,0,0,0,0,0,0,96,240,1,0,77,1,0,0,0,0,0,0,104,240,1,0,64,3,0,0,0,0,0,0,112,240,1,0,188,1,0,0,0,0,0,0,120,240,1,0,244,1,0,0,0,0,0,0,136,240,1,0,244,1,0,0,0,0,0,0,144,240,1,0,210,2,0,0,0,0,0,0,152,240,1,0,58,2,0,0,0,0,0,0,168,240,1,0,244,1,0,0,0,0,0,0,176,240,1,0,244,1,0,0,0,0,0,0,184,240,1,0,44,2,0,0,0,0,0,0,200,240,1,0,210,2,0,0,0,0,0,0,208,240,1,0,155,2,0,0,0,0,0,0,216,240,1,0,238,1,0,0,0,0,0,0,232,240,1,0,44,2,0,0,0,0,0,0,240,240,1,0,92,1,0,0,0,0,0,0,0,241,1,0,99,2,0,0,0,0,0,0,8,241,1,0,133,1,0,0,0,0,0,0,16,241,1,0,133,1,0,0,0,0,0,0,32,241,1,0,188,1,0,0,0,0,0,0,48,241,1,0,210,2,0,0,0,0,0,0,56,241,1,0,244,1,0,0,0,0,0,0,64,241,1,0,210,2,0,0,0,0,0,0,80,241,1,0,210,2,0,0,0,0,0,0,88,241,1,0,133,1,0,0,0,0,0,0,104,241,1,0,77,1,0,0,0,0,0,0,112,241,1,0,244,1,0,0,0,0,0,0,120,241,1,0,133,1,0,0,0,0,0,0,128,241,1,0,99,2,0,0,0,0,0,0,136,241,1,0,155,2,0,0,0,0,0,0,144,241,1,0,244,1,0,0,0,0,0,0,152,241,1,0,144,1,0,0,0,0,0,0,160,241,1,0,235,2,0,0,0,0,0,0,176,241,1,0,37,2,0,0,0,0,0,0,184,241,1,0,155,2,0,0,0,0,0,0,192,241,1,0,65,3,0,0,0,0,0,0,200,241,1,0,244,1,0,0,0,0,0,0,208,241,1,0,244,1,0,0,0,0,0,0,224,241,1,0,96,2,0,0,0,0,0,0,232,241,1,0,210,2,0,0,0,0,0,0,240,241,1,0,244,1,0,0,0,0,0,0,248,241,1,0,88,2,0,0,0,0,0,0,8,242,1,0,133,1,0,0,0,0,0,0,16,242,1,0,99,2,0,0,0,0,0,0,24,242,1,0,244,1,0,0,0,0,0,0,40,242,1,0,244,1,0,0,0,0,0,0,48,242,1,0,210,2,0,0,0,0,0,0,56,242,1,0,99,2,0,0,0,0,0,0,72,242,1,0,110,1,0,0,0,0,0,0,80,242,1,0,188,1,0,0,0,0,0,0,88,242,1,0,100,2,0,0,0,0,0,0,96,242,1,0,210,2,0,0,0,0,0,0,112,242,1,0,58,2,0,0,0,0,0,0,128,242,1,0,244,1,0,0,0,0,0,0,136,242,1,0,77,1,0,0,0,0,0,0,144,242,1,0,44,2,0,0,0,0,0,0,152,242,1,0,77,1,0,0,0,0,0,0,168,242,1,0,133,1,0,0,0,0,0,0,176,242,1,0,10,3,0,0,0,0,0,0,192,242,1,0,22,1], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+102404);
/* memory initializer */ allocate([200,242,1,0,22,1,0,0,0,0,0,0,208,242,1,0,210,2,0,0,0,0,0,0,216,242,1,0,58,2,0,0,0,0,0,0,224,242,1,0,44,2,0,0,0,0,0,0,232,242,1,0,77,1,0,0,0,0,0,0,248,242,1,0,22,1,0,0,0,0,0,0,8,243,1,0,99,2,0,0,0,0,0,0,16,243,1,0,244,1,0,0,0,0,0,0,32,243,1,0,44,1,0,0,0,0,0,0,48,243,1,0,77,1,0,0,0,0,0,0,56,243,1,0,244,1,0,0,0,0,0,0,64,243,1,0,77,1,0,0,0,0,0,0,80,243,1,0,22,1,0,0,0,0,0,0,88,243,1,0,244,1,0,0,0,0,0,0,104,243,1,0,44,2,0,0,0,0,0,0,112,243,1,0,244,1,0,0,0,0,0,0,120,243,1,0,188,1,0,0,0,0,0,0,128,243,1,0,155,2,0,0,0,0,0,0,144,243,1,0,44,2,0,0,0,0,0,0,152,243,1,0,44,2,0,0,0,0,0,0,160,243,1,0,155,2,0,0,0,0,0,0,176,243,1,0,155,2,0,0,0,0,0,0,184,243,1,0,133,1,0,0,0,0,0,0,200,243,1,0,244,1,0,0,0,0,0,0,216,243,1,0,244,1,0,0,0,0,0,0,232,243,1,0,155,2,0,0,0,0,0,0,240,243,1,0,244,1,0,0,0,0,0,0,248,243,1,0,44,2,0,0,0,0,0,0,0,244,1,0,44,1,0,0,0,0,0,0,16,244,1,0,22,1,0,0,0,0,0,0,32,244,1,0,244,1,0,0,0,0,0,0,48,244,1,0,37,2,0,0,0,0,0,0,64,244,1,0,133,1,0,0,0,0,0,0,72,244,1,0,133,1,0,0,0,0,0,0,88,244,1,0,99,2,0,0,0,0,0,0,104,244,1,0,244,1,0,0,0,0,0,0,120,244,1,0,188,1,0,0,0,0,0,0,128,244,1,0,155,2,0,0,0,0,0,0,136,244,1,0,22,1,0,0,0,0,0,0,152,244,1,0,92,1,0,0,0,0,0,0,168,244,1,0,244,1,0,0,0,0,0,0,184,244,1,0,244,1,0,0,0,0,0,0,192,244,1,0,133,1,0,0,0,0,0,0,200,244,1,0,22,1,0,0,0,0,0,0,208,244,1,0,244,1,0,0,0,0,0,0,216,244,1,0,244,1,0,0,0,0,0,0,232,244,1,0,94,2,0,0,0,0,0,0,248,244,1,0,133,1,0,0,0,0,0,0,8,245,1,0,155,2,0,0,0,0,0,0,16,245,1,0,77,1,0,0,0,0,0,0,24,245,1,0,220,0,0,0,0,0,0,0,32,245,1,0,167,0,0,0,0,0,0,0,48,245,1,0,58,2,0,0,0,0,0,0,56,245,1,0,188,1,0,0,0,0,0,0,64,245,1,0,77,1,0,0,0,0,0,0,80,245,1,0,133,1,0,0,0,0,0,0,88,245,1,0,250,0,0,0,0,0,0,0,96,245,1,0,155,2,0,0,0,0,0,0,104,245,1,0,155,2,0,0,0,0,0,0,120,245,1,0,58,2,0,0,0,0,0,0,128,245,1,0,244,1,0,0,0,0,0,0,136,245,1,0,220,0,0,0,0,0,0,0,152,245,1,0,77,1,0,0,0,0,0,0,168,245,1,0,155,2,0,0,0,0,0,0,184,245,1,0,44,1,0,0,0,0,0,0,0,0,0,0,120,232,1,0,155,2,0,0,0,0,0,0,128,232,1,0,133,1,0,0,0,0,0,0,136,232,1,0,188,1,0,0,0,0,0,0,152,232,1,0,155,2,0,0,0,0,0,0,168,232,1,0,44,2,0,0,0,0,0,0,176,232,1,0,250,0,0,0,0,0,0,0,184,232,1,0,77,1,0,0,0,0,0,0,192,232,1,0,163,2,0,0,0,0,0,0,208,232,1,0,77,1,0,0,0,0,0,0,224,232,1,0,77,1,0,0,0,0,0,0,240,232,1,0,188,1,0,0,0,0,0,0,0,233,1,0,29,2,0,0,0,0,0,0,16,233,1,0,77,1,0,0,0,0,0,0,24,233,1,0,238,2,0,0,0,0,0,0,32,233,1,0,244,1,0,0,0,0,0,0,40,233,1,0,99,2,0,0,0,0,0,0,48,233,1,0,244,1,0,0,0,0,0,0,56,233,1,0,99,2,0,0,0,0,0,0,64,233,1,0,244,1,0,0,0,0,0,0,80,233,1,0,163,2,0,0,0,0,0,0,88,233,1,0,77,1,0,0,0,0,0,0,96,233,1,0,133,1,0,0,0,0,0,0,104,233,1,0,244,1,0,0,0,0,0,0,216,226,1,0,250,0,0,0,0,0,0,0,112,233,1,0,210,2,0,0,0,0,0,0,120,233,1,0,244,1,0,0,0,0,0,0,136,233,1,0,121,3,0,0,0,0,0,0,144,233,1,0,99,2,0,0,0,0,0,0,152,233,1,0,244,1,0,0,0,0,0,0,160,233,1,0,244,1,0,0,0,0,0,0,176,233,1,0,44,1,0,0,0,0,0,0,184,233,1,0,99,2,0,0,0,0,0,0,192,233,1,0,99,2,0,0,0,0,0,0,200,233,1,0,155,2,0,0,0,0,0,0,208,233,1,0,244,1,0,0,0,0,0,0,216,233,1,0,210,2,0,0,0,0,0,0,224,233,1,0,99,2,0,0,0,0,0,0,232,233,1,0,238,2,0,0,0,0,0,0,248,233,1,0,99,2,0,0,0,0,0,0,0,234,1,0,210,2,0,0,0,0,0,0,8,234,1,0,210,2,0,0,0,0,0,0,16,234,1,0,77,1,0,0,0,0,0,0,24,234,1,0,188,1,0,0,0,0,0,0,32,234,1,0,155,2,0,0,0,0,0,0,40,234,1,0,22,1,0,0,0,0,0,0,48,234,1,0,22,1,0,0,0,0,0,0,64,234,1,0,44,2,0,0,0,0,0,0,72,234,1,0,250,0,0,0,0,0,0,0,88,234,1,0,65,3,0,0,0,0,0,0,96,234,1,0,155,2,0,0,0,0,0,0,104,234,1,0,244,1,0,0,0,0,0,0,112,234,1,0,44,2,0,0,0,0,0,0,128,234,1,0,210,2,0,0,0,0,0,0,136,234,1,0,99,2,0,0,0,0,0,0,144,234,1,0,210,2,0,0,0,0,0,0,152,234,1,0,210,2,0,0,0,0,0,0,168,234,1,0,99,2,0,0,0,0,0,0,176,234,1,0,99,2,0,0,0,0,0,0,184,234,1,0,77,1,0,0,0,0,0,0,192,234,1,0,244,1,0,0,0,0,0,0,200,234,1,0,44,2,0,0,0,0,0,0,208,234,1,0,210,2,0,0,0,0,0,0,216,234,1,0,244,1,0,0,0,0,0,0,224,234,1,0,99,2,0,0,0,0,0,0,232,234,1,0,65,3,0,0,0,0,0,0,240,234,1,0,99,2,0,0,0,0,0,0,248,234,1,0,244,1,0,0,0,0,0,0,8,235,1,0,163,2,0,0,0,0,0,0,16,235,1,0,44,2,0,0,0,0,0,0,24,235,1,0,44,2,0,0,0,0,0,0,32,235,1,0,244,1,0,0,0,0,0,0,40,235,1,0,244,1,0,0,0,0,0,0,48,235,1,0,210,2,0,0,0,0,0,0,64,235,1,0,244,1,0,0,0,0,0,0,72,235,1,0,188,1,0,0,0,0,0,0,80,235,1,0,244,1,0,0,0,0,0,0,88,235,1,0,188,1,0,0,0,0,0,0,96,235,1,0,22,1,0,0,0,0,0,0,104,235,1,0,244,1,0,0,0,0,0,0,112,235,1,0,94,1,0,0,0,0,0,0,120,235,1,0,244,1,0,0,0,0,0,0,128,235,1,0,22,1,0,0,0,0,0,0,136,235,1,0,210,2,0,0,0,0,0,0,144,235,1,0,244,1,0,0,0,0,0,0,152,235,1,0,22,1,0,0,0,0,0,0,160,235,1,0,188,1,0,0,0,0,0,0,168,235,1,0,22,1,0,0,0,0,0,0,176,235,1,0,210,2,0,0,0,0,0,0,184,235,1,0,244,1,0,0,0,0,0,0,192,235,1,0,22,1,0,0,0,0,0,0,208,235,1,0,244,1,0,0,0,0,0,0,216,235,1,0,20,1,0,0,0,0,0,0,232,235,1,0,77,1,0,0,0,0,0,0,240,235,1,0,244,1,0,0,0,0,0,0,248,235,1,0,244,1,0,0,0,0,0,0,0,236,1,0,244,1,0,0,0,0,0,0,16,236,1,0,133,1,0,0,0,0,0,0,24,236,1,0,44,1,0,0,0,0,0,0,40,236,1,0,244,1,0,0,0,0,0,0,48,236,1,0,133,1,0,0,0,0,0,0,56,236,1,0,176,3,0,0,0,0,0,0,64,236,1,0,22,1,0,0,0,0,0,0,72,236,1,0,163,2,0,0,0,0,0,0,80,236,1,0,244,1,0,0,0,0,0,0,88,236,1,0,155,2,0,0,0,0,0,0,96,236,1,0,188,1,0,0,0,0,0,0,104,236,1,0,155,2,0,0,0,0,0,0,112,236,1,0,188,1,0,0,0,0,0,0,120,236,1,0,188,1,0,0,0,0,0,0,128,236,1,0,133,1,0,0,0,0,0,0,136,236,1,0,210,2,0,0,0,0,0,0,144,236,1,0,250,0,0,0,0,0,0,0,160,236,1,0,77,1,0,0,0,0,0,0,176,236,1,0,77,1,0,0,0,0,0,0,192,236,1,0,155,2,0,0,0,0,0,0,200,236,1,0,164,1,0,0,0,0,0,0,216,236,1,0,244,1,0,0,0,0,0,0,232,236,1,0,244,1,0,0,0,0,0,0,240,236,1,0,37,2,0,0,0,0,0,0,0,237,1,0,244,1,0,0,0,0,0,0,8,237,1,0,44,2,0,0,0,0,0,0,16,237,1,0,77,1,0,0,0,0,0,0,32,237,1,0,244,1,0,0,0,0,0,0,40,237,1,0,37,2,0,0,0,0,0,0,56,237,1,0,215,1,0,0,0,0,0,0,64,237,1,0,77,1,0,0,0,0,0,0,80,237,1,0,188,1,0,0,0,0,0,0,88,237,1,0,99,2,0,0,0,0,0,0,104,237,1,0,244,1,0,0,0,0,0,0,112,237,1,0,212,3,0,0,0,0,0,0,128,237,1,0,244,1,0,0,0,0,0,0,144,237,1,0,244,1,0,0,0,0,0,0,152,237,1,0,77,1,0,0,0,0,0,0,160,237,1,0,210,2,0,0,0,0,0,0,168,237,1,0,99,2,0,0,0,0,0,0,176,237,1,0,121,3,0,0,0,0,0,0,192,237,1,0,133,1,0,0,0,0,0,0,200,237,1,0,121,3,0,0,0,0,0,0,208,237,1,0,210,2,0,0,0,0,0,0,224,237,1,0,22,1,0,0,0,0,0,0,232,237,1,0,44,2,0,0,0,0,0,0,248,237,1,0,77,1,0,0,0,0,0,0,8,238,1,0,77,1,0,0,0,0,0,0,16,238,1,0,214,0,0,0,0,0,0,0,32,238,1,0,244,1,0,0,0,0,0,0,40,238,1,0,133,1,0,0,0,0,0,0,56,238,1,0,244,1,0,0,0,0,0,0,64,238,1,0,155,2,0,0,0,0,0,0,72,238,1,0,99,2,0,0,0,0,0,0,80,238,1,0,210,2,0,0,0,0,0,0,88,238,1,0,188,1,0,0,0,0,0,0,104,238,1,0,99,2,0,0,0,0,0,0,120,238,1,0,248,2,0,0,0,0,0,0,136,238,1,0,99,2,0,0,0,0,0,0,144,238,1,0,22,1,0,0,0,0,0,0,152,238,1,0,99,2,0,0,0,0,0,0,168,238,1,0,244,1,0,0,0,0,0,0,176,238,1,0,77,1,0,0,0,0,0,0,192,238,1,0,77,1,0,0,0,0,0,0,208,238,1,0,244,1,0,0,0,0,0,0,216,238,1,0,188,1,0,0,0,0,0,0,224,238,1,0,210,2,0,0,0,0,0,0,240,238,1,0,244,1,0,0,0,0,0,0,0,239,1,0,133,1,0,0,0,0,0,0,16,239,1,0,210,2,0,0,0,0,0,0,24,239,1,0,77,1,0,0,0,0,0,0,40,239,1,0,210,2,0,0,0,0,0,0,56,239,1,0,232,3,0,0,0,0,0,0,72,239,1,0,44,2,0,0,0,0,0,0,88,239,1,0,244,1,0,0,0,0,0,0,96,239,1,0,244,1,0,0,0,0,0,0,104,239,1,0,99,2,0,0,0,0,0,0,112,239,1,0,244,1,0,0,0,0,0,0,128,239,1,0,188,1,0,0,0,0,0,0,136,239,1,0,188,1,0,0,0,0,0,0,152,239,1,0,22,1,0,0,0,0,0,0,168,239,1,0,210,2,0,0,0,0,0,0,176,239,1,0,155,2,0,0,0,0,0,0,184,239,1,0,244,1,0,0,0,0,0,0,200,239,1,0,244,1,0,0,0,0,0,0,216,239,1,0,210,2,0,0,0,0,0,0,224,239,1,0,244,1,0,0,0,0,0,0,232,239,1,0,244,1,0,0,0,0,0,0,240,239,1,0,244,1,0,0,0,0,0,0,248,239,1,0,244,1,0,0,0,0,0,0,8,240,1,0,44,2,0,0,0,0,0,0,16,240,1,0,244,1,0,0,0,0,0,0,32,240,1,0,238,2,0,0,0,0,0,0,48,240,1,0,244,1,0,0,0,0,0,0,64,240,1,0,155,2,0,0,0,0,0,0,80,240,1,0,188,1,0,0,0,0,0,0,96,240,1,0,77,1,0,0,0,0,0,0,104,240,1,0,152,3,0,0,0,0,0,0,112,240,1,0,188,1,0,0,0,0,0,0,120,240,1,0,244,1,0,0,0,0,0,0,136,240,1,0,244,1,0,0,0,0,0,0,144,240,1,0,210,2,0,0,0,0,0,0,152,240,1,0,163,2,0,0,0,0,0,0,168,240,1,0,244,1,0,0,0,0,0,0,176,240,1,0,244,1,0,0,0,0,0,0,184,240,1,0,244,1,0,0,0,0,0,0,200,240,1,0,210,2,0,0,0,0,0,0,208,240,1,0,99,2,0,0,0,0,0,0,216,240,1,0,220,1,0,0,0,0,0,0,232,240,1,0,244,1,0,0,0,0,0,0,240,240,1,0,144,1,0,0,0,0,0,0,0,241,1,0,99,2,0,0,0,0,0,0,8,241,1,0,133,1,0,0,0,0,0,0,16,241,1,0,133,1,0,0,0,0,0,0,32,241,1,0,188,1,0,0,0,0,0,0,48,241,1,0,210,2,0,0,0,0,0,0,56,241,1,0,244,1,0,0,0,0,0,0,64,241,1,0,210,2,0,0,0,0,0,0,80,241,1,0,210,2,0,0,0,0,0,0,88,241,1,0,133,1,0,0,0,0,0,0,104,241,1,0,77,1,0,0,0,0,0,0,112,241,1,0,244,1,0,0,0,0,0,0,120,241,1,0,133,1,0,0,0,0,0,0,128,241,1,0,44,2,0,0,0,0,0,0,136,241,1,0,99,2,0,0,0,0,0,0,144,241,1,0,244,1,0,0,0,0,0,0,152,241,1,0,144,1,0,0,0,0,0,0,160,241,1,0,248,2,0,0,0,0,0,0,176,241,1,0,197,1,0,0,0,0,0,0,184,241,1,0,99,2,0,0,0,0,0,0,192,241,1,0,65,3,0,0,0,0,0,0,200,241,1,0,244,1,0,0,0,0,0,0,208,241,1,0,11,2,0,0,0,0,0,0,224,241,1,0,32,2,0,0,0,0,0,0,232,241,1,0,210,2,0,0,0,0,0,0,240,241,1,0,244,1,0,0,0,0,0,0,248,241,1,0,88,2,0,0,0,0,0,0,8,242,1,0,77,1,0,0,0,0,0,0,16,242,1,0,44,2,0,0,0,0,0,0,24,242,1,0,244,1,0,0,0,0,0,0,40,242,1,0,244,1,0,0,0,0,0,0,48,242,1,0,210,2,0,0,0,0,0,0,56,242,1,0,44,2,0,0,0,0,0,0,72,242,1,0,44,1,0,0,0,0,0,0,80,242,1,0,188,1,0,0,0,0,0,0,88,242,1,0,100,2,0,0,0,0,0,0,96,242,1,0,210,2,0,0,0,0,0,0,112,242,1,0,166,1,0,0,0,0,0,0,128,242,1,0,244,1,0,0,0,0,0,0,136,242,1,0,77,1,0,0,0,0,0,0,144,242,1,0,244,1,0,0,0,0,0,0,152,242,1,0,133,1,0,0,0,0,0,0,168,242,1,0,77,1,0,0,0,0,0,0,176,242,1,0,10,3,0,0,0,0,0,0,192,242,1,0,22,1,0,0,0,0,0,0,200,242,1,0,22,1,0,0,0,0,0,0,208,242,1,0,155,2,0,0,0,0,0,0,216,242,1,0,163,2,0,0,0,0,0,0,224,242,1,0,244,1,0,0,0,0,0,0,232,242,1,0,77,1,0,0,0,0,0,0,248,242,1,0,22,1,0,0,0,0,0,0,8,243,1,0,44,2,0,0,0,0,0,0,16,243,1,0,244,1,0,0,0,0,0,0,32,243,1,0,44,1,0,0,0,0,0,0,48,243,1,0,77,1,0,0,0,0,0,0,56,243,1,0,244,1,0,0,0,0,0,0,64,243,1,0,77,1,0,0,0,0,0,0,80,243,1,0,22,1,0,0,0,0,0,0,88,243,1,0,44,2,0,0,0,0,0,0,104,243,1,0,244,1,0,0,0,0,0,0,112,243,1,0,244,1,0,0,0,0,0,0,120,243,1,0,188,1,0,0,0,0,0,0,128,243,1,0,99,2,0,0,0,0,0,0,144,243,1,0,244,1,0,0,0,0,0,0,152,243,1,0,244,1,0,0,0,0,0,0,160,243,1,0,99,2,0,0,0,0,0,0,176,243,1,0,155,2,0,0,0,0,0,0,184,243,1,0,77,1,0,0,0,0,0,0,200,243,1,0,244,1,0,0,0,0,0,0,216,243,1,0,244,1,0,0,0,0,0,0,232,243,1,0,99,2,0,0,0,0,0,0,240,243,1,0,244,1,0,0,0,0,0,0,248,243,1,0,244,1,0,0,0,0,0,0,0,244,1,0,54,1,0,0,0,0,0,0,16,244,1,0,22,1,0,0,0,0,0,0,32,244,1,0,244,1,0,0,0,0,0,0,48,244,1,0,37,2,0,0,0,0,0,0,64,244,1,0,77,1,0,0,0,0,0,0,72,244,1,0,133,1,0,0,0,0,0,0,88,244,1,0,44,2,0,0,0,0,0,0,104,244,1,0,244,1,0,0,0,0,0,0,120,244,1,0,188,1,0,0,0,0,0,0,128,244,1,0,99,2,0,0,0,0,0,0,136,244,1,0,22,1,0,0,0,0,0,0,152,244,1,0,144,1,0,0,0,0,0,0,168,244,1,0,44,2,0,0,0,0,0,0,184,244,1,0,244,1,0,0,0,0,0,0,192,244,1,0,133,1,0,0,0,0,0,0,200,244,1,0,22,1,0,0,0,0,0,0,208,244,1,0,244,1,0,0,0,0,0,0,216,244,1,0,244,1,0,0,0,0,0,0,232,244,1,0,163,2,0,0,0,0,0,0,248,244,1,0,133,1,0,0,0,0,0,0,8,245,1,0,99,2,0,0,0,0,0,0,16,245,1,0,77,1,0,0,0,0,0,0,24,245,1,0,19,1,0,0,0,0,0,0,32,245,1,0,167,0,0,0,0,0,0,0,48,245,1,0,163,2,0,0,0,0,0,0,56,245,1,0,188,1,0,0,0,0,0,0,64,245,1,0,77,1,0,0,0,0,0,0,80,245,1,0,77,1,0,0,0,0,0,0,88,245,1,0,250,0,0,0,0,0,0,0,96,245,1,0,99,2,0,0,0,0,0,0,104,245,1,0,155,2,0,0,0,0,0,0,120,245,1,0,163,2,0,0,0,0,0,0,128,245,1,0,244,1,0,0,0,0,0,0,136,245,1,0,19,1,0,0,0,0,0,0,152,245,1,0,77,1,0,0,0,0,0,0,168,245,1,0,99,2,0,0,0,0,0,0,184,245,1,0,44,1,0,0,0,0,0,0,0,0,0,0,120,232,1,0,210,2,0,0,0,0,0,0,128,232,1,0,77,1,0,0,0,0,0,0,136,232,1,0,244,1,0,0,0,0,0,0,152,232,1,0,210,2,0,0,0,0,0,0,168,232,1,0,99,2,0,0,0,0,0,0,176,232,1,0,250,0,0,0,0,0,0,0,184,232,1,0,77,1,0,0,0,0,0,0,192,232,1,0,52,2,0,0,0,0,0,0,208,232,1,0,77,1,0,0,0,0,0,0,224,232,1,0,77,1,0,0,0,0,0,0,240,232,1,0,188,1,0,0,0,0,0,0,0,233,1,0,29,2,0,0,0,0,0,0,16,233,1,0,22,1,0,0,0,0,0,0,24,233,1,0,238,2,0,0,0,0,0,0,32,233,1,0,244,1,0,0,0,0,0,0,40,233,1,0,99,2,0,0,0,0,0,0,48,233,1,0,244,1,0,0,0,0,0,0,56,233,1,0,210,2,0,0,0,0,0,0,64,233,1,0,244,1,0,0,0,0,0,0,80,233,1,0,52,2,0,0,0,0,0,0,88,233,1,0,77,1,0,0,0,0,0,0,96,233,1,0,188,1,0,0,0,0,0,0,104,233,1,0,244,1,0,0,0,0,0,0,216,226,1,0,250,0,0,0,0,0,0,0,112,233,1,0,210,2,0,0,0,0,0,0,120,233,1,0,188,1,0,0,0,0,0,0,136,233,1,0,232,3,0,0,0,0,0,0,144,233,1,0,210,2,0,0,0,0,0,0,152,233,1,0,244,1,0,0,0,0,0,0,160,233,1,0,244,1,0,0,0,0,0,0,176,233,1,0,88,1,0,0,0,0,0,0,184,233,1,0,210,2,0,0,0,0,0,0,192,233,1,0,155,2,0,0,0,0,0,0,200,233,1,0,155,2,0,0,0,0,0,0,208,233,1,0,188,1,0,0,0,0,0,0,216,233,1,0,210,2,0,0,0,0,0,0,224,233,1,0,99,2,0,0,0,0,0,0,232,233,1,0,238,2,0,0,0,0,0,0,248,233,1,0,44,2,0,0,0,0,0,0,0,234,1,0,210,2,0,0,0,0,0,0,8,234,1,0,210,2,0,0,0,0,0,0,16,234,1,0,77,1,0,0,0,0,0,0,24,234,1,0,133,1,0,0,0,0,0,0,32,234,1,0,210,2,0,0,0,0,0,0,40,234,1,0,22,1,0,0,0,0,0,0,48,234,1,0,22,1,0,0,0,0,0,0,64,234,1,0,99,2,0,0,0,0,0,0,72,234,1,0,250,0,0,0,0,0,0,0,88,234,1,0,121,3,0,0,0,0,0,0,96,234,1,0,210,2,0,0,0,0,0,0,104,234,1,0,244,1,0,0,0,0,0,0,112,234,1,0,99,2,0,0,0,0,0,0,128,234,1,0,210,2,0,0,0,0,0,0,136,234,1,0,44,2,0,0,0,0,0,0,144,234,1,0,210,2,0,0,0,0,0,0,152,234,1,0,210,2,0,0,0,0,0,0,168,234,1,0,155,2,0,0,0,0,0,0,176,234,1,0,210,2,0,0,0,0,0,0,184,234,1,0,77,1,0,0,0,0,0,0,192,234,1,0,44,2,0,0,0,0,0,0,200,234,1,0,99,2,0,0,0,0,0,0,208,234,1,0,210,2,0,0,0,0,0,0,216,234,1,0,188,1,0,0,0,0,0,0,224,234,1,0,210,2,0,0,0,0,0,0,232,234,1,0,176,3,0,0,0,0,0,0,240,234,1,0,210,2,0,0,0,0,0,0,248,234,1,0,188,1,0,0,0,0,0,0,8,235,1,0,52,2,0,0,0,0,0,0,16,235,1,0,210,2,0,0,0,0,0,0,24,235,1,0,99,2,0,0,0,0,0,0,32,235,1,0,244,1,0,0,0,0,0,0,40,235,1,0,188,1,0,0,0,0,0,0,48,235,1,0,210,2,0,0,0,0,0,0,64,235,1,0,244,1,0,0,0,0,0,0,72,235,1,0,188,1,0,0,0,0,0,0,80,235,1,0,244,1,0,0,0,0,0,0,88,235,1,0,188,1,0,0,0,0,0,0,96,235,1,0,77,1,0,0,0,0,0,0,104,235,1,0,244,1,0,0,0,0,0,0,112,235,1,0,94,1,0,0,0,0,0,0,120,235,1,0,244,1,0,0,0,0,0,0,128,235,1,0,22,1,0,0,0,0,0,0,136,235,1,0,210,2,0,0,0,0,0,0,144,235,1,0,244,1,0,0,0,0,0,0,152,235,1,0,22,1,0,0,0,0,0,0,160,235,1,0,244,1,0,0,0,0,0,0,168,235,1,0,22,1,0,0,0,0,0,0,176,235,1,0,10,3,0,0,0,0,0,0,184,235,1,0,244,1,0,0,0,0,0,0,192,235,1,0,22,1,0,0,0,0,0,0,208,235,1,0,244,1,0,0,0,0,0,0,216,235,1,0,20,1,0,0,0,0,0,0,232,235,1,0,77,1,0,0,0,0,0,0,240,235,1,0,244,1,0,0,0,0,0,0,248,235,1,0,244,1,0,0,0,0,0,0,0,236,1,0,244,1,0,0,0,0,0,0,16,236,1,0,77,1,0,0,0,0,0,0,24,236,1,0,44,1,0,0,0,0,0,0,40,236,1,0,188,1,0,0,0,0,0,0,48,236,1,0,133,1,0,0,0,0,0,0,56,236,1,0,121,3,0,0,0,0,0,0,64,236,1,0,22,1,0,0,0,0,0,0,72,236,1,0,52,2,0,0,0,0,0,0,80,236,1,0,244,1,0,0,0,0,0,0,88,236,1,0,155,2,0,0,0,0,0,0,96,236,1,0,244,1,0,0,0,0,0,0,104,236,1,0,210,2,0,0,0,0,0,0,112,236,1,0,244,1,0,0,0,0,0,0,120,236,1,0,244,1,0,0,0,0,0,0,128,236,1,0,188,1,0,0,0,0,0,0,136,236,1,0,210,2,0,0,0,0,0,0,144,236,1,0,250,0,0,0,0,0,0,0,160,236,1,0,77,1,0,0,0,0,0,0,176,236,1,0,77,1,0,0,0,0,0,0,192,236,1,0,210,2,0,0,0,0,0,0,200,236,1,0,152,1,0,0,0,0,0,0,216,236,1,0,244,1,0,0,0,0,0,0,232,236,1,0,244,1,0,0,0,0,0,0,240,236,1,0,37,2,0,0,0,0,0,0,0,237,1,0,44,2,0,0,0,0,0,0,8,237,1,0,99,2,0,0,0,0,0,0,16,237,1,0,22,1,0,0,0,0,0,0,32,237,1,0,244,1,0,0,0,0,0,0,40,237,1,0,37,2,0,0,0,0,0,0,56,237,1,0,215,1,0,0,0,0,0,0,64,237,1,0,77,1,0,0,0,0,0,0,80,237,1,0,188,1,0,0,0,0,0,0,88,237,1,0,99,2,0,0,0,0,0,0,104,237,1,0,244,1,0,0,0,0,0,0,112,237,1,0,212,3,0,0,0,0,0,0,128,237,1,0,244,1,0,0,0,0,0,0,144,237,1,0,244,1,0,0,0,0,0,0,152,237,1,0,77,1,0,0,0,0,0,0,160,237,1,0,210,2,0,0,0,0,0,0,168,237,1,0,99,2,0,0,0,0,0,0,176,237,1,0,232,3,0,0,0,0,0,0,192,237,1,0,133,1,0,0,0,0,0,0,200,237,1,0,121,3,0,0,0,0,0,0,208,237,1,0,210,2,0,0,0,0,0,0,224,237,1,0,22,1,0,0,0,0,0,0,232,237,1,0,188,1,0,0,0,0,0,0,248,237,1,0,77,1,0,0,0,0,0,0,8,238,1,0,77,1,0,0,0,0,0,0,16,238,1,0,180,0,0,0,0,0,0,0,32,238,1,0,244,1,0,0,0,0,0,0,40,238,1,0,77,1,0,0,0,0,0,0,56,238,1,0,244,1,0,0,0,0,0,0,64,238,1,0,210,2,0,0,0,0,0,0,72,238,1,0,210,2,0,0,0,0,0,0,80,238,1,0,210,2,0,0,0,0,0,0,88,238,1,0,188,1,0,0,0,0,0,0,104,238,1,0,210,2,0,0,0,0,0,0,120,238,1,0,248,2,0,0,0,0,0,0,136,238,1,0,99,2,0,0,0,0,0,0,144,238,1,0,22,1,0,0,0,0,0,0,152,238,1,0,99,2,0,0,0,0,0,0,168,238,1,0,244,1,0,0,0,0,0,0,176,238,1,0,77,1,0,0,0,0,0,0,192,238,1,0,77,1,0,0,0,0,0,0,208,238,1,0,244,1,0,0,0,0,0,0,216,238,1,0,188,1,0,0,0,0,0,0,224,238,1,0,210,2,0,0,0,0,0,0,240,238,1,0,244,1,0,0,0,0,0,0,0,239,1,0,77,1,0,0,0,0,0,0,16,239,1,0,210,2,0,0,0,0,0,0,24,239,1,0,77,1,0,0,0,0,0,0,40,239,1,0,210,2,0,0,0,0,0,0,56,239,1,0,232,3,0,0,0,0,0,0,72,239,1,0,210,2,0,0,0,0,0,0,88,239,1,0,244,1,0,0,0,0,0,0,96,239,1,0,188,1,0,0,0,0,0,0,104,239,1,0,99,2,0,0,0,0,0,0,112,239,1,0,188,1,0,0,0,0,0,0,128,239,1,0,188,1,0,0,0,0,0,0,136,239,1,0,188,1,0,0,0,0,0,0,152,239,1,0,22,1,0,0,0,0,0,0,168,239,1,0,210,2,0,0,0,0,0,0,176,239,1,0,155,2,0,0,0,0,0,0,184,239,1,0,244,1,0,0,0,0,0,0,200,239,1,0,244,1,0,0,0,0,0,0,216,239,1,0,210,2,0,0,0,0,0,0,224,239,1,0,244,1,0,0,0,0,0,0,232,239,1,0,244,1,0,0,0,0,0,0,240,239,1,0,244,1,0,0,0,0,0,0,248,239,1,0,244,1,0,0,0,0,0,0,8,240,1,0,99,2,0,0,0,0,0,0,16,240,1,0,44,2,0,0,0,0,0,0,32,240,1,0,238,2,0,0,0,0,0,0,48,240,1,0,244,1,0,0,0,0,0,0,64,240,1,0,155,2,0,0,0,0,0,0,80,240,1,0,244,1,0,0,0,0,0,0,96,240,1,0,77,1,0,0,0,0,0,0,104,240,1,0,153,3,0,0,0,0,0,0,112,240,1,0,188,1,0,0,0,0,0,0,120,240,1,0,244,1,0,0,0,0,0,0,136,240,1,0,244,1,0,0,0,0,0,0,144,240,1,0,210,2,0,0,0,0,0,0,152,240,1,0,52,2,0,0,0,0,0,0,168,240,1,0,244,1,0,0,0,0,0,0,176,240,1,0,244,1,0,0,0,0,0,0,184,240,1,0,44,2,0,0,0,0,0,0,200,240,1,0,210,2,0,0,0,0,0,0,208,240,1,0,155,2,0,0,0,0,0,0,216,240,1,0,220,1,0,0,0,0,0,0,232,240,1,0,244,1,0,0,0,0,0,0,240,240,1,0,224,1,0,0,0,0,0,0,0,241,1,0,44,2,0,0,0,0,0,0,8,241,1,0,188,1,0,0,0,0,0,0,16,241,1,0,133,1,0,0,0,0,0,0,32,241,1,0,188,1,0,0,0,0,0,0,48,241,1,0,210,2,0,0,0,0,0,0,56,241,1,0,244,1,0,0,0,0,0,0,64,241,1,0,210,2,0,0,0,0,0,0,80,241,1,0,210,2,0,0,0,0,0,0,88,241,1,0,133,1,0,0,0,0,0,0,104,241,1,0,77,1,0,0,0,0,0,0,112,241,1,0,244,1,0,0,0,0,0,0,120,241,1,0,77,1,0,0,0,0,0,0,128,241,1,0,99,2,0,0,0,0,0,0,136,241,1,0,99,2,0,0,0,0,0,0,144,241,1,0,244,1,0,0,0,0,0,0,152,241,1,0,144,1,0,0,0,0,0,0,160,241,1,0,248,2,0,0,0,0,0,0,176,241,1,0,197,1,0,0,0,0,0,0,184,241,1,0,210,2,0,0,0,0,0,0,192,241,1,0,65,3,0,0,0,0,0,0,200,241,1,0,244,1,0,0,0,0,0,0,208,241,1,0,197,1,0,0,0,0,0,0,224,241,1,0,76,2,0,0,0,0,0,0,232,241,1,0,210,2,0,0,0,0,0,0,240,241,1,0,244,1,0,0,0,0,0,0,248,241,1,0,88,2,0,0,0,0,0,0,8,242,1,0,77,1,0,0,0,0,0,0,16,242,1,0,99,2,0,0,0,0,0,0,24,242,1,0,244,1,0,0,0,0,0,0,40,242,1,0,244,1,0,0,0,0,0,0,48,242,1,0,210,2,0,0,0,0,0,0,56,242,1,0,99,2,0,0,0,0,0,0,72,242,1,0,70,1,0,0,0,0,0,0,80,242,1,0,188,1,0,0,0,0,0,0,88,242,1,0,100,2,0,0,0,0,0,0,96,242,1,0,210,2,0,0,0,0,0,0,112,242,1,0,213,1,0,0,0,0,0,0,128,242,1,0,188,1,0,0,0,0,0,0,136,242,1,0,77,1,0,0,0,0,0,0,144,242,1,0,244,1,0,0,0,0,0,0,152,242,1,0,77,1,0,0,0,0,0,0,168,242,1,0,77,1,0,0,0,0,0,0,176,242,1,0,10,3,0,0,0,0,0,0,192,242,1,0,22,1,0,0,0,0,0,0,200,242,1,0,22,1,0,0,0,0,0,0,208,242,1,0,210,2,0,0,0,0,0,0,216,242,1,0,52,2,0,0,0,0,0,0,224,242,1,0,244,1,0,0,0,0,0,0,232,242,1,0,77,1,0,0,0,0,0,0,248,242,1,0,22,1,0,0,0,0,0,0,8,243,1,0,210,2,0,0,0,0,0,0,16,243,1,0,244,1,0,0,0,0,0,0,32,243,1,0,44,1,0,0,0,0,0,0,48,243,1,0,77,1,0,0,0,0,0,0,56,243,1,0,244,1,0,0,0,0,0,0,64,243,1,0,77,1,0,0,0,0,0,0,80,243,1,0,22,1,0,0,0,0,0,0,88,243,1,0,188,1,0,0,0,0,0,0,104,243,1,0,244,1,0,0,0,0,0,0,112,243,1,0,244,1,0,0,0,0,0,0,120,243,1,0,244,1,0,0,0,0,0,0,128,243,1,0,155,2,0,0,0,0,0,0,144,243,1,0,44,2,0,0,0,0,0,0,152,243,1,0,44,2,0,0,0,0,0,0,160,243,1,0,210,2,0,0,0,0,0,0,176,243,1,0,155,2,0,0,0,0,0,0,184,243,1,0,77,1,0,0,0,0,0,0,200,243,1,0,244,1,0,0,0,0,0,0,216,243,1,0,244,1,0,0,0,0,0,0,232,243,1,0,210,2,0,0,0,0,0,0,240,243,1,0,244,1,0,0,0,0,0,0,248,243,1,0,44,2,0,0,0,0,0,0,0,244,1,0,54,1,0,0,0,0,0,0,16,244,1,0,22,1,0,0,0,0,0,0,32,244,1,0,244,1,0,0,0,0,0,0,48,244,1,0,37,2,0,0,0,0,0,0,64,244,1,0,77,1,0,0,0,0,0,0,72,244,1,0,77,1,0,0,0,0,0,0,88,244,1,0,99,2,0,0,0,0,0,0,104,244,1,0,188,1,0,0,0,0,0,0,120,244,1,0,188,1,0,0,0,0,0,0,128,244,1,0,99,2,0,0,0,0,0,0,136,244,1,0,22,1,0,0,0,0,0,0,152,244,1,0,224,1,0,0,0,0,0,0,168,244,1,0,188,1,0,0,0,0,0,0,184,244,1,0,188,1,0,0,0,0,0,0,192,244,1,0,133,1,0,0,0,0,0,0,200,244,1,0,22,1,0,0,0,0,0,0,208,244,1,0,244,1,0,0,0,0,0,0,216,244,1,0,244,1,0,0,0,0,0,0,232,244,1,0,52,2,0,0,0,0,0,0,248,244,1,0,188,1,0,0,0,0,0,0,8,245,1,0,210,2,0,0,0,0,0,0,16,245,1,0,77,1,0,0,0,0,0,0,24,245,1,0,200,0,0,0,0,0,0,0,32,245,1,0,167,0,0,0,0,0,0,0,48,245,1,0,52,2,0,0,0,0,0,0,56,245,1,0,188,1,0,0,0,0,0,0,64,245,1,0,77,1,0,0,0,0,0,0,80,245,1,0,77,1,0,0,0,0,0,0,88,245,1,0,250,0,0,0,0,0,0,0,96,245,1,0,155,2,0,0,0,0,0,0,104,245,1,0,210,2,0,0,0,0,0,0,120,245,1,0,52,2,0,0,0,0,0,0,128,245,1,0,188,1,0,0,0,0,0,0,136,245,1,0,200,0,0,0,0,0,0,0,152,245,1,0,77,1,0,0,0,0,0,0,168,245,1,0,99,2,0,0,0,0,0,0,184,245,1,0,44,1,0,0,0,0,0,0,0,0,0,0,40,226,1,0,182,1,0,0,0,0,0,0,48,226,1,0,138,0,0,0,0,0,0,0,56,226,1,0,21,1,0,0,0,0,0,0,64,226,1,0,159,1,0,0,0,0,0,0,72,226,1,0,253,1,0,0,0,0,0,0,80,226,1,0,154,1,0,0,0,0,0,0,88,226,1,0,234,0,0,0,0,0,0,0,96,226,1,0,234,0,0,0,0,0,0,0,104,226,1,0,134,1,0,0,0,0,0,0,112,226,1,0,20,3,0,0,0,0,0,0,120,226,1,0,20,3,0,0,0,0,0,0,128,226,1,0,20,3,0,0,0,0,0,0,136,226,1,0,20,3,0,0,0,0,0,0,144,226,1,0,20,3,0,0,0,0,0,0,152,226,1,0,20,3,0,0,0,0,0,0,160,226,1,0,20,3,0,0,0,0,0,0,168,226,1,0,20,3,0,0,0,0,0,0,176,226,1,0,20,3,0,0,0,0,0,0,184,226,1,0,20,3,0,0,0,0,0,0,192,226,1,0,134,1,0,0,0,0,0,0,200,226,1,0,20,1,0,0,0,0,0,0,208,226,1,0,20,1,0,0,0,0,0,0,216,226,1,0,22,1,0,0,0,0,0,0,224,226,1,0,61,1,0,0,0,0,0,0,232,226,1,0,61,1,0,0,0,0,0,0,240,226,1,0,78,1,0,0,0,0,0,0,248,226,1,0,78,1,0,0,0,0,0,0,0,227,1,0,136,1,0,0,0,0,0,0,8,227,1,0,136,1,0,0,0,0,0,0,16,227,1,0,156,2,0,0,0,0,0,0,24,227,1,0,20,3,0,0,0,0,0,0,32,227,1,0,20,3,0,0,0,0,0,0,40,227,1,0,20,3,0,0,0,0,0,0,48,227,1,0,20,3,0,0,0,0,0,0,56,227,1,0,20,3,0,0,0,0,0,0,64,227,1,0,20,3,0,0,0,0,0,0,72,227,1,0,20,3,0,0,0,0,0,0,80,227,1,0,20,3,0,0,0,0,0,0,88,227,1,0,20,3,0,0,0,0,0,0,96,227,1,0,20,3,0,0,0,0,0,0,104,227,1,0,126,3,0,0,0,0,0,0,112,227,1,0,70,3,0,0,0,0,0,0,120,227,1,0,156,3,0,0,0,0,0,0,128,227,1,0,248,3,0,0,0,0,0,0,136,227,1,0,202,1,0,0,0,0,0,0,144,227,1,0,156,3,0,0,0,0,0,0,152,227,1,0,150,3,0,0,0,0,0,0,160,227,1,0,159,3,0,0,0,0,0,0,168,227,1,0,160,3,0,0,0,0,0,0,176,227,1,0,160,3,0,0,0,0,0,0,184,227,1,0,66,3,0,0,0,0,0,0,192,227,1,0,105,3,0,0,0,0,0,0,200,227,1,0,60,3,0,0,0,0,0,0,208,227,1,0,156,3,0,0,0,0,0,0,216,227,1,0,149,3,0,0,0,0,0,0,224,227,1,0,162,3,0,0,0,0,0,0,232,227,1,0,163,3,0,0,0,0,0,0,240,227,1,0,207,1,0,0,0,0,0,0,248,227,1,0,115,3,0,0,0,0,0,0,0,228,1,0,68,3,0,0,0,0,0,0,8,228,1,0,99,3,0,0,0,0,0,0,16,228,1,0,184,2,0,0,0,0,0,0,24,228,1,0,106,3,0,0,0,0,0,0,32,228,1,0,248,2,0,0,0,0,0,0,40,228,1,0,178,3,0,0,0,0,0,0,48,228,1,0,97,3,0,0,0,0,0,0,56,228,1,0,199,3,0,0,0,0,0,0,64,228,1,0,63,3,0,0,0,0,0,0,72,228,1,0,105,3,0,0,0,0,0,0,80,228,1,0,159,3,0,0,0,0,0,0,88,228,1,0,206,3,0,0,0,0,0,0,96,228,1,0,193,3,0,0,0,0,0,0,104,228,1,0,212,3,0,0,0,0,0,0,112,228,1,0,207,2,0,0,0,0,0,0,120,228,1,0,21,3,0,0,0,0,0,0,128,228,1,0,238,1,0,0,0,0,0,0,136,228,1,0,40,2,0,0,0,0,0,0,144,228,1,0,25,2,0,0,0,0,0,0,152,228,1,0,65,2,0,0,0,0,0,0,160,228,1,0,202,3,0,0,0,0,0,0,168,228,1,0,150,3,0,0,0,0,0,0,176,228,1,0,236,2,0,0,0,0,0,0,184,228,1,0,68,3,0,0,0,0,0,0,192,228,1,0,3,3,0,0,0,0,0,0,200,228,1,0,120,3,0,0,0,0,0,0,208,228,1,0,236,2,0,0,0,0,0,0,216,228,1,0,3,3,0,0,0,0,0,0,224,228,1,0,120,3,0,0,0,0,0,0,232,228,1,0,99,3,0,0,0,0,0,0,240,228,1,0,180,2,0,0,0,0,0,0,248,228,1,0,192,3,0,0,0,0,0,0,0,229,1,0,171,3,0,0,0,0,0,0,8,229,1,0,37,2,0,0,0,0,0,0,16,229,1,0,87,3,0,0,0,0,0,0,24,229,1,0,143,3,0,0,0,0,0,0,32,229,1,0,165,3,0,0,0,0,0,0,40,229,1,0,177,3,0,0,0,0,0,0,48,229,1,0,206,3,0,0,0,0,0,0,56,229,1,0,243,2,0,0,0,0,0,0,64,229,1,0,78,3,0,0,0,0,0,0,72,229,1,0,250,2,0,0,0,0,0,0,80,229,1,0,249,2,0,0,0,0,0,0,88,229,1,0,59,2,0,0,0,0,0,0,96,229,1,0,165,2,0,0,0,0,0,0,104,229,1,0,251,2,0,0,0,0,0,0,112,229,1,0,248,2,0,0,0,0,0,0,120,229,1,0,247,2,0,0,0,0,0,0,128,229,1,0,242,2,0,0,0,0,0,0,136,229,1,0,18,3,0,0,0,0,0,0,144,229,1,0,20,3,0,0,0,0,0,0,152,229,1,0,20,3,0,0,0,0,0,0,160,229,1,0,22,3,0,0,0,0,0,0,168,229,1,0,25,3,0,0,0,0,0,0,176,229,1,0,26,3,0,0,0,0,0,0,184,229,1,0,48,3,0,0,0,0,0,0,192,229,1,0,55,3,0,0,0,0,0,0,200,229,1,0,21,3,0,0,0,0,0,0,208,229,1,0,73,3,0,0,0,0,0,0,216,229,1,0,55,3,0,0,0,0,0,0,224,229,1,0,65,3,0,0,0,0,0,0,232,229,1,0,48,3,0,0,0,0,0,0,240,229,1,0,63,3,0,0,0,0,0,0,248,229,1,0,155,3,0,0,0,0,0,0,0,230,1,0,232,2,0,0,0,0,0,0,8,230,1,0,211,2,0,0,0,0,0,0,16,230,1,0,237,2,0,0,0,0,0,0,24,230,1,0,22,3,0,0,0,0,0,0,32,230,1,0,24,3,0,0,0,0,0,0,40,230,1,0,183,2,0,0,0,0,0,0,48,230,1,0,156,2,0,0,0,0,0,0,56,230,1,0,220,2,0,0,0,0,0,0,64,230,1,0,32,2,0,0,0,0,0,0,72,230,1,0,32,2,0,0,0,0,0,0,80,230,1,0,142,3,0,0,0,0,0,0,88,230,1,0,143,3,0,0,0,0,0,0,96,230,1,0,155,2,0,0,0,0,0,0,104,230,1,0,248,2,0,0,0,0,0,0,112,230,1,0,248,2,0,0,0,0,0,0,120,230,1,0,114,2,0,0,0,0,0,0,128,230,1,0,8,3,0,0,0,0,0,0,136,230,1,0,0,3,0,0,0,0,0,0,144,230,1,0,24,3,0,0,0,0,0,0,152,230,1,0,247,2,0,0,0,0,0,0,160,230,1,0,195,2,0,0,0,0,0,0,168,230,1,0,196,2,0,0,0,0,0,0,176,230,1,0,170,2,0,0,0,0,0,0,184,230,1,0,189,2,0,0,0,0,0,0,192,230,1,0,58,3,0,0,0,0,0,0,200,230,1,0,47,3,0,0,0,0,0,0,208,230,1,0,182,2,0,0,0,0,0,0,216,230,1,0,83,2,0,0,0,0,0,0,224,230,1,0,8,3,0,0,0,0,0,0,232,230,1,0,178,2,0,0,0,0,0,0,240,230,1,0,23,3,0,0,0,0,0,0,248,230,1,0,22,3,0,0,0,0,0,0,0,231,1,0,21,3,0,0,0,0,0,0,8,231,1,0,21,3,0,0,0,0,0,0,16,231,1], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+112648);
/* memory initializer */ allocate([195,2,0,0,0,0,0,0,24,231,1,0,175,2,0,0,0,0,0,0,32,231,1,0,184,2,0,0,0,0,0,0,40,231,1,0,177,2,0,0,0,0,0,0,48,231,1,0,18,3,0,0,0,0,0,0,56,231,1,0,19,3,0,0,0,0,0,0,64,231,1,0,201,2,0,0,0,0,0,0,72,231,1,0,23,3,0,0,0,0,0,0,80,231,1,0,184,2,0,0,0,0,0,0,88,231,1,0,106,3,0,0,0,0,0,0,96,231,1,0,20,3,0,0,0,0,0,0,104,231,1,0,20,3,0,0,0,0,0,0,112,231,1,0,206,3,0,0,0,0,0,0,120,231,1,0,20,3,0,0,0,0,0,0,128,231,1,0,250,2,0,0,0,0,0,0,136,231,1,0,20,3,0,0,0,0,0,0,144,231,1,0,247,2,0,0,0,0,0,0,152,231,1,0,20,3,0,0,0,0,0,0,160,231,1,0,253,1,0,0,0,0,0,0,168,231,1,0,20,3,0,0,0,0,0,0,176,231,1,0,154,1,0,0,0,0,0,0,184,231,1,0,20,3,0,0,0,0,0,0,192,231,1,0,20,3,0,0,0,0,0,0,200,231,1,0,20,3,0,0,0,0,0,0,208,231,1,0,20,3,0,0,0,0,0,0,216,231,1,0,17,3,0,0,0,0,0,0,224,231,1,0,23,3,0,0,0,0,0,0,232,231,1,0,105,3,0,0,0,0,0,0,240,231,1,0,249,2,0,0,0,0,0,0,248,231,1,0,250,2,0,0,0,0,0,0,0,232,1,0,247,2,0,0,0,0,0,0,8,232,1,0,124,3,0,0,0,0,0,0,16,232,1,0,124,3,0,0,0,0,0,0,24,232,1,0,20,3,0,0,0,0,0,0,32,232,1,0,16,3,0,0,0,0,0,0,40,232,1,0,20,3,0,0,0,0,0,0,48,232,1,0,20,3,0,0,0,0,0,0,56,232,1,0,20,3,0,0,0,0,0,0,64,232,1,0,20,3,0,0,0,0,0,0,72,232,1,0,20,3,0,0,0,0,0,0,80,232,1,0,20,3,0,0,0,0,0,0,88,232,1,0,20,3,0,0,0,0,0,0,96,232,1,0,20,3,0,0,0,0,0,0,104,232,1,0,20,3,0,0,0,0,0,0,112,232,1,0,20,3,0,0,0,0,0,0,97,56,49,0,0,0,0,0,97,56,50,0,0,0,0,0,97,56,51,0,0,0,0,0,97,56,52,0,0,0,0,0,97,56,53,0,0,0,0,0,97,56,54,0,0,0,0,0,97,56,55,0,0,0,0,0,97,56,56,0,0,0,0,0,97,56,57,0,0,0,0,0,97,49,52,48,0,0,0,0,97,49,52,49,0,0,0,0,97,49,52,50,0,0,0,0,97,49,52,51,0,0,0,0,97,49,52,52,0,0,0,0,97,49,52,53,0,0,0,0,97,49,52,54,0,0,0,0,97,49,52,55,0,0,0,0,97,49,52,56,0,0,0,0,97,49,52,57,0,0,0,0,97,57,48,0,0,0,0,0,97,57,49,0,0,0,0,0,97,57,50,0,0,0,0,0,115,112,97,99,101,0,0,0,97,57,51,0,0,0,0,0,97,57,52,0,0,0,0,0,97,57,53,0,0,0,0,0,97,57,54,0,0,0,0,0,97,57,55,0,0,0,0,0,97,57,56,0,0,0,0,0,97,57,57,0,0,0,0,0,97,49,53,48,0,0,0,0,97,49,53,49,0,0,0,0,97,49,53,50,0,0,0,0,97,49,53,51,0,0,0,0,97,49,53,52,0,0,0,0,97,49,53,53,0,0,0,0,97,49,53,54,0,0,0,0,97,49,53,55,0,0,0,0,97,49,53,56,0,0,0,0,97,49,53,57,0,0,0,0,97,49,54,48,0,0,0,0,97,49,54,49,0,0,0,0,97,49,54,50,0,0,0,0,97,49,54,51,0,0,0,0,97,49,54,52,0,0,0,0,97,49,54,53,0,0,0,0,97,49,54,54,0,0,0,0,97,49,54,55,0,0,0,0,97,49,54,56,0,0,0,0,97,49,54,57,0,0,0,0,97,49,55,48,0,0,0,0,97,49,55,49,0,0,0,0,97,49,55,50,0,0,0,0,97,49,55,51,0,0,0,0,97,49,55,52,0,0,0,0,97,49,55,53,0,0,0,0,97,49,55,54,0,0,0,0,97,49,55,55,0,0,0,0,97,49,55,56,0,0,0,0,97,49,55,57,0,0,0,0,97,49,56,48,0,0,0,0,97,49,56,49,0,0,0,0,97,49,56,50,0,0,0,0,97,49,56,51,0,0,0,0,97,49,56,52,0,0,0,0,97,49,56,53,0,0,0,0,97,49,56,54,0,0,0,0,97,49,56,55,0,0,0,0,97,49,56,56,0,0,0,0,97,49,56,57,0,0,0,0,97,49,0,0,0,0,0,0,97,50,0,0,0,0,0,0,97,51,0,0,0,0,0,0,97,52,0,0,0,0,0,0,97,53,0,0,0,0,0,0,97,54,0,0,0,0,0,0,97,55,0,0,0,0,0,0,97,56,0,0,0,0,0,0,97,57,0,0,0,0,0,0,97,49,57,48,0,0,0,0,97,49,57,49,0,0,0,0,97,49,57,50,0,0,0,0,97,49,57,51,0,0,0,0,97,49,57,52,0,0,0,0,97,49,57,53,0,0,0,0,97,49,57,54,0,0,0,0,97,49,57,55,0,0,0,0,97,49,57,56,0,0,0,0,97,49,57,57,0,0,0,0,97,49,48,0,0,0,0,0,97,49,49,0,0,0,0,0,97,49,50,0,0,0,0,0,97,49,51,0,0,0,0,0,97,49,52,0,0,0,0,0,97,49,53,0,0,0,0,0,97,49,54,0,0,0,0,0,97,49,55,0,0,0,0,0,97,49,56,0,0,0,0,0,97,49,57,0,0,0,0,0,97,50,48,0,0,0,0,0,97,50,49,0,0,0,0,0,97,50,50,0,0,0,0,0,97,50,51,0,0,0,0,0,97,50,52,0,0,0,0,0,97,50,53,0,0,0,0,0,97,50,54,0,0,0,0,0,97,50,55,0,0,0,0,0,97,50,56,0,0,0,0,0,97,50,57,0,0,0,0,0,97,51,48,0,0,0,0,0,97,51,49,0,0,0,0,0,97,51,50,0,0,0,0,0,97,51,51,0,0,0,0,0,97,51,52,0,0,0,0,0,97,51,53,0,0,0,0,0,97,51,54,0,0,0,0,0,97,51,55,0,0,0,0,0,97,51,56,0,0,0,0,0,97,51,57,0,0,0,0,0,97,52,48,0,0,0,0,0,97,52,49,0,0,0,0,0,97,52,50,0,0,0,0,0,97,52,51,0,0,0,0,0,97,52,52,0,0,0,0,0,97,52,53,0,0,0,0,0,97,52,54,0,0,0,0,0,97,52,55,0,0,0,0,0,97,52,56,0,0,0,0,0,97,52,57,0,0,0,0,0,97,49,48,48,0,0,0,0,97,49,48,49,0,0,0,0,97,49,48,50,0,0,0,0,97,49,48,51,0,0,0,0,97,49,48,52,0,0,0,0,97,49,48,53,0,0,0,0,97,49,48,54,0,0,0,0,97,49,48,55,0,0,0,0,97,49,48,56,0,0,0,0,97,49,48,57,0,0,0,0,97,53,48,0,0,0,0,0,97,53,49,0,0,0,0,0,97,53,50,0,0,0,0,0,97,53,51,0,0,0,0,0,97,53,52,0,0,0,0,0,97,53,53,0,0,0,0,0,97,53,54,0,0,0,0,0,97,53,55,0,0,0,0,0,97,53,56,0,0,0,0,0,97,53,57,0,0,0,0,0,97,49,49,48,0,0,0,0,97,49,49,49,0,0,0,0,97,49,49,50,0,0,0,0,97,49,49,55,0,0,0,0,97,49,49,56,0,0,0,0,97,49,49,57,0,0,0,0,97,54,48,0,0,0,0,0,97,54,49,0,0,0,0,0,97,54,50,0,0,0,0,0,97,54,51,0,0,0,0,0,97,54,52,0,0,0,0,0,97,54,53,0,0,0,0,0,97,54,54,0,0,0,0,0,97,54,55,0,0,0,0,0,97,54,56,0,0,0,0,0,97,54,57,0,0,0,0,0,97,50,48,48,0,0,0,0,97,50,48,49,0,0,0,0,97,49,50,48,0,0,0,0,97,49,50,49,0,0,0,0,97,50,48,50,0,0,0,0,97,49,50,50,0,0,0,0,97,50,48,51,0,0,0,0,97,49,50,51,0,0,0,0,97,50,48,52,0,0,0,0,97,49,50,52,0,0,0,0,97,50,48,53,0,0,0,0,97,49,50,53,0,0,0,0,97,50,48,54,0,0,0,0,97,49,50,54,0,0,0,0,97,49,50,55,0,0,0,0,97,49,50,56,0,0,0,0,97,49,50,57,0,0,0,0,97,55,48,0,0,0,0,0,97,55,49,0,0,0,0,0,97,55,50,0,0,0,0,0,97,55,51,0,0,0,0,0,97,55,52,0,0,0,0,0,97,55,53,0,0,0,0,0,97,55,54,0,0,0,0,0,97,55,55,0,0,0,0,0,97,55,56,0,0,0,0,0,97,55,57,0,0,0,0,0,97,49,51,48,0,0,0,0,97,49,51,49,0,0,0,0,97,49,51,50,0,0,0,0,97,49,51,51,0,0,0,0,97,49,51,52,0,0,0,0,97,49,51,53,0,0,0,0,97,49,51,54,0,0,0,0,97,49,51,55,0,0,0,0,97,49,51,56,0,0,0,0,97,49,51,57,0,0,0,0,78,116,105,108,100,101,0,0,114,99,97,114,111,110,0,0,107,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,78,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,90,97,99,117,116,101,0,0,99,111,109,109,97,0,0,0,99,101,100,105,108,108,97,0,112,108,117,115,109,105,110,117,115,0,0,0,0,0,0,0,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,0,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,0,101,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,97,115,99,105,105,116,105,108,100,101,0,0,0,0,0,0,99,111,108,111,110,0,0,0,111,110,101,104,97,108,102,0,100,111,108,108,97,114,0,0,76,99,97,114,111,110,0,0,110,116,105,108,100,101,0,0,65,111,103,111,110,101,107,0,110,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,109,105,110,117,115,0,0,0,73,111,103,111,110,101,107,0,122,97,99,117,116,101,0,0,121,101,110,0,0,0,0,0,79,109,97,99,114,111,110,0,113,117,101,115,116,105,111,110,100,111,119,110,0,0,0,0,101,109,100,97,115,104,0,0,65,103,114,97,118,101,0,0,116,104,114,101,101,0,0,0,110,117,109,98,101,114,115,105,103,110,0,0,0,0,0,0,108,99,97,114,111,110,0,0,65,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,97,111,103,111,110,101,107,0,68,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,111,110,101,113,117,97,114,116,101,114,0,0,0,0,0,0,70,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,74,0,0,0,0,0,0,0,75,0,0,0,0,0,0,0,105,111,103,111,110,101,107,0,98,97,99,107,115,108,97,115,104,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,112,101,114,105,111,100,99,101,110,116,101,114,101,100,0,0,77,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,111,109,97,99,114,111,110,0,84,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,79,0,0,0,0,0,0,0,80,0,0,0,0,0,0,0,81,0,0,0,0,0,0,0,85,104,117,110,103,97,114,117,109,108,97,117,116,0,0,0,82,0,0,0,0,0,0,0,65,97,99,117,116,101,0,0,99,97,114,111,110,0,0,0,83,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,97,103,114,97,118,101,0,0,86,0,0,0,0,0,0,0,87,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,113,117,101,115,116,105,111,110,0,0,0,0,0,0,0,0,101,113,117,97,108,0,0,0,89,0,0,0,0,0,0,0,90,0,0,0,0,0,0,0,102,111,117,114,0,0,0,0,97,0,0,0,0,0,0,0,71,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,98,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,98,117,108,108,101,116,0,0,104,0,0,0,0,0,0,0,105,0,0,0,0,0,0,0,79,115,108,97,115,104,0,0,100,97,103,103,101,114,0,0,106,0,0,0,0,0,0,0,107,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,110,0,0,0,0,0,0,0,116,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,111,0,0,0,0,0,0,0,111,114,100,102,101,109,105,110,105,110,101,0,0,0,0,0,114,105,110,103,0,0,0,0,112,0,0,0,0,0,0,0,113,0,0,0,0,0,0,0,117,104,117,110,103,97,114,117,109,108,97,117,116,0,0,0,114,0,0,0,0,0,0,0,116,119,111,115,117,112,101,114,105,111,114,0,0,0,0,0,97,97,99,117,116,101,0,0,115,0,0,0,0,0,0,0,79,69,0,0,0,0,0,0,116,0,0,0,0,0,0,0,100,105,118,105,100,101,0,0,117,0,0,0,0,0,0,0,67,99,97,114,111,110,0,0,118,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,120,0,0,0,0,0,0,0,121,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,71,98,114,101,118,101,0,0,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,0,104,117,110,103,97,114,117,109,108,97,117,116,0,0,0,0,73,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,78,97,99,117,116,101,0,0,113,117,111,116,101,100,98,108,0,0,0,0,0,0,0,0,103,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,109,117,0,0,0,0,0,0,103,114,101,97,116,101,114,101,113,117,97,108,0,0,0,0,83,99,97,114,111,110,0,0,76,115,108,97,115,104,0,0,115,101,109,105,99,111,108,111,110,0,0,0,0,0,0,0,111,115,108,97,115,104,0,0,108,101,115,115,101,113,117,97,108,0,0,0,0,0,0,0,108,111,122,101,110,103,101,0,112,97,114,101,110,114,105,103,104,116,0,0,0,0,0,0,99,99,97,114,111,110,0,0,69,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,103,98,114,101,118,101,0,0,116,114,97,100,101,109,97,114,107,0,0,0,0,0,0,0,100,97,103,103,101,114,100,98,108,0,0,0,0,0,0,0,110,97,99,117,116,101,0,0,109,97,99,114,111,110,0,0,79,116,105,108,100,101,0,0,69,109,97,99,114,111,110,0,101,108,108,105,112,115,105,115,0,0,0,0,0,0,0,0,115,99,97,114,111,110,0,0,65,69,0,0,0,0,0,0,85,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,108,115,108,97,115,104,0,0,113,117,111,116,101,100,98,108,108,101,102,116,0,0,0,0,103,117,105,108,115,105,110,103,108,114,105,103,104,116,0,0,104,121,112,104,101,110,0,0,113,117,111,116,101,115,105,110,103,108,101,0,0,0,0,0,101,105,103,104,116,0,0,0,101,120,99,108,97,109,100,111,119,110,0,0,0,0,0,0,101,110,100,97,115,104,0,0,111,101,0,0,0,0,0,0,65,98,114,101,118,101,0,0,85,109,97,99,114,111,110,0,101,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,65,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,99,111,112,121,114,105,103,104,116,0,0,0,0,0,0,0,69,103,114,97,118,101,0,0,115,108,97,115,104,0,0,0,69,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,111,116,105,108,100,101,0,0,73,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,112,97,114,101,110,108,101,102,116,0,0,0,0,0,0,0,111,110,101,0,0,0,0,0,101,109,97,99,114,111,110,0,79,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,117,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,98,114,97,99,107,101,116,108,101,102,116,0,0,0,0,0,85,103,114,97,118,101,0,0,113,117,111,116,101,114,105,103,104,116,0,0,0,0,0,0,85,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,112,101,114,116,104,111,117,115,97,110,100,0,0,0,0,0,89,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,117,109,97,99,114,111,110,0,97,98,114,101,118,101,0,0,69,97,99,117,116,101,0,0,97,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,101,103,114,97,118,101,0,0,101,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,105,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,69,116,104,0,0,0,0,0,97,101,0,0,0,0,0,0,97,115,116,101,114,105,115,107,0,0,0,0,0,0,0,0,111,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,85,97,99,117,116,101,0,0,117,103,114,97,118,101,0,0,110,105,110,101,0,0,0,0,102,105,118,101,0,0,0,0,117,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,90,99,97,114,111,110,0,0,83,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,116,104,114,101,101,113,117,97,114,116,101,114,115,0,0,0,103,117,105,108,108,101,109,111,116,114,105,103,104,116,0,0,67,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,121,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,116,105,108,100,101,0,0,0,97,116,0,0,0,0,0,0,101,97,99,117,116,101,0,0,117,110,100,101,114,115,99,111,114,101,0,0,0,0,0,0,69,117,114,111,0,0,0,0,68,99,114,111,97,116,0,0,109,117,108,116,105,112,108,121,0,0,0,0,0,0,0,0,122,101,114,111,0,0,0,0,101,116,104,0,0,0,0,0,83,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,79,103,114,97,118,101,0,0,82,97,99,117,116,101,0,0,112,97,114,116,105,97,108,100,105,102,102,0,0,0,0,0,117,97,99,117,116,101,0,0,98,114,97,99,101,108,101,102,116,0,0,0,0,0,0,0,84,104,111,114,110,0,0,0,122,99,97,114,111,110,0,0,115,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,99,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,68,99,97,114,111,110,0,0,100,99,114,111,97,116,0,0,79,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,79,97,99,117,116,101,0,0,115,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,111,103,111,110,101,107,0,0,111,103,114,97,118,101,0,0,114,97,99,117,116,101,0,0,84,99,97,114,111,110,0,0,69,111,103,111,110,101,107,0,116,104,111,114,110,0,0,0,100,101,103,114,101,101,0,0,114,101,103,105,115,116,101,114,101,100,0,0,0,0,0,0,114,97,100,105,99,97,108,0,65,114,105,110,103,0,0,0,112,101,114,99,101,110,116,0,115,105,120,0,0,0,0,0,112,97,114,97,103,114,97,112,104,0,0,0,0,0,0,0,100,99,97,114,111,110,0,0,85,111,103,111,110,101,107,0,116,119,111,0,0,0,0,0,115,117,109,109,97,116,105,111,110,0,0,0,0,0,0,0,73,103,114,97,118,101,0,0,76,97,99,117,116,101,0,0,111,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,111,97,99,117,116,101,0,0,85,114,105,110,103,0,0,0,76,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,116,99,97,114,111,110,0,0,101,111,103,111,110,101,107,0,68,101,108,116,97,0,0,0,79,104,117,110,103,97,114,117,109,108,97,117,116,0,0,0,97,115,99,105,105,99,105,114,99,117,109,0,0,0,0,0,97,114,105,110,103,0,0,0,103,114,97,118,101,0,0,0,117,111,103,111,110,101,107,0,98,114,97,99,107,101,116,114,105,103,104,116,0,0,0,0,73,97,99,117,116,101,0,0,97,109,112,101,114,115,97,110,100,0,0,0,0,0,0,0,105,103,114,97,118,101,0,0,108,97,99,117,116,101,0,0,78,99,97,114,111,110,0,0,112,108,117,115,0,0,0,0,117,114,105,110,103,0,0,0,113,117,111,116,101,115,105,110,103,108,98,97,115,101,0,0,108,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,89,97,99,117,116,101,0,0,111,104,117,110,103,97,114,117,109,108,97,117,116,0,0,0,116,104,114,101,101,115,117,112,101,114,105,111,114,0,0,0,97,99,117,116,101,0,0,0,115,101,99,116,105,111,110,0,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,0,105,97,99,117,116,101,0,0,113,117,111,116,101,100,98,108,98,97,115,101,0,0,0,0,110,99,97,114,111,110,0,0,102,108,111,114,105,110,0,0,121,97,99,117,116,101,0,0,82,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,102,105,0,0,0,0,0,0,102,108,0,0,0,0,0,0,65,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,67,97,99,117,116,101,0,0,73,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,103,117,105,108,108,101,109,111,116,108,101,102,116,0,0,0,103,101,114,109,97,110,100,98,108,115,0,0,0,0,0,0,65,109,97,99,114,111,110,0,115,101,118,101,110,0,0,0,83,97,99,117,116,101,0,0,111,114,100,109,97,115,99,117,108,105,110,101,0,0,0,0,100,111,116,108,101,115,115,105,0,0,0,0,0,0,0,0,115,116,101,114,108,105,110,103,0,0,0,0,0,0,0,0,110,111,116,101,113,117,97,108,0,0,0,0,0,0,0,0,73,109,97,99,114,111,110,0,114,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,90,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,97,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,99,97,99,117,116,101,0,0,69,99,97,114,111,110,0,0,105,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,98,114,97,99,101,114,105,103,104,116,0,0,0,0,0,0,113,117,111,116,101,100,98,108,114,105,103,104,116,0,0,0,97,109,97,99,114,111,110,0,115,97,99,117,116,101,0,0,105,109,97,99,114,111,110,0,99,101,110,116,0,0,0,0,99,117,114,114,101,110,99,121,0,0,0,0,0,0,0,0,108,111,103,105,99,97,108,110,111,116,0,0,0,0,0,0,122,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,65,116,105,108,100,101,0,0,98,114,101,118,101,0,0,0,98,97,114,0,0,0,0,0,102,114,97,99,116,105,111,110,0,0,0,0,0,0,0,0,108,101,115,115,0,0,0,0,101,99,97,114,111,110,0,0,103,117,105,108,115,105,110,103,108,108,101,102,116,0,0,0,101,120,99,108,97,109,0,0,112,101,114,105,111,100,0,0,82,99,97,114,111,110,0,0,75,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,103,114,101,97,116,101,114,0,97,116,105,108,100,101,0,0,98,114,111,107,101,110,98,97,114,0,0,0,0,0,0,0,113,117,111,116,101,108,101,102,116,0,0,0,0,0,0,0,69,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,111,110,101,115,117,112,101,114,105,111,114,0,0,0,0,0,98,114,97,99,107,101,116,108,101,102,116,101,120,0,0,0,97,108,112,104,97,0,0,0,117,110,105,111,110,0,0,0,105,110,102,105,110,105,116,121,0,0,0,0,0,0,0,0,99,111,112,121,114,105,103,104,116,115,97,110,115,0,0,0,97,114,114,111,119,117,112,0,97,112,112,108,101,0,0,0,112,97,114,101,110,108,101,102,116,98,116,0,0,0,0,0,110,111,116,101,108,101,109,101,110,116,0,0,0,0,0,0,98,101,116,97,0,0,0,0,98,114,97,99,101,108,101,102,116,98,116,0,0,0,0,0,76,97,109,98,100,97,0,0,80,104,105,0,0,0,0,0,83,105,103,109,97,0,0,0,97,112,112,114,111,120,101,113,117,97,108,0,0,0,0,0,109,105,110,117,116,101,0,0,99,105,114,99,108,101,112,108,117,115,0,0,0,0,0,0,79,109,105,99,114,111,110,0,108,97,109,98,100,97,0,0,112,104,105,0,0,0,0,0,97,108,101,112,104,0,0,0,84,97,117,0,0,0,0,0,115,112,97,100,101,0,0,0,108,111,103,105,99,97,108,97,110,100,0,0,0,0,0,0,115,105,103,109,97,0,0,0,112,114,111,112,101,114,115,117,112,101,114,115,101,116,0,0,111,109,105,99,114,111,110,0,69,112,115,105,108,111,110,0,101,109,112,116,121,115,101,116,0,0,0,0,0,0,0,0,100,105,97,109,111,110,100,0,77,117,0,0,0,0,0,0,112,97,114,101,110,108,101,102,116,116,112,0,0,0,0,0,99,108,117,98,0,0,0,0,79,109,101,103,97,0,0,0,116,97,117,0,0,0,0,0,85,112,115,105,108,111,110,0,98,114,97,99,101,108,101,102,116,116,112,0,0,0,0,0,104,101,97,114,116,0,0,0,101,112,115,105,108,111,110,0,108,111,103,105,99,97,108,111,114,0,0,0,0,0,0,0,112,97,114,101,110,108,101,102,116,101,120,0,0,0,0,0,78,117,0,0,0,0,0,0,116,104,101,114,101,102,111,114,101,0,0,0,0,0,0,0,110,111,116,115,117,98,115,101,116,0,0,0,0,0,0,0,111,109,101,103,97,0,0,0,101,108,101,109,101,110,116,0,117,112,115,105,108,111,110,0,101,120,105,115,116,101,110,116,105,97,108,0,0,0,0,0,105,110,116,101,103,114,97,108,98,116,0,0,0,0,0,0,112,104,105,49,0,0,0,0,116,114,97,100,101,109,97,114,107,115,101,114,105,102,0,0,114,101,102,108,101,120,115,117,112,101,114,115,101,116,0,0,115,105,103,109,97,49,0,0,110,117,0,0,0,0,0,0,71,97,109,109,97,0,0,0,97,110,103,108,101,114,105,103,104,116,0,0,0,0,0,0,82,104,111,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,98,116,0,0,0,0,114,97,100,105,99,97,108,101,120,0,0,0,0,0,0,0,97,110,103,108,101,108,101,102,116,0,0,0,0,0,0,0,97,114,114,111,119,100,98,108,100,111,119,110,0,0,0,0,99,111,110,103,114,117,101,110,116,0,0,0,0,0,0,0,84,104,101,116,97,0,0,0,105,110,116,101,114,115,101,99,116,105,111,110,0,0,0,0,80,105,0,0,0,0,0,0,114,101,103,105,115,116,101,114,115,101,114,105,102,0,0,0,103,97,109,109,97,0,0,0,114,104,111,0,0,0,0,0,99,105,114,99,108,101,109,117,108,116,105,112,108,121,0,0,67,104,105,0,0,0,0,0,116,104,101,116,97,0,0,0,112,105,0,0,0,0,0,0,105,110,116,101,103,114,97,108,116,112,0,0,0,0,0,0,69,116,97,0,0,0,0,0,112,114,111,100,117,99,116,0,112,114,111,112,101,114,115,117,98,115,101,116,0,0,0,0,98,114,97,99,107,101,116,114,105,103,104,116,98,116,0,0,116,114,97,100,101,109,97,114,107,115,97,110,115,0,0,0,100,111,116,109,97,116,104,0,105,110,116,101,103,114,97,108,101,120,0,0,0,0,0,0,99,104,105,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,116,112,0,0,0,0,101,116,97,0,0,0,0,0,97,110,103,108,101,0,0,0,97,114,114,111,119,100,98,108,108,101,102,116,0,0,0,0,112,97,114,101,110,114,105,103,104,116,101,120,0,0,0,0,82,102,114,97,107,116,117,114,0,0,0,0,0,0,0,0,90,101,116,97,0,0,0,0,98,114,97,99,101,101,120,0,97,114,114,111,119,100,98,108,117,112,0,0,0,0,0,0,97,114,114,111,119,100,111,119,110,0,0,0,0,0,0,0,73,102,114,97,107,116,117,114,0,0,0,0,0,0,0,0,73,111,116,97,0,0,0,0,112,101,114,112,101,110,100,105,99,117,108,97,114,0,0,0,97,115,116,101,114,105,115,107,109,97,116,104,0,0,0,0,122,101,116,97,0,0,0,0,119,101,105,101,114,115,116,114,97,115,115,0,0,0,0,0,98,114,97,99,107,101,116,114,105,103,104,116,116,112,0,0,99,97,114,114,105,97,103,101,114,101,116,117,114,110,0,0,115,117,99,104,116,104,97,116,0,0,0,0,0,0,0,0,97,114,114,111,119,118,101,114,116,101,120,0,0,0,0,0,105,111,116,97,0,0,0,0,97,114,114,111,119,104,111,114,105,122,101,120,0,0,0,0,98,114,97,99,107,101,116,114,105,103,104,116,101,120,0,0,112,114,111,112,111,114,116,105,111,110,97,108,0,0,0,0,100,101,108,116,97,0,0,0,99,111,112,121,114,105,103,104,116,115,101,114,105,102,0,0,98,114,97,99,101,114,105,103,104,116,109,105,100,0,0,0,97,114,114,111,119,108,101,102,116,0,0,0,0,0,0,0,115,101,99,111,110,100,0,0,97,114,114,111,119,100,98,108,98,111,116,104,0,0,0,0,80,115,105,0,0,0,0,0,98,114,97,99,101,114,105,103,104,116,98,116,0,0,0,0,98,114,97,99,107,101,116,108,101,102,116,98,116,0,0,0,98,114,97,99,101,108,101,102,116,109,105,100,0,0,0,0,112,115,105,0,0,0,0,0,101,113,117,105,118,97,108,101,110,99,101,0,0,0,0,0,117,110,105,118,101,114,115,97,108,0,0,0,0,0,0,0,97,114,114,111,119,100,98,108,114,105,103,104,116,0,0,0,114,101,102,108,101,120,115,117,98,115,101,116,0,0,0,0,88,105,0,0,0,0,0,0,116,104,101,116,97,49,0,0,75,97,112,112,97,0,0,0,115,105,109,105,108,97,114,0,114,101,103,105,115,116,101,114,115,97,110,115,0,0,0,0,111,109,101,103,97,49,0,0,85,112,115,105,108,111,110,49,0,0,0,0,0,0,0,0,98,114,97,99,101,114,105,103,104,116,116,112,0,0,0,0,120,105,0,0,0,0,0,0,65,108,112,104,97,0,0,0,97,114,114,111,119,114,105,103,104,116,0,0,0,0,0,0,98,114,97,99,107,101,116,108,101,102,116,116,112,0,0,0,107,97,112,112,97,0,0,0,103,114,97,100,105,101,110,116,0,0,0,0,0,0,0,0,105,110,116,101,103,114,97,108,0,0,0,0,0,0,0,0,97,114,114,111,119,98,111,116,104,0,0,0,0,0,0,0,66,101,116,97,0,0,0,0,100,98,108,100,97,103,103,101,114,117,109,108,97,117,116,0,73,100,101,110,116,105,116,121,0,0,0,0,0,0,0,0,73,100,101,110,116,105,116,121,45,72,0,0,0,0,0,0,73,100,101,110,116,105,116,121,45,86,0,0,0,0,0,0,67,111,117,108,100,110,39,116,32,102,105,110,100,32,39,37,115,39,32,67,77,97,112,32,102,105,108,101,32,102,111,114,32,39,37,115,39,32,99,111,108,108,101,99,116,105,111,110,0,0,0,0,0,0,0,0,117,115,101,99,109,97,112,0,47,87,77,111,100,101,0,0,98,101,103,105,110,99,111,100,101,115,112,97,99,101,114,97,110,103,101,0,0,0,0,0,101,110,100,99,111,100,101,115,112,97,99,101,114,97,110,103,101,0,0,0,0,0,0,0,73,108,108,101,103,97,108,32,101,110,116,114,121,32,105,110,32,99,111,100,101,115,112,97,99,101,114,97,110,103,101,32,98,108,111,99,107,32,105,110,32,67,77,97,112,0,0,0,37,120,0,0,0,0,0,0,98,101,103,105,110,99,105,100,99,104,97,114,0,0,0,0,101,110,100,99,105,100,99,104,97,114,0,0,0,0,0,0,73,108,108,101,103,97,108,32,101,110,116,114,121,32,105,110,32,99,105,100,99,104,97,114,32,98,108,111,99,107,32,105,110,32,67,77,97,112,0,0,98,101,103,105,110,99,105,100,114,97,110,103,101,0,0,0,101,110,100,99,105,100,114,97,110,103,101,0,0,0,0,0,73,108,108,101,103,97,108,32,101,110,116,114,121,32,105,110,32,99,105,100,114,97,110,103,101,32,98,108,111,99,107,32,105,110,32,67,77,97,112,0,67,111,108,108,105,115,105,111,110,32,105,110,32,117,115,101,99,109,97,112,0,0,0,0,73,110,118,97,108,105,100,32,67,73,68,32,40,37,48,42,120,32,45,32,37,48,42,120,41,32,105,110,32,67,77,97,112,0,0,0,0,0,0,0,67,97,116,97,108,111,103,32,111,98,106,101,99,116,32,105,115,32,119,114,111,110,103,32,116,121,112,101,32,40,37,115,41,0,0,0,0,0,0,0,65,99,114,111,70,111,114,109,0,0,0,0,0,0,0,0,85,82,73,0,0,0,0,0,66,97,115,101,0,0,0,0,79,67,80,114,111,112,101,114,116,105,101,115,0,0,0,0,80,97,103,101,115,0,0,0,67,97,116,97,108,111,103,32,100,105,99,116,105,111,110,97,114,121,32,100,111,101,115,32,110,111,116,32,99,111,110,116,97,105,110,32,97,32,118,97,108,105,100,32,34,80,97,103,101,115,34,32,101,110,116,114,121,0,0,0,0,0,0,0,84,111,112,45,108,101,118,101,108,32,112,97,103,101,115,32,111,98,106,101,99,116,32,105,115,32,119,114,111,110,103,32,116,121,112,101,32,40,37,115,41,0,0,0,0,0,0,0,75,105,100,115,0,0,0,0,75,105,100,115,32,111,98,106,101,99,116,32,40,112,97,103,101,32,37,100,41,32,105,115,32,119,114,111,110,103,32,116,121,112,101,32,40,37,115,41,0,0,0,0,0,0,0,0,75,105,100,32,111,98,106,101,99,116,32,40,112,97,103,101,32,37,100,41,32,105,115,32,110,111,116,32,97,110,32,105,110,100,105,114,101,99,116,32,114,101,102,101,114,101,110,99,101,32,40,37,115,41,0,0,76,111,111,112,32,105,110,32,80,97,103,101,115,32,116,114,101,101,0,0,0,0,0,0,80,97,103,101,0,0,0,0,70,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,112,97,103,101,32,40,112,97,103,101,32,37,100,41,0,80,97,103,101,32,99,111,117,110,116,32,105,110,32,116,111,112,45,108,101,118,101,108,32,112,97,103,101,115,32,111,98,106,101,99,116,32,105,115,32,105,110,99,111,114,114,101,99,116,0,0,0,0,0,0,0,75,105,100,32,111,98,106,101,99,116,32,40,112,97,103,101,32,37,100,41,32,105,115,32,119,114,111,110,103,32,116,121,112,101,32,40,37,115,41,0,67,111,117,110,116,0,0,0,80,97,103,101,32,99,111,117,110,116,32,105,110,32,116,111,112,45,108,101,118,101,108,32,112,97,103,101,115,32,111,98,106,101,99,116,32,105,115,32,119,114,111,110,103,32,116,121,112,101,32,40,37,115,41,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,114,0,0,0,0,0,0,0,67,111,117,108,100,110,39,116,32,111,112,101,110,32,99,105,100,84,111,85,110,105,99,111,100,101,32,102,105,108,101,32,39,37,115,39,0,0,0,0,37,120,0,0,0,0,0,0,66,97,100,32,108,105,110,101,32,40,37,100,41,32,105,110,32,99,105,100,84,111,85,110,105,99,111,100,101,32,102,105,108,101,32,39,37,115,39,0,67,111,117,108,100,110,39,116,32,111,112,101,110,32,117,110,105,99,111,100,101,84,111,85,110,105,99,111,100,101,32,102,105,108,101,32,39,37,115,39,0,0,0,0,0,0,0,0,32,9,13,10,0,0,0,0,66,97,100,32,108,105,110,101,32,40,37,100,41,32,105,110,32,117,110,105,99,111,100,101,84,111,85,110,105,99,111,100,101,32,102,105,108,101,32,39,37,115,39,0,0,0,0,0,67,111,117,108,100,110,39,116,32,102,105,110,100,32,84,111,85,110,105,99,111,100,101,32,67,77,97,112,32,102,105,108,101,32,102,111,114,32,39,37,115,39,0,0,0,0,0,0,117,115,101,99,109,97,112,0,98,101,103,105,110,98,102,99,104,97,114,0,0,0,0,0,101,110,100,98,102,99,104,97,114,0,0,0,0,0,0,0,73,108,108,101,103,97,108,32,101,110,116,114,121,32,105,110,32,98,102,99,104,97,114,32,98,108,111,99,107,32,105,110,32,84,111,85,110,105,99,111,100,101,32,67,77,97,112,0,98,101,103,105,110,98,102,114,97,110,103,101,0,0,0,0,101,110,100,98,102,114,97,110,103,101,0,0,0,0,0,0,73,108,108,101,103,97,108,32,101,110,116,114,121,32,105,110,32,98,102,114,97,110,103,101,32,98,108,111,99,107,32,105,110,32,84,111,85,110,105,99,111,100,101,32,67,77,97,112,0,0,0,0,0,0,0,0,91,0,0,0,0,0,0,0,93,0,0,0,0,0,0,0,73,108,108,101,103,97,108,32,99,111,100,101,32,118,97,108,117,101,32,105,110,32,67,104,97,114,67,111,100,101,84,111,85,110,105,99,111,100,101,58,58,97,100,100,77,97,112,112,105,110,103,0,0,0,0,0,73,108,108,101,103,97,108,32,101,110,116,114,121,32,105,110,32,84,111,85,110,105,99,111,100,101,32,67,77,97,112,0,40,191,78,94,78,117,138,65,100,0,78,86,255,250,1,8,46,46,0,182,208,104,62,128,47,12,169,254,100,83,105,122,0,0,0,0,24,3,2,0,134,0,0,0,135,0,0,0,98,0,0,0,136,0,0,0,23,0,0,0,99,0,0,0,100,0,0,0,25,0,0,0,12,0,0,0,34,0,0,0,24,0,0,0,7,0,0,0,101,0,0,0,14,0,0,0,8,0,0,0,18,0,0,0,36,0,0,0,102,0,0,0,38,0,0,0,29,0,0,0,13,0,0,0,39,0,0,0,31,0,0,0,9,0,0,0,49,51,68,101,99,114,121,112,116,83,116,114,101,97,109,0,128,113,4,0,8,3,2,0,200,188,0,0,0,0,0,0,82,101,100,117,99,105,110,103,32,98,117,102,73,100,120,32,102,114,111,109,32,37,100,32,116,111,32,49,54,32,116,111,32,110,111,116,32,99,114,97,115,104,0,0,0,0,0,0,82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,64,0,0,0,128,0,0,0,27,0,0,0,54,0,0,0,0,99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22,84,121,112,101,0,0,0,0,115,112,97,99,101,0,0,0,101,120,99,108,97,109,0,0,113,117,111,116,101,100,98,108,0,0,0,0,0,0,0,0,110,117,109,98,101,114,115,105,103,110,0,0,0,0,0,0,100,111,108,108,97,114,0,0,112,101,114,99,101,110,116,0,97,109,112,101,114,115,97,110,100,0,0,0,0,0,0,0,113,117,111,116,101,115,105,110,103,108,101,0,0,0,0,0,112,97,114,101,110,108,101,102,116,0,0,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,0,0,0,0,0,0,97,115,116,101,114,105,115,107,0,0,0,0,0,0,0,0,112,108,117,115,0,0,0,0,99,111,109,109,97,0,0,0,104,121,112,104,101,110,0,0,112,101,114,105,111,100,0,0,115,108,97,115,104,0,0,0,122,101,114,111,0,0,0,0,111,110,101,0,0,0,0,0,116,119,111,0,0,0,0,0,116,104,114,101,101,0,0,0,102,111,117,114,0,0,0,0,102,105,118,101,0,0,0,0,115,105,120,0,0,0,0,0,115,101,118,101,110,0,0,0,101,105,103,104,116,0,0,0,110,105,110,101,0,0,0,0,99,111,108,111,110,0,0,0,115,101,109,105,99,111,108,111,110,0,0,0,0,0,0,0,108,101,115,115,0,0,0,0,101,113,117,97,108,0,0,0,103,114,101,97,116,101,114,0,113,117,101,115,116,105,111,110,0,0,0,0,0,0,0,0,97,116,0,0,0,0,0,0,65,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,68,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,74,0,0,0,0,0,0,0,75,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,79,0,0,0,0,0,0,0,80,0,0,0,0,0,0,0,81,0,0,0,0,0,0,0,82,0,0,0,0,0,0,0,83,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,86,0,0,0,0,0,0,0,87,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,89,0,0,0,0,0,0,0,90,0,0,0,0,0,0,0,98,114,97,99,107,101,116,108,101,102,116,0,0,0,0,0,98,97,99,107,115,108,97,115,104,0,0,0,0,0,0,0,98,114,97,99,107,101,116,114,105,103,104,116,0,0,0,0,97,115,99,105,105,99,105,114,99,117,109,0,0,0,0,0,117,110,100,101,114,115,99,111,114,101,0,0,0,0,0,0,103,114,97,118,101,0,0,0,97], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+122888);
/* memory initializer */ allocate([98,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,104,0,0,0,0,0,0,0,105,0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,107,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,110,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,112,0,0,0,0,0,0,0,113,0,0,0,0,0,0,0,114,0,0,0,0,0,0,0,115,0,0,0,0,0,0,0,116,0,0,0,0,0,0,0,117,0,0,0,0,0,0,0,118,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,120,0,0,0,0,0,0,0,121,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,98,114,97,99,101,108,101,102,116,0,0,0,0,0,0,0,98,97,114,0,0,0,0,0,98,114,97,99,101,114,105,103,104,116,0,0,0,0,0,0,97,115,99,105,105,116,105,108,100,101,0,0,0,0,0,0,65,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,65,114,105,110,103,0,0,0,67,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,69,97,99,117,116,101,0,0,78,116,105,108,100,101,0,0,79,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,85,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,97,97,99,117,116,101,0,0,97,103,114,97,118,101,0,0,97,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,97,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,97,116,105,108,100,101,0,0,97,114,105,110,103,0,0,0,99,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,101,97,99,117,116,101,0,0,101,103,114,97,118,101,0,0,101,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,101,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,105,97,99,117,116,101,0,0,105,103,114,97,118,101,0,0,105,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,105,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,110,116,105,108,100,101,0,0,111,97,99,117,116,101,0,0,111,103,114,97,118,101,0,0,111,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,111,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,111,116,105,108,100,101,0,0,117,97,99,117,116,101,0,0,117,103,114,97,118,101,0,0,117,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,117,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,100,97,103,103,101,114,0,0,100,101,103,114,101,101,0,0,99,101,110,116,0,0,0,0,115,116,101,114,108,105,110,103,0,0,0,0,0,0,0,0,115,101,99,116,105,111,110,0,98,117,108,108,101,116,0,0,112,97,114,97,103,114,97,112,104,0,0,0,0,0,0,0,103,101,114,109,97,110,100,98,108,115,0,0,0,0,0,0,114,101,103,105,115,116,101,114,101,100,0,0,0,0,0,0,99,111,112,121,114,105,103,104,116,0,0,0,0,0,0,0,116,114,97,100,101,109,97,114,107,0,0,0,0,0,0,0,97,99,117,116,101,0,0,0,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,0,110,111,116,101,113,117,97,108,0,0,0,0,0,0,0,0,65,69,0,0,0,0,0,0,79,115,108,97,115,104,0,0,105,110,102,105,110,105,116,121,0,0,0,0,0,0,0,0,112,108,117,115,109,105,110,117,115,0,0,0,0,0,0,0,108,101,115,115,101,113,117,97,108,0,0,0,0,0,0,0,103,114,101,97,116,101,114,101,113,117,97,108,0,0,0,0,121,101,110,0,0,0,0,0,109,117,0,0,0,0,0,0,112,97,114,116,105,97,108,100,105,102,102,0,0,0,0,0,115,117,109,109,97,116,105,111,110,0,0,0,0,0,0,0,112,114,111,100,117,99,116,0,112,105,0,0,0,0,0,0,105,110,116,101,103,114,97,108,0,0,0,0,0,0,0,0,111,114,100,102,101,109,105,110,105,110,101,0,0,0,0,0,111,114,100,109,97,115,99,117,108,105,110,101,0,0,0,0,79,109,101,103,97,0,0,0,97,101,0,0,0,0,0,0,111,115,108,97,115,104,0,0,113,117,101,115,116,105,111,110,100,111,119,110,0,0,0,0,101,120,99,108,97,109,100,111,119,110,0,0,0,0,0,0,108,111,103,105,99,97,108,110,111,116,0,0,0,0,0,0,114,97,100,105,99,97,108,0,102,108,111,114,105,110,0,0,97,112,112,114,111,120,101,113,117,97,108,0,0,0,0,0,68,101,108,116,97,0,0,0,103,117,105,108,108,101,109,111,116,108,101,102,116,0,0,0,103,117,105,108,108,101,109,111,116,114,105,103,104,116,0,0,101,108,108,105,112,115,105,115,0,0,0,0,0,0,0,0,65,103,114,97,118,101,0,0,65,116,105,108,100,101,0,0,79,116,105,108,100,101,0,0,79,69,0,0,0,0,0,0,111,101,0,0,0,0,0,0,101,110,100,97,115,104,0,0,101,109,100,97,115,104,0,0,113,117,111,116,101,100,98,108,108,101,102,116,0,0,0,0,113,117,111,116,101,100,98,108,114,105,103,104,116,0,0,0,113,117,111,116,101,108,101,102,116,0,0,0,0,0,0,0,113,117,111,116,101,114,105,103,104,116,0,0,0,0,0,0,100,105,118,105,100,101,0,0,108,111,122,101,110,103,101,0,121,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,89,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,102,114,97,99,116,105,111,110,0,0,0,0,0,0,0,0,99,117,114,114,101,110,99,121,0,0,0,0,0,0,0,0,103,117,105,108,115,105,110,103,108,108,101,102,116,0,0,0,103,117,105,108,115,105,110,103,108,114,105,103,104,116,0,0,102,105,0,0,0,0,0,0,102,108,0,0,0,0,0,0,100,97,103,103,101,114,100,98,108,0,0,0,0,0,0,0,112,101,114,105,111,100,99,101,110,116,101,114,101,100,0,0,113,117,111,116,101,115,105,110,103,108,98,97,115,101,0,0,113,117,111,116,101,100,98,108,98,97,115,101,0,0,0,0,112,101,114,116,104,111,117,115,97,110,100,0,0,0,0,0,65,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,69,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,65,97,99,117,116,101,0,0,69,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,69,103,114,97,118,101,0,0,73,97,99,117,116,101,0,0,73,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,73,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,73,103,114,97,118,101,0,0,79,97,99,117,116,101,0,0,79,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,97,112,112,108,101,0,0,0,79,103,114,97,118,101,0,0,85,97,99,117,116,101,0,0,85,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,85,103,114,97,118,101,0,0,100,111,116,108,101,115,115,105,0,0,0,0,0,0,0,0,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,0,116,105,108,100,101,0,0,0,109,97,99,114,111,110,0,0,98,114,101,118,101,0,0,0,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,0,114,105,110,103,0,0,0,0,99,101,100,105,108,108,97,0,104,117,110,103,97,114,117,109,108,97,117,116,0,0,0,0,111,103,111,110,101,107,0,0,99,97,114,111,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,5,2,0,152,5,2,0,160,5,2,0,176,5,2,0,192,5,2,0,200,5,2,0,208,5,2,0,224,5,2,0,240,5,2,0,0,6,2,0,16,6,2,0,32,6,2,0,40,6,2,0,48,6,2,0,56,6,2,0,64,6,2,0,72,6,2,0,80,6,2,0,88,6,2,0,96,6,2,0,104,6,2,0,112,6,2,0,120,6,2,0,128,6,2,0,136,6,2,0,144,6,2,0,152,6,2,0,160,6,2,0,176,6,2,0,184,6,2,0,192,6,2,0,200,6,2,0,216,6,2,0,224,6,2,0,232,6,2,0,240,6,2,0,248,6,2,0,0,7,2,0,8,7,2,0,16,7,2,0,24,7,2,0,32,7,2,0,40,7,2,0,48,7,2,0,56,7,2,0,64,7,2,0,72,7,2,0,80,7,2,0,88,7,2,0,96,7,2,0,104,7,2,0,112,7,2,0,120,7,2,0,128,7,2,0,136,7,2,0,144,7,2,0,152,7,2,0,160,7,2,0,168,7,2,0,176,7,2,0,192,7,2,0,208,7,2,0,224,7,2,0,240,7,2,0,0,8,2,0,8,8,2,0,16,8,2,0,24,8,2,0,32,8,2,0,40,8,2,0,48,8,2,0,56,8,2,0,64,8,2,0,72,8,2,0,80,8,2,0,88,8,2,0,96,8,2,0,104,8,2,0,112,8,2,0,120,8,2,0,128,8,2,0,136,8,2,0,144,8,2,0,152,8,2,0,160,8,2,0,168,8,2,0,176,8,2,0,184,8,2,0,192,8,2,0,200,8,2,0,208,8,2,0,216,8,2,0,232,8,2,0,240,8,2,0,0,9,2,0,0,0,0,0,16,9,2,0,32,9,2,0,40,9,2,0,56,9,2,0,64,9,2,0,72,9,2,0,88,9,2,0,104,9,2,0,112,9,2,0,120,9,2,0,136,9,2,0,152,9,2,0,160,9,2,0,168,9,2,0,184,9,2,0,192,9,2,0,200,9,2,0,216,9,2,0,232,9,2,0,240,9,2,0,248,9,2,0,8,10,2,0,24,10,2,0,32,10,2,0,40,10,2,0,48,10,2,0,64,10,2,0,80,10,2,0,88,10,2,0,96,10,2,0,104,10,2,0,120,10,2,0,136,10,2,0,144,10,2,0,152,10,2,0,160,10,2,0,176,10,2,0,184,10,2,0,192,10,2,0,208,10,2,0,224,10,2,0,240,10,2,0,0,11,2,0,16,11,2,0,24,11,2,0,40,11,2,0,56,11,2,0,64,11,2,0,72,11,2,0,88,11,2,0,104,11,2,0,120,11,2,0,136,11,2,0,144,11,2,0,152,11,2,0,168,11,2,0,184,11,2,0,192,11,2,0,200,11,2,0,216,11,2,0,232,11,2,0,248,11,2,0,0,12,2,0,8,12,2,0,16,12,2,0,32,12,2,0,48,12,2,0,64,12,2,0,72,12,2,0,80,12,2,0,96,12,2,0,104,12,2,0,120,12,2,0,136,12,2,0,144,5,2,0,152,12,2,0,160,12,2,0,168,12,2,0,176,12,2,0,184,12,2,0,192,12,2,0,200,12,2,0,208,12,2,0,224,12,2,0,240,12,2,0,0,13,2,0,16,13,2,0,24,13,2,0,32,13,2,0,48,13,2,0,64,13,2,0,80,13,2,0,96,13,2,0,112,13,2,0,128,13,2,0,136,13,2,0,144,13,2,0,160,13,2,0,176,13,2,0,192,13,2,0,208,13,2,0,224,13,2,0,240,13,2,0,0,14,2,0,8,14,2,0,24,14,2,0,32,14,2,0,40,14,2,0,56,14,2,0,72,14,2,0,80,14,2,0,88,14,2,0,104,14,2,0,112,14,2,0,120,14,2,0,128,14,2,0,144,14,2,0,152,14,2,0,168,14,2,0,184,14,2,0,192,14,2,0,200,14,2,0,208,14,2,0,224,14,2,0,232,14,2,0,240,14,2,0,0,15,2,0,8,15,2,0,101,120,99,108,97,109,115,109,97,108,108,0,0,0,0,0,72,117,110,103,97,114,117,109,108,97,117,116,115,109,97,108,108,0,0,0,0,0,0,0,99,101,110,116,111,108,100,115,116,121,108,101,0,0,0,0,100,111,108,108,97,114,111,108,100,115,116,121,108,101,0,0,100,111,108,108,97,114,115,117,112,101,114,105,111,114,0,0,97,109,112,101,114,115,97,110,100,115,109,97,108,108,0,0,65,99,117,116,101,115,109,97,108,108,0,0,0,0,0,0,112,97,114,101,110,108,101,102,116,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,115,117,112,101,114,105,111,114,0,0,0,0,0,0,116,119,111,100,111,116,101,110,108,101,97,100,101,114,0,0,111,110,101,100,111,116,101,110,108,101,97,100,101,114,0,0,122,101,114,111,111,108,100,115,116,121,108,101,0,0,0,0,111,110,101,111,108,100,115,116,121,108,101,0,0,0,0,0,116,119,111,111,108,100,115,116,121,108,101,0,0,0,0,0,116,104,114,101,101,111,108,100,115,116,121,108,101,0,0,0,102,111,117,114,111,108,100,115,116,121,108,101,0,0,0,0,102,105,118,101,111,108,100,115,116,121,108,101,0,0,0,0,115,105,120,111,108,100,115,116,121,108,101,0,0,0,0,0,115,101,118,101,110,111,108,100,115,116,121,108,101,0,0,0,101,105,103,104,116,111,108,100,115,116,121,108,101,0,0,0,110,105,110,101,111,108,100,115,116,121,108,101,0,0,0,0,116,104,114,101,101,113,117,97,114,116,101,114,115,101,109,100,97,115,104,0,0,0,0,0,113,117,101,115,116,105,111,110,115,109,97,108,108,0,0,0,69,116,104,115,109,97,108,108,0,0,0,0,0,0,0,0,111,110,101,113,117,97,114,116,101,114,0,0,0,0,0,0,111,110,101,104,97,108,102,0,116,104,114,101,101,113,117,97,114,116,101,114,115,0,0,0,111,110,101,101,105,103,104,116,104,0,0,0,0,0,0,0,116,104,114,101,101,101,105,103,104,116,104,115,0,0,0,0,102,105,118,101,101,105,103,104,116,104,115,0,0,0,0,0,115,101,118,101,110,101,105,103,104,116,104,115,0,0,0,0,111,110,101,116,104,105,114,100,0,0,0,0,0,0,0,0,116,119,111,116,104,105,114,100,115,0,0,0,0,0,0,0,102,102,0,0,0,0,0,0,102,102,105,0,0,0,0,0,102,102,108,0,0,0,0,0,112,97,114,101,110,108,101,102,116,105,110,102,101,114,105,111,114,0,0,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,105,110,102,101,114,105,111,114,0,0,0,0,0,0,67,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,104,121,112,104,101,110,105,110,102,101,114,105,111,114,0,0,71,114,97,118,101,115,109,97,108,108,0,0,0,0,0,0,65,115,109,97,108,108,0,0,66,115,109,97,108,108,0,0,67,115,109,97,108,108,0,0,68,115,109,97,108,108,0,0,69,115,109,97,108,108,0,0,70,115,109,97,108,108,0,0,71,115,109,97,108,108,0,0,72,115,109,97,108,108,0,0,73,115,109,97,108,108,0,0,74,115,109,97,108,108,0,0,75,115,109,97,108,108,0,0,76,115,109,97,108,108,0,0,77,115,109,97,108,108,0,0,78,115,109,97,108,108,0,0,79,115,109,97,108,108,0,0,80,115,109,97,108,108,0,0,81,115,109,97,108,108,0,0,82,115,109,97,108,108,0,0,83,115,109,97,108,108,0,0,84,115,109,97,108,108,0,0,85,115,109,97,108,108,0,0,86,115,109,97,108,108,0,0,87,115,109,97,108,108,0,0,88,115,109,97,108,108,0,0,89,115,109,97,108,108,0,0,90,115,109,97,108,108,0,0,99,111,108,111,110,109,111,110,101,116,97,114,121,0,0,0,111,110,101,102,105,116,116,101,100,0,0,0,0,0,0,0,114,117,112,105,97,104,0,0,84,105,108,100,101,115,109,97,108,108,0,0,0,0,0,0,97,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,99,101,110,116,115,117,112,101,114,105,111,114,0,0,0,0,65,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,65,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,65,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,65,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,65,116,105,108,100,101,115,109,97,108,108,0,0,0,0,0,65,114,105,110,103,115,109,97,108,108,0,0,0,0,0,0,67,99,101,100,105,108,108,97,115,109,97,108,108,0,0,0,69,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,69,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,69,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,69,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,73,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,73,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,73,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,73,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,78,116,105,108,100,101,115,109,97,108,108,0,0,0,0,0,79,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,79,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,79,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,79,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,79,116,105,108,100,101,115,109,97,108,108,0,0,0,0,0,85,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,85,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,85,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,85,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,101,105,103,104,116,115,117,112,101,114,105,111,114,0,0,0,102,111,117,114,105,110,102,101,114,105,111,114,0,0,0,0,116,104,114,101,101,105,110,102,101,114,105,111,114,0,0,0,115,105,120,105,110,102,101,114,105,111,114,0,0,0,0,0,101,105,103,104,116,105,110,102,101,114,105,111,114,0,0,0,115,101,118,101,110,105,110,102,101,114,105,111,114,0,0,0,83,99,97,114,111,110,115,109,97,108,108,0,0,0,0,0,99,101,110,116,105,110,102,101,114,105,111,114,0,0,0,0,116,119,111,105,110,102,101,114,105,111,114,0,0,0,0,0,68,105,101,114,101,115,105,115,115,109,97,108,108,0,0,0,67,97,114,111,110,115,109,97,108,108,0,0,0,0,0,0,111,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,102,105,118,101,105,110,102,101,114,105,111,114,0,0,0,0,99,111,109,109,97,105,110,102,101,114,105,111,114,0,0,0,112,101,114,105,111,100,105,110,102,101,114,105,111,114,0,0,89,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,100,111,108,108,97,114,105,110,102,101,114,105,111,114,0,0,84,104,111,114,110,115,109,97,108,108,0,0,0,0,0,0,110,105,110,101,105,110,102,101,114,105,111,114,0,0,0,0,122,101,114,111,105,110,102,101,114,105,111,114,0,0,0,0,90,99,97,114,111,110,115,109,97,108,108,0,0,0,0,0,65,69,115,109,97,108,108,0,79,115,108,97,115,104,115,109,97,108,108,0,0,0,0,0,113,117,101,115,116,105,111,110,100,111,119,110,115,109,97,108,108,0,0,0,0,0,0,0,111,110,101,105,110,102,101,114,105,111,114,0,0,0,0,0,76,115,108,97,115,104,115,109,97,108,108,0,0,0,0,0,67,101,100,105,108,108,97,115,109,97,108,108,0,0,0,0,79,69,115,109,97,108,108,0,102,105,103,117,114,101,100,97,115,104,0,0,0,0,0,0,104,121,112,104,101,110,115,117,112,101,114,105,111,114,0,0,101,120,99,108,97,109,100,111,119,110,115,109,97,108,108,0,89,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,111,110,101,115,117,112,101,114,105,111,114,0,0,0,0,0,116,119,111,115,117,112,101,114,105,111,114,0,0,0,0,0,116,104,114,101,101,115,117,112,101,114,105,111,114,0,0,0,102,111,117,114,115,117,112,101,114,105,111,114,0,0,0,0,102,105,118,101,115,117,112,101,114,105,111,114,0,0,0,0,115,105,120,115,117,112,101,114,105,111,114,0,0,0,0,0,115,101,118,101,110,115,117,112,101,114,105,111,114,0,0,0,110,105,110,101,115,117,112,101,114,105,111,114,0,0,0,0,122,101,114,111,115,117,112,101,114,105,111,114,0,0,0,0,101,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,114,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,116,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,105,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,115,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,100,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,108,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,79,103,111,110,101,107,115,109,97,108,108,0,0,0,0,0,66,114,101,118,101,115,109,97,108,108,0,0,0,0,0,0,77,97,99,114,111,110,115,109,97,108,108,0,0,0,0,0,98,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,110,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,109,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,99,111,109,109,97,115,117,112,101,114,105,111,114,0,0,0,112,101,114,105,111,100,115,117,112,101,114,105,111,114,0,0,68,111,116,97,99,99,101,110,116,115,109,97,108,108,0,0,82,105,110,103,115,109,97,108,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,5,2,0,16,19,2,0,32,19,2,0,56,19,2,0,72,19,2,0,88,19,2,0,104,19,2,0,120,19,2,0,136,19,2,0,160,19,2,0,184,19,2,0,200,19,2,0,40,6,2,0,48,6,2,0,56,6,2,0,64,13,2,0,216,19,2,0,232,19,2,0,248,19,2,0,8,20,2,0,24,20,2,0,40,20,2,0,56,20,2,0,72,20,2,0,88,20,2,0,104,20,2,0,152,6,2,0,160,6,2,0,0,0,0,0,120,20,2,0,0,0,0,0,144,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,20,2,0,0,0,0,0,0,0,0,0,176,20,2,0,192,20,2,0,200,20,2,0,216,20,2,0,232,20,2,0,248,20,2,0,8,21,2,0,24,21,2,0,40,21,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,21,2,0,128,13,2,0,136,13,2,0,64,21,2,0,72,21,2,0,80,21,2,0,0,0,0,0,104,21,2,0,128,21,2,0,144,21,2,0,160,21,2,0,176,21,2,0,184,21,2,0,192,21,2,0,200,21,2,0,208,21,2,0,216,21,2,0,224,21,2,0,232,21,2,0,240,21,2,0,248,21,2,0,0,22,2,0,8,22,2,0,16,22,2,0,24,22,2,0,32,22,2,0,40,22,2,0,48,22,2,0,56,22,2,0,64,22,2,0,72,22,2,0,80,22,2,0,88,22,2,0,96,22,2,0,104,22,2,0,112,22,2,0,120,22,2,0,128,22,2,0,144,22,2,0,160,22,2,0,168,22,2,0,0,0,0,0,0,0,0,0,184,22,2,0,200,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,22,2,0,232,22,2,0,248,22,2,0,16,23,2,0,32,23,2,0,48,23,2,0,64,23,2,0,80,23,2,0,96,23,2,0,112,23,2,0,136,23,2,0,152,23,2,0,168,23,2,0,184,23,2,0,208,23,2,0,224,23,2,0,240,23,2,0,0,24,2,0,16,24,2,0,40,24,2,0,56,24,2,0,72,24,2,0,88,24,2,0,104,24,2,0,128,24,2,0,0,0,0,0,144,24,2,0,160,24,2,0,176,24,2,0,192,24,2,0,208,24,2,0,224,24,2,0,240,24,2,0,0,0,0,0,0,25,2,0,16,25,2,0,0,0,0,0,32,25,2,0,0,0,0,0,48,25,2,0,64,25,2,0,80,25,2,0,0,0,0,0,96,25,2,0,112,25,2,0,128,25,2,0,0,0,0,0,144,25,2,0,0,0,0,0,0,0,0,0,160,25,2,0,0,0,0,0,176,25,2,0,192,25,2,0,208,25,2,0,224,25,2,0,232,25,2,0,248,25,2,0,16,26,2,0,32,26,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,26,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,26,2,0,72,26,2,0,88,26,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,26,2,0,0,0,0,0,120,26,2,0,0,0,0,0,136,26,2,0,152,26,2,0,168,26,2,0,184,26,2,0,200,26,2,0,216,26,2,0,232,26,2,0,248,26,2,0,8,27,2,0,0,0,0,0,24,27,2,0,40,27,2,0,56,27,2,0,0,0,0,0,0,0,0,0,72,27,2,0,88,27,2,0,104,27,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,27,2,0,136,27,2,0,152,27,2,0,168,27,2,0,184,27,2,0,200,27,2,0,216,27,2,0,232,27,2,0,248,27,2,0,8,28,2,0,24,28,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,117,114,111,0,0,0,0,83,99,97,114,111,110,0,0,90,99,97,114,111,110,0,0,115,99,97,114,111,110,0,0,122,99,97,114,111,110,0,0,98,114,111,107,101,110,98,97,114,0,0,0,0,0,0,0,69,116,104,0,0,0,0,0,109,117,108,116,105,112,108,121,0,0,0,0,0,0,0,0,89,97,99,117,116,101,0,0,84,104,111,114,110,0,0,0,101,116,104,0,0,0,0,0,121,97,99,117,116,101,0,0,116,104,111,114,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,5,2,0,152,5,2,0,160,5,2,0,176,5,2,0,192,5,2,0,200,5,2,0,208,5,2,0,224,5,2,0,240,5,2,0,0,6,2,0,16,6,2,0,32,6,2,0,40,6,2,0,48,6,2,0,56,6,2,0,64,6,2,0,72,6,2,0,80,6,2,0,88,6,2,0,96,6,2,0,104,6,2,0,112,6,2,0,120,6,2,0,128,6,2,0,136,6,2,0,144,6,2,0,152,6,2,0,160,6,2,0,176,6,2,0,184,6,2,0,192,6,2,0,200,6,2,0,216,6,2,0,224,6,2,0,232,6,2,0,240,6,2,0,248,6,2,0,0,7,2,0,8,7,2,0,16,7,2,0,24,7,2,0,32,7,2,0,40,7,2,0,48,7,2,0,56,7,2,0,64,7,2,0,72,7,2,0,80,7,2,0,88,7,2,0,96,7,2,0,104,7,2,0,112,7,2,0,120,7,2,0,128,7,2,0,136,7,2,0,144,7,2,0,152,7,2,0,160,7,2,0,168,7,2,0,176,7,2,0,192,7,2,0,208,7,2,0,224,7,2,0,240,7,2,0,0,8,2,0,8,8,2,0,16,8,2,0,24,8,2,0,32,8,2,0,40,8,2,0,48,8,2,0,56,8,2,0,64,8,2,0,72,8,2,0,80,8,2,0,88,8,2,0,96,8,2,0,104,8,2,0,112,8,2,0,120,8,2,0,128,8,2,0,136,8,2,0,144,8,2,0,152,8,2,0,160,8,2,0,168,8,2,0,176,8,2,0,184,8,2,0,192,8,2,0,200,8,2,0,208,8,2,0,216,8,2,0,232,8,2,0,240,8,2,0,0,9,2,0,184,10,2,0,40,32,2,0,184,10,2,0,176,13,2,0,72,12,2,0,192,13,2,0,136,12,2,0,136,10,2,0,144,13,2,0,168,14,2,0,208,13,2,0,48,32,2,0,96,13,2,0,176,12,2,0,184,10,2,0,56,32,2,0,184,10,2,0,184,10,2,0,240,12,2,0,0,13,2,0,208,12,2,0,224,12,2,0,184,10,2,0,192,12,2,0,200,12,2,0,184,14,2,0,0,11,2,0,64,32,2,0,112,13,2,0,184,12,2,0,184,10,2,0,72,32,2,0,48,13,2,0,144,5,2,0,32,12,2,0,152,10,2,0,160,10,2,0,80,13,2,0,136,11,2,0,80,32,2,0,176,10,2,0,24,11,2,0,240,10,2,0,216,11,2,0,104,12,2,0,48,12,2,0,48,6,2,0,224,10,2,0,192,14,2,0,144,10,2,0,88,11,2,0,152,26,2,0,168,26,2,0,16,11,2,0,144,11,2,0,192,10,2,0,160,13,2,0,232,14,2,0,136,26,2,0,232,11,2,0,120,12,2,0,176,20,2,0,192,20,2,0,200,20,2,0,16,12,2,0,152,12,2,0,0,14,2,0,224,13,2,0,160,12,2,0,16,9,2,0,32,9,2,0,56,11,2,0,40,9,2,0,24,14,2,0,56,9,2,0,240,13,2,0,8,14,2,0,72,14,2,0,32,14,2,0,40,14,2,0,56,14,2,0,96,32,2,0,64,9,2,0,112,14,2,0,80,14,2,0,88,14,2,0,168,12,2,0,72,9,2,0,104,32,2,0,64,11,2,0,144,14,2,0,120,14,2,0,128,14,2,0,88,9,2,0,120,32,2,0,128,32,2,0,208,10,2,0,112,9,2,0,104,9,2,0,120,9,2,0,152,9,2,0,136,9,2,0,160,9,2,0,0,12,2,0,168,9,2,0,192,9,2,0,184,9,2,0,200,9,2,0,216,9,2,0,240,9,2,0,232,9,2,0,248,9,2,0,8,10,2,0,136,32,2,0,24,10,2,0,40,10,2,0,32,10,2,0,48,10,2,0,80,10,2,0,64,10,2,0,16,13,2,0,8,12,2,0,96,10,2,0,88,10,2,0,104,10,2,0,120,10,2,0,144,32,2,0,152,32,2,0,32,13,2,0,76,115,108,97,115,104,0,0,108,115,108,97,115,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,5,2,0,152,5,2,0,160,5,2,0,176,5,2,0,192,5,2,0,200,5,2,0,208,5,2,0,0,13,2,0,240,5,2,0,0,6,2,0,16,6,2,0,32,6,2,0,40,6,2,0,48,6,2,0,56,6,2,0,64,6,2,0,72,6,2,0,80,6,2,0,88,6,2,0,96,6,2,0,104,6,2,0,112,6,2,0,120,6,2,0,128,6,2,0,136,6,2,0,144,6,2,0,152,6,2,0,160,6,2,0,176,6,2,0,184,6,2,0,192,6,2,0,200,6,2,0,216,6,2,0,224,6,2,0,232,6,2,0,240,6,2,0,248,6,2,0,0,7,2,0,8,7,2,0,16,7,2,0,24,7,2,0,32,7,2,0,40,7,2,0,48,7,2,0,56,7,2,0,64,7,2,0,72,7,2,0,80,7,2,0,88,7,2,0,96,7,2,0,104,7,2,0,112,7,2,0,120,7,2,0,128,7,2,0,136,7,2,0,144,7,2,0,152,7,2,0,160,7,2,0,168,7,2,0,176,7,2,0,192,7,2,0,208,7,2,0,224,7,2,0,240,7,2,0,240,12,2,0,8,8,2,0,16,8,2,0,24,8,2,0,32,8,2,0,40,8,2,0,48,8,2,0,56,8,2,0,64,8,2,0,72,8,2,0,80,8,2,0,88,8,2,0,96,8,2,0,104,8,2,0,112,8,2,0,120,8,2,0,128,8,2,0,136,8,2,0,144,8,2,0,152,8,2,0,160,8,2,0,168,8,2,0,176,8,2,0,184,8,2,0,192,8,2,0,200,8,2,0,208,8,2,0,216,8,2,0,232,8,2,0,240,8,2,0,0,9,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,12,2,0,152,10,2,0,160,10,2,0,64,13,2,0,136,11,2,0,72,12,2,0,176,10,2,0,80,13,2,0,224,5,2,0,208,12,2,0,104,12,2,0,96,13,2,0,112,13,2,0,128,13,2,0,136,13,2,0,0,0,0,0,192,12,2,0,136,10,2,0,144,13,2,0,160,13,2,0,0,0,0,0,192,10,2,0,184,10,2,0,176,13,2,0,192,13,2,0,224,12,2,0,120,12,2,0,136,12,2,0,208,13,2,0,0,0,0,0,16,12,2,0,0,0,0,0,0,8,2,0,16,11,2,0,168,14,2,0,184,14,2,0,192,14,2,0,200,14,2,0,208,14,2,0,24,11,2,0,0,0,0,0,224,14,2,0,232,14,2,0,0,0,0,0,240,14,2,0,0,15,2,0,8,15,2,0,200,12,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,11,2,0,0,0,0,0,216,11,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,36,2,0,64,11,2,0,176,12,2,0,232,11,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,14,2,0,0,0,0,0,0,0,0,0,168,36,2,0,8,12,2,0,184,12,2,0,208,10,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,117,110,105,118,101,114,115,97,108,0,0,0,0,0,0,0,101,120,105,115,116,101,110,116,105,97,108,0,0,0,0,0,115,117,99,104,116,104,97,116,0,0,0,0,0,0,0,0,97,115,116,101,114,105,115,107,109,97,116,104,0,0,0,0,109,105,110,117,115,0,0,0,99,111,110,103,114,117,101,110,116,0,0,0,0,0,0,0,65,108,112,104,97,0,0,0,66,101,116,97,0,0,0,0,67,104,105,0,0,0,0,0,69,112,115,105,108,111,110,0,80,104,105,0,0,0,0,0,71,97,109,109,97,0,0,0,69,116,97,0,0,0,0,0,73,111,116,97,0,0,0,0,116,104,101,116,97,49,0,0,75,97,112,112,97,0,0,0,76,97,109,98,100,97,0,0,77,117,0,0,0,0,0,0,78,117,0,0,0,0,0,0,79,109,105,99,114,111,110,0,80,105,0,0,0,0,0,0,84,104,101,116,97,0,0,0,82,104,111,0,0,0,0,0,83,105,103,109,97,0,0,0,84,97,117,0,0,0,0,0,85,112,115,105,108,111,110,0,115,105,103,109,97,49,0,0,88,105,0,0,0,0,0,0,80,115,105,0,0,0,0,0,90,101,116,97,0,0,0,0,116,104,101,114,101,102,111,114,101,0,0,0,0,0,0,0,112,101,114,112,101,110,100,105,99,117,108,97,114,0,0,0,114,97,100,105,99,97,108,101,120,0,0,0,0,0,0,0,97,108,112,104,97,0,0,0,98,101,116,97,0,0,0,0,99,104,105,0,0,0,0,0,100,101,108,116,97,0,0,0,101,112,115,105,108,111,110,0,112,104,105,0,0,0,0,0,103,97,109,109,97,0,0,0,101,116,97,0,0,0,0,0,105,111,116,97,0,0,0,0,112,104,105,49,0,0,0,0,107,97,112,112,97,0,0,0,108,97,109,98,100,97,0,0,110,117,0,0,0,0,0,0,111,109,105,99,114,111,110,0,116,104,101,116,97,0,0,0,114,104,111,0,0,0,0,0,115,105,103,109,97,0,0,0,116,97,117,0,0,0,0,0,117,112,115,105,108,111,110,0,111,109,101,103,97,49,0,0,111,109,101,103,97,0,0,0,120,105,0,0,0,0,0,0,112,115,105,0,0,0,0,0,122,101,116,97,0,0,0,0,115,105,109,105,108,97,114,0,85,112,115,105,108,111,110,49,0,0,0,0,0,0,0,0,109,105,110,117,116,101,0,0,99,108,117,98,0,0,0,0,100,105,97,109,111,110,100,0,104,101,97,114,116,0,0,0,115,112,97,100,101,0,0,0,97,114,114,111,119,98,111,116,104,0,0,0,0,0,0,0,97,114,114,111,119,108,101,102,116,0,0,0,0,0,0,0,97,114,114,111,119,117,112,0,97,114,114,111,119,114,105,103,104,116,0,0,0,0,0,0,97,114,114,111,119,100,111,119,110,0,0,0,0,0,0,0,115,101,99,111,110,100,0,0,112,114,111,112,111,114,116,105,111,110,97,108,0,0,0,0,101,113,117,105,118,97,108,101,110,99,101,0,0,0,0,0,97,114,114,111,119,118,101,114,116,101,120,0,0,0,0,0,97,114,114,111,119,104,111,114,105,122,101,120,0,0,0,0,99,97,114,114,105,97,103,101,114,101,116,117,114,110,0,0,97,108,101,112,104,0,0,0,73,102,114,97,107,116,117,114,0,0,0,0,0,0,0,0,82,102,114,97,107,116,117,114,0,0,0,0,0,0,0,0,119,101,105,101,114,115,116,114,97,115,115,0,0,0,0,0,99,105,114,99,108,101,109,117,108,116,105,112,108,121,0,0,99,105,114,99,108,101,112,108,117,115,0,0,0,0,0,0,101,109,112,116,121,115,101,116,0,0,0,0,0,0,0,0,105,110,116,101,114,115,101,99,116,105,111,110,0,0,0,0,117,110,105,111,110,0,0,0,112,114,111,112,101,114,115,117,112,101,114,115,101,116,0,0,114,101,102,108,101,120,115,117,112,101,114,115,101,116,0,0,110,111,116,115,117,98,115,101,116,0,0,0,0,0,0,0,112,114,111,112,101,114,115,117,98,115,101,116,0,0,0,0,114,101,102,108,101,120,115,117,98,115,101,116,0,0,0,0,101,108,101,109,101,110,116,0,110,111,116,101,108,101,109,101,110,116,0,0,0,0,0,0,97,110,103,108,101,0,0,0,103,114,97,100,105,101,110,116,0,0,0,0,0,0,0,0,114,101,103,105,115,116,101,114,115,101,114,105,102,0,0,0,99,111,112,121,114,105,103,104,116,115,101,114,105,102,0,0,116,114,97,100,101,109,97,114,107,115,101,114,105,102,0,0,100,111,116,109,97,116,104,0,108,111,103,105,99,97,108,97,110,100,0,0,0,0,0,0,108,111,103,105,99,97,108,111,114,0,0,0,0,0,0,0,97,114,114,111,119,100,98,108,98,111,116,104,0,0,0,0,97,114,114,111,119,100,98,108,108,101,102,116,0,0,0,0,97,114,114,111,119,100,98,108,117,112,0,0,0,0,0,0,97,114,114,111,119,100,98,108,114,105,103,104,116,0,0,0,97,114,114,111,119,100,98,108,100,111,119,110,0,0,0,0,97,110,103,108,101,108,101,102,116,0,0,0,0,0,0,0,114,101,103,105,115,116,101,114,115,97,110,115,0,0,0,0,99,111,112,121,114,105,103,104,116,115,97,110,115,0,0,0,116,114,97,100,101,109,97,114,107,115,97,110,115,0,0,0,112,97,114,101,110,108,101,102,116,116,112,0,0,0,0,0,112,97,114,101,110,108,101,102,116,101,120,0,0,0,0,0,112,97,114,101,110,108,101,102,116,98,116,0,0,0,0,0,98,114,97,99,107,101,116,108,101,102,116,116,112,0,0,0,98,114,97,99,107,101,116,108,101,102,116,101,120,0,0,0,98,114,97,99,107,101,116,108,101,102,116,98,116,0,0,0,98,114,97,99,101,108,101,102,116,116,112,0,0,0,0,0,98,114,97,99,101,108,101,102,116,109,105,100,0,0,0,0,98,114,97,99,101,108,101,102,116,98,116,0,0,0,0,0,98,114,97,99,101,101,120,0,97,110,103,108,101,114,105,103,104,116,0,0,0,0,0,0,105,110,116,101,103,114,97,108,116,112,0,0,0,0,0,0,105,110,116,101,103,114,97,108,101,120,0,0,0,0,0,0,105,110,116,101,103,114,97,108,98,116,0,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,116,112,0,0,0,0,112,97,114,101,110,114,105,103,104,116,101,120,0,0,0,0,112,97,114,101,110,114,105,103,104,116,98,116,0,0,0,0,98,114,97,99,107,101,116,114,105,103,104,116,116,112,0,0,98,114,97,99,107,101,116,114,105,103,104,116,101,120,0,0,98,114,97,99,107,101,116,114,105,103,104,116,98,116,0,0,98,114,97,99,101,114,105,103,104,116,116,112,0,0,0,0,98,114,97,99,101,114,105,103,104,116,109,105,100,0,0,0,98,114,97,99,101,114,105,103,104,116,98,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,5,2,0,152,5,2,0,176,40,2,0,176,5,2,0,192,40,2,0,200,5,2,0,208,5,2,0,208,40,2,0,240,5,2,0,0,6,2,0,224,40,2,0,32,6,2,0,40,6,2,0,240,40,2,0,56,6,2,0,64,6,2,0,72,6,2,0,80,6,2,0,88,6,2,0,96,6,2,0,104,6,2,0,112,6,2,0,120,6,2,0,128,6,2,0,136,6,2,0,144,6,2,0,152,6,2,0,160,6,2,0,176,6,2,0,184,6,2,0,192,6,2,0,200,6,2,0,248,40,2,0,8,41,2,0,16,41,2,0,24,41,2,0,96,12,2,0,32,41,2,0,40,41,2,0,48,41,2,0,56,41,2,0,64,41,2], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+133128);
/* memory initializer */ allocate([72,41,2,0,80,41,2,0,88,41,2,0,96,41,2,0,104,41,2,0,112,41,2,0,120,41,2,0,128,41,2,0,136,41,2,0,144,41,2,0,152,41,2,0,160,41,2,0,168,41,2,0,248,11,2,0,176,41,2,0,184,41,2,0,192,41,2,0,176,7,2,0,200,41,2,0,208,7,2,0,216,41,2,0,240,7,2,0,232,41,2,0,248,41,2,0,0,42,2,0,8,42,2,0,16,42,2,0,24,42,2,0,32,42,2,0,40,42,2,0,48,42,2,0,56,42,2,0,64,42,2,0,72,42,2,0,80,42,2,0,144,11,2,0,88,42,2,0,96,42,2,0,192,11,2,0,104,42,2,0,112,42,2,0,120,42,2,0,128,42,2,0,136,42,2,0,144,42,2,0,152,42,2,0,160,42,2,0,168,42,2,0,176,42,2,0,216,8,2,0,232,8,2,0,240,8,2,0,184,42,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,42,2,0,208,42,2,0,104,11,2,0,64,13,2,0,72,11,2,0,72,12,2,0,216,42,2,0,224,42,2,0,232,42,2,0,240,42,2,0,248,42,2,0,8,43,2,0,24,43,2,0,32,43,2,0,48,43,2,0,144,10,2,0,88,11,2,0,64,43,2,0,120,11,2,0,104,32,2,0,72,43,2,0,152,11,2,0,184,10,2,0,16,13,2,0,40,11,2,0,88,43,2,0,80,12,2,0,136,12,2,0,104,43,2,0,120,43,2,0,136,43,2,0,152,43,2,0,160,43,2,0,176,43,2,0,192,43,2,0,208,43,2,0,224,43,2,0,240,43,2,0,0,44,2,0,16,44,2,0,24,44,2,0,40,44,2,0,56,44,2,0,72,44,2,0,88,44,2,0,104,44,2,0,112,44,2,0,128,44,2,0,136,44,2,0,152,44,2,0,168,44,2,0,184,44,2,0,184,11,2,0,64,12,2,0,200,44,2,0,48,12,2,0,208,44,2,0,224,44,2,0,240,44,2,0,0,45,2,0,16,45,2,0,32,45,2,0,48,45,2,0,24,13,2,0,64,45,2,0,80,45,2,0,96,45,2,0,112,45,2,0,168,11,2,0,128,45,2,0,144,45,2,0,160,45,2,0,176,45,2,0,192,45,2,0,208,45,2,0,224,45,2,0,240,45,2,0,0,46,2,0,16,46,2,0,0,0,0,0,24,46,2,0,200,11,2,0,40,46,2,0,56,46,2,0,72,46,2,0,88,46,2,0,104,46,2,0,120,46,2,0,136,46,2,0,152,46,2,0,168,46,2,0,184,46,2,0,200,46,2,0,216,46,2,0,0,0,0,0,97,49,0,0,0,0,0,0,97,50,0,0,0,0,0,0,97,50,48,50,0,0,0,0,97,51,0,0,0,0,0,0,97,52,0,0,0,0,0,0,97,53,0,0,0,0,0,0,97,49,49,57,0,0,0,0,97,49,49,56,0,0,0,0,97,49,49,55,0,0,0,0,97,49,49,0,0,0,0,0,97,49,50,0,0,0,0,0,97,49,51,0,0,0,0,0,97,49,52,0,0,0,0,0,97,49,53,0,0,0,0,0,97,49,54,0,0,0,0,0,97,49,48,53,0,0,0,0,97,49,55,0,0,0,0,0,97,49,56,0,0,0,0,0,97,49,57,0,0,0,0,0,97,50,48,0,0,0,0,0,97,50,49,0,0,0,0,0,97,50,50,0,0,0,0,0,97,50,51,0,0,0,0,0,97,50,52,0,0,0,0,0,97,50,53,0,0,0,0,0,97,50,54,0,0,0,0,0,97,50,55,0,0,0,0,0,97,50,56,0,0,0,0,0,97,54,0,0,0,0,0,0,97,55,0,0,0,0,0,0,97,56,0,0,0,0,0,0,97,57,0,0,0,0,0,0,97,49,48,0,0,0,0,0,97,50,57,0,0,0,0,0,97,51,48,0,0,0,0,0,97,51,49,0,0,0,0,0,97,51,50,0,0,0,0,0,97,51,51,0,0,0,0,0,97,51,52,0,0,0,0,0,97,51,53,0,0,0,0,0,97,51,54,0,0,0,0,0,97,51,55,0,0,0,0,0,97,51,56,0,0,0,0,0,97,51,57,0,0,0,0,0,97,52,48,0,0,0,0,0,97,52,49,0,0,0,0,0,97,52,50,0,0,0,0,0,97,52,51,0,0,0,0,0,97,52,52,0,0,0,0,0,97,52,53,0,0,0,0,0,97,52,54,0,0,0,0,0,97,52,55,0,0,0,0,0,97,52,56,0,0,0,0,0,97,52,57,0,0,0,0,0,97,53,48,0,0,0,0,0,97,53,49,0,0,0,0,0,97,53,50,0,0,0,0,0,97,53,51,0,0,0,0,0,97,53,52,0,0,0,0,0,97,53,53,0,0,0,0,0,97,53,54,0,0,0,0,0,97,53,55,0,0,0,0,0,97,53,56,0,0,0,0,0,97,53,57,0,0,0,0,0,97,54,48,0,0,0,0,0,97,54,49,0,0,0,0,0,97,54,50,0,0,0,0,0,97,54,51,0,0,0,0,0,97,54,52,0,0,0,0,0,97,54,53,0,0,0,0,0,97,54,54,0,0,0,0,0,97,54,55,0,0,0,0,0,97,54,56,0,0,0,0,0,97,54,57,0,0,0,0,0,97,55,48,0,0,0,0,0,97,55,49,0,0,0,0,0,97,55,50,0,0,0,0,0,97,55,51,0,0,0,0,0,97,55,52,0,0,0,0,0,97,50,48,51,0,0,0,0,97,55,53,0,0,0,0,0,97,50,48,52,0,0,0,0,97,55,54,0,0,0,0,0,97,55,55,0,0,0,0,0,97,55,56,0,0,0,0,0,97,55,57,0,0,0,0,0,97,56,49,0,0,0,0,0,97,56,50,0,0,0,0,0,97,56,51,0,0,0,0,0,97,56,52,0,0,0,0,0,97,57,55,0,0,0,0,0,97,57,56,0,0,0,0,0,97,57,57,0,0,0,0,0,97,49,48,48,0,0,0,0,97,49,48,49,0,0,0,0,97,49,48,50,0,0,0,0,97,49,48,51,0,0,0,0,97,49,48,52,0,0,0,0,97,49,48,54,0,0,0,0,97,49,48,55,0,0,0,0,97,49,48,56,0,0,0,0,97,49,49,50,0,0,0,0,97,49,49,49,0,0,0,0,97,49,49,48,0,0,0,0,97,49,48,57,0,0,0,0,97,49,50,48,0,0,0,0,97,49,50,49,0,0,0,0,97,49,50,50,0,0,0,0,97,49,50,51,0,0,0,0,97,49,50,52,0,0,0,0,97,49,50,53,0,0,0,0,97,49,50,54,0,0,0,0,97,49,50,55,0,0,0,0,97,49,50,56,0,0,0,0,97,49,50,57,0,0,0,0,97,49,51,48,0,0,0,0,97,49,51,49,0,0,0,0,97,49,51,50,0,0,0,0,97,49,51,51,0,0,0,0,97,49,51,52,0,0,0,0,97,49,51,53,0,0,0,0,97,49,51,54,0,0,0,0,97,49,51,55,0,0,0,0,97,49,51,56,0,0,0,0,97,49,51,57,0,0,0,0,97,49,52,48,0,0,0,0,97,49,52,49,0,0,0,0,97,49,52,50,0,0,0,0,97,49,52,51,0,0,0,0,97,49,52,52,0,0,0,0,97,49,52,53,0,0,0,0,97,49,52,54,0,0,0,0,97,49,52,55,0,0,0,0,97,49,52,56,0,0,0,0,97,49,52,57,0,0,0,0,97,49,53,48,0,0,0,0,97,49,53,49,0,0,0,0,97,49,53,50,0,0,0,0,97,49,53,51,0,0,0,0,97,49,53,52,0,0,0,0,97,49,53,53,0,0,0,0,97,49,53,54,0,0,0,0,97,49,53,55,0,0,0,0,97,49,53,56,0,0,0,0,97,49,53,57,0,0,0,0,97,49,54,48,0,0,0,0,97,49,54,49,0,0,0,0,97,49,54,51,0,0,0,0,97,49,54,52,0,0,0,0,97,49,57,54,0,0,0,0,97,49,54,53,0,0,0,0,97,49,57,50,0,0,0,0,97,49,54,54,0,0,0,0,97,49,54,55,0,0,0,0,97,49,54,56,0,0,0,0,97,49,54,57,0,0,0,0,97,49,55,48,0,0,0,0,97,49,55,49,0,0,0,0,97,49,55,50,0,0,0,0,97,49,55,51,0,0,0,0,97,49,54,50,0,0,0,0,97,49,55,52,0,0,0,0,97,49,55,53,0,0,0,0,97,49,55,54,0,0,0,0,97,49,55,55,0,0,0,0,97,49,55,56,0,0,0,0,97,49,55,57,0,0,0,0,97,49,57,51,0,0,0,0,97,49,56,48,0,0,0,0,97,49,57,57,0,0,0,0,97,49,56,49,0,0,0,0,97,50,48,48,0,0,0,0,97,49,56,50,0,0,0,0,97,50,48,49,0,0,0,0,97,49,56,51,0,0,0,0,97,49,56,52,0,0,0,0,97,49,57,55,0,0,0,0,97,49,56,53,0,0,0,0,97,49,57,52,0,0,0,0,97,49,57,56,0,0,0,0,97,49,56,54,0,0,0,0,97,49,57,53,0,0,0,0,97,49,56,55,0,0,0,0,97,49,56,56,0,0,0,0,97,49,56,57,0,0,0,0,97,49,57,48,0,0,0,0,97,49,57,49,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,5,2,0,232,50,2,0,240,50,2,0,248,50,2,0,0,51,2,0,8,51,2,0,16,51,2,0,24,51,2,0,32,51,2,0,40,51,2,0,48,51,2,0,56,51,2,0,64,51,2,0,72,51,2,0,80,51,2,0,88,51,2,0,96,51,2,0,104,51,2,0,112,51,2,0,120,51,2,0,128,51,2,0,136,51,2,0,144,51,2,0,152,51,2,0,160,51,2,0,168,51,2,0,176,51,2,0,184,51,2,0,192,51,2,0,200,51,2,0,208,51,2,0,216,51,2,0,224,51,2,0,232,51,2,0,240,51,2,0,248,51,2,0,0,52,2,0,8,52,2,0,16,52,2,0,24,52,2,0,32,52,2,0,40,52,2,0,48,52,2,0,56,52,2,0,64,52,2,0,72,52,2,0,80,52,2,0,88,52,2,0,96,52,2,0,104,52,2,0,112,52,2,0,120,52,2,0,128,52,2,0,136,52,2,0,144,52,2,0,152,52,2,0,160,52,2,0,168,52,2,0,176,52,2,0,184,52,2,0,192,52,2,0,200,52,2,0,208,52,2,0,216,52,2,0,224,52,2,0,232,52,2,0,240,52,2,0,248,52,2,0,0,53,2,0,8,53,2,0,16,53,2,0,24,53,2,0,32,53,2,0,40,53,2,0,48,53,2,0,56,53,2,0,64,53,2,0,72,53,2,0,80,53,2,0,88,53,2,0,96,53,2,0,104,53,2,0,112,53,2,0,120,53,2,0,128,53,2,0,136,53,2,0,144,53,2,0,152,53,2,0,160,53,2,0,168,53,2,0,176,53,2,0,184,53,2,0,192,53,2,0,200,53,2,0,208,53,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,53,2,0,224,53,2,0,232,53,2,0,240,53,2,0,248,53,2,0,0,54,2,0,8,54,2,0,16,54,2,0,24,54,2,0,32,54,2,0,40,54,2,0,48,54,2,0,56,54,2,0,64,54,2,0,72,54,2,0,80,54,2,0,88,54,2,0,96,54,2,0,104,54,2,0,112,54,2,0,120,54,2,0,128,54,2,0,136,54,2,0,144,54,2,0,152,54,2,0,160,54,2,0,168,54,2,0,176,54,2,0,184,54,2,0,192,54,2,0,200,54,2,0,208,54,2,0,216,54,2,0,224,54,2,0,232,54,2,0,240,54,2,0,248,54,2,0,0,55,2,0,8,55,2,0,16,55,2,0,24,55,2,0,32,55,2,0,40,55,2,0,48,55,2,0,56,55,2,0,64,55,2,0,72,55,2,0,80,55,2,0,88,55,2,0,96,55,2,0,104,55,2,0,112,55,2,0,120,55,2,0,128,55,2,0,136,55,2,0,144,55,2,0,152,55,2,0,160,55,2,0,168,55,2,0,176,55,2,0,184,55,2,0,192,55,2,0,200,55,2,0,208,55,2,0,216,55,2,0,224,55,2,0,232,55,2,0,240,55,2,0,248,55,2,0,0,56,2,0,8,56,2,0,16,56,2,0,24,56,2,0,32,56,2,0,40,56,2,0,48,56,2,0,56,56,2,0,64,56,2,0,72,56,2,0,0,0,0,0,80,56,2,0,88,56,2,0,96,56,2,0,104,56,2,0,112,56,2,0,120,56,2,0,128,56,2,0,136,56,2,0,144,56,2,0,152,56,2,0,160,56,2,0,168,56,2,0,176,56,2,0,184,56,2,0,0,0,0,0,0,0,0,0,200,65,2,0,137,0,0,0,138,0,0,0,139,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,84,77,0,0,0,0,0,0,82,101,99,116,0,0,0,0,65,110,110,111,116,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,32,105,115,32,119,114,111,110,103,32,116,121,112,101,0,0,0,0,0,0,66,97,100,32,97,110,110,111,116,97,116,105,111,110,32,114,101,99,116,97,110,103,108,101,0,0,0,0,0,0,0,0,70,84,0,0,0,0,0,0,80,97,114,101,110,116,0,0,0,0,0,0,232,65,2,0,140,0,0,0,141,0,0,0,142,0,0,0,0,0,0,0,79,102,102,0,0,0,0,0,86,0,0,0,0,0,0,0,65,83,0,0,0,0,0,0,65,80,0,0,0,0,0,0,76,101,110,103,116,104,0,0,68,0,0,0,0,0,0,0,70,111,114,109,87,105,100,103,101,116,66,117,116,116,111,110,58,58,32,117,110,97,98,108,101,32,116,111,32,102,105,110,100,32,116,104,101,32,111,110,32,115,116,97,116,101,32,102,111,114,32,116,104,101,32,98,117,116,116,111,110,10,0,0,0,0,0,0,0,0,0,0,70,111,114,109,87,105,100,103,101,116,66,117,116,116,111,110,58,58,32,109,117,108,116,105,112,108,101,32,99,104,111,105,99,101,32,105,115,110,39,116,32,115,117,112,112,111,114,116,101,100,32,121,101,116,10,0,0,0,0,0,16,66,2,0,143,0,0,0,144,0,0,0,145,0,0,0,0,0,0,0,0,0,0,0,56,66,2,0,137,0,0,0,146,0,0,0,147,0,0,0,0,0,0,0,79,112,116,0,0,0,0,0,70,111,114,109,87,105,100,103,101,116,67,104,111,105,99,101,58,58,32,105,110,118,97,108,105,100,32,79,112,116,32,101,110,116,114,121,32,45,45,32,97,114,114,97,121,39,115,32,108,101,110,103,116,104,32,60,32,50,10,0,0,0,0,0,70,111,114,109,87,105,100,103,101,116,67,104,111,105,99,101,58,58,32,105,110,118,97,108,105,100,32,37,100,32,79,112,116,32,101,110,116,114,121,10,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,148,0,0,0,149,0,0,0,139,0,0,0,0,0,0,0,0,0,0,0,176,65,2,0,150,0,0,0,151,0,0,0,152,0,0,0,0,0,0,0,75,105,100,115,0,0,0,0,82,101,102,101,114,101,110,99,101,32,116,111,32,97,110,32,105,110,118,97,108,105,100,32,111,114,32,110,111,110,32,101,120,105,115,116,97,110,116,32,111,98,106,101,99,116,0,0,83,117,98,116,121,112,101,0,70,105,101,108,100,32,99,97,110,39,116,32,104,97,118,101,32,98,111,116,104,32,87,105,100,103,101,116,32,65,78,68,32,70,105,101,108,100,32,97,115,32,107,105,100,115,10,0,70,111,117,110,100,32,108,111,111,112,32,105,110,32,70,111,114,109,70,105,101,108,100,32,99,114,101,97,116,105,111,110,0,0,0,0,0,0,0,0,70,111,114,109,70,105,101,108,100,32,99,104,105,108,100,32,105,115,32,110,111,116,32,97,32,82,101,102,32,97,115,32,101,120,112,101,99,116,101,100,0,0,0,0,0,0,0,0,70,102,0,0,0,0,0,0,83,117,98,84,121,112,101,32,111,110,32,110,111,110,45,116,101,114,109,105,110,97,108,32,102,105,101,108,100,44,32,105,110,118,97,108,105,100,32,100,111,99,117,109,101,110,116,63,0,0,0,0,0,0,0,0,0,0,0,0,96,66,2,0,150,0,0,0,153,0,0,0,154,0,0,0,0,0,0,0,70,111,114,109,70,105,101,108,100,66,117,116,116,111,110,58,58,32,114,97,100,105,111,115,73,110,85,110,105,115,111,110,32,102,108,97,103,32,117,110,105,109,112,108,101,109,101,110,116,101,100,44,32,112,108,101,97,115,101,32,114,101,112,111,114,116,32,97,32,98,117,103,32,119,105,116,104,32,97,32,116,101,115,116,99,97,115,101,10,0,0,0,0,0,0,0,70,111,114,109,70,105,101,108,100,66,117,116,116,111,110,58,58,115,101,116,83,116,97,116,101,32,99,97,108,108,101,100,32,111,110,32,97,32,114,101,97,100,79,110,108,121,32,102,105,101,108,100,10,0,0,0,0,0,0,0,128,66,2,0,155,0,0,0,156,0,0,0,152,0,0,0,0,0,0,0,77,97,120,76,101,110,0,0,0,0,0,0,168,66,2,0,157,0,0,0,158,0,0,0,152,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,150,0,0,0,159,0,0,0,152,0,0,0,0,0,0,0,78,101,101,100,65,112,112,101,97,114,97,110,99,101,115,0,70,105,101,108,100,115,0,0,68,105,114,101,99,116,32,111,98,106,101,99,116,32,105,110,32,114,111,111,116,70,105,101,108,100,115,0,0,0,0,0,82,101,102,101,114,101,110,99,101,32,105,110,32,70,105,101,108,100,115,32,97,114,114,97,121,32,116,111,32,97,110,32,105,110,118,97,108,105,100,32,111,114,32,110,111,110,32,101,120,105,115,116,97,110,116,32,111,98,106,101,99,116,0,0,67,97,110,39,116,32,103,101,116,32,70,105,101,108,100,115,32,97,114,114,97,121,10,0,66,116,110,0,0,0,0,0,84,120,0,0,0,0,0,0,67,104,0,0,0,0,0,0,83,105,103,0,0,0,0,0,57,70,111,114,109,70,105,101,108,100,0,0,0,0,0,0,88,113,4,0,160,65,2,0,49,48,70,111,114,109,87,105,100,103,101,116,0,0,0,0,88,113,4,0,184,65,2,0,49,54,70,111,114,109,87,105,100,103,101,116,66,117,116,116,111,110,0,0,0,0,0,0,128,113,4,0,208,65,2,0,200,65,2,0,0,0,0,0,49,52,70,111,114,109,87,105,100,103,101,116,84,101,120,116,0,0,0,0,0,0,0,0,128,113,4,0,248,65,2,0,200,65,2,0,0,0,0,0,49,54,70,111,114,109,87,105,100,103,101,116,67,104,111,105,99,101,0,0,0,0,0,0,128,113,4,0,32,66,2,0,200,65,2,0,0,0,0,0,49,53,70,111,114,109,70,105,101,108,100,66,117,116,116,111,110,0,0,0,0,0,0,0,128,113,4,0,72,66,2,0,176,65,2,0,0,0,0,0,49,51,70,111,114,109,70,105,101,108,100,84,101,120,116,0,128,113,4,0,112,66,2,0,176,65,2,0,0,0,0,0,49,53,70,111,114,109,70,105,101,108,100,67,104,111,105,99,101,0,0,0,0,0,0,0,128,113,4,0,144,66,2,0,176,65,2,0,0,0,0,0,49,56,70,111,114,109,70,105,101,108,100,83,105,103,110,97,116,117,114,101,0,0,0,0,128,113,4,0,184,66,2,0,176,65,2,0,0,0,0,0,49,57,70,111,114,109,87,105,100,103,101,116,83,105,103,110,97,116,117,114,101,0,0,0,128,113,4,0,224,66,2,0,200,65,2,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,32,111,114,32,37,100,0,0,0,0,0,34,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,39,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,0,0,0,0,0,0,66,42,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,66,68,67,0,2,0,0,0,4,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,66,73,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,66,77,67,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,0,0,0,0,66,84,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,66,88,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,0,0,0,67,83,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,0,0,0,0,68,80,0,0,2,0,0,0,4,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,68,111,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,69,73,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,0,69,77,67,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,0,0,0,0,69,84,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,0,0,0,0,69,88,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,71,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,73,68,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,74,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,0,0,0,0,0,0,0,75,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,77,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,0,0,0,0,0,0,0,77,80,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,0,0,0,0,0,0,0,81,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,0,0,0,0,0,0,0,82,71,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,53,0,0,0,0,0,0,0,83,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,0,0,0,0,0,0,0,83,67,0,0,252,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,0,0,0,0,0,0,0,83,67,78,0,223,255,255,255,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,56,0,0,0,0,0,0,0,84,42,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,84,68,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,0,0,0,0,0,0,0,84,74,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,0,0,0,0,0,0,0,84,76,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0,0,0,0,0,0,84,99,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,0,0,0,0,0,0,84,100,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,84,102,0,0,2,0,0,0,4,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,84,106,0,0,1,0,0,0,3], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+143368);
/* memory initializer */ allocate([64,0,0,0,0,0,0,0,84,109,0,0,6,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,0,0,0,0,84,114,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,84,115,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,84,119,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,0,0,0,0,84,122,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,87,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0,87,42,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,98,42,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,99,0,0,0,6,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,0,0,0,0,99,109,0,0,6,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,75,0,0,0,0,0,0,0,99,115,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,100,0,0,0,2,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,100,48,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,100,49,0,0,6,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,79,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,102,42,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,0,0,0,0,0,0,0,103,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,0,0,0,0,0,0,0,103,115,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0,0,0,0,0,0,104,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,0,0,0,0,105,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,106,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,107,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,0,0,0,0,0,0,0,108,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,87,0,0,0,0,0,0,0,109,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,110,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,0,0,0,0,0,0,0,113,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,0,0,0,0,114,101,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,0,0,0,0,0,0,0,114,103,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,92,0,0,0,0,0,0,0,114,105,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,0,0,0,0,0,115,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,115,99,0,0,252,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,0,0,0,0,0,0,0,115,99,110,0,223,255,255,255,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,96,0,0,0,0,0,0,0,115,104,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,118,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,119,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,121,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,70,111,110,116,0,0,0,0,88,79,98,106,101,99,116,0,67,111,108,111,114,83,112,97,99,101,0,0,0,0,0,0,80,97,116,116,101,114,110,0,83,104,97,100,105,110,103,0,69,120,116,71,83,116,97,116,101,0,0,0,0,0,0,0,80,114,111,112,101,114,116,105,101,115,0,0,0,0,0,0,85,110,107,110,111,119,110,32,102,111,110,116,32,116,97,103,32,39,37,115,39,0,0,0,88,79,98,106,101,99,116,32,39,37,115,39,32,105,115,32,117,110,107,110,111,119,110,0,77,97,114,107,101,100,32,67,111,110,116,101,110,116,32,39,37,115,39,32,105,115,32,117,110,107,110,111,119,110,0,0,85,110,107,110,111,119,110,32,112,97,116,116,101,114,110,32,39,37,115,39,0,0,0,0,85,110,107,110,111,119,110,32,115,104,97,100,105,110,103,32,39,37,115,39,0,0,0,0,69,120,116,71,83,116,97,116,101,32,39,37,115,39,32,105,115,32,117,110,107,110,111,119,110,0,0,0,0,0,0,0,70,111,117,110,100,32,115,116,97,116,101,32,117,110,100,101,114,32,108,97,115,116,32,115,116,97,116,101,32,103,117,97,114,100,46,32,80,111,112,112,105,110,103,46,0,0,0,0,87,101,105,114,100,32,112,97,103,101,32,99,111,110,116,101,110,116,115,0,0,0,0,0,84,111,111,32,109,97,110,121,32,97,114,103,115,32,105,110,32,99,111,110,116,101,110,116,32,115,116,114,101,97,109,0,116,104,114,111,119,105,110,103,32,97,119,97,121,32,97,114,103,58,32,0,0,0,0,0,76,101,102,116,111,118,101,114,32,97,114,103,115,32,105,110,32,99,111,110,116,101,110,116,32,115,116,114,101,97,109,0,37,100,32,108,101,102,116,111,118,101,114,115,58,0,0,0,85,110,107,110,111,119,110,32,111,112,101,114,97,116,111,114,32,39,37,115,39,0,0,0,84,111,111,32,102,101,119,32,40,37,100,41,32,97,114,103,115,32,116,111,32,39,37,115,39,32,111,112,101,114,97,116,111,114,0,0,0,0,0,0,84,111,111,32,109,97,110,121,32,40,37,100,41,32,97,114,103,115,32,116,111,32,39,37,115,39,32,111,112,101,114,97,116,111,114,0,0,0,0,0,65,114,103,32,35,37,100,32,116,111,32,39,37,115,39,32,111,112,101,114,97,116,111,114,32,105,115,32,119,114,111,110,103,32,116,121,112,101,32,40,37,115,41,0,0,0,0,0,69,120,116,71,83,116,97,116,101,32,39,37,115,39,32,105,115,32,119,114,111,110,103,32,116,121,112,101,0,0,0,0,32,32,103,102,120,32,115,116,97,116,101,32,100,105,99,116,58,32,0,0,0,0,0,0,66,77,0,0,0,0,0,0,73,110,118,97,108,105,100,32,98,108,101,110,100,32,109,111,100,101,32,105,110,32,69,120,116,71,83,116,97,116,101,0,99,97,0,0,0,0,0,0,67,65,0,0,0,0,0,0,111,112,0,0,0,0,0,0,79,80,0,0,0,0,0,0,83,65,0,0,0,0,0,0,84,82,50,0,0,0,0,0,84,82,0,0,0,0,0,0,68,101,102,97,117,108,116,0,73,100,101,110,116,105,116,121,0,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,116,114,97,110,115,102,101,114,32,102,117,110,99,116,105,111,110,32,105,110,32,69,120,116,71,83,116,97,116,101,0,0,65,73,83,0,0,0,0,0,84,75,0,0,0,0,0,0,83,77,97,115,107,0,0,0,78,111,110,101,0,0,0,0,83,0,0,0,0,0,0,0,65,108,112,104,97,0,0,0,73,110,118,97,108,105,100,32,116,114,97,110,115,102,101,114,32,102,117,110,99,116,105,111,110,32,105,110,32,115,111,102,116,32,109,97,115,107,32,105,110,32,69,120,116,71,83,116,97,116,101,0,0,0,0,0,66,67,0,0,0,0,0,0,71,0,0,0,0,0,0,0,71,114,111,117,112,0,0,0,67,83,0,0,0,0,0,0,73,0,0,0,0,0,0,0,75,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,115,111,102,116,32,109,97,115,107,32,105,110,32,69,120,116,71,83,116,97,116,101,32,45,32,109,105,115,115,105,110,103,32,103,114,111,117,112,0,0,73,110,118,97,108,105,100,32,115,111,102,116,32,109,97,115,107,32,105,110,32,69,120,116,71,83,116,97,116,101,0,0,78,117,109,98,101,114,32,111,102,32,97,114,103,115,32,109,105,115,109,97,116,99,104,32,102,111,114,32,47,70,111,110,116,32,105,110,32,69,120,116,71,83,116,97,116,101,0,0,76,87,0,0,0,0,0,0,76,67,0,0,0,0,0,0,76,74,0,0,0,0,0,0,77,76,0,0,0,0,0,0,68,0,0,0,0,0,0,0,78,117,109,98,101,114,32,111,102,32,97,114,103,115,32,109,105,115,109,97,116,99,104,32,102,111,114,32,47,68,32,105,110,32,69,120,116,71,83,116,97,116,101,0,0,0,0,0,82,73,0,0,0,0,0,0,70,76,0,0,0,0,0,0,70,111,114,109,84,121,112,101,0,0,0,0,0,0,0,0,85,110,107,110,111,119,110,32,102,111,114,109,32,116,121,112,101,0,0,0,0,0,0,0,66,66,111,120,0,0,0,0,66,97,100,32,102,111,114,109,32,98,111,117,110,100,105,110,103,32,98,111,120,0,0,0,66,97,100,32,102,111,114,109,32,98,111,117,110,100,105,110,103,32,98,111,120,32,40,110,111,110,32,110,117,109,98,101,114,41,0,0,0,0,0,0,77,97,116,114,105,120,0,0,82,101,115,111,117,114,99,101,115,0,0,0,0,0,0,0,66,97,100,32,99,111,108,111,114,32,115,112,97,99,101,32,40,102,105,108,108,41,0,0,66,97,100,32,99,111,108,111,114,32,115,112,97,99,101,32,40,115,116,114,111,107,101,41,0,0,0,0,0,0,0,0,73,110,99,111,114,114,101,99,116,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,105,110,32,39,115,99,39,32,99,111,109,109,97,110,100,0,0,0,73,110,99,111,114,114,101,99,116,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,105,110,32,39,83,67,39,32,99,111,109,109,97,110,100,0,0,0,73,110,99,111,114,114,101,99,116,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,105,110,32,39,115,99,110,39,32,99,111,109,109,97,110,100,0,0,73,110,99,111,114,114,101,99,116,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,105,110,32,39,83,67,78,39,32,99,111,109,109,97,110,100,0,0,78,111,32,99,117,114,114,101,110,116,32,112,111,105,110,116,32,105,110,32,108,105,110,101,116,111,0,0,0,0,0,0,78,111,32,99,117,114,114,101,110,116,32,112,111,105,110,116,32,105,110,32,99,117,114,118,101,116,111,0,0,0,0,0,78,111,32,99,117,114,114,101,110,116,32,112,111,105,110,116,32,105,110,32,99,117,114,118,101,116,111,49,0,0,0,0,78,111,32,99,117,114,114,101,110,116,32,112,111,105,110,116,32,105,110,32,99,117,114,118,101,116,111,50,0,0,0,0,78,111,32,99,117,114,114,101,110,116,32,112,111,105,110,116,32,105,110,32,99,108,111,115,101,112,97,116,104,0,0,0,85,110,105,109,112,108,101,109,101,110,116,101,100,32,112,97,116,116,101,114,110,32,116,121,112,101,32,40,37,100,41,32,105,110,32,102,105,108,108,0,85,110,105,109,112,108,101,109,101,110,116,101,100,32,112,97,116,116,101,114,110,32,116,121,112,101,32,40,37,100,41,32,105,110,32,115,116,114,111,107,101,0,0,0,0,0,0,0,33,112,97,116,104,45,62,105,115,69,110,100,40,41,0,0,71,102,120,46,99,99,0,0,103,111,117,114,97,117,100,70,105,108,108,84,114,105,97,110,103,108,101,0,0,0,0,0,112,97,116,104,45,62,105,115,69,110,100,40,41,0,0,0,32,32,102,111,110,116,58,32,116,97,103,61,37,115,32,110,97,109,101,61,39,37,115,39,32,37,103,10,0,0,0,0,63,63,63,0,0,0,0,0,78,111,32,102,111,110,116,32,105,110,32,115,104,111,119,0,78,111,32,102,111,110,116,32,105,110,32,109,111,118,101,47,115,104,111,119,0,0,0,0,78,111,32,102,111,110,116,32,105,110,32,109,111,118,101,47,115,101,116,47,115,104,111,119,0,0,0,0,0,0,0,0,78,111,32,102,111,110,116,32,105,110,32,115,104,111,119,47,115,112,97,99,101,0,0,0,69,108,101,109,101,110,116,32,111,102,32,115,104,111,119,47,115,112,97,99,101,32,97,114,114,97,121,32,109,117,115,116,32,98,101,32,110,117,109,98,101,114,32,111,114,32,115,116,114,105,110,103,0,0,0,0,77,105,115,115,105,110,103,32,111,114,32,98,97,100,32,84,121,112,101,51,32,67,104,97,114,80,114,111,99,32,101,110,116,114,121,0,0,0,0,0,88,79,98,106,101,99,116,32,39,37,115,39,32,105,115,32,119,114,111,110,103,32,116,121,112,101,0,0,0,0,0,0,79,67,0,0,0,0,0,0,88,79,98,106,101,99,116,32,79,67,32,118,97,108,117,101,32,110,111,116,32,110,117,108,108,32,111,114,32,100,105,99,116,58,32,37,105,0,0,0,79,80,73,0,0,0,0,0,83,117,98,116,121,112,101,0,73,109,97,103,101,0,0,0,70,111,114,109,0,0,0,0,80,83,0,0,0,0,0,0,76,101,118,101,108,49,0,0,85,110,107,110,111,119,110,32,88,79,98,106,101,99,116,32,115,117,98,116,121,112,101,32,39,37,115,39,0,0,0,0,88,79,98,106,101,99,116,32,115,117,98,116,121,112,101,32,105,115,32,109,105,115,115,105,110,103,32,111,114,32,119,114,111,110,103,32,116,121,112,101,0,0,0,0,0,0,0,0,87,105,100,116,104,0,0,0,87,0,0,0,0,0,0,0,72,101,105,103,104,116,0,0,72,0,0,0,0,0,0,0,73,110,116,101,114,112,111,108,97,116,101,0,0,0,0,0,73,109,97,103,101,77,97,115,107,0,0,0,0,0,0,0,73,77,0,0,0,0,0,0,66,105,116,115,80,101,114,67,111,109,112,111,110,101,110,116,0,0,0,0,0,0,0,0,66,80,67,0,0,0,0,0,68,101,99,111,100,101,0,0,77,97,115,107,0,0,0,0,77,97,115,107,32,101,110,116,114,121,32,115,104,111,117,108,100,32,98,101,32,97,110,32,105,110,116,101,103,101,114,32,98,117,116,32,105,116,39,115,32,97,32,114,101,97,108,44,32,116,114,121,105,110,103,32,116,111,32,117,115,101,32,105,116,0,0,0,0,0,0,0,77,97,115,107,32,101,110,116,114,121,32,115,104,111,117,108,100,32,98,101,32,97,110,32,105,110,116,101,103,101,114,32,98,117,116,32,105,116,39,115,32,111,102,32,116,121,112,101,32,37,100,0,0,0,0,0,66,97,100,32,105,109,97,103,101,32,112,97,114,97,109,101,116,101,114,115,0,0,0,0,66,97,100,32,102,111,114,109,32,98,111,117,110,100,105,110,103,32,98,111,120,32,118,97,108,117,101,0,0,0,0,0,84,114,97,110,115,112,97,114,101,110,99,121,0,0,0,0,84,104,101,114,101,39,115,32,97,32,102,111,114,109,32,119,105,116,104,32,109,111,114,101,32,113,32,116,104,97,110,32,81,44,32,116,114,121,105,110,103,32,116,111,32,102,105,120,0,0,0,0,0,0,0,0,84,104,101,114,101,39,115,32,97,32,102,111,114,109,32,119,105,116,104,32,109,111,114,101,32,81,32,116,104,97,110,32,113,0,0,0,0,0,0,0,73,68,0,0,0,0,0,0,73,110,108,105,110,101,32,105,109,97,103,101,32,100,105,99,116,105,111,110,97,114,121,32,107,101,121,32,109,117,115,116,32,98,101,32,97,32,110,97,109,101,32,111,98,106,101,99,116,0,0,0,0,0,0,0,69,110,100,32,111,102,32,102,105,108,101,32,105,110,32,105,110,108,105,110,101,32,105,109,97,103,101,0,0,0,0,0,73,110,116,101,114,110,97,108,58,32,103,111,116,32,39,73,68,39,32,111,112,101,114,97,116,111,114,0,0,0,0,0,73,110,116,101,114,110,97,108,58,32,103,111,116,32,39,69,73,39,32,111,112,101,114,97,116,111,114,0,0,0,0,0,85,110,101,120,112,101,99,116,101,100,32,77,67,32,84,121,112,101,58,32,37,105,0,0,68,73,68,32,78,79,84,32,102,105,110,100,32,37,115,0,105,110,115,117,102,102,105,99,105,101,110,116,32,97,114,103,117,109,101,110,116,115,32,102,111,114,32,77,97,114,107,101,100,32,67,111,110,116,101,110,116,0,0,0,0,0,0,0,32,32,109,97,114,107,101,100,32,99,111,110,116,101,110,116,58,32,37,115,32,0,0,0,32,32,109,97,114,107,32,112,111,105,110,116,58,32,37,115,32,0,0,0,0,0,0,0,82,101,115,116,111,114,105,110,103,32,115,116,97,116,101,32,119,104,101,110,32,110,111,32,118,97,108,105,100,32,115,116,97,116,101,115,32,116,111,32,112,111,112,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,32,111,114,32,37,100,0,0,0,0,0,66,97,115,101,70,111,110,116,0,0,0,0,0,0,0,0,83,117,98,116,121,112,101,0,84,121,112,101,49,0,0,0,77,77,84,121,112,101,49,0,84,121,112,101,49,67,0,0,84,121,112,101,51,0,0,0,84,114,117,101,84,121,112,101,0,0,0,0,0,0,0,0,84,121,112,101,48,0,0,0,85,110,107,110,111,119,110,32,102,111,110,116,32,116,121,112,101,58,32,39,37,115,39,0,63,63,63,0,0,0,0,0,0,0,0,0,248,136,2,0,103,0,0,0,1,0,0,0,104,0,0,0,1,0,0,0,160,0,0,0,161,0,0,0,70,111,110,116,68,101,115,99,114,105,112,116,111,114,0,0,70,108,97,103,115,0,0,0,70,111,110,116,78,97,109,101,0,0,0,0,0,0,0,0,70,111,110,116,110,97,109,101,0,0,0,0,0,0,0,0,84,104,101,32,102,105,108,101,32,117,115,101,115,32,70,111,110,116,110,97,109,101,32,105,110,115,116,101,97,100,32,111,102,32,70,111,110,116,78,97,109,101,32,112,108,101,97,115,101,32,110,111,116,105,102,121,32,116,104,101,32,99,114,101,97,116,111,114,32,116,104,97,116,32,116,104,101,32,102,105,108,101,32,105,115,32,98,114,111,107,101,110,0,0,0,0,70,111,110,116,70,97,109,105,108,121,0,0,0,0,0,0,70,111,110,116,83,116,114,101,116,99,104,0,0,0,0,0,85,108,116,114,97,67,111,110,100,101,110,115,101,100,0,0,69,120,116,114,97,67,111,110,100,101,110,115,101,100,0,0,67,111,110,100,101,110,115,101,100,0,0,0,0,0,0,0,83,101,109,105,67,111,110,100,101,110,115,101,100,0,0,0,78,111,114,109,97,108,0,0,83,101,109,105,69,120,112,97,110,100,101,100,0,0,0,0,69,120,112,97,110,100,101,100,0,0,0,0,0,0,0,0,69,120,116,114,97,69,120,112,97,110,100,101,100,0,0,0,85,108,116,114,97,69,120,112,97,110,100,101,100,0,0,0,73,110,118,97,108,105,100,32,70,111,110,116,32,83,116,114,101,116,99,104,0,0,0,0,70,111,110,116,87,101,105,103,104,116,0,0,0,0,0,0,73,110,118,97,108,105,100,32,70,111,110,116,32,87,101,105,103,104,116,0,0,0,0,0,70,111,110,116,70,105,108,101,0,0,0,0,0,0,0,0,77,105,115,109,97,116,99,104,32,98,101,116,119,101,101,110,32,102,111,110,116,32,116,121,112,101,32,97,110,100,32,101,109,98,101,100,100,101,100,32,102,111,110,116,32,102,105,108,101,0,0,0,0,0,0,0,67,73,68,32,102,111,110,116,32,104,97,115,32,70,111,110,116,70,105,108,101,32,97,116,116,114,105,98,117,116,101,59,32,97,115,115,117,109,105,110,103,32,67,73,68,84,121,112,101,48,0,0,0,0,0,0,70,111,110,116,70,105,108,101,50,0,0,0,0,0,0,0,70,111,110,116,70,105,108,101,51,0,0,0,0,0,0,0,69,109,98,101,100,100,101,100,32,67,73,68,32,102,111,110,116,32,104,97,115,32,116,121,112,101,32,84,121,112,101,49,59,32,97,115,115,117,109,105,110,103,32,67,73,68,84,121,112,101,48,0,0,0,0,0,69,109,98,101,100,100,101,100,32,67,73,68,32,102,111,110,116,32,104,97,115,32,116,121,112,101,32,84,121,112,101,49,67,59,32,97,115,115,117,109,105,110,103,32,67,73,68,84,121,112,101,48,67,0,0,0,69,109,98,101,100,100,101,100,32,67,73,68,32,102,111,110,116,32,104,97,115,32,116,121,112,101,32,84,114,117,101,84,121,112,101,59,32,97,115,115,117,109,105,110,103,32,67,73,68,84,121,112,101,50,0,0,67,73,68,70,111,110,116,84,121,112,101,48,67,0,0,0,69,109,98,101,100,100,101,100,32,110,111,110,45,67,73,68,32,102,111,110,116,32,104,97,115,32,116,121,112,101,32,67,73,68,70,111,110,116,84,121,112,101,48,99,59,32,97,115,115,117,109,105,110,103,32,84,121,112,101,49,67,0,0,0,79,112,101,110,84,121,112,101,0,0,0,0,0,0,0,0,85,110,107,110,111,119,110,32,101,109,98,101,100,100,101,100,32,102,111,110,116,32,116,121,112,101,32,39,37,115,39,0,77,105,115,115,105,110,103,87,105,100,116,104,0,0,0,0,65,115,99,101,110,116,0,0,68,101,115,99,101,110,116,0,70,111,110,116,66,66,111,120,0,0,0,0,0,0,0,0,84,111,85,110,105,99,111,100,101,0,0,0,0,0,0,0,152,126,2,0,160,126,2,0,168,126,2,0,176,126,2,0,0,0,0,0,0,0,0,0,46,112,102,97,0,0,0,0,46,112,102,98,0,0,0,0,46,112,115,0,0,0,0,0,0,0,0,0,0,0,0,0,200,126,2,0,208,126,2,0,0,0,0,0,0,0,0,0,46,116,116,102,0,0,0,0,46,116,116,99,0,0,0,0,69,109,98,101,100,100,101,100,32,102,111,110,116,32,102,105,108,101,32,105,115,32,110,111,116,32,97,32,115,116,114,101,97,109,0,0,0,0,0,0,0,0,0,0,0,137,2,0,103,0,0,0,105,0,0,0,104,0,0,0,1,0,0,0,162,0,0,0,163,0,0,0,48,138,2,0,56,138,2,0,72,138,2,0,88,138,2,0,104,138,2,0,128,138,2,0,152,138,2,0,168,138,2,0,192,138,2,0,88,138,2,0,208,138,2,0,128,138,2,0,232,138,2,0,128,138,2,0,0,139,2,0,88,138,2,0,16,139,2,0,168,138,2,0,32,139,2,0,168,138,2,0,48,139,2,0,56,138,2,0,56,139,2,0,72,139,2,0,88,139,2,0,112,139,2,0,136,139,2,0,152,139,2,0,168,139,2,0,184,139,2,0,192,139,2,0,72,139,2,0,208,139,2,0,112,139,2,0,232,139,2,0,152,139,2,0,0,140,2,0,72,139,2,0,16,140,2,0,112,139,2,0,40,140,2,0,152,139,2,0,64,140,2,0,112,139,2,0,96,140,2,0,72,139,2,0,120,140,2,0,152,139,2,0,144,140,2,0,184,139,2,0,160,140,2,0,88,138,2,0,176,140,2,0,128,138,2,0,200,140,2,0,168,138,2,0,224,140,2,0,128,138,2,0,248,140,2,0,168,138,2,0,16,141,2,0,32,141,2,0,40,141,2,0,32,141,2,0,64,141,2,0,32,141,2,0,80,141,2,0,96,141,2,0,112,141,2,0,136,141,2,0,152,141,2,0,184,141,2,0,208,141,2,0,232,141,2,0,248,141,2,0,136,141,2,0,16,142,2,0,184,141,2,0,48,142,2,0,232,141,2,0,72,142,2,0,96,141,2], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+153696);
/* memory initializer */ allocate([88,142,2,0,136,141,2,0,112,142,2,0,184,141,2,0,144,142,2,0,184,141,2,0,176,142,2,0,136,141,2,0,200,142,2,0,232,141,2,0,224,142,2,0,232,141,2,0,0,143,2,0,96,141,2,0,24,143,2,0,136,141,2,0,48,143,2,0,184,141,2,0,80,143,2,0,232,141,2,0,70,111,110,116,77,97,116,114,105,120,0,0,0,0,0,0,67,104,97,114,80,114,111,99,115,0,0,0,0,0,0,0,77,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,67,104,97,114,80,114,111,99,115,32,100,105,99,116,105,111,110,97,114,121,32,105,110,32,84,121,112,101,32,51,32,102,111,110,116,0,0,82,101,115,111,117,114,99,101,115,0,0,0,0,0,0,0,69,110,99,111,100,105,110,103,0,0,0,0,0,0,0,0,66,97,115,101,69,110,99,111,100,105,110,103,0,0,0,0,77,97,99,82,111,109,97,110,69,110,99,111,100,105,110,103,0,0,0,0,0,0,0,0,77,97,99,69,120,112,101,114,116,69,110,99,111,100,105,110,103,0,0,0,0,0,0,0,87,105,110,65,110,115,105,69,110,99,111,100,105,110,103,0,68,105,102,102,101,114,101,110,99,101,115,0,0,0,0,0,87,114,111,110,103,32,116,121,112,101,32,105,110,32,102,111,110,116,32,101,110,99,111,100,105,110,103,32,114,101,115,111,117,114,99,101,32,100,105,102,102,101,114,101,110,99,101,115,32,40,37,115,41,0,0,0,46,110,111,116,100,101,102,0,70,105,114,115,116,67,104,97,114,0,0,0,0,0,0,0,76,97,115,116,67,104,97,114,0,0,0,0,0,0,0,0,87,105,100,116,104,115,0,0,115,112,97,99,101,0,0,0,0,0,0,0,32,137,2,0,106,0,0,0,107,0,0,0,108,0,0,0,2,0,0,0,164,0,0,0,165,0,0,0,68,101,115,99,101,110,100,97,110,116,70,111,110,116,115,0,77,105,115,115,105,110,103,32,68,101,115,99,101,110,100,97,110,116,70,111,110,116,115,32,101,110,116,114,121,32,105,110,32,84,121,112,101,32,48,32,102,111,110,116,0,0,0,0,66,97,100,32,100,101,115,99,101,110,100,97,110,116,32,102,111,110,116,32,105,110,32,84,121,112,101,32,48,32,102,111,110,116,0,0,0,0,0,0,77,105,115,115,105,110,103,32,83,117,98,116,121,112,101,32,101,110,116,114,121,32,105,110,32,84,121,112,101,32,48,32,100,101,115,99,101,110,100,97,110,116,32,102,111,110,116,0,67,73,68,70,111,110,116,84,121,112,101,48,0,0,0,0,67,73,68,70,111,110,116,84,121,112,101,50,0,0,0,0,85,110,107,110,111,119,110,32,84,121,112,101,32,48,32,100,101,115,99,101,110,100,97,110,116,32,102,111,110,116,32,116,121,112,101,32,39,37,115,39,0,0,0,0,0,0,0,0,67,73,68,83,121,115,116,101,109,73,110,102,111,0,0,0,77,105,115,115,105,110,103,32,67,73,68,83,121,115,116,101,109,73,110,102,111,32,100,105,99,116,105,111,110,97,114,121,32,105,110,32,84,121,112,101,32,48,32,100,101,115,99,101,110,100,97,110,116,32,102,111,110,116,0,0,0,0,0,0,82,101,103,105,115,116,114,121,0,0,0,0,0,0,0,0,79,114,100,101,114,105,110,103,0,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,67,73,68,83,121,115,116,101,109,73,110,102,111,32,100,105,99,116,105,111,110,97,114,121,32,105,110,32,84,121,112,101,32,48,32,100,101,115,99,101,110,100,97,110,116,32,102,111,110,116,0,0,0,0,0,0,65,100,111,98,101,45,73,100,101,110,116,105,116,121,0,0,65,100,111,98,101,45,85,67,83,0,0,0,0,0,0,0,240,131,2,0,0,132,2,0,16,132,2,0,32,132,2,0,48,132,2,0,0,0,0,0,65,100,111,98,101,45,67,78,83,49,0,0,0,0,0,0,65,100,111,98,101,45,71,66,49,0,0,0,0,0,0,0,65,100,111,98,101,45,74,97,112,97,110,49,0,0,0,0,65,100,111,98,101,45,74,97,112,97,110,50,0,0,0,0,65,100,111,98,101,45,75,111,114,101,97,49,0,0,0,0,77,105,115,115,105,110,103,32,108,97,110,103,117,97,103,101,32,112,97,99,107,32,102,111,114,32,39,37,115,39,32,109,97,112,112,105,110,103,0,0,85,110,107,110,111,119,110,32,99,104,97,114,97,99,116,101,114,32,99,111,108,108,101,99,116,105,111,110,32,39,37,115,39,0,0,0,0,0,0,0,67,77,97,112,78,97,109,101,0,0,0,0,0,0,0,0,77,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,69,110,99,111,100,105,110,103,32,101,110,116,114,121,32,105,110,32,84,121,112,101,32,48,32,102,111,110,116,0,0,0,0,0,0,0,0,85,110,107,110,111,119,110,32,67,77,97,112,32,39,37,115,39,32,102,111,114,32,99,104,97,114,97,99,116,101,114,32,99,111,108,108,101,99,116,105,111,110,32,39,37,115,39,0,67,73,68,84,111,71,73,68,77,97,112,0,0,0,0,0,73,100,101,110,116,105,116,121,0,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,67,73,68,84,111,71,73,68,77,97,112,32,101,110,116,114,121,32,105,110,32,67,73,68,32,102,111,110,116,0,0,0,68,87,0,0,0,0,0,0,87,0,0,0,0,0,0,0,66,97,100,32,119,105,100,116,104,115,32,97,114,114,97,121,32,105,110,32,84,121,112,101,32,48,32,102,111,110,116,0,68,87,50,0,0,0,0,0,87,50,0,0,0,0,0,0,66,97,100,32,119,105,100,116,104,115,32,40,87,50,41,32,97,114,114,97,121,32,105,110,32,84,121,112,101,32,48,32,102,111,110,116,0,0,0,0,0,32,0,0,1,32,0,0,2,32,0,0,3,32,0,0,4,32,0,0,5,32,0,0,6,32,0,0,7,32,0,0,8,32,0,0,9,32,0,0,10,32,0,0,160,0,0,0,11,32,0,0,96,32,0,0,0,48,0,0,255,254,0,0,0,0,0,0,0,0,0,0,24,134,2,0,40,134,2,0,56,134,2,0,72,134,2,0,0,0,0,0,0,0,0,0,85,110,105,67,78,83,45,85,84,70,51,50,45,86,0,0,85,110,105,67,78,83,45,85,67,83,50,45,86,0,0,0,85,110,105,67,78,83,45,85,84,70,51,50,45,72,0,0,85,110,105,67,78,83,45,85,67,83,50,45,72,0,0,0,112,134,2,0,128,134,2,0,144,134,2,0,160,134,2,0,0,0,0,0,0,0,0,0,85,110,105,71,66,45,85,84,70,51,50,45,86,0,0,0,85,110,105,71,66,45,85,67,83,50,45,86,0,0,0,0,85,110,105,71,66,45,85,84,70,51,50,45,72,0,0,0,85,110,105,71,66,45,85,67,83,50,45,72,0,0,0,0,200,134,2,0,216,134,2,0,232,134,2,0,248,134,2,0,0,0,0,0,0,0,0,0,85,110,105,74,73,83,45,85,84,70,51,50,45,86,0,0,85,110,105,74,73,83,45,85,67,83,50,45,86,0,0,0,85,110,105,74,73,83,45,85,84,70,51,50,45,72,0,0,85,110,105,74,73,83,45,85,67,83,50,45,72,0,0,0,32,135,2,0,48,135,2,0,64,135,2,0,80,135,2,0,0,0,0,0,0,0,0,0,85,110,105,72,111,106,111,45,85,84,70,51,50,45,86,0,85,110,105,72,111,106,111,45,85,67,83,50,45,86,0,0,85,110,105,72,111,106,111,45,85,84,70,51,50,45,72,0,85,110,105,72,111,106,111,45,85,67,83,50,45,72,0,0,120,135,2,0,136,135,2,0,152,135,2,0,168,135,2,0,0,0,0,0,0,0,0,0,85,110,105,75,83,45,85,84,70,51,50,45,86,0,0,0,85,110,105,75,83,45,85,67,83,50,45,86,0,0,0,0,85,110,105,75,83,45,85,84,70,51,50,45,72,0,0,0,85,110,105,75,83,45,85,67,83,50,45,72,0,0,0,0,240,131,2,0,24,136,2,0,32,136,2,0,0,134,2,0,0,132,2,0,24,136,2,0,48,136,2,0,88,134,2,0,16,132,2,0,24,136,2,0,64,136,2,0,176,134,2,0,32,132,2,0,24,136,2,0,88,136,2,0,8,135,2,0,48,132,2,0,24,136,2,0,112,136,2,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,107,97,110,97,0,0,0,0,65,100,111,98,101,45,67,78,83,49,45,85,67,83,50,0,65,100,111,98,101,45,71,66,49,45,85,67,83,50,0,0,65,100,111,98,101,45,74,97,112,97,110,49,45,85,67,83,50,0,0,0,0,0,0,0,65,100,111,98,101,45,74,97,112,97,110,50,45,85,67,83,50,0,0,0,0,0,0,0,65,100,111,98,101,45,75,111,114,101,97,49,45,85,67,83,50,0,0,0,0,0,0,0,85,110,107,110,111,119,110,32,99,104,97,114,97,99,116,101,114,32,99,111,108,108,101,99,116,105,111,110,32,37,115,10,0,0,0,0,0,0,0,0,102,111,110,116,32,114,101,115,111,117,114,99,101,32,105,115,32,110,111,116,32,97,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,0,49,49,71,102,120,56,66,105,116,70,111,110,116,0,0,0,55,71,102,120,70,111,110,116,0,0,0,0,0,0,0,0,88,113,4,0,232,136,2,0,128,113,4,0,216,136,2,0,248,136,2,0,0,0,0,0,49,48,71,102,120,67,73,68,70,111,110,116,0,0,0,0,128,113,4,0,16,137,2,0,248,136,2,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,90,101,114,111,45,108,101,110,103,116,104,32,111,117,116,112,117,116,32,98,117,102,102,101,114,32,40,114,101,99,117,114,115,105,111,110,32,111,118,101,114,102,108,111,119,63,41,32,105,110,32,112,97,114,115,101,67,104,97,114,78,97,109,101,44,32,99,111,109,112,111,110,101,110,116,32,34,37,115,34,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,112,97,114,115,101,32,108,105,103,97,116,117,114,101,32,99,111,109,112,111,110,101,110,116,32,34,37,115,34,32,111,102,32,34,37,115,34,32,105,110,32,112,97,114,115,101,67,104,97,114,78,97,109,101,0,0,0,0,0,0,0,0,117,110,105,0,0,0,0,0,37,52,120,0,0,0,0,0,37,120,0,0,0,0,0,0,65,114,105,97,108,0,0,0,72,101,108,118,101,116,105,99,97,0,0,0,0,0,0,0,65,114,105,97,108,44,66,111,108,100,0,0,0,0,0,0,72,101,108,118,101,116,105,99,97,45,66,111,108,100,0,0,65,114,105,97,108,44,66,111,108,100,73,116,97,108,105,99,0,0,0,0,0,0,0,0,72,101,108,118,101,116,105,99,97,45,66,111,108,100,79,98,108,105,113,117,101,0,0,0,65,114,105,97,108,44,73,116,97,108,105,99,0,0,0,0,72,101,108,118,101,116,105,99,97,45,79,98,108,105,113,117,101,0,0,0,0,0,0,0,65,114,105,97,108,45,66,111,108,100,0,0,0,0,0,0,65,114,105,97,108,45,66,111,108,100,73,116,97,108,105,99,0,0,0,0,0,0,0,0,65,114,105,97,108,45,66,111,108,100,73,116,97,108,105,99,77,84,0,0,0,0,0,0,65,114,105,97,108,45,66,111,108,100,77,84,0,0,0,0,65,114,105,97,108,45,73,116,97,108,105,99,0,0,0,0,65,114,105,97,108,45,73,116,97,108,105,99,77,84,0,0,65,114,105,97,108,77,84,0,67,111,117,114,105,101,114,44,66,111,108,100,0,0,0,0,67,111,117,114,105,101,114,45,66,111,108,100,0,0,0,0,67,111,117,114,105,101,114,44,66,111,108,100,73,116,97,108,105,99,0,0,0,0,0,0,67,111,117,114,105,101,114,45,66,111,108,100,79,98,108,105,113,117,101,0,0,0,0,0,67,111,117,114,105,101,114,44,73,116,97,108,105,99,0,0,67,111,117,114,105,101,114,45,79,98,108,105,113,117,101,0,67,111,117,114,105,101,114,78,101,119,0,0,0,0,0,0,67,111,117,114,105,101,114,0,67,111,117,114,105,101,114,78,101,119,44,66,111,108,100,0,67,111,117,114,105,101,114,78,101,119,44,66,111,108,100,73,116,97,108,105,99,0,0,0,67,111,117,114,105,101,114,78,101,119,44,73,116,97,108,105,99,0,0,0,0,0,0,0,67,111,117,114,105,101,114,78,101,119,45,66,111,108,100,0,67,111,117,114,105,101,114,78,101,119,45,66,111,108,100,73,116,97,108,105,99,0,0,0,67,111,117,114,105,101,114,78,101,119,45,73,116,97,108,105,99,0,0,0,0,0,0,0,67,111,117,114,105,101,114,78,101,119,80,83,45,66,111,108,100,73,116,97,108,105,99,77,84,0,0,0,0,0,0,0,67,111,117,114,105,101,114,78,101,119,80,83,45,66,111,108,100,77,84,0,0,0,0,0,67,111,117,114,105,101,114,78,101,119,80,83,45,73,116,97,108,105,99,77,84,0,0,0,67,111,117,114,105,101,114,78,101,119,80,83,77,84,0,0,72,101,108,118,101,116,105,99,97,44,66,111,108,100,0,0,72,101,108,118,101,116,105,99,97,44,66,111,108,100,73,116,97,108,105,99,0,0,0,0,72,101,108,118,101,116,105,99,97,44,73,116,97,108,105,99,0,0,0,0,0,0,0,0,72,101,108,118,101,116,105,99,97,45,66,111,108,100,73,116,97,108,105,99,0,0,0,0,72,101,108,118,101,116,105,99,97,45,73,116,97,108,105,99,0,0,0,0,0,0,0,0,83,121,109,98,111,108,44,66,111,108,100,0,0,0,0,0,83,121,109,98,111,108,0,0,83,121,109,98,111,108,44,66,111,108,100,73,116,97,108,105,99,0,0,0,0,0,0,0,83,121,109,98,111,108,44,73,116,97,108,105,99,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,0,0,0,84,105,109,101,115,45,82,111,109,97,110,0,0,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,44,66,111,108,100,0,0,0,0,0,0,84,105,109,101,115,45,66,111,108,100,0,0,0,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,44,66,111,108,100,73,116,97,108,105,99,0,0,0,0,0,0,0,0,84,105,109,101,115,45,66,111,108,100,73,116,97,108,105,99,0,0,0,0,0,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,44,73,116,97,108,105,99,0,0,0,0,84,105,109,101,115,45,73,116,97,108,105,99,0,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,45,66,111,108,100,0,0,0,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,45,66,111,108,100,73,116,97,108,105,99,0,0,0,0,0,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,45,73,116,97,108,105,99,0,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,80,83,0,84,105,109,101,115,78,101,119,82,111,109,97,110,80,83,45,66,111,108,100,0,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,80,83,45,66,111,108,100,73,116,97,108,105,99,0,0,0,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,80,83,45,66,111,108,100,73,116,97,108,105,99,77,84,0,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,80,83,45,66,111,108,100,77,84,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,80,83,45,73,116,97,108,105,99,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,80,83,45,73,116,97,108,105,99,77,84,0,0,0,0,0,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,80,83,77,84,0,0,0,0,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,80,83,77,84,44,66,111,108,100,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,80,83,77,84,44,66,111,108,100,73,116,97,108,105,99,0,0,0,0,84,105,109,101,115,78,101,119,82,111,109,97,110,80,83,77,84,44,73,116,97,108,105,99,0,0,0,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,32,111,114,32,37,100,0,0,0,0,0,68,101,118,105,99,101,71,114,97,121,0,0,0,0,0,0,71,0,0,0,0,0,0,0,68,101,118,105,99,101,82,71,66,0,0,0,0,0,0,0,82,71,66,0,0,0,0,0,68,101,118,105,99,101,67,77,89,75,0,0,0,0,0,0,67,77,89,75,0,0,0,0,80,97,116,116,101,114,110,0,66,97,100,32,99,111,108,111,114,32,115,112,97,99,101,32,39,37,115,39,0,0,0,0,67,97,108,71,114,97,121,0,67,97,108,82,71,66,0,0,76,97,98,0,0,0,0,0,73,67,67,66,97,115,101,100,0,0,0,0,0,0,0,0,73,110,100,101,120,101,100,0,73,0,0,0,0,0,0,0,83,101,112,97,114,97,116,105,111,110,0,0,0,0,0,0,68,101,118,105,99,101,78,0,66,97,100,32,99,111,108,111,114,32,115,112,97,99,101,0,66,97,100,32,99,111,108,111,114,32,115,112,97,99,101,32,45,32,101,120,112,101,99,116,101,100,32,110,97,109,101,32,111,114,32,97,114,114,97,121,0,0,0,0,0,0,0,0,0,0,0,0,208,158,2,0,166,0,0,0,167,0,0,0,109,0,0,0,110,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,16,0,0,0,17,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,57,0,0,0,18,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,128,159,2,0,166,0,0,0,168,0,0,0,115,0,0,0,116,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,19,0,0,0,20,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,58,0,0,0,18,0,0,0,114,0,0,0,0,0,0,0,66,97,100,32,67,97,108,71,114,97,121,32,99,111,108,111,114,32,115,112,97,99,101,0,87,104,105,116,101,80,111,105,110,116,0,0,0,0,0,0,66,108,97,99,107,80,111,105,110,116,0,0,0,0,0,0,71,97,109,109,97,0,0,0,0,0,0,0,0,159,2,0,166,0,0,0,169,0,0,0,120,0,0,0,121,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,21,0,0,0,22,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,59,0,0,0,18,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,168,159,2,0,166,0,0,0,170,0,0,0,125,0,0,0,126,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,19,0,0,0,20,0,0,0,117,0,0,0,118,0,0,0,127,0,0,0,60,0,0,0,18,0,0,0,114,0,0,0,0,0,0,0,66,97,100,32,67,97,108,82,71,66,32,99,111,108,111,114,32,115,112,97,99,101,0,0,77,97,116,114,105,120,0,0,0,0,0,0,48,159,2,0,166,0,0,0,171,0,0,0,128,0,0,0,129,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,19,0,0,0,20,0,0,0,117,0,0,0,118,0,0,0,130,0,0,0,61,0,0,0,18,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,208,159,2,0,166,0,0,0,172,0,0,0,131,0,0,0,132,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,19,0,0,0,20,0,0,0,117,0,0,0,118,0,0,0,133,0,0,0,62,0,0,0,23,0,0,0,114,0,0,0,0,0,0,0,66,97,100,32,76,97,98,32,99,111,108,111,114,32,115,112,97,99,101,0,0,0,0,0,82,97,110,103,101,0,0,0,0,0,0,0,248,159,2,0,173,0,0,0,174,0,0,0,134,0,0,0,135,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,19,0,0,0,24,0,0,0,136,0,0,0,118,0,0,0,137,0,0,0,63,0,0,0,25,0,0,0,114,0,0,0,0,0,0,0,66,97,100,32,73,67,67,66,97,115,101,100,32,99,111,108,111,114,32,115,112,97,99,101,32,40,115,116,114,101,97,109,41,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,66,97,100,32,73,67,67,66,97,115,101,100,32,99,111,108,111,114,32,115,112,97,99,101,32,40,78,41,0,0,0,0,73,67,67,66,97,115,101,100,32,99,111,108,111,114,32,115,112,97,99,101,32,119,105,116,104,32,116,111,111,32,109,97,110,121,32,40,37,100,32,62,32,37,100,41,32,99,111,109,112,111,110,101,110,116,115,0,65,108,116,101,114,110,97,116,101,0,0,0,0,0,0,0,66,97,100,32,73,67,67,66,97,115,101,100,32,99,111,108,111,114,32,115,112,97,99,101,32,45,32,105,110,118,97,108,105,100,32,78,0,0,0,0,0,0,0,0,32,160,2,0,175,0,0,0,176,0,0,0,138,0,0,0,139,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,19,0,0,0,26,0,0,0,140,0,0,0,118,0,0,0,141,0,0,0,64,0,0,0,27,0,0,0,114,0,0,0,0,0,0,0,66,97,100,32,73,110,100,101,120,101,100,32,99,111,108,111,114,32,115,112,97,99,101,0,66,97,100,32,73,110,100,101,120,101,100,32,99,111,108,111,114,32,115,112,97,99,101,32,40,98,97,115,101,32,99,111,108,111,114,32,115,112,97,99,101,41,0,0,0,0,0,0,66,97,100,32,73,110,100,101,120,101,100,32,99,111,108,111,114,32,115,112,97,99,101,32,40,104,105,118,97,108,41,0,66,97,100,32,73,110,100,101,120,101,100,32,99,111,108,111,114,32,115,112,97,99,101,32,40,105,110,118,97,108,105,100,32,105,110,100,101,120,72,105,103,104,32,118,97,108,117,101,44,32,119,97,115,32,37,100,32,117,115,105,110,103,32,37,100,32,116,111,32,116,114,121,32,116,111,32,114,101,99,111,118,101,114,41,0,0,0,0,66,97,100,32,73,110,100,101,120,101,100,32,99,111,108,111,114,32,115,112,97,99,101,32,40,108,111,111,107,117,112,32,116,97,98,108,101,32,115,116,114,101,97,109,32,116,111,111,32,115,104,111,114,116,41,32,112,97,100,100,105,110,103,32,119,105,116,104,32,122,101,114,111,101,115,0,0,0,0,0,66,97,100,32,73,110,100,101,120,101,100,32,99,111,108,111,114,32,115,112,97,99,101,32,40,108,111,111,107,117,112,32,116,97,98,108,101,32,115,116,114,105,110,103,32,116,111,111,32,115,104,111,114,116,41,0,66,97,100,32,73,110,100,101,120,101,100,32,99,111,108,111,114,32,115,112,97,99,101,32,40,108,111,111,107,117,112,32,116,97,98,108,101,41,0,0,0,0,0,0,80,160,2,0,177,0,0,0,178,0,0,0,142,0,0,0,143,0,0,0,125,0,0,0,126,0,0,0,127,0,0,0,19,0,0,0,20,0,0,0,117,0,0,0,118,0,0,0,144,0,0,0,65,0,0,0,18,0,0,0,145,0,0,0,0,0,0,0,78,111,110,101,0,0,0,0,66,97,100,32,83,101,112,97,114,97,116,105,111,110,32,99,111,108,111,114,32,115,112,97,99,101,0,0,0,0,0,0,66,97,100,32,83,101,112,97,114,97,116,105,111,110,32,99,111,108,111,114,32,115,112,97,99,101,32,40,110,97,109,101,41,0,0,0,0,0,0,0,66,97,100,32,83,101,112,97,114,97,116,105,111,110,32,99,111,108,111,114,32,115,112,97,99,101,32,40,97,108,116,101,114,110,97,116,101,32,99,111,108,111,114,32,115,112,97,99,101,41,0,0,0,0,0,0,0,0,0,0,120,160,2,0,179,0,0,0,180,0,0,0,146,0,0,0,147,0,0,0,128,0,0,0,129,0,0,0,130,0,0,0,19,0,0,0,20,0,0,0,117,0,0,0,118,0,0,0,148,0,0,0,66,0,0,0,18,0,0,0,149,0,0,0,0,0,0,0,66,97,100,32,68,101,118,105,99,101,78,32,99,111,108,111,114,32,115,112,97,99,101,0,66,97,100,32,68,101,118,105,99,101,78,32,99,111,108,111,114,32,115,112,97,99,101,32,40,110,97,109,101,115,41,0,68,101,118,105,99,101,78,32,99,111,108,111,114,32,115,112,97,99,101,32,119,105,116,104,32,116,111,111,32,109,97,110,121,32,40,37,100,32,62,32,37,100,41,32,99,111,109,112,111,110,101,110,116,115,0,0,66,97,100,32,68,101,118,105,99,101,78,32,99,111,108,111,114,32,115,112,97,99,101,32,40,97,108,116,101,114,110,97,116,101,32,99,111,108,111,114,32,115,112,97,99,101,41,0,0,0,0,0,88,159,2,0,181,0,0,0,182,0,0,0,150,0,0,0,151,0,0,0,131,0,0,0,132,0,0,0,133,0,0,0,19,0,0,0,20,0,0,0,117,0,0,0,118,0,0,0,152,0,0,0,67,0,0,0,18,0,0,0,114,0,0,0,0,0,0,0,66,97,100,32,80,97,116,116,101,114,110,32,99,111,108,111,114,32,115,112,97,99,101,0,66,97,100,32,80,97,116,116,101,114,110,32,99,111,108,111,114,32,115,112,97,99,101,32,40,117,110,100,101,114,108,121,105,110,103,32,99,111,108,111,114,32,115,112,97,99,101,41,0,0,0,0,0,0,0,0,80,97,116,116,101,114,110,84,121,112,101,0,0,0,0,0,80,97,105,110,116,84,121,112,101,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,111,114,32,109,105,115,115,105,110,103,32,80,97,105,110,116,84,121,112,101,32,105,110,32,112,97,116,116,101,114,110,0,84,105,108,105,110,103,84,121,112,101,0,0,0,0,0,0,73,110,118,97,108,105,100,32,111,114,32,109,105,115,115,105,110,103,32,84,105,108,105,110,103,84,121,112,101,32,105,110,32,112,97,116,116,101,114,110,0,0,0,0,0,0,0,0,66,66,111,120,0,0,0,0,73,110,118,97,108,105,100,32,111,114,32,109,105,115,115,105,110,103,32,66,66,111,120,32,105,110,32,112,97,116,116,101,114,110,0,0,0,0,0,0,88,83,116,101,112,0,0,0,73,110,118,97,108,105,100,32,111,114,32,109,105,115,115,105,110,103,32,88,83,116,101,112,32,105,110,32,112,97,116,116,101,114,110,0,0,0,0,0,89,83,116,101,112,0,0,0,73,110,118,97,108,105,100,32,111,114,32,109,105,115,115,105,110,103,32,89,83,116,101,112,32,105,110,32,112,97,116,116,101,114,110,0,0,0,0,0,82,101,115,111,117,114,99,101,115,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,111,114,32,109,105,115,115,105,110,103,32,82,101,115,111,117,114,99,101,115,32,105,110,32,112,97,116,116,101,114,110,0,0,0,0,0,184,160,2,0,183,0,0,0,184,0,0,0,153,0,0,0,0,0,0,0,83,104,97,100,105,110,103,0,0,0,0,0,224,160,2,0,185,0,0,0,186,0,0,0,154,0,0,0,0,0,0,0,0,0,0,0,0,161,2,0,187,0,0,0,188,0,0,0,1,0,0,0,0,0,0,0,83,104,97,100,105,110,103,84,121,112,101,0,0,0,0,0,73,110,118,97,108,105,100,32,83,104,97,100,105,110,103,84,121,112,101,32,105,110,32,115,104,97,100,105,110,103,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,84,121,112,101,32,52,32,115,104,97,100,105,110,103,32,111,98,106,101,99,116,0,0,0,73,110,118,97,108,105,100,32,84,121,112,101,32,53,32,115,104,97,100,105,110,103,32,111,98,106,101,99,116,0,0,0,73,110,118,97,108,105,100,32,84,121,112,101,32,54,32,115,104,97,100,105,110,103,32,111,98,106,101,99,116,0,0,0,73,110,118,97,108,105,100,32,84,121,112,101,32,55,32,115,104,97,100,105,110,103,32,111,98,106,101,99,116,0,0,0,85,110,105,109,112,108,101,109,101,110,116,101,100,32,115,104,97,100,105,110,103,32,116,121,112,101,32,37,100,0,0,0,67,111,108,111,114,83,112,97,99,101,0,0,0,0,0,0,66,97,100,32,99,111,108,111,114,32,115,112,97,99,101,32,105,110,32,115,104,97,100,105,110,103,32,100,105,99,116,105,111,110,97,114,121,0,0,0,66,97,99,107,103,114,111,117,110,100,0,0,0,0,0,0,66,97,100,32,66,97,99,107,103,114,111,117,110,100,32,105,110,32,115,104,97,100,105,110,103,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,66,97,100,32,66,66,111,120,32,105,110,32,115,104,97,100,105,110,103,32,100,105,99,116,105,111,110,97,114,121,32,40,86,97,108,117,101,115,32,110,111,116,32,110,117,109,98,101,114,115,41,0,0,0,0,0,66,97,100,32,66,66,111,120,32,105,110,32,115,104,97,100,105,110,103,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,32,161,2,0,189,0,0,0,190,0,0,0,155,0,0,0,0,0,0,0,68,111,109,97,105,110,0,0,70,117,110,99,116,105,111,110,0,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,70,117,110,99,116,105,111,110,32,97,114,114,97,121,32,105,110,32,115,104,97,100,105,110,103,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,0,0,72,161,2,0,191,0,0,0,192,0,0,0,156,0,0,0,0,0,0,0,67,111,111,114,100,115,0,0,77,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,67,111,111,114,100,115,32,105,110,32,115,104,97,100,105,110,103,32,100,105,99,116,105,111,110,97,114,121,0,69,120,116,101,110,100,0,0,0,0,0,0,112,161,2,0,193,0,0,0,194,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,160,161,2,0,195,0,0,0,196,0,0,0,158,0,0,0,0,0,0,0,66,105,116,115,80,101,114,67,111,111,114,100,105,110,97,116,101,0,0,0,0,0,0,0,77,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,66,105,116,115,80,101,114,67,111,111,114,100,105,110,97,116,101,32,105,110,32,115,104,97,100,105,110,103,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,66,105,116,115,80,101,114,67,111,109,112,111,110,101,110,116,0,0,0,0,0,0,0,0,77,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,66,105,116,115,80,101,114,67,111,109,112,111,110,101,110,116,32,105,110,32,115,104,97,100,105,110,103,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,0,66,105,116,115,80,101,114,70,108,97,103,0,0,0,0,0,77,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,66,105,116,115,80,101,114,70,108,97,103,32,105,110,32,115,104,97,100,105,110,103,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,86,101,114,116,105,99,101,115,80,101,114,82,111,119,0,0,77,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,86,101,114,116,105,99,101,115,80,101,114,82,111,119,32,105,110,32,115,104,97,100,105,110,103,32,100,105,99,116,105,111,110,97,114,121,0,68,101,99,111,100,101,0,0,77,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,68,101,99,111,100,101,32,97,114,114,97,121,32,105,110,32,115,104,97,100,105,110,103,32,100,105,99,116,105,111,110,97,114,121,0,0,0,33,105,115,80,97,114,97,109,101,116,101,114,105,122,101,100,40,41,0,0,0,0,0,0,71,102,120,83,116,97,116,101,46,99,99,0,0,0,0,0,103,101,116,84,114,105,97,110,103,108,101,0,0,0,0,0,105,115,80,97,114,97,109,101,116,101,114,105,122,101,100,40,41,0,0,0,0,0,0,0,0,0,0,0,200,161,2,0,197,0,0,0,198,0,0,0,159,0,0,0,0,0,0,0,216,161,2,0,0,0,0,0,224,161,2,0,0,0,0,0,240,161,2,0,1,0,0,0,0,162,2,0,2,0,0,0,8,162,2,0,3,0,0,0,16,162,2,0,4,0,0,0,24,162,2,0,5,0,0,0,32,162,2,0,6,0,0,0,48,162,2,0,7,0,0,0,64,162,2,0,8,0,0,0,80,162,2,0,9,0,0,0,96,162,2,0,10,0,0,0,112,162,2,0,11,0,0,0,128,162,2,0,12,0,0,0,136,162,2,0,13,0,0,0,152,162,2,0,14,0,0,0,160,162,2,0,15,0,0,0,49,51,71,102,120,67,111,108,111,114,83,112,97,99,101,0,88,113,4,0,152,158,2,0,50,51,71,102,120,68,101,118,105,99,101,71,114,97,121,67,111,108,111,114,83,112,97,99,101,0,0,0,0,0,0,0,128,113,4,0,176,158,2,0,168,158,2,0,0,0,0,0,50,50,71,102,120,68,101,118,105,99,101,82,71,66,67,111,108,111,114,83,112,97,99,101,0,0,0,0,0,0,0,0,128,113,4,0,224,158,2,0,168,158,2,0,0,0,0,0,50,51,71,102,120,68,101,118,105,99,101,67,77,89,75,67,111,108,111,114,83,112,97,99,101,0,0,0,0,0,0,0,128,113,4,0,16,159,2,0,168,158,2,0,0,0,0,0,50,48,71,102,120,80,97,116,116,101,114,110,67,111,108,111,114,83,112,97,99,101,0,0,128,113,4,0,64,159,2,0,168,158,2,0,0,0,0,0,50,48,71,102,120,67,97,108,71,114,97,121,67,111,108,111,114,83,112,97,99,101,0,0,128,113,4,0,104,159,2,0,168,158,2,0,0,0,0,0,49,57,71,102,120,67,97,108,82,71,66,67,111,108,111,114,83,112,97,99,101,0,0,0,128,113,4,0,144,159,2,0,168,158,2,0,0,0,0,0,49,54,71,102,120,76,97,98,67,111,108,111,114,83,112,97,99,101,0,0,0,0,0,0,128,113,4,0,184,159,2,0,168,158,2,0,0,0,0,0,50,49,71,102,120,73,67,67,66,97,115,101,100,67,111,108,111,114,83,112,97,99,101,0,128,113,4,0,224,159,2,0,168,158,2,0,0,0,0,0,50,48,71,102,120,73,110,100,101,120,101,100,67,111,108,111,114,83,112,97,99,101,0,0,128,113,4,0,8,160,2,0,168,158,2,0,0,0,0,0,50,51,71,102,120,83,101,112,97,114,97,116,105,111,110,67,111,108,111,114,83,112,97,99,101,0,0,0,0,0,0,0,128,113,4,0,48,160,2,0,168,158,2,0,0,0,0,0,50,48,71,102,120,68,101,118,105,99,101,78,67,111,108,111,114,83,112,97,99,101,0,0,128,113,4,0,96,160,2,0,168,158,2,0,0,0,0,0,49,48,71,102,120,80,97,116,116,101,114,110,0,0,0,0,88,113,4,0,136,160,2,0,49,54,71,102,120,84,105,108,105,110,103,80,97,116,116,101,114,110,0,0,0,0,0,0,128,113,4,0,160,160,2,0,152,160,2,0,0,0,0,0,49,55,71,102,120,83,104,97,100,105,110,103,80,97,116,116,101,114,110,0,0,0,0,0,128,113,4,0,200,160,2,0,152,160,2,0,0,0,0,0,49,48,71,102,120,83,104,97,100,105,110,103,0,0,0,0,88,113,4,0,240,160,2,0,49,56,71,102,120,70,117,110,99,116,105,111,110,83,104,97,100,105,110,103,0,0,0,0,128,113,4,0,8,161,2,0,0,161,2,0,0,0,0,0,49,53,71,102,120,65,120,105,97,108,83,104,97,100,105,110,103,0,0,0,0,0,0,0,128,113,4,0,48,161,2,0,0,161,2,0,0,0,0,0,49,54,71,102,120,82,97,100,105,97,108,83,104,97,100,105,110,103,0,0,0,0,0,0,128,113,4,0,88,161,2,0,0,161,2,0,0,0,0,0,50,53,71,102,120,71,111,117,114,97,117,100,84,114,105,97,110,103,108,101,83,104,97,100,105,110,103,0,0,0,0,0,128,113,4,0,128,161,2,0,0,161,2,0,0,0,0,0,49,57,71,102,120,80,97,116,99,104,77,101,115,104,83,104,97,100,105,110,103,0,0,0,128,113,4,0,176,161,2,0,0,161,2,0,0,0,0,0,78,111,114,109,97,108,0,0,67,111,109,112,97,116,105,98,108,101,0,0,0,0,0,0,77,117,108,116,105,112,108,121,0,0,0,0,0,0,0,0,83,99,114,101,101,110,0,0,79,118,101,114,108,97,121,0,68,97,114,107,101,110,0,0,76,105,103,104,116,101,110,0,67,111,108,111,114,68,111,100,103,101,0,0,0,0,0,0,67,111,108,111,114,66,117,114,110,0,0,0,0,0,0,0,72,97,114,100,76,105,103,104,116,0,0,0,0,0,0,0,83,111,102,116,76,105,103,104,116,0,0,0,0,0,0,0,68,105,102,102,101,114,101,110,99,101,0,0,0,0,0,0,69,120,99,108,117,115,105,111,110,0,0,0,0,0,0,0,72,117,101,0,0,0,0,0,83,97,116,117,114,97,116,105,111,110,0,0,0,0,0,0,67,111,108,111,114,0,0,0,76,117,109,105,110,111,115,105,116,121,0,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,32,111,114,32,37,100,0,0,0,0,0,73,110,118,97,108,105,100,32,114,101,102,101,114,101,110,99,101,32,102,111,114,32,102,105,114,115,116,32,112,97,103,101,32,111,98,106,101,99,116,32,40,37,100,41,32,105,110,32,108,105,110,101,97,114,105,122,97,116,105,111,110,32,116,97,98,108,101,32,0,0,0,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,112,97,103,101,115,32,40,37,100,41,32,102,111,114,32,104,105,110,116,115,32,116,97,98,108,101,0,0,0,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,104,105,110,116,115,32,116,97,98,101,108,0,0,0,0,0,0,0,111,98,106,0,0,0,0,0,83,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,115,104,97,114,101,100,32,111,98,106,101,99,116,32,104,105,110,116,32,116,97,98,108,101,32,111,102,102,115,101,116,0,70,97,105,108,101,100,32,112,97,114,115,105,110,103,32,104,105,110,116,115,32,116,97,98,108,101,32,111,98,106,101,99,116,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,112,97,103,101,115,32,114,101,97,100,105,110,103,32,112,97,103,101,32,111,102,102,115,101,116,32,104,105,110,116,115,32,116,97,98,108,101,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,115,104,97,114,101,100,32,111,98,106,101,99,116,115,0,0,0,0,0,0,0,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,115,104,97,114,101,100,32,111,98,106,101,99,116,32,73,68,115,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,115,104,97,114,101,100,32,111,98,106,101,99,116,32,103,114,111,117,112,115,0,0,73,110,118,97,108,105,100,32,110,117,109,98,101,114,32,111,102,32,102,105,114,115,116,32,112,97,103,101,32,115,104,97,114,101,100,32,111,98,106,101,99,116,32,103,114,111,117,112,115,0,0,0,0,0,0,0,70,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,109,101,109,111,114,121,32,102,111,114,32,115,104,97,114,101,100,32,111,98,106,101,99,116,32,103,114,111,117,112,115,0,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,255,255,255,255,255,255,255,255,7,0,8,0,7,0,7,0,6,0,6,0,6,0,6,0,6,0,5,0,6,0,5,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,1,0,2,0,66,97,100,32,116,119,111,32,100,105,109,32,99,111,100,101,32,105,110,32,74,66,73,71,50,32,77,77,82,32,115,116,114,101,97,109,0,0,0,0,255,255,255,255,12,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,11,0,0,7,11,0,0,7,12,0,192,7,12,0,0,8,12,0,64,8,12,0,128,8,12,0,192,8,12,0,0,9,11,0,64,7,11,0,64,7,11,0,128,7,11,0,128,7,12,0,64,9,12,0,128,9,12,0,192,9,12,0,0,10], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+163936);
/* memory initializer */ allocate([255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,8,0,29,0,8,0,29,0,8,0,30,0,8,0,30,0,8,0,45,0,8,0,45,0,8,0,46,0,8,0,46,0,7,0,22,0,7,0,22,0,7,0,22,0,7,0,22,0,7,0,23,0,7,0,23,0,7,0,23,0,7,0,23,0,8,0,47,0,8,0,47,0,8,0,48,0,8,0,48,0,6,0,13,0,6,0,13,0,6,0,13,0,6,0,13,0,6,0,13,0,6,0,13,0,6,0,13,0,6,0,13,0,7,0,20,0,7,0,20,0,7,0,20,0,7,0,20,0,8,0,33,0,8,0,33,0,8,0,34,0,8,0,34,0,8,0,35,0,8,0,35,0,8,0,36,0,8,0,36,0,8,0,37,0,8,0,37,0,8,0,38,0,8,0,38,0,7,0,19,0,7,0,19,0,7,0,19,0,7,0,19,0,8,0,31,0,8,0,31,0,8,0,32,0,8,0,32,0,6,0,1,0,6,0,1,0,6,0,1,0,6,0,1,0,6,0,1,0,6,0,1,0,6,0,1,0,6,0,1,0,6,0,12,0,6,0,12,0,6,0,12,0,6,0,12,0,6,0,12,0,6,0,12,0,6,0,12,0,6,0,12,0,8,0,53,0,8,0,53,0,8,0,54,0,8,0,54,0,7,0,26,0,7,0,26,0,7,0,26,0,7,0,26,0,8,0,39,0,8,0,39,0,8,0,40,0,8,0,40,0,8,0,41,0,8,0,41,0,8,0,42,0,8,0,42,0,8,0,43,0,8,0,43,0,8,0,44,0,8,0,44,0,7,0,21,0,7,0,21,0,7,0,21,0,7,0,21,0,7,0,28,0,7,0,28,0,7,0,28,0,7,0,28,0,8,0,61,0,8,0,61,0,8,0,62,0,8,0,62,0,8,0,63,0,8,0,63,0,8,0,0,0,8,0,0,0,8,0,64,1,8,0,64,1,8,0,128,1,8,0,128,1,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,10,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,5,0,11,0,7,0,27,0,7,0,27,0,7,0,27,0,7,0,27,0,8,0,59,0,8,0,59,0,8,0,60,0,8,0,60,0,9,0,192,5,9,0,0,6,9,0,64,6,9,0,192,6,7,0,18,0,7,0,18,0,7,0,18,0,7,0,18,0,7,0,24,0,7,0,24,0,7,0,24,0,7,0,24,0,8,0,49,0,8,0,49,0,8,0,50,0,8,0,50,0,8,0,51,0,8,0,51,0,8,0,52,0,8,0,52,0,7,0,25,0,7,0,25,0,7,0,25,0,7,0,25,0,8,0,55,0,8,0,55,0,8,0,56,0,8,0,56,0,8,0,57,0,8,0,57,0,8,0,58,0,8,0,58,0,6,0,192,0,6,0,192,0,6,0,192,0,6,0,192,0,6,0,192,0,6,0,192,0,6,0,192,0,6,0,192,0,6,0,128,6,6,0,128,6,6,0,128,6,6,0,128,6,6,0,128,6,6,0,128,6,6,0,128,6,6,0,128,6,8,0,192,1,8,0,192,1,8,0,0,2,8,0,0,2,9,0,192,2,9,0,0,3,8,0,128,2,8,0,128,2,8,0,64,2,8,0,64,2,9,0,64,3,9,0,128,3,9,0,192,3,9,0,0,4,9,0,64,4,9,0,128,4,9,0,192,4,9,0,0,5,9,0,64,5,9,0,128,5,7,0,0,1,7,0,0,1,7,0,0,1,7,0,0,1,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,2,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,128,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,8,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,5,0,9,0,6,0,16,0,6,0,16,0,6,0,16,0,6,0,16,0,6,0,16,0,6,0,16,0,6,0,16,0,6,0,16,0,6,0,17,0,6,0,17,0,6,0,17,0,6,0,17,0,6,0,17,0,6,0,17,0,6,0,17,0,6,0,17,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,6,0,14,0,6,0,14,0,6,0,14,0,6,0,14,0,6,0,14,0,6,0,14,0,6,0,14,0,6,0,14,0,6,0,15,0,6,0,15,0,6,0,15,0,6,0,15,0,6,0,15,0,6,0,15,0,6,0,15,0,6,0,15,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,5,0,64,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,4,0,7,0,66,97,100,32,119,104,105,116,101,32,99,111,100,101,32,105,110,32,74,66,73,71,50,32,77,77,82,32,115,116,114,101,97,109,0,0,0,0,0,0,255,255,255,255,255,255,255,255,12,0,254,255,12,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,11,0,0,7,11,0,0,7,11,0,0,7,11,0,0,7,12,0,192,7,12,0,192,7,12,0,0,8,12,0,0,8,12,0,64,8,12,0,64,8,12,0,128,8,12,0,128,8,12,0,192,8,12,0,192,8,12,0,0,9,12,0,0,9,11,0,64,7,11,0,64,7,11,0,64,7,11,0,64,7,11,0,128,7,11,0,128,7,11,0,128,7,11,0,128,7,12,0,64,9,12,0,64,9,12,0,128,9,12,0,128,9,12,0,192,9,12,0,192,9,12,0,0,10,12,0,0,10,10,0,18,0,10,0,18,0,10,0,18,0,10,0,18,0,10,0,18,0,10,0,18,0,10,0,18,0,10,0,18,0,12,0,52,0,12,0,52,0,13,0,128,2,13,0,192,2,13,0,0,3,13,0,64,3,12,0,55,0,12,0,55,0,12,0,56,0,12,0,56,0,13,0,0,5,13,0,64,5,13,0,128,5,13,0,192,5,12,0,59,0,12,0,59,0,12,0,60,0,12,0,60,0,13,0,0,6,13,0,64,6,11,0,24,0,11,0,24,0,11,0,24,0,11,0,24,0,11,0,25,0,11,0,25,0,11,0,25,0,11,0,25,0,13,0,128,6,13,0,192,6,12,0,64,1,12,0,64,1,12,0,128,1,12,0,128,1,12,0,192,1,12,0,192,1,13,0,0,2,13,0,64,2,12,0,53,0,12,0,53,0,12,0,54,0,12,0,54,0,13,0,128,3,13,0,192,3,13,0,0,4,13,0,64,4,13,0,128,4,13,0,192,4,10,0,64,0,10,0,64,0,10,0,64,0,10,0,64,0,10,0,64,0,10,0,64,0,10,0,64,0,10,0,64,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,8,0,13,0,11,0,23,0,11,0,23,0,12,0,50,0,12,0,51,0,12,0,44,0,12,0,45,0,12,0,46,0,12,0,47,0,12,0,57,0,12,0,58,0,12,0,61,0,12,0,0,1,10,0,16,0,10,0,16,0,10,0,16,0,10,0,16,0,10,0,17,0,10,0,17,0,10,0,17,0,10,0,17,0,12,0,48,0,12,0,49,0,12,0,62,0,12,0,63,0,12,0,30,0,12,0,31,0,12,0,32,0,12,0,33,0,12,0,40,0,12,0,41,0,11,0,22,0,11,0,22,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,8,0,14,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,10,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,7,0,11,0,9,0,15,0,9,0,15,0,9,0,15,0,9,0,15,0,9,0,15,0,9,0,15,0,9,0,15,0,9,0,15,0,12,0,128,0,12,0,192,0,12,0,26,0,12,0,27,0,12,0,28,0,12,0,29,0,11,0,19,0,11,0,19,0,11,0,20,0,11,0,20,0,12,0,34,0,12,0,35,0,12,0,36,0,12,0,37,0,12,0,38,0,12,0,39,0,11,0,21,0,11,0,21,0,12,0,42,0,12,0,43,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,7,0,12,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,6,0,9,0,6,0,8,0,5,0,7,0,5,0,7,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,6,0,4,0,5,0,4,0,5,0,4,0,5,0,4,0,5,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,1,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,3,0,4,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,3,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,66,97,100,32,98,108,97,99,107,32,99,111,100,101,32,105,110,32,74,66,73,71,50,32,77,77,82,32,115,116,114,101,97,109,0,0,0,0,0,0,0,0,0,0,240,200,2,0,199,0,0,0,200,0,0,0,160,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,119,105,100,116,104,47,104,101,105,103,104,116,0,0,0,0,0,0,0,0,24,201,2,0,201,0,0,0,202,0,0,0,161,0,0,0,0,0,0,0,0,0,0,0,64,201,2,0,203,0,0,0,204,0,0,0,162,0,0,0,0,0,0,0,0,0,0,0,104,201,2,0,205,0,0,0,206,0,0,0,163,0,0,0,0,0,0,0,0,0,0,0,136,201,2,0,207,0,0,0,208,0,0,0,164,0,0,0,209,0,0,0,210,0,0,0,165,0,0,0,166,0,0,0,25,0,0,0,12,0,0,0,34,0,0,0,24,0,0,0,7,0,0,0,167,0,0,0,14,0,0,0,20,0,0,0,19,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,29,0,0,0,13,0,0,0,39,0,0,0,31,0,0,0,9,0,0,0,70,105,114,115,116,32,74,66,73,71,50,32,115,101,103,109,101,110,116,32,97,115,115,111,99,105,97,116,101,100,32,119,105,116,104,32,97,32,112,97,103,101,32,109,117,115,116,32,98,101,32,97,32,112,97,103,101,32,105,110,102,111,114,109,97,116,105,111,110,32,115,101,103,109,101,110,116,0,0,0,85,110,107,110,111,119,110,32,115,101,103,109,101,110,116,32,116,121,112,101,32,105,110,32,74,66,73,71,50,32,115,116,114,101,97,109,0,0,0,0,37,100,32,101,120,116,114,97,110,101,111,117,115,32,98,121,116,101,37,115,32,97,102,116,101,114,32,115,101,103,109,101,110,116,0,0,0,0,0,0,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,114,101,118,105,111,117,115,32,115,101,103,109,101,110,116,32,104,97,110,100,108,101,114,32,114,101,97,100,32,116,111,111,32,109,97,110,121,32,98,121,116,101,115,0,0,0,0,85,110,101,120,112,101,99,116,101,100,32,69,79,70,32,105,110,32,74,66,73,71,50,32,115,116,114,101,97,109,0,0,84,111,111,32,109,97,110,121,32,105,110,112,117,116,32,115,121,109,98,111,108,115,32,105,110,32,74,66,73,71,50,32,115,121,109,98,111,108,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,6,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,14,0,0,0,12,0,0,0,5,0,0,0,6,0,0,0,30,0,0,0,76,0,0,0,5,0,0,0,32,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,6,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,14,0,0,0,12,0,0,0,5,0,0,0,6,0,0,0,30,0,0,0,76,0,0,0,6,0,0,0,32,0,0,0,62,0,0,0,1,255,255,255,7,0,0,0,8,0,0,0,126,0,0,0,0,255,255,255,7,0,0,0,253,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,6,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,14,0,0,0,11,0,0,0,5,0,0,0,6,0,0,0,30,0,0,0,75,0,0,0,6,0,0,0,32,0,0,0,62,0,0,0,0,0,0,0,6,0,0,0,254,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,6,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,14,0,0,0,11,0,0,0,5,0,0,0,6,0,0,0,30,0,0,0,0,0,0,0,6,0,0,0,254,255,255,255,62,0,0,0,75,0,0,0,7,0,0,0,32,0,0,0,254,0,0,0,0,255,255,255,8,0,0,0,8,0,0,0,254,0,0,0,255,254,255,255,8,0,0,0,253,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,16,0,0,0,2,0,0,0,8,0,0,0,2,0,0,0,16,1,0,0,3,0,0,0,16,0,0,0,6,0,0,0,16,1,1,0,3,0,0,0,32,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,66,97,100,32,100,101,108,116,97,45,104,101,105,103,104,116,32,118,97,108,117,101,32,105,110,32,74,66,73,71,50,32,115,121,109,98,111,108,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,0,84,111,111,32,109,97,110,121,32,115,121,109,98,111,108,115,32,105,110,32,74,66,73,71,50,32,115,121,109,98,111,108,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,3,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,5,0,0,0,254,255,255,255,4,0,0,0,0,0,0,0,12,0,0,0,2,0,0,0,4,0,0,0,0,0,0,0,13,0,0,0,252,255,255,255,5,0,0,0,1,0,0,0,28,0,0,0,3,0,0,0,5,0,0,0,1,0,0,0,29,0,0,0,248,255,255,255,6,0,0,0,2,0,0,0,60,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,61,0,0,0,232,255,255,255,7,0,0,0,4,0,0,0,124,0,0,0,9,0,0,0,7,0,0,0,4,0,0,0,125,0,0,0,231,255,255,255,7,0,0,0,253,255,255,255,126,0,0,0,25,0,0,0,7,0,0,0,32,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,73,110,118,97,108,105,100,32,115,121,109,98,111,108,32,73,68,32,105,110,32,74,66,73,71,50,32,115,121,109,98,111,108,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,0,0,2,0,0,0,7,0,0,0,0,0,0,0,128,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,0,1,0,0,3,0,0,0,8,0,0,0,3,0,0,0,0,252,255,255,4,0,0,0,9,0,0,0,8,0,0,0,0,254,255,255,4,0,0,0,8,0,0,0,9,0,0,0,0,255,255,255,4,0,0,0,7,0,0,0,10,0,0,0,224,255,255,255,4,0,0,0,5,0,0,0,11,0,0,0,0,2,0,0,4,0,0,0,9,0,0,0,12,0,0,0,0,4,0,0,4,0,0,0,10,0,0,0,13,0,0,0,0,248,255,255,5,0,0,0,10,0,0,0,28,0,0,0,128,255,255,255,5,0,0,0,6,0,0,0,29,0,0,0,192,255,255,255,5,0,0,0,5,0,0,0,30,0,0,0,255,247,255,255,6,0,0,0,253,255,255,255,62,0,0,0,0,8,0,0,6,0,0,0,32,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,254,255,255,255,1,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,255,255,255,255,4,0,0,0,0,0,0,0,10,0,0,0,22,0,0,0,4,0,0,0,4,0,0,0,11,0,0,0,38,0,0,0,4,0,0,0,5,0,0,0,12,0,0,0,2,0,0,0,5,0,0,0,0,0,0,0,26,0,0,0,70,0,0,0,5,0,0,0,6,0,0,0,27,0,0,0,134,0,0,0,5,0,0,0,7,0,0,0,28,0,0,0,3,0,0,0,6,0,0,0,0,0,0,0,58,0,0,0,20,0,0,0,6,0,0,0,1,0,0,0,59,0,0,0,6,1,0,0,6,0,0,0,7,0,0,0,60,0,0,0,134,2,0,0,6,0,0,0,10,0,0,0,61,0,0,0,254,255,255,255,7,0,0,0,0,0,0,0,124,0,0,0,134,1,0,0,7,0,0,0,8,0,0,0,125,0,0,0,241,255,255,255,8,0,0,0,3,0,0,0,252,0,0,0,251,255,255,255,8,0,0,0,1,0,0,0,253,0,0,0,249,255,255,255,9,0,0,0,1,0,0,0,252,1,0,0,253,255,255,255,9,0,0,0,0,0,0,0,253,1,0,0,240,255,255,255,9,0,0,0,253,255,255,255,254,1,0,0,134,6,0,0,9,0,0,0,32,0,0,0,255,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,12,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,13,0,0,0,7,0,0,0,5,0,0,0,1,0,0,0,28,0,0,0,9,0,0,0,5,0,0,0,2,0,0,0,29,0,0,0,13,0,0,0,6,0,0,0,2,0,0,0,60,0,0,0,17,0,0,0,7,0,0,0,2,0,0,0,122,0,0,0,21,0,0,0,7,0,0,0,3,0,0,0,123,0,0,0,29,0,0,0,7,0,0,0,4,0,0,0,124,0,0,0,45,0,0,0,7,0,0,0,5,0,0,0,125,0,0,0,77,0,0,0,7,0,0,0,6,0,0,0,126,0,0,0,141,0,0,0,7,0,0,0,32,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,84,111,111,32,109,97,110,121,32,101,120,112,111,114,116,101,100,32,115,121,109,98,111,108,115,32,105,110,32,74,66,73,71,50,32,115,121,109,98,111,108,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,84,111,111,32,102,101,119,32,115,121,109,98,111,108,115,32,105,110,32,74,66,73,71,50,32,115,121,109,98,111,108,32,100,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,77,105,115,115,105,110,103,32,99,111,100,101,32,116,97,98,108,101,32,105,110,32,74,66,73,71,50,32,115,121,109,98,111,108,32,100,105,99,116,105,111,110,97,114,121,0,0,0,73,110,118,97,108,105,100,32,115,101,103,109,101,110,116,32,114,101,102,101,114,101,110,99,101,32,105,110,32,74,66,73,71,50,32,116,101,120,116,32,114,101,103,105,111,110,0,0,0,254,255,255,3,0,0,0,8,0,0,0,0,0,0,0,0,1,0,0,3,0,0,0,8,0,0,0,1,0,0,0,0,2,0,0,3,0,0,0,9,0,0,0,2,0,0,0,0,4,0,0,3,0,0,0,10,0,0,0,3,0,0,0,0,252,255,255,4,0,0,0,9,0,0,0,8,0,0,0,0,255,255,255,4,0,0,0,7,0,0,0,9,0,0,0,224,255,255,255,4,0,0,0,5,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,11,0,0,0,128,0,0,0,4,0,0,0,7,0,0,0,12,0,0,0,128,255,255,255,5,0,0,0,6,0,0,0,26,0,0,0,192,255,255,255,5,0,0,0,5,0,0,0,27,0,0,0,32,0,0,0,5,0,0,0,5,0,0,0,28,0,0,0,64,0,0,0,5,0,0,0,6,0,0,0,29,0,0,0,255,251,255,255,5,0,0,0,253,255,255,255,30,0,0,0,0,8,0,0,5,0,0,0,32,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,254,255,255,255,0,0,0,0,255,255,255,255,3,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,253,255,255,255,4,0,0,0,1,0,0,0,10,0,0,0,43,0,0,0,4,0,0,0,5,0,0,0,11,0,0,0,75,0,0,0,4,0,0,0,6,0,0,0,12,0,0,0,3,0,0,0,5,0,0,0,1,0,0,0,26,0,0,0,139,0,0,0,5,0,0,0,7,0,0,0,27,0,0,0,11,1,0,0,5,0,0,0,8,0,0,0,28,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,58,0,0,0,39,0,0,0,6,0,0,0,2,0,0,0,59,0,0,0,11,2,0,0,6,0,0,0,8,0,0,0,60,0,0,0,11,5,0,0,6,0,0,0,11,0,0,0,61,0,0,0,251,255,255,255,7,0,0,0,1,0,0,0,124,0,0,0,11,3,0,0,7,0,0,0,9,0,0,0,125,0,0,0,225,255,255,255,8,0,0,0,4,0,0,0,252,0,0,0,245,255,255,255,8,0,0,0,2,0,0,0,253,0,0,0,241,255,255,255,9,0,0,0,2,0,0,0,252,1,0,0,249,255,255,255,9,0,0,0,1,0,0,0,253,1,0,0,224,255,255,255,9,0,0,0,253,255,255,255,254,1,0,0,11,13,0,0,9,0,0,0,32,0,0,0,255,1,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,254,255,255,255,2,0,0,0,2,0,0,0,0,0,0,0,6,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,254,255,255,255,2,0,0,0,253,255,255,255,5,0,0,0,0,0,0,0,24,0,0,0,2,0,0,0,5,0,0,0,0,0,0,0,25,0,0,0,70,0,0,0,5,0,0,0,5,0,0,0,26,0,0,0,3,0,0,0,6,0,0,0,0,0,0,0,54,0,0,0,102,0,0,0,6,0,0,0,5,0,0,0,55,0,0,0,134,0,0,0,6,0,0,0,6,0,0,0,56,0,0,0,198,0,0,0,6,0,0,0,7,0,0,0,57,0,0,0,70,1,0,0,6,0,0,0,8,0,0,0,58,0,0,0,70,2,0,0,6,0,0,0,9,0,0,0,59,0,0,0,70,4,0,0,6,0,0,0,10,0,0,0,60,0,0,0,235,255,255,255,7,0,0,0,4,0,0,0,122,0,0,0,252,255,255,255,7,0,0,0,0,0,0,0,123,0,0,0,4,0,0,0,7,0,0,0,0,0,0,0,124,0,0,0,70,8,0,0,7,0,0,0,11,0,0,0,125,0,0,0,251,255,255,255,8,0,0,0,0,0,0,0,252,0,0,0,5,0,0,0,8,0,0,0,0,0,0,0,253,0,0,0,234,255,255,255,8,0,0,0,253,255,255,255,254,0,0,0,70,16,0,0,8,0,0,0,32,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,1,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,28,0,0,0,6,0,0,0,5,0,0,0,1,0,0,0,29,0,0,0,8,0,0,0,6,0,0,0,1,0,0,0,60,0,0,0,10,0,0,0,7,0,0,0,0,0,0,0,122,0,0,0,11,0,0,0,7,0,0,0,1,0,0,0,123,0,0,0,13,0,0,0,7,0,0,0,2,0,0,0,124,0,0,0,17,0,0,0,7,0,0,0,3,0,0,0,125,0,0,0,25,0,0,0,7,0,0,0,4,0,0,0,126,0,0,0,41,0,0,0,8,0,0,0,5,0,0,0,254,0,0,0,73,0,0,0,8,0,0,0,32,0,0,0,255,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,7,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,12,0,0,0,5,0,0,0,4,0,0,0,1,0,0,0,13,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,28,0,0,0,15,0,0,0,6,0,0,0,1,0,0,0,58,0,0,0,17,0,0,0,6,0,0,0,2,0,0,0,59,0,0,0,21,0,0,0,6,0,0,0,3,0,0,0,60,0,0,0,29,0,0,0,6,0,0,0,4,0,0,0,61,0,0,0,45,0,0,0,6,0,0,0,5,0,0,0,62,0,0,0,77,0,0,0,7,0,0,0,6,0,0,0,126,0,0,0,141,0,0,0,7,0,0,0,32,0,0,0,127,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,254,255,255,255,3,0,0,0,0,0,0,0,4,0,0,0,255,255,255,255,3,0,0,0,0,0,0,0,5,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,6,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,77,105,115,115,105,110,103,32,99,111,100,101,32,116,97,98,108,101,32,105,110,32,74,66,73,71,50,32,116,101,120,116,32,114,101,103,105,111,110,0,73,110,118,97,108,105,100,32,115,121,109,98,111,108,32,110,117,109,98,101,114,32,105,110,32,74,66,73,71,50,32,116,101,120,116,32,114,101,103,105,111,110,0,0,0,0,0,0,66,97,100,32,98,105,116,109,97,112,32,115,105,122,101,32,105,110,32,74,66,73,71,50,32,104,97,108,102,116,111,110,101,32,115,101,103,109,101,110,116,0,0,0,0,0,0,0,66,97,100,32,103,114,105,100,32,115,105,122,101,32,105,110,32,74,66,73,71,50,32,104,97,108,102,116,111,110,101,32,115,101,103,109,101,110,116,0,66,97,100,32,115,121,109,98,111,108,32,100,105,99,116,105,111,110,97,114,121,32,114,101,102,101,114,101,110,99,101,32,105,110,32,74,66,73,71,50,32,104,97,108,102,116,111,110,101,32,115,101,103,109,101,110,116,0,0,0,0,0,0,0,66,97,100,32,119,105,100,116,104,32,105,110,32,74,66,73,71,50,32,103,101,110,101,114,105,99,32,98,105,116,109,97,112,0,0,0,0,0,0,0,73,108,108,101,103,97,108,32,99,111,100,101,32,105,110,32,74,66,73,71,50,32,77,77,82,32,98,105,116,109,97,112,32,100,97,116,97,0,0,0,77,105,115,115,105,110,103,32,69,79,70,66,32,105,110,32,74,66,73,71,50,32,77,77,82,32,98,105,116,109,97,112,32,100,97,116,97,0,0,0,66,97,100,32,114,101,102,101,114,101,110,99,101,32,105,110,32,74,66,73,71,50,32,103,101,110,101,114,105,99,32,114,101,102,105,110,101,109,101,110,116,32,115,101,103,109,101,110,116,0,0,0,0,0,0,0,66,97,100,32,98,105,116,109,97,112,32,114,101,102,101,114,101,110,99,101,32,105,110,32,74,66,73,71,50,32,103,101,110,101,114,105,99,32,114,101,102,105,110,101,109,101,110,116,32,115,101,103,109,101,110,116,0,0,0,0,0,0,0,0,114,101,97,100,71,101,110,101,114,105,99,82,101,102,105,110,101,109,101,110,116,82,101,103,105,111,110,83,101,103,32,119,105,116,104,32,110,117,108,108,32,98,105,116,109,97,112,0,16,0,0,0,13,0,0,0,10,0,0,0,10,0,0,0,13,0,0,0,10,0,0,0,49,49,74,66,73,71,50,66,105,116,109,97,112,0,0,0,49,50,74,66,73,71,50,83,101,103,109,101,110,116,0,0,88,113,4,0,216,200,2,0,128,113,4,0,200,200,2,0,232,200,2,0,0,0,0,0,49,53,74,66,73,71,50,83,121,109,98,111,108,68,105,99,116,0,0,0,0,0,0,0,128,113,4,0,0,201,2,0,232,200,2,0,0,0,0,0,49,54,74,66,73,71,50,80,97,116,116,101,114,110,68,105,99,116,0,0,0,0,0,0,128,113,4,0,40,201,2,0,232,200,2,0,0,0,0,0,49,52,74,66,73,71,50,67,111,100,101,84,97,98,108,101,0,0,0,0,0,0,0,0,128,113,4,0,80,201,2,0,232,200,2,0,0,0,0,0,49,49,74,66,73,71,50,83,116,114,101,97,109,0,0,0,128,113,4,0,120,201,2,0,200,188,0,0,0,0,0,0,74,66,73,71,50,32,77,77,82,32,114,111,119,32,105,115,32,119,114,111,110,103,32,108,101,110,103,116,104,32,40,37,100,41,0,0,0,0,0,0,73,110,118,97,108,105,100,32,74,66,73,71,50,32,77,77,82,32,99,111,100,101,0,0,0,0,0,0,0,211,2,0,211,0,0,0,212,0,0,0,168,0,0,0,213,0,0,0,214,0,0,0,169,0,0,0,170,0,0,0,25,0,0,0,12,0,0,0,34,0,0,0,24,0,0,0,7,0,0,0,35,0,0,0,14,0,0,0,21,0,0,0,20,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,29,0,0,0,134,0,0,0,39,0,0,0,31,0,0,0,9,0,0,0,78,97,107,101,100,32,74,80,69,71,32,50,48,48,48,32,99,111,100,101,115,116,114,101,97,109,44,32,109,105,115,115,105,110,103,32,74,80,50,47,74,80,88,32,119,114,97,112,112,101,114,0,0,0,0,0,85,110,101,120,112,101,99,116,101,100,32,69,79,70,32,105,110,32,74,80,88,32,115,116,114,101,97,109,0,0,0,0,85,110,107,110,111,119,110,32,99,111,109,112,114,101,115,115,105,111,110,32,116,121,112,101,32,105,110,32,74,80,88,32,115,116,114,101,97,109,0,0,70,111,117,110,100,32,98,105,116,115,32,112,101,114,32,99,111,109,112,111,110,101,110,116,32,98,111,120,32,98,101,102,111,114,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,32,105,110,32,74,80,88,32,115,116,114,101,97,109,0,0,0,0,0,0,73,110,118,97,108,105,100,32,98,105,116,115,32,112,101,114,32,99,111,109,112,111,110,101,110,116,32,98,111,120,32,105,110,32,74,80,88,32,115,116,114,101,97,109,0,0,0,0,74,80,88,32,115,116,114,101,97,109,32,105,115,32,109,105,115,115,105,110,103,32,116,104,101,32,105,109,97,103,101,32,104,101,97,100,101,114,32,98,111,120,0,0,0,0,0,0,74,80,88,32,115,116,114,101,97,109,32,104,97,115,32,110,111,32,115,117,112,112,111,114,116,101,100,32,99,111,108,111,114,32,115,112,101,99,0,0,69,114,114,111,114,32,105,110,32,74,80,88,32,99,111,108,111,114,32,115,112,101,99,0,69,114,114,111,114,32,105,110,32,74,80,88,32,99,111,100,101,115,116,114,101,97,109,0,69,114,114,111,114,32,105,110,32,74,80,88,32,83,73,90,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,68,105,102,102,101,114,101,110,116,32,110,117,109,98,101,114,32,111,102,32,99,111,109,112,111,110,101,110,116,115,32,105,110,32,74,80,88,32,83,73,90,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,0,0,0,0,0,0,0,66,97,100,32,116,105,108,101,32,99,111,117,110,116,32,105,110,32,74,80,88,32,83,73,90,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,0,0,0,0,0,0,0,69,114,114,111,114,32,105,110,32,74,80,88,32,67,79,68,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,74,80,88,32,67,79,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,98,101,102,111,114,101,32,67,79,68,32,115,101,103,109,101,110,116,0,0,0,0,0,0,0,69,114,114,111,114,32,105,110,32,74,80,88,32,67,79,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,69,114,114,111,114,32,105,110,32,74,80,88,32,81,67,68,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,74,80,88,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,98,101,102,111,114,101,32,81,67,68,32,115,101,103,109,101,110,116,0,0,0,0,0,0,0,69,114,114,111,114,32,105,110,32,74,80,88,32,81,67,67,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,82,71,78,10,0,0,0,0,69,114,114,111,114,32,105,110,32,74,80,88,32,80,80,77,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,80,79,67,10,0,0,0,0,80,80,77,10,0,0,0,0,69,114,114,111,114,32,105,110,32,74,80,88,32,84,76,77,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,69,114,114,111,114,32,105,110,32,74,80,88,32,80,76,77,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,69,114,114,111,114,32,105,110,32,74,80,88,32,67,82,71,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,69,114,114,111,114,32,105,110,32,74,80,88,32,67,79,77,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,37,48,50,120,32,105,110,32,74,80,88,32,115,116,114,101,97,109,0,0,0,0,0,0,0,77,105,115,115,105,110,103,32,83,73,90,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,105,110,32,74,80,88,32,115,116,114,101,97,109,0,0,0,0,0,0,0,0,77,105,115,115,105,110,103,32,67,79,68,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,105,110,32,74,80,88,32,115,116,114,101,97,109,0,0,0,0,0,0,0,0,77,105,115,115,105,110,103,32,81,67,68,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,105,110,32,74,80,88,32,115,116,114,101,97,109,0,0,0,0,0,0,0,0,77,105,115,115,105,110,103,32,69,79,67,32,109,97,114,107,101,114,32,105,110,32,74,80,88,32,99,111,100,101,115,116,114,101,97,109,0,0,0,0,69,114,114,111,114,32,105,110,32,74,80,88,32,83,79,84,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,87,101,105,114,100,32,116,105,108,101,32,105,110,100,101,120,32,105,110,32,74,80,88,32,115,116,114,101,97,109,0,0,69,114,114,111,114,32,105,110,32,74,80,88,32,116,105,108,101,45,112,97,114,116,32,99,111,100,101,115,116,114,101,97,109,0,0,0,0,0,0,0,80,80,84,10,0,0,0,0,69,114,114,111,114,32,105,110,32,74,80,88,32,80,80,84,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,69,114,114,111,114,32,105,110,32,74,80,88,32,80,76,84,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,0,85,110,107,110,111,119,110,32,109,97,114,107,101,114,32,115,101,103,109,101,110,116,32,37,48,50,120,32,105,110,32,74,80,88,32,116,105,108,101,45,112,97,114,116,32,115,116,114,101,97,109,0,0,0,0,0,69,114,114,111,114,32,105,110,32,74,80,88,32,115,116,114,101,97,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,5,0,0,0,3,0,0,0,1,0,0,0,6,0,0,0,3,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,6,0,0,0,3,0,0,0,8,0,0,0,6,0,0,0,3,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,2,0,0,0,8,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,4], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+174176);
/* memory initializer */ allocate([7,0,0,0,8,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,5,0,0,0,1,0,0,0,3,0,0,0,6,0,0,0,4,0,0,0,3,0,0,0,6,0,0,0,7,0,0,0,3,0,0,0,6,0,0,0,8,0,0,0,3,0,0,0,6,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,2,0,0,0,7,0,0,0,7,0,0,0,5,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,7,0,0,0,5,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,4,0,0,0,8,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,8,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,2,0,0,0,7,0,0,0,8,0,0,0,5,0,0,0,7,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,2,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,13,0,0,0,1,0,0,0,13,0,0,0,1,0,0,0,12,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,13,0,0,0,1,0,0,0,13,0,0,0,1,0,0,0,12,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,11,0,0,0,1,0,0,0,10,0,0,0,1,0,0,0,10,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,74,80,88,32,115,116,114,101,97,109,32,99,111,110,116,97,105,110,115,32,97,32,98,111,120,32,108,97,114,103,101,114,32,116,104,97,110,32,50,94,51,50,32,98,121,116,101,115,0,0,0,0,0,0,0,0,57,74,80,88,83,116,114,101,97,109,0,0,0,0,0,0,128,113,4,0,240,210,2,0,200,188,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,97,100,108,121,32,102,111,114,109,97,116,116,101,100,32,110,117,109,98,101,114,0,0,85,110,116,101,114,109,105,110,97,116,101,100,32,115,116,114,105,110,103,0,0,0,0,0,73,108,108,101,103,97,108,32,100,105,103,105,116,32,105,110,32,104,101,120,32,99,104,97,114,32,105,110,32,110,97,109,101,0,0,0,0,0,0,0,87,97,114,110,105,110,103,58,32,110,97,109,101,32,116,111,107,101,110,32,105,115,32,108,111,110,103,101,114,32,116,104,97,110,32,119,104,97,116,32,116,104,101,32,115,112,101,99,105,102,105,99,97,116,105,111,110,32,115,97,121,115,32,105,116,32,99,97,110,32,98,101,0,0,0,0,0,0,0,0,78,97,109,101,32,116,111,107,101,110,32,116,111,111,32,108,111,110,103,0,0,0,0,0,85,110,116,101,114,109,105,110,97,116,101,100,32,104,101,120,32,115,116,114,105,110,103,0,73,108,108,101,103,97,108,32,99,104,97,114,97,99,116,101,114,32,60,37,48,50,120,62,32,105,110,32,104,101,120,32,115,116,114,105,110,103,0,0,73,108,108,101,103,97,108,32,99,104,97,114,97,99,116,101,114,32,39,62,39,0,0,0,73,108,108,101,103,97,108,32,99,104,97,114,97,99,116,101,114,32,39,37,99,39,0,0,67,111,109,109,97,110,100,32,116,111,107,101,110,32,116,111,111,32,108,111,110,103,0,0,116,114,117,101,0,0,0,0,102,97,108,115,101,0,0,0,110,117,108,108,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,111,98,106,0,0,0,0,0,76,105,110,101,97,114,105,122,101,100,0,0,0,0,0,0,76,0,0,0,0,0,0,0,76,101,110,103,116,104,32,105,110,32,108,105,110,101,97,114,105,122,97,116,105,111,110,32,116,97,98,108,101,32,105,115,32,105,110,118,97,108,105,100,0,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,72,105,110,116,115,32,116,97,98,108,101,32,111,102,102,115,101,116,32,105,110,32,108,105,110,101,97,114,105,122,97,116,105,111,110,32,116,97,98,108,101,32,105,115,32,105,110,118,97,108,105,100,0,0,0,0,72,105,110,116,115,32,116,97,98,108,101,32,108,101,110,103,116,104,32,105,110,32,108,105,110,101,97,114,105,122,97,116,105,111,110,32,116,97,98,108,101,32,105,115,32,105,110,118,97,108,105,100,0,0,0,0,83,101,99,111,110,100,32,104,105,110,116,115,32,116,97,98,108,101,32,111,102,102,115,101,116,32,105,110,32,108,105,110,101,97,114,105,122,97,116,105,111,110,32,116,97,98,108,101,32,105,115,32,105,110,118,97,108,105,100,0,0,0,0,0,83,101,99,111,110,100,32,104,105,110,116,115,32,116,97,98,108,101,32,108,101,110,103,116,104,32,105,110,32,108,105,110,101,97,114,105,122,97,116,105,111,110,32,116,97,98,108,101,32,105,115,32,105,110,118,97,108,105,100,0,0,0,0,0,79,0,0,0,0,0,0,0,79,98,106,101,99,116,32,110,117,109,98,101,114,32,111,102,32,102,105,114,115,116,32,112,97,103,101,32,105,110,32,108,105,110,101,97,114,105,122,97,116,105,111,110,32,116,97,98,108,101,32,105,115,32,105,110,118,97,108,105,100,0,0,0,69,0,0,0,0,0,0,0,70,105,114,115,116,32,112,97,103,101,32,101,110,100,32,111,102,102,115,101,116,32,105,110,32,108,105,110,101,97,114,105,122,97,116,105,111,110,32,116,97,98,108,101,32,105,115,32,105,110,118,97,108,105,100,0,78,0,0,0,0,0,0,0,80,97,103,101,32,99,111,117,110,116,32,105,110,32,108,105,110,101,97,114,105,122,97,116,105,111,110,32,116,97,98,108,101,32,105,115,32,105,110,118,97,108,105,100,0,0,0,0,84,0,0,0,0,0,0,0,77,97,105,110,32,88,114,101,102,32,111,102,102,115,101,116,32,105,110,32,108,105,110,101,97,114,105,122,97,116,105,111,110,32,116,97,98,108,101,32,105,115,32,105,110,118,97,108,105,100,0,0,0,0,0,0,80,0,0,0,0,0,0,0,70,105,114,115,116,32,112,97,103,101,32,105,110,32,108,105,110,101,97,114,105,122,97,116,105,111,110,32,116,97,98,108,101,32,105,115,32,105,110,118,97,108,105,100,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,112,97,114,115,101,65,99,116,105,111,110,58,32,66,97,100,32,97,110,110,111,116,97,116,105,111,110,32,97,99,116,105,111,110,32,102,111,114,32,85,82,73,32,39,37,115,39,0,78,85,76,76,0,0,0,0,83,0,0,0,0,0,0,0,71,111,84,111,0,0,0,0,68,0,0,0,0,0,0,0,71,111,84,111,82,0,0,0,70,0,0,0,0,0,0,0,76,97,117,110,99,104,0,0,85,82,73,0,0,0,0,0,78,97,109,101,100,0,0,0,78,0,0,0,0,0,0,0,77,111,118,105,101,0,0,0,82,101,110,100,105,116,105,111,110,0,0,0,0,0,0,0,83,111,117,110,100,0,0,0,74,97,118,97,83,99,114,105,112,116,0,0,0,0,0,0,74,83,0,0,0,0,0,0,83,101,116,79,67,71,83,116,97,116,101,0,0,0,0,0,112,97,114,115,101,65,99,116,105,111,110,58,32,85,110,107,110,111,119,110,32,97,110,110,111,116,97,116,105,111,110,32,97,99,116,105,111,110,32,111,98,106,101,99,116,58,32,85,82,73,32,61,32,39,37,115,39,0,0,0,0,0,0,0,65,110,110,111,116,97,116,105,111,110,32,100,101,115,116,105,110,97,116,105,111,110,32,97,114,114,97,121,32,105,115,32,116,111,111,32,115,104,111,114,116,0,0,0,0,0,0,0,66,97,100,32,97,110,110,111,116,97,116,105,111,110,32,100,101,115,116,105,110,97,116,105,111,110,0,0,0,0,0,0,88,89,90,0,0,0,0,0,66,97,100,32,97,110,110,111,116,97,116,105,111,110,32,100,101,115,116,105,110,97,116,105,111,110,32,112,111,115,105,116,105,111,110,0,0,0,0,0,70,105,116,0,0,0,0,0,70,105,116,72,0,0,0,0,70,105,116,86,0,0,0,0,70,105,116,82,0,0,0,0,70,105,116,66,0,0,0,0,70,105,116,66,72,0,0,0,70,105,116,66,86,0,0,0,85,110,107,110,111,119,110,32,97,110,110,111,116,97,116,105,111,110,32,100,101,115,116,105,110,97,116,105,111,110,32,116,121,112,101,0,0,0,0,0,0,0,0,0,200,222,2,0,215,0,0,0,216,0,0,0,171,0,0,0,172,0,0,0,73,108,108,101,103,97,108,32,97,110,110,111,116,97,116,105,111,110,32,100,101,115,116,105,110,97,116,105,111,110,0,0,0,0,0,0,232,222,2,0,217,0,0,0,218,0,0,0,173,0,0,0,174,0,0,0,0,0,0,0,8,223,2,0,219,0,0,0,220,0,0,0,175,0,0,0,176,0,0,0,85,110,105,120,0,0,0,0,80,0,0,0,0,0,0,0,66,97,100,32,108,97,117,110,99,104,45,116,121,112,101,32,108,105,110,107,32,97,99,116,105,111,110,0,0,0,0,0,0,0,0,0,40,223,2,0,221,0,0,0,222,0,0,0,177,0,0,0,178,0,0,0,47,58,0,0,0,0,0,0,73,108,108,101,103,97,108,32,85,82,73,45,116,121,112,101,32,108,105,110,107,0,0,0,0,0,0,0,72,223,2,0,223,0,0,0,224,0,0,0,179,0,0,0,180,0,0,0,0,0,0,0,104,223,2,0,225,0,0,0,226,0,0,0,181,0,0,0,182,0,0,0,65,110,110,111,116,97,116,105,111,110,0,0,0,0,0,0,84,0,0,0,0,0,0,0,77,111,118,105,101,32,97,99,116,105,111,110,32,105,115,32,109,105,115,115,105,110,103,32,98,111,116,104,32,116,104,101,32,65,110,110,111,116,32,97,110,100,32,84,32,107,101,121,115,0,0,0,0,0,0,0,79,112,101,114,97,116,105,111,110,0,0,0,0,0,0,0,80,108,97,121,0,0,0,0,83,116,111,112,0,0,0,0,80,97,117,115,101,0,0,0,82,101,115,117,109,101,0,0,0,0,0,0,168,223,2,0,227,0,0,0,228,0,0,0,183,0,0,0,184,0,0,0,86,111,108,117,109,101,0,0,83,121,110,99,104,114,111,110,111,117,115,0,0,0,0,0,82,101,112,101,97,116,0,0,77,105,120,0,0,0,0,0,0,0,0,0,136,223,2,0,229,0,0,0,230,0,0,0,185,0,0,0,186,0,0,0,73,110,118,97,108,105,100,32,82,101,110,100,105,116,105,111,110,32,65,99,116,105,111,110,58,32,74,83,32,110,111,116,32,115,116,114,105,110,103,32,111,114,32,115,116,114,101,97,109,0,0,0,0,0,0,0,79,80,0,0,0,0,0,0,73,110,118,97,108,105,100,32,82,101,110,100,105,116,105,111,110,32,65,99,116,105,111,110,58,32,117,110,114,101,99,111,103,110,105,122,101,100,32,111,112,101,114,97,116,105,111,110,32,118,97,108,117,101,100,58,32,37,100,0,0,0,0,0,82,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,82,101,110,100,105,116,105,111,110,32,65,99,116,105,111,110,58,32,110,111,32,82,32,102,105,101,108,100,32,119,105,116,104,32,111,112,32,61,32,37,100,0,0,0,0,0,0,0,65,78,0,0,0,0,0,0,73,110,118,97,108,105,100,32,82,101,110,100,105,116,105,111,110,32,65,99,116,105,111,110,58,32,110,111,32,65,78,32,102,105,101,108,100,32,119,105,116,104,32,111,112,32,61,32,37,100,0,0,0,0,0,0,73,110,118,97,108,105,100,32,82,101,110,100,105,116,105,111,110,32,97,99,116,105,111,110,58,32,110,111,32,79,80,32,111,114,32,74,83,32,102,105,101,108,100,32,100,101,102,105,110,101,100,0,0,0,0,0,0,0,0,0,208,223,2,0,231,0,0,0,232,0,0,0,187,0,0,0,188,0,0,0,0,0,0,0,240,223,2,0,233,0,0,0,234,0,0,0,189,0,0,0,190,0,0,0,83,116,97,116,101,0,0,0,79,78,0,0,0,0,0,0,79,70,70,0,0,0,0,0,84,111,103,103,108,101,0,0,73,110,118,97,108,105,100,32,110,97,109,101,32,39,37,115,39,32,105,110,32,79,67,71,32,65,99,116,105,111,110,32,115,116,97,116,101,32,97,114,114,97,121,0,0,0,0,0,73,110,118,97,108,105,100,32,79,67,71,32,65,99,116,105,111,110,32,83,116,97,116,101,32,97,114,114,97,121,44,32,101,120,112,101,99,116,101,100,32,110,97,109,101,32,105,110,115,116,101,97,100,32,111,102,32,114,101,102,0,0,0,0,73,110,118,97,108,105,100,32,105,116,101,109,32,105,110,32,79,67,71,32,65,99,116,105,111,110,32,83,116,97,116,101,32,97,114,114,97,121,0,0,73,110,118,97,108,105,100,32,79,67,71,83,116,97,116,101,32,97,99,116,105,111,110,0,80,114,101,115,101,114,118,101,82,66,0,0,0,0,0,0,0,0,0,0,16,224,2,0,235,0,0,0,236,0,0,0,191,0,0,0,192,0,0,0,56,76,105,110,107,71,111,84,111,0,0,0,0,0,0,0,49,48,76,105,110,107,65,99,116,105,111,110,0,0,0,0,88,113,4,0,176,222,2,0,128,113,4,0,160,222,2,0,192,222,2,0,0,0,0,0,57,76,105,110,107,71,111,84,111,82,0,0,0,0,0,0,128,113,4,0,216,222,2,0,192,222,2,0,0,0,0,0,49,48,76,105,110,107,76,97,117,110,99,104,0,0,0,0,128,113,4,0,248,222,2,0,192,222,2,0,0,0,0,0,55,76,105,110,107,85,82,73,0,0,0,0,0,0,0,0,128,113,4,0,24,223,2,0,192,222,2,0,0,0,0,0,57,76,105,110,107,78,97,109,101,100,0,0,0,0,0,0,128,113,4,0,56,223,2,0,192,222,2,0,0,0,0,0,57,76,105,110,107,77,111,118,105,101,0,0,0,0,0,0,128,113,4,0,88,223,2,0,192,222,2,0,0,0,0,0,49,51,76,105,110,107,82,101,110,100,105,116,105,111,110,0,128,113,4,0,120,223,2,0,192,222,2,0,0,0,0,0,57,76,105,110,107,83,111,117,110,100,0,0,0,0,0,0,128,113,4,0,152,223,2,0,192,222,2,0,0,0,0,0,49,52,76,105,110,107,74,97,118,97,83,99,114,105,112,116,0,0,0,0,0,0,0,0,128,113,4,0,184,223,2,0,192,222,2,0,0,0,0,0,49,50,76,105,110,107,79,67,71,83,116,97,116,101,0,0,128,113,4,0,224,223,2,0,192,222,2,0,0,0,0,0,49,49,76,105,110,107,85,110,107,110,111,119,110,0,0,0,128,113,4,0,0,224,2,0,192,222,2,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,32,111,114,32,37,100,0,0,0,0,0,102,105,108,101,58,47,47,0,58,47,47,0,0,0,0,0,0,0,0,0,248,224,2,0,237,0,0,0,238,0,0,0,6,0,0,0,21,0,0,0,49,56,76,111,99,97,108,80,68,70,68,111,99,66,117,105,108,100,101,114,0,0,0,0,128,113,4,0,224,224,2,0,224,140,0,0,0,0,0,0,83,116,97,114,116,0,0,0,68,117,114,97,116,105,111,110,0,0,0,0,0,0,0,0,82,97,116,101,0,0,0,0,86,111,108,117,109,101,0,0,83,104,111,119,67,111,110,116,114,111,108,115,0,0,0,0,83,121,110,99,104,114,111,110,111,117,115,0,0,0,0,0,77,111,100,101,0,0,0,0,79,110,99,101,0,0,0,0,79,112,101,110,0,0,0,0,82,101,112,101,97,116,0,0,80,97,108,105,110,100,114,111,109,101,0,0,0,0,0,0,70,87,83,99,97,108,101,0,70,87,80,111,115,105,116,105,111,110,0,0,0,0,0,0,70,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,77,111,118,105,101,0,0,0,65,115,112,101,99,116,0,0,82,111,116,97,116,101,0,0,80,111,115,116,101,114,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,32,111,114,32,37,100,0,0,0,0,0,79,67,71,115,0,0,0,0,69,120,112,101,99,116,101,100,32,116,104,101,32,111,112,116,105,111,110,97,108,32,99,111,110,116,101,110,116,32,103,114,111,117,112,32,108,105,115,116,44,32,98,117,116,32,119,97,115,110,39,116,32,97,98,108,101,32,116,111,32,102,105,110,100,32,105,116,44,32,111,114,32,105,116,32,105,115,110,39,116,32,97,110,32,65,114,114,97,121,0,0,0,0,0,0,68,0,0,0,0,0,0,0,69,120,112,101,99,116,101,100,32,116,104,101,32,100,101,102,97,117,108,116,32,99,111,110,102,105,103,44,32,98,117,116,32,119,97,115,110,39,116,32,97,98,108,101,32,116,111,32,102,105,110,100,32,105,116,44,32,111,114,32,105,116,32,105,115,110,39,116,32,97,32,68,105,99,116,105,111,110,97,114,121,0,0,0,0,0,0,0,66,97,115,101,83,116,97,116,101,0,0,0,0,0,0,0,79,70,70,0,0,0,0,0,79,78,0,0,0,0,0,0,67,111,117,108,100,110,39,116,32,102,105,110,100,32,103,114,111,117,112,32,102,111,114,32,114,101,102,101,114,101,110,99,101,0,0,0,0,0,0,0,67,111,117,108,100,110,39,116,32,102,105,110,100,32,103,114,111,117,112,32,102,111,114,32,114,101,102,101,114,101,110,99,101,32,116,111,32,115,101,116,32,79,70,70,0,0,0,0,79,114,100,101,114,0,0,0,82,66,71,114,111,117,112,115,0,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,102,105,110,100,32,97,32,79,67,71,32,119,105,116,104,32,82,101,102,32,40,37,100,58,37,100,41,0,0,0,85,110,101,120,112,101,99,116,101,100,32,111,99,32,114,101,102,101,114,101,110,99,101,32,116,97,114,103,101,116,58,32,37,105,0,0,0,0,0,0,84,121,112,101,0,0,0,0,79,67,77,68,0,0,0,0,80,0,0,0,0,0,0,0,65,108,108,79,110,0,0,0,65,108,108,79,102,102,0,0,65,110,121,79,102,102,0,0,65,110,121,79,110,0,0,0,79,67,71,0,0,0,0,0,78,97,109,101,0,0,0,0,69,120,112,101,99,116,101,100,32,116,104,101,32,110,97,109,101,32,111,102,32,116,104,101,32,79,67,71,44,32,98,117,116,32,119,97,115,110,39,116,32,97,98,108,101,32,116,111,32,102,105,110,100,32,105,116,44,32,111,114,32,105,116,32,105,115,110,39,116,32,97,32,83,116,114,105,110,103,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,57,79,117,116,112,117,116,68,101,118,0,0,0,0,0,0,88,113,4,0,232,228,2,0,0,0,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,9,0,0,0,10,0,0,0,253,255,0,0,12,0,0,0,13,0,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,216,2,0,0,199,2,0,0,198,2,0,0,217,2,0,0,221,2,0,0,219,2,0,0,218,2,0,0,220,2,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,253,255,0,0,34,32,0,0,32,32,0,0,33,32,0,0,38,32,0,0,20,32,0,0,19,32,0,0,146,1,0,0,68,32,0,0,57,32,0,0,58,32,0,0,18,34,0,0,48,32,0,0,30,32,0,0,28,32,0,0,29,32,0,0,24,32,0,0,25,32,0,0,26,32,0,0,34,33,0,0,1,251,0,0,2,251,0,0,65,1,0,0,82,1,0,0,96,1,0,0,120,1,0,0,125,1,0,0,49,1,0,0,66,1,0,0,83,1,0,0,97,1,0,0,126,1,0,0,253,255,0,0,172,32,0,0,161,0,0,0,162,0,0,0,163,0,0,0,164,0,0,0,165,0,0,0,166,0,0,0,167,0,0,0,168,0,0,0,169,0,0,0,170,0,0,0,171,0,0,0,172,0,0,0,253,255,0,0,174,0,0,0,175,0,0,0,176,0,0,0,177,0,0,0,178,0,0,0,179,0,0,0,180,0,0,0,181,0,0,0,182,0,0,0,183,0,0,0,184,0,0,0,185,0,0,0,186,0,0,0,187,0,0,0,188,0,0,0,189,0,0,0,190,0,0,0,191,0,0,0,192,0,0,0,193,0,0,0,194,0,0,0,195,0,0,0,196,0,0,0,197,0,0,0,198,0,0,0,199,0,0,0,200,0,0,0,201,0,0,0,202,0,0,0,203,0,0,0,204,0,0,0,205,0,0,0,206,0,0,0,207,0,0,0,208,0,0,0,209,0,0,0,210,0,0,0,211,0,0,0,212,0,0,0,213,0,0,0,214,0,0,0,215,0,0,0,216,0,0,0,217,0,0,0,218,0,0,0,219,0,0,0,220,0,0,0,221,0,0,0,222,0,0,0,223,0,0,0,224,0,0,0,225,0,0,0,226,0,0,0,227,0,0,0,228,0,0,0,229,0,0,0,230,0,0,0,231,0,0,0,232,0,0,0,233,0,0,0,234,0,0,0,235,0,0,0,236,0,0,0,237,0,0,0,238,0,0,0,239,0,0,0,240,0,0,0,241,0,0,0,242,0,0,0,243,0,0,0,244,0,0,0,245,0,0,0,246,0,0,0,247,0,0,0,248,0,0,0,249,0,0,0,250,0,0,0,251,0,0,0,252,0,0,0,253,0,0,0,254,0,0,0,255,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,2,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,0,0,0,0,0,0,0,93,0,0,0,0,0,0,0,69,110,100,32,111,102,32,102,105,108,101,32,105,110,115,105,100,101,32,97,114,114,97,121,0,0,0,0,0,0,0,0,60,60,0,0,0,0,0,0,62,62,0,0,0,0,0,0,68,105,99,116,105,111,110,97,114,121,32,107,101,121,32,109,117,115,116,32,98,101,32,97,32,110,97,109,101,32,111,98,106,101,99,116,0,0,0,0,69,110,100,32,111,102,32,102,105,108,101,32,105,110,115,105,100,101,32,100,105,99,116,105,111,110,97,114,121,0,0,0,115,116,114,101,97,109,0,0,82,0,0,0,0,0,0,0,76,101,110,103,116,104,0,0,66,97,100,32,39,76,101,110,103,116,104,39,32,97,116,116,114,105,98,117,116,101,32,105,110,32,115,116,114,101,97,109,0,0,0,0,0,0,0,0,101,110,100,115,116,114,101,97,109,0,0,0,0,0,0,0,77,105,115,115,105,110,103,32,39,101,110,100,115,116,114,101,97,109,39,0,0,0,0,0,73,68,0,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,49,53,80,111,112,112,108,101,114,67,97,99,104,101,75,101,121,0,0,0,0,0,0,0,88,113,4,0,64,235,2,0,49,54,80,111,112,112,108,101,114,67,97,99,104,101,73,116,101,109,0,0,0,0,0,0,88,113,4,0,96,235,2,0,0,0,0,0,160,235,2,0,239,0,0,0,240,0,0,0,49,48,79,98,106,101,99,116,73,116,101,109,0,0,0,0,128,113,4,0,144,235,2,0,120,235,2,0,0,0,0,0,0,0,0,0,216,235,2,0,241,0,0,0,242,0,0,0,22,0,0,0,0,0,0,0,57,79,98,106,101,99,116,75,101,121,0,0,0,0,0,0,128,113,4,0,200,235,2,0,88,235,2,0,0,0,0,0,68,0,0,0,0,0,0,0,82,84,0,0,0,0,0,0,80,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,85,67,0,0,0,0,0,0,82,0,0,0,0,0,0,0,86,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0,83,0,0,0,0,0,0,0,65,0,0,0,0,0,0,0,82,67,0,0,0,0,0,0,87,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,79,0,0,0,0,0,0,0,77,67,68,0,0,0,0,0,69,70,0,0,0,0,0,0,73,110,118,97,108,105,100,32,77,101,100,105,97,32,67,108,105,112,32,68,97,116,97,0,67,84,0,0,0,0,0,0,73,110,118,97,108,105,100,32,77,101,100,105,97,32,67,108,105,112,0,0,0,0,0,0,77,72,0,0,0,0,0,0,66,69,0,0,0,0,0,0,73,110,118,97,108,105,100,32,77,101,100,105,97,32,82,101,110,100,105,116,105,111,110,0,83,80,0,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,32,111,114,32,37,100,0,0,0,0,0,82,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,82,97,119,0,0,0,0,0,83,105,103,110,101,100,0,0,109,117,76,97,119,0,0,0,65,76,97,119,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,0,0,0,0,80,238,2,0,243,0,0,0,244,0,0,0,22,0,0,0,23,0,0,0,49,54,83,116,100,105,110,67,97,99,104,101,76,111,97,100,101,114,0,0,0,0,0,0,49,54,67,97,99,104,101,100,70,105,108,101,76,111,97,100,101,114,0,0,0,0,0,0,88,113,4,0,48,238,2,0,128,113,4,0,24,238,2,0,72,238,2,0,0,0,0,0,0,0,0,0,224,238,2,0,245,0,0,0,246,0,0,0,114,98,0,0,0,0,0,0,67,97,110,110,111,116,32,111,112,101,110,32,39,37,115,39,0,0,0,0,0,0,0,0,67,97,110,110,111,116,32,115,101,101,107,32,116,111,32,101,110,100,32,111,102,32,39,37,115,39,0,0,0,0,0,0,67,97,110,110,111,116,32,115,101,101,107,32,116,111,32,115,116,97,114,116,32,111,102,32,39,37,115,39,0,0,0,0,56,70,111,70,105,66,97,115,101,0,0,0,0,0,0,0,88,113,4,0,208,238,2,0,115,112,97,99,101,0,0,0,101,120,99,108,97,109,0,0,113,117,111,116,101,100,98,108,0,0,0,0,0,0,0,0,110,117,109,98,101,114,115,105,103,110,0,0,0,0,0,0,100,111,108,108,97,114,0,0,112,101,114,99,101,110,116,0,97,109,112,101,114,115,97,110,100,0,0,0,0,0,0,0,113,117,111,116,101,114,105,103,104,116,0,0,0,0,0,0,112,97,114,101,110,108,101,102,116,0,0,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,0,0,0,0,0,0,97,115,116,101,114,105,115,107,0,0,0,0,0,0,0,0,112,108,117,115,0,0,0,0,99,111,109,109,97,0,0,0,104,121,112,104,101,110,0,0,112,101,114,105,111,100,0,0,115,108,97,115,104,0,0,0,122,101,114,111,0,0,0,0,111,110,101,0,0,0,0,0,116,119,111,0,0,0,0,0,116,104,114,101,101,0,0,0,102,111,117,114,0,0,0,0,102,105,118,101,0,0,0,0,115,105,120,0,0,0,0,0,115,101,118,101,110,0,0,0,101,105,103,104,116,0,0,0,110,105,110,101,0,0,0,0,99,111,108,111,110,0,0,0,115,101,109,105,99,111,108,111,110,0,0,0,0,0,0,0,108,101,115,115,0,0,0,0,101,113,117,97,108,0,0,0,103,114,101,97,116,101,114,0,113,117,101,115,116,105,111,110,0,0,0,0,0,0,0,0,97,116,0,0,0,0,0,0,65,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,68,0,0,0,0,0,0,0,69,0,0,0,0,0,0,0,70,0,0,0,0,0,0,0,71,0,0,0,0,0,0,0,72,0,0,0,0,0,0,0,73,0,0,0,0,0,0,0,74,0,0,0,0,0,0,0,75,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,79,0,0,0,0,0,0,0,80,0,0,0,0,0,0,0,81,0,0,0,0,0,0,0,82,0,0,0,0,0,0,0,83,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,85,0,0,0,0,0,0,0,86,0,0,0,0,0,0,0,87,0,0,0,0,0,0,0,88,0,0,0,0,0,0,0,89,0,0,0,0,0,0,0,90,0,0,0,0,0,0,0,98,114,97,99,107,101,116,108,101,102,116,0,0,0,0,0,98,97,99,107,115,108,97,115,104,0,0,0,0,0,0,0,98,114,97,99,107,101,116,114,105,103,104,116,0,0,0,0,97,115,99,105,105,99,105,114,99,117,109,0,0,0,0,0,117,110,100,101,114,115,99,111,114,101,0,0,0,0,0,0,113,117,111,116,101,108,101,102,116,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,103,0,0,0,0,0,0,0,104,0,0,0,0,0,0,0,105,0,0,0,0,0,0,0,106,0,0,0,0,0,0,0,107,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,109,0,0,0,0,0,0,0,110,0,0,0,0,0,0,0,111,0,0,0,0,0,0,0,112,0,0,0,0,0,0,0,113,0,0,0,0,0,0,0,114,0,0,0,0,0,0,0,115,0,0,0,0,0,0,0,116,0,0,0,0,0,0,0,117,0,0,0,0,0,0,0,118,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,120,0,0,0,0,0,0,0,121,0,0,0,0,0,0,0,122,0,0,0,0,0,0,0,98,114,97,99,101,108,101,102,116,0,0,0,0,0,0,0,98,97,114,0,0,0,0,0,98,114,97,99,101,114,105,103,104,116,0,0,0,0,0,0,97,115,99,105,105,116,105,108,100,101,0,0,0,0,0,0,101,120,99,108,97,109,100,111,119,110,0,0,0,0,0,0,99,101,110,116,0,0,0,0,115,116,101,114,108,105,110,103,0,0,0,0,0,0,0,0,102,114,97,99,116,105,111,110,0,0,0,0,0,0,0,0,121,101,110,0,0,0,0,0,102,108,111,114,105,110,0,0,115,101,99,116,105,111,110,0,99,117,114,114,101,110,99,121,0,0,0,0,0,0,0,0,113,117,111,116,101,115,105,110,103,108,101,0,0,0,0,0,113,117,111,116,101,100,98,108,108,101,102,116,0,0,0,0,103,117,105,108,108,101,109,111,116,108,101,102,116,0,0,0,103,117,105,108,115,105,110,103,108,108,101,102,116,0,0,0,103,117,105,108,115,105,110,103,108,114,105,103,104,116,0,0,102,105,0,0,0,0,0,0,102,108,0,0,0,0,0,0,101,110,100,97,115,104,0,0,100,97,103,103,101,114,0,0,100,97,103,103,101,114,100,98,108,0,0,0,0,0,0,0,112,101,114,105,111,100,99,101,110,116,101,114,101,100,0,0,112,97,114,97,103,114,97,112,104,0,0,0,0,0,0,0,98,117,108,108,101,116,0,0,113,117,111,116,101,115,105,110,103,108,98,97,115,101,0,0,113,117,111,116,101,100,98,108,98,97,115,101,0,0,0,0,113,117,111,116,101,100,98,108,114,105,103,104,116,0,0,0,103,117,105,108,108,101,109,111,116,114,105,103,104,116,0,0,101,108,108,105,112,115,105,115,0,0,0,0,0,0,0,0,112,101,114,116,104,111,117,115,97,110,100,0,0,0,0,0,113,117,101,115,116,105,111,110,100,111,119,110,0,0,0,0,103,114,97,118,101,0,0,0,97,99,117,116,101,0,0,0,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,0,116,105,108,100,101,0,0,0,109,97,99,114,111,110,0,0,98,114,101,118,101,0,0,0,100,111,116,97,99,99,101,110,116,0,0,0,0,0,0,0,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,0,114,105,110,103,0,0,0,0,99,101,100,105,108,108,97,0,104,117,110,103,97,114,117,109,108,97,117,116,0,0,0,0,111,103,111,110,101,107,0,0,99,97,114,111,110,0,0,0,101,109,100,97,115,104,0,0,65,69,0,0,0,0,0,0,111,114,100,102,101,109,105,110,105,110,101,0,0,0,0,0,76,115,108,97,115,104,0,0,79,115,108,97,115,104,0,0,79,69,0,0,0,0,0,0,111,114,100,109,97,115,99,117,108,105,110,101,0,0,0,0,97,101,0,0,0,0,0,0,100,111,116,108,101,115,115,105,0,0,0,0,0,0,0,0,108,115,108,97,115,104,0,0,111,115,108,97,115,104,0,0,111,101,0,0,0,0,0,0,103,101,114,109,97,110,100,98,108,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,238,2,0,240,238,2,0,248,238,2,0,8,239,2,0,24,239,2,0,32,239,2,0,40,239,2,0,56,239,2,0,72,239,2,0,88,239,2,0,104,239,2,0,120,239,2,0,128,239,2,0,136,239,2,0,144,239,2,0,152,239,2,0,160,239,2,0,168,239,2,0,176,239,2,0,184,239,2,0,192,239,2,0,200,239,2,0,208,239,2,0,216,239,2,0,224,239,2,0,232,239,2,0,240,239,2,0,248,239,2,0,8,240,2,0,16,240,2,0,24,240,2,0,32,240,2,0,48,240,2,0,56,240,2,0,64,240,2,0,72,240,2,0,80,240,2,0,88,240,2,0,96,240,2,0,104,240,2,0,112,240,2,0,120,240,2,0,128,240,2,0,136,240,2,0,144,240,2,0,152,240,2,0,160,240,2,0,168,240,2,0,176,240,2,0,184,240,2,0,192,240,2,0,200,240,2,0,208,240,2,0,216,240,2,0,224,240,2,0,232,240,2,0,240,240,2,0,248,240,2,0,0,241,2,0,8,241,2,0,24,241,2,0,40,241,2,0,56,241,2,0,72,241,2,0,88,241,2,0,104,241,2,0,112,241,2,0,120,241,2,0,128,241,2,0,136,241,2,0,144,241,2,0,152,241,2,0,160,241,2,0,168,241,2,0,176,241,2,0,184,241,2,0,192,241,2,0,200,241,2,0,208,241,2,0,216,241,2,0,224,241,2,0,232,241,2,0,240,241,2,0,248,241,2,0,0,242,2,0,8,242,2,0,16,242,2,0,24,242,2,0,32,242,2,0,40,242,2,0,48,242,2,0,56,242,2,0,72,242,2,0,80,242,2,0,96,242,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,242,2,0,128,242,2,0,136,242,2,0,152,242,2,0,168,242,2,0,176,242,2,0,184,242,2,0,192,242,2,0,208,242,2,0,224,242,2,0,240,242,2,0,0,243,2,0,16,243,2,0,32,243,2,0,40,243,2,0,0,0,0,0,48,243,2,0,56,243,2,0,64,243,2,0,80,243,2,0,0,0,0,0,96,243,2,0,112,243,2,0,120,243,2,0,136,243,2,0,152,243,2,0,168,243,2,0,184,243,2,0,200,243,2,0,0,0,0,0,216,243,2,0,0,0,0,0,232,243,2,0,240,243,2,0,248,243,2,0,8,244,2,0,16,244,2,0,24,244,2,0,32,244,2,0,48,244,2,0,0,0,0,0,64,244,2,0,72,244,2,0,0,0,0,0,80,244,2,0,96,244,2,0,104,244,2,0,112,244,2], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+184416);
/* memory initializer */ allocate([120,244,2,0,0,0,0,0,128,244,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,244,2,0,152,244,2,0,160,244,2,0,168,244,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,244,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,244,2,0,0,0,0,0,0,0,0,0,208,244,2,0,216,244,2,0,224,244,2,0,232,244,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,120,99,108,97,109,115,109,97,108,108,0,0,0,0,0,72,117,110,103,97,114,117,109,108,97,117,116,115,109,97,108,108,0,0,0,0,0,0,0,100,111,108,108,97,114,111,108,100,115,116,121,108,101,0,0,100,111,108,108,97,114,115,117,112,101,114,105,111,114,0,0,97,109,112,101,114,115,97,110,100,115,109,97,108,108,0,0,65,99,117,116,101,115,109,97,108,108,0,0,0,0,0,0,112,97,114,101,110,108,101,102,116,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,115,117,112,101,114,105,111,114,0,0,0,0,0,0,116,119,111,100,111,116,101,110,108,101,97,100,101,114,0,0,111,110,101,100,111,116,101,110,108,101,97,100,101,114,0,0,122,101,114,111,111,108,100,115,116,121,108,101,0,0,0,0,111,110,101,111,108,100,115,116,121,108,101,0,0,0,0,0,116,119,111,111,108,100,115,116,121,108,101,0,0,0,0,0,116,104,114,101,101,111,108,100,115,116,121,108,101,0,0,0,102,111,117,114,111,108,100,115,116,121,108,101,0,0,0,0,102,105,118,101,111,108,100,115,116,121,108,101,0,0,0,0,115,105,120,111,108,100,115,116,121,108,101,0,0,0,0,0,115,101,118,101,110,111,108,100,115,116,121,108,101,0,0,0,101,105,103,104,116,111,108,100,115,116,121,108,101,0,0,0,110,105,110,101,111,108,100,115,116,121,108,101,0,0,0,0,99,111,109,109,97,115,117,112,101,114,105,111,114,0,0,0,116,104,114,101,101,113,117,97,114,116,101,114,115,101,109,100,97,115,104,0,0,0,0,0,112,101,114,105,111,100,115,117,112,101,114,105,111,114,0,0,113,117,101,115,116,105,111,110,115,109,97,108,108,0,0,0,97,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,98,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,99,101,110,116,115,117,112,101,114,105,111,114,0,0,0,0,100,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,101,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,105,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,108,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,109,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,110,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,111,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,114,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,115,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,116,115,117,112,101,114,105,111,114,0,0,0,0,0,0,0,102,102,0,0,0,0,0,0,102,102,105,0,0,0,0,0,102,102,108,0,0,0,0,0,112,97,114,101,110,108,101,102,116,105,110,102,101,114,105,111,114,0,0,0,0,0,0,0,112,97,114,101,110,114,105,103,104,116,105,110,102,101,114,105,111,114,0,0,0,0,0,0,67,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,104,121,112,104,101,110,115,117,112,101,114,105,111,114,0,0,71,114,97,118,101,115,109,97,108,108,0,0,0,0,0,0,65,115,109,97,108,108,0,0,66,115,109,97,108,108,0,0,67,115,109,97,108,108,0,0,68,115,109,97,108,108,0,0,69,115,109,97,108,108,0,0,70,115,109,97,108,108,0,0,71,115,109,97,108,108,0,0,72,115,109,97,108,108,0,0,73,115,109,97,108,108,0,0,74,115,109,97,108,108,0,0,75,115,109,97,108,108,0,0,76,115,109,97,108,108,0,0,77,115,109,97,108,108,0,0,78,115,109,97,108,108,0,0,79,115,109,97,108,108,0,0,80,115,109,97,108,108,0,0,81,115,109,97,108,108,0,0,82,115,109,97,108,108,0,0,83,115,109,97,108,108,0,0,84,115,109,97,108,108,0,0,85,115,109,97,108,108,0,0,86,115,109,97,108,108,0,0,87,115,109,97,108,108,0,0,88,115,109,97,108,108,0,0,89,115,109,97,108,108,0,0,90,115,109,97,108,108,0,0,99,111,108,111,110,109,111,110,101,116,97,114,121,0,0,0,111,110,101,102,105,116,116,101,100,0,0,0,0,0,0,0,114,117,112,105,97,104,0,0,84,105,108,100,101,115,109,97,108,108,0,0,0,0,0,0,101,120,99,108,97,109,100,111,119,110,115,109,97,108,108,0,99,101,110,116,111,108,100,115,116,121,108,101,0,0,0,0,76,115,108,97,115,104,115,109,97,108,108,0,0,0,0,0,83,99,97,114,111,110,115,109,97,108,108,0,0,0,0,0,90,99,97,114,111,110,115,109,97,108,108,0,0,0,0,0,68,105,101,114,101,115,105,115,115,109,97,108,108,0,0,0,66,114,101,118,101,115,109,97,108,108,0,0,0,0,0,0,67,97,114,111,110,115,109,97,108,108,0,0,0,0,0,0,68,111,116,97,99,99,101,110,116,115,109,97,108,108,0,0,77,97,99,114,111,110,115,109,97,108,108,0,0,0,0,0,102,105,103,117,114,101,100,97,115,104,0,0,0,0,0,0,104,121,112,104,101,110,105,110,102,101,114,105,111,114,0,0,79,103,111,110,101,107,115,109,97,108,108,0,0,0,0,0,82,105,110,103,115,109,97,108,108,0,0,0,0,0,0,0,67,101,100,105,108,108,97,115,109,97,108,108,0,0,0,0,111,110,101,113,117,97,114,116,101,114,0,0,0,0,0,0,111,110,101,104,97,108,102,0,116,104,114,101,101,113,117,97,114,116,101,114,115,0,0,0,113,117,101,115,116,105,111,110,100,111,119,110,115,109,97,108,108,0,0,0,0,0,0,0,111,110,101,101,105,103,104,116,104,0,0,0,0,0,0,0,116,104,114,101,101,101,105,103,104,116,104,115,0,0,0,0,102,105,118,101,101,105,103,104,116,104,115,0,0,0,0,0,115,101,118,101,110,101,105,103,104,116,104,115,0,0,0,0,111,110,101,116,104,105,114,100,0,0,0,0,0,0,0,0,116,119,111,116,104,105,114,100,115,0,0,0,0,0,0,0,122,101,114,111,115,117,112,101,114,105,111,114,0,0,0,0,111,110,101,115,117,112,101,114,105,111,114,0,0,0,0,0,116,119,111,115,117,112,101,114,105,111,114,0,0,0,0,0,116,104,114,101,101,115,117,112,101,114,105,111,114,0,0,0,102,111,117,114,115,117,112,101,114,105,111,114,0,0,0,0,102,105,118,101,115,117,112,101,114,105,111,114,0,0,0,0,115,105,120,115,117,112,101,114,105,111,114,0,0,0,0,0,115,101,118,101,110,115,117,112,101,114,105,111,114,0,0,0,101,105,103,104,116,115,117,112,101,114,105,111,114,0,0,0,110,105,110,101,115,117,112,101,114,105,111,114,0,0,0,0,122,101,114,111,105,110,102,101,114,105,111,114,0,0,0,0,111,110,101,105,110,102,101,114,105,111,114,0,0,0,0,0,116,119,111,105,110,102,101,114,105,111,114,0,0,0,0,0,116,104,114,101,101,105,110,102,101,114,105,111,114,0,0,0,102,111,117,114,105,110,102,101,114,105,111,114,0,0,0,0,102,105,118,101,105,110,102,101,114,105,111,114,0,0,0,0,115,105,120,105,110,102,101,114,105,111,114,0,0,0,0,0,115,101,118,101,110,105,110,102,101,114,105,111,114,0,0,0,101,105,103,104,116,105,110,102,101,114,105,111,114,0,0,0,110,105,110,101,105,110,102,101,114,105,111,114,0,0,0,0,99,101,110,116,105,110,102,101,114,105,111,114,0,0,0,0,100,111,108,108,97,114,105,110,102,101,114,105,111,114,0,0,112,101,114,105,111,100,105,110,102,101,114,105,111,114,0,0,99,111,109,109,97,105,110,102,101,114,105,111,114,0,0,0,65,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,65,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,65,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,65,116,105,108,100,101,115,109,97,108,108,0,0,0,0,0,65,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,65,114,105,110,103,115,109,97,108,108,0,0,0,0,0,0,65,69,115,109,97,108,108,0,67,99,101,100,105,108,108,97,115,109,97,108,108,0,0,0,69,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,69,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,69,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,69,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,73,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,73,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,73,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,73,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,69,116,104,115,109,97,108,108,0,0,0,0,0,0,0,0,78,116,105,108,100,101,115,109,97,108,108,0,0,0,0,0,79,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,79,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,79,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,79,116,105,108,100,101,115,109,97,108,108,0,0,0,0,0,79,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,79,69,115,109,97,108,108,0,79,115,108,97,115,104,115,109,97,108,108,0,0,0,0,0,85,103,114,97,118,101,115,109,97,108,108,0,0,0,0,0,85,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,85,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,0,0,0,0,0,0,0,85,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,89,97,99,117,116,101,115,109,97,108,108,0,0,0,0,0,84,104,111,114,110,115,109,97,108,108,0,0,0,0,0,0,89,100,105,101,114,101,115,105,115,115,109,97,108,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,238,2,0,248,248,2,0,8,249,2,0,0,0,0,0,32,249,2,0,48,249,2,0,64,249,2,0,80,249,2,0,96,249,2,0,120,249,2,0,144,249,2,0,160,249,2,0,128,239,2,0,136,239,2,0,144,239,2,0,152,242,2,0,176,249,2,0,192,249,2,0,208,249,2,0,224,249,2,0,240,249,2,0,0,250,2,0,16,250,2,0,32,250,2,0,48,250,2,0,64,250,2,0,240,239,2,0,248,239,2,0,80,250,2,0,96,250,2,0,120,250,2,0,136,250,2,0,0,0,0,0,152,250,2,0,168,250,2,0,184,250,2,0,200,250,2,0,216,250,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,250,2,0,0,0,0,0,0,0,0,0,248,250,2,0,8,251,2,0,24,251,2,0,40,251,2,0,0,0,0,0,0,0,0,0,56,251,2,0,72,251,2,0,88,251,2,0,0,0,0,0,104,251,2,0,32,243,2,0,40,243,2,0,112,251,2,0,120,251,2,0,128,251,2,0,0,0,0,0,152,251,2,0,176,251,2,0,192,251,2,0,208,251,2,0,224,251,2,0,232,251,2,0,240,251,2,0,248,251,2,0,0,252,2,0,8,252,2,0,16,252,2,0,24,252,2,0,32,252,2,0,40,252,2,0,48,252,2,0,56,252,2,0,64,252,2,0,72,252,2,0,80,252,2,0,88,252,2,0,96,252,2,0,104,252,2,0,112,252,2,0,120,252,2,0,128,252,2,0,136,252,2,0,144,252,2,0,152,252,2,0,160,252,2,0,168,252,2,0,176,252,2,0,192,252,2,0,208,252,2,0,216,252,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,252,2,0,248,252,2,0,8,253,2,0,0,0,0,0,0,0,0,0,24,253,2,0,40,253,2,0,56,253,2,0,72,253,2,0,88,253,2,0,0,0,0,0,104,253,2,0,0,0,0,0,0,0,0,0,120,253,2,0,0,0,0,0,0,0,0,0,136,253,2,0,152,253,2,0,0,0,0,0,0,0,0,0,168,253,2,0,184,253,2,0,200,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,253,2,0,232,253,2,0,240,253,2,0,0,254,2,0,24,254,2,0,40,254,2,0,56,254,2,0,72,254,2,0,88,254,2,0,104,254,2,0,0,0,0,0,0,0,0,0,120,254,2,0,136,254,2,0,152,254,2,0,168,254,2,0,184,254,2,0,200,254,2,0,216,254,2,0,232,254,2,0,248,254,2,0,8,255,2,0,24,255,2,0,40,255,2,0,56,255,2,0,72,255,2,0,88,255,2,0,104,255,2,0,120,255,2,0,136,255,2,0,152,255,2,0,168,255,2,0,184,255,2,0,200,255,2,0,216,255,2,0,232,255,2,0,248,255,2,0,8,0,3,0,24,0,3,0,48,0,3,0,64,0,3,0,80,0,3,0,96,0,3,0,104,0,3,0,120,0,3,0,136,0,3,0,152,0,3,0,176,0,3,0,192,0,3,0,208,0,3,0,224,0,3,0,248,0,3,0,8,1,3,0,24,1,3,0,40,1,3,0,56,1,3,0,72,1,3,0,96,1,3,0,112,1,3,0,128,1,3,0,136,1,3,0,152,1,3,0,168,1,3,0,184,1,3,0,208,1,3,0,224,1,3,0,240,1,3,0,0,2,3,0,46,110,111,116,100,101,102,0,108,111,103,105,99,97,108,110,111,116,0,0,0,0,0,0,109,117,0,0,0,0,0,0,116,114,97,100,101,109,97,114,107,0,0,0,0,0,0,0,69,116,104,0,0,0,0,0,112,108,117,115,109,105,110,117,115,0,0,0,0,0,0,0,84,104,111,114,110,0,0,0,100,105,118,105,100,101,0,0,98,114,111,107,101,110,98,97,114,0,0,0,0,0,0,0,100,101,103,114,101,101,0,0,116,104,111,114,110,0,0,0,114,101,103,105,115,116,101,114,101,100,0,0,0,0,0,0,109,105,110,117,115,0,0,0,101,116,104,0,0,0,0,0,109,117,108,116,105,112,108,121,0,0,0,0,0,0,0,0,99,111,112,121,114,105,103,104,116,0,0,0,0,0,0,0,65,97,99,117,116,101,0,0,65,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,65,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,65,103,114,97,118,101,0,0,65,114,105,110,103,0,0,0,65,116,105,108,100,101,0,0,67,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,69,97,99,117,116,101,0,0,69,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,69,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,69,103,114,97,118,101,0,0,73,97,99,117,116,101,0,0,73,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,73,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,73,103,114,97,118,101,0,0,78,116,105,108,100,101,0,0,79,97,99,117,116,101,0,0,79,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,79,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,79,103,114,97,118,101,0,0,79,116,105,108,100,101,0,0,83,99,97,114,111,110,0,0,85,97,99,117,116,101,0,0,85,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,85,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,85,103,114,97,118,101,0,0,89,97,99,117,116,101,0,0,89,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,90,99,97,114,111,110,0,0,97,97,99,117,116,101,0,0,97,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,97,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,97,103,114,97,118,101,0,0,97,114,105,110,103,0,0,0,97,116,105,108,100,101,0,0,99,99,101,100,105,108,108,97,0,0,0,0,0,0,0,0,101,97,99,117,116,101,0,0,101,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,101,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,101,103,114,97,118,101,0,0,105,97,99,117,116,101,0,0,105,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,105,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,105,103,114,97,118,101,0,0,110,116,105,108,100,101,0,0,111,97,99,117,116,101,0,0,111,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,111,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,111,103,114,97,118,101,0,0,111,116,105,108,100,101,0,0,115,99,97,114,111,110,0,0,117,97,99,117,116,101,0,0,117,99,105,114,99,117,109,102,108,101,120,0,0,0,0,0,117,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,117,103,114,97,118,101,0,0,121,97,99,117,116,101,0,0,121,100,105,101,114,101,115,105,115,0,0,0,0,0,0,0,122,99,97,114,111,110,0,0,48,48,49,46,48,48,48,0,48,48,49,46,48,48,49,0,48,48,49,46,48,48,50,0,48,48,49,46,48,48,51,0,66,108,97,99,107,0,0,0,66,111,108,100,0,0,0,0,66,111,111,107,0,0,0,0,76,105,103,104,116,0,0,0,77,101,100,105,117,109,0,0,82,101,103,117,108,97,114,0,82,111,109,97,110,0,0,0,83,101,109,105,98,111,108,100,0,0,0,0,0,0,0,0,16,6,3,0,232,238,2,0,240,238,2,0,248,238,2,0,8,239,2,0,24,239,2,0,32,239,2,0,40,239,2,0,56,239,2,0,72,239,2,0,88,239,2,0,104,239,2,0,120,239,2,0,128,239,2,0,136,239,2,0,144,239,2,0,152,239,2,0,160,239,2,0,168,239,2,0,176,239,2,0,184,239,2,0,192,239,2,0,200,239,2,0,208,239,2,0,216,239,2,0,224,239,2,0,232,239,2,0,240,239,2,0,248,239,2,0,8,240,2,0,16,240,2,0,24,240,2,0,32,240,2,0,48,240,2,0,56,240,2,0,64,240,2,0,72,240,2,0,80,240,2,0,88,240,2,0,96,240,2,0,104,240,2,0,112,240,2,0,120,240,2,0,128,240,2,0,136,240,2,0,144,240,2,0,152,240,2,0,160,240,2,0,168,240,2,0,176,240,2,0,184,240,2,0,192,240,2,0,200,240,2,0,208,240,2,0,216,240,2,0,224,240,2,0,232,240,2,0,240,240,2,0,248,240,2,0,0,241,2,0,8,241,2,0,24,241,2,0,40,241,2,0,56,241,2,0,72,241,2,0,88,241,2,0,104,241,2,0,112,241,2,0,120,241,2,0,128,241,2,0,136,241,2,0,144,241,2,0,152,241,2,0,160,241,2,0,168,241,2,0,176,241,2,0,184,241,2,0,192,241,2,0,200,241,2,0,208,241,2,0,216,241,2,0,224,241,2,0,232,241,2,0,240,241,2,0,248,241,2,0,0,242,2,0,8,242,2,0,16,242,2,0,24,242,2,0,32,242,2,0,40,242,2,0,48,242,2,0,56,242,2,0,72,242,2,0,80,242,2,0,96,242,2,0,112,242,2,0,128,242,2,0,136,242,2,0,152,242,2,0,168,242,2,0,176,242,2,0,184,242,2,0,192,242,2,0,208,242,2,0,224,242,2,0,240,242,2,0,0,243,2,0,16,243,2,0,32,243,2,0,40,243,2,0,48,243,2,0,56,243,2,0,64,243,2,0,80,243,2,0,96,243,2,0,112,243,2,0,120,243,2,0,136,243,2,0,152,243,2,0,168,243,2,0,184,243,2,0,200,243,2,0,216,243,2,0,232,243,2,0,240,243,2,0,248,243,2,0,8,244,2,0,16,244,2,0,24,244,2,0,32,244,2,0,48,244,2,0,64,244,2,0,72,244,2,0,80,244,2,0,96,244,2,0,104,244,2,0,112,244,2,0,120,244,2,0,128,244,2,0,144,244,2,0,152,244,2,0,160,244,2,0,168,244,2,0,184,244,2,0,192,244,2,0,208,244,2,0,216,244,2,0,224,244,2,0,232,244,2,0,136,254,2,0,24,6,3,0,40,6,3,0,48,6,3,0,64,6,3,0,232,253,2,0,72,6,3,0,88,6,3,0,216,253,2,0,96,6,3,0,104,6,3,0,120,6,3,0,128,6,3,0,240,253,2,0,152,254,2,0,136,6,3,0,152,6,3,0,160,6,3,0,168,6,3,0,168,254,2,0,184,6,3,0,200,6,3,0,208,6,3,0,224,6,3,0,240,6,3,0,248,6,3,0,0,7,3,0,8,7,3,0,24,7,3,0,32,7,3,0,48,7,3,0,64,7,3,0,72,7,3,0,80,7,3,0,96,7,3,0,112,7,3,0,120,7,3,0,128,7,3,0,136,7,3,0,152,7,3,0,168,7,3,0,176,7,3,0,184,7,3,0,192,7,3,0,200,7,3,0,216,7,3,0,232,7,3,0,240,7,3,0,248,7,3,0,8,8,3,0,16,8,3,0,24,8,3,0,40,8,3,0,56,8,3,0,64,8,3,0,72,8,3,0,80,8,3,0,96,8,3,0,104,8,3,0,120,8,3,0,136,8,3,0,144,8,3,0,152,8,3,0,168,8,3,0,184,8,3,0,192,8,3,0,200,8,3,0,208,8,3,0,224,8,3,0,240,8,3,0,248,8,3,0,0,9,3,0,8,9,3,0,16,9,3,0,32,9,3,0,48,9,3,0,56,9,3,0,64,9,3,0,80,9,3,0,248,248,2,0,8,249,2,0,32,249,2,0,48,249,2,0,64,249,2,0,80,249,2,0,96,249,2,0,120,249,2,0,144,249,2,0,160,249,2,0,176,249,2,0,192,249,2,0,208,249,2,0,224,249,2,0,240,249,2,0,0,250,2,0,16,250,2,0,32,250,2,0,48,250,2,0,64,250,2,0,80,250,2,0,96,250,2,0,120,250,2,0,136,250,2,0,152,250,2,0,168,250,2,0,184,250,2,0,200,250,2,0,216,250,2,0,232,250,2,0,248,250,2,0,8,251,2,0,24,251,2,0,40,251,2,0,56,251,2,0,72,251,2,0,88,251,2,0,104,251,2,0,112,251,2,0,120,251,2,0,128,251,2,0,152,251,2,0,176,251,2,0,192,251,2,0,208,251,2,0,224,251,2,0,232,251,2,0,240,251,2,0,248,251,2,0,0,252,2,0,8,252,2,0,16,252,2,0,24,252,2,0,32,252,2,0,40,252,2,0,48,252,2,0,56,252,2,0,64,252,2,0,72,252,2,0,80,252,2,0,88,252,2,0,96,252,2,0,104,252,2,0,112,252,2,0,120,252,2,0,128,252,2,0,136,252,2,0,144,252,2,0,152,252,2,0,160,252,2,0,168,252,2,0,176,252,2,0,192,252,2,0,208,252,2,0,216,252,2,0,232,252,2,0,248,252,2,0,8,253,2,0,24,253,2,0,40,253,2,0,56,253,2,0,72,253,2,0,88,253,2,0,104,253,2,0,120,253,2,0,136,253,2,0,152,253,2,0,168,253,2,0,184,253,2,0,200,253,2,0,0,254,2,0,24,254,2,0,40,254,2,0,56,254,2,0,72,254,2,0,88,254,2,0,104,254,2,0,120,254,2,0,184,254,2,0,200,254,2,0,216,254,2,0,232,254,2,0,248,254,2,0,8,255,2,0,24,255,2,0,40,255,2,0,56,255,2,0,72,255,2,0,88,255,2,0,104,255,2,0,120,255,2,0,136,255,2,0,152,255,2,0,168,255,2,0,184,255,2,0,200,255,2,0,216,255,2,0,232,255,2,0,248,255,2,0,8,0,3,0,24,0,3,0,48,0,3,0,64,0,3,0,80,0,3,0,96,0,3,0,104,0,3,0,120,0,3,0,136,0,3,0,152,0,3,0,176,0,3,0,192,0,3,0,208,0,3,0,224,0,3,0,248,0,3,0,8,1,3,0,24,1,3,0,40,1,3,0,56,1,3,0,72,1,3,0,96,1,3,0,112,1,3,0,128,1,3,0,136,1,3,0,152,1,3,0,168,1,3,0,184,1,3,0,208,1,3,0,224,1,3,0,240,1,3,0,0,2,3,0,88,9,3,0,96,9,3,0,104,9,3,0,112,9,3,0,120,9,3,0,128,9,3,0,136,9,3,0,144,9,3,0,152,9,3,0,160,9,3,0,168,9,3,0,176,9,3,0,0,0,0,0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,84,0,85,0,86,0,87,0,88,0,89,0,90,0,91,0,92,0,93,0,94,0,95,0,96,0,97,0,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,107,0,108,0,109,0,110,0,111,0,112,0,113,0,114,0,115,0,116,0,117,0,118,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,147,0,148,0,149,0,150,0,151,0,152,0,153,0,154,0,155,0,156,0,157,0,158,0,159,0,160,0,161,0,162,0,163,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,173,0,174,0,175,0,176,0,177,0,178,0,179,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,190,0,191,0,192,0,193,0,194,0,195,0,196,0,197,0,198,0,199,0,200,0,201,0,202,0,203,0,204,0,205,0,206,0,207,0,208,0,209,0,210,0,211,0,212,0,213,0,214,0,215,0,216,0,217,0,218,0,219,0,220,0,221,0,222,0,223,0,224,0,225,0,226,0,227,0,228,0,0,0,0,0,0,0,0,0,1,0,229,0,230,0,231,0,232,0,233,0,234,0,235,0,236,0,237,0,238,0,13,0,14,0,15,0,99,0,239,0,240,0,241,0,242,0,243,0,244,0,245,0,246,0,247,0,248,0,27,0,28,0,249,0,250,0,251,0,252,0,253,0,254,0,255,0,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,109,0,110,0,11,1,12,1,13,1,14,1,15,1,16,1,17,1,18,1,19,1,20,1,21,1,22,1,23,1,24,1,25,1,26,1,27,1,28,1,29,1,30,1,31,1,32,1,33,1,34,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,45,1,46,1,47,1,48,1,49,1,50,1,51,1,52,1,53,1,54,1,55,1,56,1,57,1,58,1,59,1,60,1,61,1,62,1,158,0,155,0,163,0,63,1,64,1,65,1,66,1,67,1,68,1,69,1,70,1,150,0,164,0,169,0,71,1,72,1,73,1,74,1,75,1,76,1,77,1,78,1,79,1,80,1,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,94,1,95,1,96,1,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,107,1,108,1,109,1,110,1,111,1,112,1,113,1,114,1,115,1,116,1,117,1,118,1,119,1,120,1,121,1,122,1,0,0,0,0,0,0,1,0,231,0,232,0,235,0,236,0,237,0,238,0,13,0,14,0,15,0,99,0,239,0,240,0,241,0,242,0,243,0,244,0,245,0,246,0,247,0,248,0,27,0,28,0,249,0,250,0,251,0,253,0,254,0,255,0,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,109,0,110,0,11,1,12,1,13,1,14,1,16,1,44,1,45,1,46,1,49,1,58,1,59,1,158,0,155,0,163,0,64,1,65,1,66,1,67,1,68,1,69,1,70,1,150,0,164,0,169,0,71,1,72,1,73,1,74,1,75,1,76,1,77,1,78,1,79,1,80,1,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,0,0,0,0,0,0,184,20,3,0,247,0,0,0,248,0,0,0,47,69,110,99,111,100,105,110,103,32,83,116,97,110,100,97,114,100,69,110,99,111,100,105,110,103,32,100,101,102,0,0,100,101,102,0,0,0,0,0,47,70,111,110,116,78,97,109,101,0,0,0,0,0,0,0,32,9,10,13,0,0,0,0,47,69,110,99,111,100,105,110,103,32,50,53,54,32,97,114,114,97,121,0,0,0,0,0,70,111,70,105,84,121,112,101,49,58,58,112,97,114,115,101,32,97,32,108,105,110,101,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,50,53,53,32,99,104,97,114,97,99,116,101,114,115,44,32,119,101,32,100,111,110,39,116,32,115,117,112,112,111,114,116,32,116,104,105,115,0,0,0,0,0,100,117,112,0,0,0,0,0,112,117,116,0,0,0,0,0,70,111,70,105,84,121,112,101,49,58,58,112,97,114,115,101,32,110,111,32,112,117,116,32,97,102,116,101,114,32,100,117,112,0,0,0,0,0,0,0,32,9,0,0,0,0,0,0,57,70,111,70,105,84,121,112,101,49,0,0,0,0,0,0,128,113,4,0,168,20,3,0,224,238,2,0,0,0,0,0,0,0,0,0,248,20,3,0,249,0,0,0,250,0,0,0,24,0,0,0,0,0,0,0,49,54,83,112,108,97,115,104,70,84,70,111,110,116,70,105,108,101,0,0,0,0,0,0,128,113,4,0,224,20,3,0,8,214,0,0,0,0,0,0,0,0,0,0,56,21,3,0,251,0,0,0,252,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,49,48,83,112,108,97,115,104,70,111,110,116,0,0,0,0,88,113,4,0,40,21,3,0,85,70,0,0,0,0,0,0,70,0,0,0,0,0,0,0,85,110,105,120,0,0,0,0,73,108,108,101,103,97,108,32,102,105,108,101,32,115,112,101,99,0,0,0,0,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,73,100,101,110,116,105,116,121,0,0,0,0,0,0,0,0,69,120,112,101,99,116,101,100,32,102,117,110,99,116,105,111,110,32,100,105,99,116,105,111,110,97,114,121,32,111,114,32,115,116,114,101,97,109,0,0,70,117,110,99,116,105,111,110,84,121,112,101,0,0,0,0,70,117,110,99,116,105,111,110,32,116,121,112,101,32,105,115,32,109,105,115,115,105,110,103,32,111,114,32,119,114,111,110,103,32,116,121,112,101,0,0,85,110,105,109,112,108,101,109,101,110,116,101,100,32,102,117,110,99,116,105,111,110,32,116,121,112,101,32,40,37,100,41,0,0,0,0,0,0,0,0,68,111,109,97,105,110,0,0,70,117,110,99,116,105,111,110,32,105,115,32,109,105,115,115,105,110,103,32,100,111,109,97,105,110,0,0,0,0,0,0,70,117,110,99,116,105,111,110,115,32,119,105,116,104,32,109,111,114,101,32,116,104,97,110,32,37,100,32,105,110,112,117,116,115,32,97,114,101,32,117,110,115,117,112,112,111,114,116,101,100,0,0,0,0,0,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,105,110,32,102,117,110,99,116,105,111,110,32,100,111,109,97,105,110,32,97,114,114,97,121,0,0,82,97,110,103,101,0,0,0,70,117,110,99,116,105,111,110,115,32,119,105,116,104,32,109,111,114,101,32,116,104,97,110,32,37,100,32,111,117,116,112,117,116,115,32,97,114,101,32,117,110,115,117,112,112,111,114,116,101,100,0,0,0,0,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,105,110,32,102,117,110,99,116,105,111,110,32,114,97,110,103,101,32,97,114,114,97,121,0,0,0,0,0,0,0,224,30,3,0,253,0,0,0,254,0,0,0,193,0,0,0,194,0,0,0,135,0,0,0,195,0,0,0,0,0,0,0,8,31,3,0,255,0,0,0,0,1,0,0,196,0,0,0,197,0,0,0,136,0,0,0,198,0,0,0,84,121,112,101,32,48,32,102,117,110,99,116,105,111,110,32,105,115,32,109,105,115,115,105,110,103,32,114,97,110,103,101,0,0,0,0,0,0,0,0,83,97,109,112,108,101,100,32,102,117,110,99,116,105,111,110,115,32,119,105,116,104,32,109,111,114,101,32,116,104,97,110,32,37,100,32,105,110,112,117,116,115,32,97,114,101,32,117,110,115,117,112,112,111,114,116,101,100,0,0,0,0,0,0,84,121,112,101,32,48,32,102,117,110,99,116,105,111,110,32,105,115,110,39,116,32,97,32,115,116,114,101,97,109,0,0,83,105,122,101,0,0,0,0,70,117,110,99,116,105,111,110,32,104,97,115,32,109,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,115,105,122,101,32,97,114,114,97,121,0,0,0,0,0,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,105,110,32,102,117,110,99,116,105,111,110,32,115,105,122,101,32,97,114,114,97,121,0,0,0,0,66,105,116,115,80,101,114,83,97,109,112,108,101,0,0,0,70,117,110,99,116,105,111,110,32,104,97,115,32,109,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,66,105,116,115,80,101,114,83,97,109,112,108,101,0,0,0,69,110,99,111,100,101,0,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,105,110,32,102,117,110,99,116,105,111,110,32,101,110,99,111,100,101,32,97,114,114,97,121,0,0,68,101,99,111,100,101,0,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,105,110,32,102,117,110,99,116,105,111,110,32,100,101,99,111,100,101,32,97,114,114,97,121,0,0,0,0,0,0,48,31,3,0,253,0,0,0,1,1,0,0,199,0,0,0,200,0,0,0,137,0,0,0,201,0,0,0,69,120,112,111,110,101,110,116,105,97,108,32,102,117,110,99,116,105,111,110,32,119,105,116,104,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,105,110,112,117,116,0,0,0,67,48,0,0,0,0,0,0,70,117,110,99,116,105,111,110,39,115,32,67,48,32,97,114,114,97,121,32,105,115,32,119,114,111,110,103,32,108,101,110,103,116,104,0,0,0,0,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,105,110,32,102,117,110,99,116,105,111,110,32,67,48,32,97,114,114,97,121,0,0,0,0,0,0,67,49,0,0,0,0,0,0,70,117,110,99,116,105,111,110,39,115,32,67,49,32,97,114,114,97,121,32,105,115,32,119,114,111,110,103,32,108,101,110,103,116,104,0,0,0,0,0,73,108,108,101,103,97,108,32,118,97,108,117,101,32,105,110,32,102,117,110,99,116,105,111,110,32,67,49,32,97,114,114,97,121,0,0,0,0,0,0,78,0,0,0,0,0,0,0,70,117,110,99,116,105,111,110,32,104,97,115,32,109,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,78,0,0,0,0,0,0,0,0,0,0,0,88,31,3,0,2,1,0,0,3,1,0,0,202,0,0,0,203,0,0,0,138,0,0,0,204,0,0,0,83,116,105,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,32,119,105,116,104,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,105,110,112,117,116,0,0,0,0,0,70,117,110,99,116,105,111,110,115,0,0,0,0,0,0,0,77,105,115,115,105,110,103,32,39,70,117,110,99,116,105,111,110,115,39,32,101,110,116,114,121,32,105,110,32,115,116,105,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,0,73,110,99,111,109,112,97,116,105,98,108,101,32,115,117,98,102,117,110,99,116,105,111,110,115,32,105,110,32,115,116,105,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,0,66,111,117,110,100,115,0,0,77,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,39,66,111,117,110,100,115,39,32,101,110,116,114,121,32,105,110,32,115,116,105,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,0,73,110,118,97,108,105,100,32,116,121,112,101,32,105,110,32,39,66,111,117,110,100,115,39,32,97,114,114,97,121,32,105,110,32,115,116,105,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,0,0,0,0,77,105,115,115,105,110,103,32,111,114,32,105,110,118,97,108,105,100,32,39,69,110,99,111,100,101,39,32,101,110,116,114,121,32,105,110,32,115,116,105,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,0,73,110,118,97,108,105,100,32,116,121,112,101,32,105,110,32,39,69,110,99,111,100,101,39,32,97,114,114,97,121,32,105,110,32,115,116,105,116,99,104,105,110,103,32,102,117,110,99,116,105,111,110,0,0,0,0,83,116,97,99,107,32,117,110,100,101,114,102,108,111,119,32,105,110,32,80,111,115,116,83,99,114,105,112,116,32,102,117,110,99,116,105,111,110,0,0,0,0,0,0,128,31,3,0,4,1,0,0,5,1,0,0,205,0,0,0,206,0,0,0,139,0,0,0,207,0,0,0,84,121,112,101,32,52,32,102,117,110,99,116,105,111,110,32,105,115,32,109,105,115,115,105,110,103,32,114,97,110,103,101,0,0,0,0,0,0,0,0,84,121,112,101,32,52,32,102,117,110,99,116,105,111,110,32,105,115,110,39,116,32,97,32,115,116,114,101,97,109,0,0,123,0,0,0,0,0,0,0,69,120,112,101,99,116,101,100,32,39,123,39,32,97,116,32,115,116,97,114,116,32,111,102,32,80,111,115,116,83,99,114,105,112,116,32,102,117,110,99,116,105,111,110,0,0,0,0,85,110,101,120,112,101,99,116,101,100,32,101,110,100,32,111,102,32,80,111,115,116,83,99,114,105,112,116,32,102,117,110,99,116,105,111,110,32,115,116,114,101,97,109,0,0,0,0,105,102,0,0,0,0,0,0,71,111,116,32,39,105,102,39,32,111,112,101,114,97,116,111,114,32,119,105,116,104,32,116,119,111,32,98,108,111,99,107,115,32,105,110,32,80,111,115,116,83,99,114,105,112,116,32,102,117,110,99,116,105,111,110,0,0,0,0,0,0,0,0,105,102,101,108,115,101,0,0,71,111,116,32,39,105,102,101,108,115,101,39,32,111,112,101,114,97,116,111,114,32,119,105,116,104,32,111,110,101,32,98,108,111,99,107,115,32,105,110,32,80,111,115,116,83,99,114,105,112,116,32,102,117,110,99,116,105,111,110,0,0,0,0,69,120,112,101,99,116,101,100,32,105,102,47,105,102,101,108,115,101,32,111,112,101,114,97,116,111,114,32,105,110,32,80,111,115,116,83,99,114,105,112,116,32,102,117,110,99,116,105,111,110,0,0,0,0,0,0,125,0,0,0,0,0,0,0,184,31,3,0,192,31,3,0,200,31,3,0,208,31,3,0,216,31,3,0,232,31,3,0,240,31,3,0,248,31,3,0,0,32,3,0,8,32,3,0,16,32,3,0,24,32,3,0,32,32,3,0,40,32,3,0,48,32,3,0,56,32,3,0,64,32,3,0,72,32,3,0,80,32,3,0,88,32,3,0,96,32,3,0,104,32,3,0,112,32,3,0,120,32,3,0,128,32,3,0,136,32,3,0,144,32,3,0,152,32,3,0,160,32,3,0,168,32,3,0,176,32,3,0,184,32,3,0,192,32,3,0,200,32,3,0,208,32,3,0,216,32,3,0,224,32,3,0,232,32,3,0,240,32,3,0,0,33,3,0,85,110,107,110,111,119,110,32,111,112,101,114,97,116,111,114,32,39,37,115,39,32,105,110,32,80,111,115,116,83,99,114,105,112,116,32,102,117,110,99,116,105,111,110,0,0,0,0,73,110,116,101,114,110,97,108,58,32,98,97,100,32,111,98,106,101,99,116,32,105,110,32,80,111,115,116,83,99,114,105,112,116,32,102,117,110,99,116,105,111,110,32,99,111,100,101,0,0,0,0,0,0,0,0,49,54,73,100,101,110,116,105,116,121,70,117,110,99,116,105,111,110,0,0,0,0,0,0,56,70,117,110,99,116,105,111,110,0,0,0,0,0,0,0,88,113,4,0,200,30,3,0,128,113,4,0,176,30,3,0,216,30,3,0,0,0,0,0,49,53,83,97,109,112,108,101,100,70,117,110,99,116,105,111,110,0,0,0,0,0,0,0,128,113,4,0,240,30,3,0,216,30,3,0,0,0,0,0,49,57,69,120,112,111,110,101,110,116,105,97,108,70,117,110,99,116,105,111,110,0,0,0,128,113,4,0,24,31,3,0,216,30,3,0,0,0,0,0,49,55,83,116,105,116,99,104,105,110,103,70,117,110,99,116,105,111,110,0,0,0,0,0,128,113,4,0,64,31,3,0,216,30,3,0,0,0,0,0,49,56,80,111,115,116,83,99,114,105,112,116,70,117,110,99,116,105,111,110,0,0,0,0,128,113,4,0,104,31,3,0,216,30,3,0,0,0,0,0,84,121,112,101,32,109,105,115,109,97,116,99,104,32,105,110,32,80,111,115,116,83,99,114,105,112,116,32,102,117,110,99,116,105,111,110,0,0,0,0,97,98,115,0,0,0,0,0,97,100,100,0,0,0,0,0,97,110,100,0,0,0,0,0,97,116,97,110,0,0,0,0,98,105,116,115,104,105,102,116,0,0,0,0,0,0,0,0,99,101,105,108,105,110,103,0,99,111,112,121,0,0,0,0,99,111,115,0,0,0,0,0,99,118,105,0,0,0,0,0,99,118,114,0,0,0,0,0,100,105,118,0,0,0,0,0,100,117,112,0,0,0,0,0,101,113,0,0,0,0,0,0,101,120,99,104,0,0,0,0,101,120,112,0,0,0,0,0,102,97,108,115,101,0,0,0,102,108,111,111,114,0,0,0,103,101,0,0,0,0,0,0,103,116,0,0,0,0,0,0,105,100,105,118,0,0,0,0,105,110,100,101,120,0,0,0,108,101,0,0,0,0,0,0,108,110,0,0,0,0,0,0,108,111,103], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+194676);
/* memory initializer */ allocate([108,116,0,0,0,0,0,0,109,111,100,0,0,0,0,0,109,117,108,0,0,0,0,0,110,101,0,0,0,0,0,0,110,101,103,0,0,0,0,0,110,111,116,0,0,0,0,0,111,114,0,0,0,0,0,0,112,111,112,0,0,0,0,0,114,111,108,108,0,0,0,0,114,111,117,110,100,0,0,0,115,105,110,0,0,0,0,0,115,113,114,116,0,0,0,0,115,117,98,0,0,0,0,0,116,114,117,101,0,0,0,0,116,114,117,110,99,97,116,101,0,0,0,0,0,0,0,0,120,111,114,0,0,0,0,0,0,0,0,0,56,33,3,0,6,1,0,0,7,1,0,0,23,0,0,0,0,0,0,0,50,49,80,111,115,116,83,99,114,105,112,116,70,117,110,99,116,105,111,110,75,101,121,0,128,113,4,0,32,33,3,0,88,235,2,0,0,0,0,0,0,0,0,0,120,33,3,0,8,1,0,0,9,1,0,0,50,50,80,111,115,116,83,99,114,105,112,116,70,117,110,99,116,105,111,110,73,116,101,109,0,0,0,0,0,0,0,0,128,113,4,0,88,33,3,0,120,235,2,0,0,0,0,0,83,116,97,99,107,32,111,118,101,114,102,108,111,119,32,105,110,32,80,111,115,116,83,99,114,105,112,116,32,102,117,110,99,116,105,111,110,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,0,0,0,67,97,108,108,32,116,111,32,79,98,106,101,99,116,32,119,104,101,114,101,32,116,104,101,32,111,98,106,101,99,116,32,119,97,115,32,116,121,112,101,32,37,100,44,32,110,111,116,32,116,104,101,32,101,120,112,101,99,116,101,100,32,116,121,112,101,32,37,100,32,111,114,32,37,100,0,0,0,0,0,0,0,1,86,0,0,1,52,0,0,1,24,0,0,193,10,0,0,33,5,0,0,33,2,0,0,1,86,0,0,1,84,0,0,1,72,0,0,1,56,0,0,1,48,0,0,1,36,0,0,1,28,0,0,1,22,0,0,1,86,0,0,1,84,0,0,1,81,0,0,1,72,0,0,1,56,0,0,1,52,0,0,1,48,0,0,1,40,0,0,1,36,0,0,1,34,0,0,1,28,0,0,1,24,0,0,1,22,0,0,1,20,0,0,1,18,0,0,1,17,0,0,193,10,0,0,193,9,0,0,161,8,0,0,33,5,0,0,65,4,0,0,161,2,0,0,33,2,0,0,65,1,0,0,17,1,0,0,133,0,0,0,73,0,0,0,37,0,0,0,21,0,0,0,9,0,0,0,5,0,0,0,1,0,0,0,1,86,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,38,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,29,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,45,0,0,0,46,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,9,0,0,0,12,0,0,0,29,0,0,0,33,0,0,0,6,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,17,0,0,0,18,0,0,0,20,0,0,0,21,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,46,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,37,3,0,10,1,0,0,11,1,0,0,2,0,0,0,3,0,0,0,24,0,0,0,2,0,0,0,25,0,0,0,26,0,0,0,25,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,49,50,83,112,108,97,115,104,70,84,70,111,110,116,0,0,128,113,4,0,128,37,3,0,56,21,3,0,0,0,0,0,116,114,117,101,116,121,112,101,0,0,0,0,0,0,0,0,103,108,121,112,104,45,100,105,99,116,0,0,0,0,0,0,116,116,45,99,109,97,112,115,0,0,0,0,0,0,0,0,116,121,112,101,52,50,0,0,208,37,3,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,7,0,0,0,15,0,0,0,8,0,0,0,46,65,112,112,108,101,68,111,117,98,108,101,47,0,0,0,37,0,0,0,0,0,0,0,46,114,101,115,111,117,114,99,101,47,0,0,0,0,0,0,114,101,115,111,117,114,99,101,46,102,114,107,47,0,0,0,47,114,115,114,99,0,0,0,47,46,46,110,97,109,101,100,102,111,114,107,47,114,115,114,99,0,0,0,0,0,0,0,46,95,0,0,0,0,0,0,79,84,84,79,0,0,0,0,99,102,102,0,0,0,0,0,116,121,112,101,49,0,0,0,99,105,100,0,0,0,0,0,52,0,0,0,115,116,105,98,27,0,0,0,12,1,0,0,28,0,0,0,0,0,0,0,68,0,0,0,0,0,0,0,40,0,0,0,108,116,117,111,29,0,0,0,13,1,0,0,30,0,0,0,140,0,0,0,69,0,0,0,31,0,0,0,24,0,0,0,32,0,0,0,14,1,0,0,33,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,99,102,0,0,0,0,0,1,2,0,0,40,0,0,0,32,39,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,72,1,0,0,44,0,0,0,160,0,0,0,16,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,26,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,37,0,0,0,49,48,54,52,54,0,0,0,56,56,53,57,0,0,0,0,49,0,0,0,0,0,0,0,70,65,77,73,76,89,95,78,65,77,69,0,0,0,0,0,65,86,69,82,65,71,69,95,87,73,68,84,72,0,0,0,80,79,73,78,84,95,83,73,90,69,0,0,0,0,0,0,80,73,88,69,76,95,83,73,90,69,0,0,0,0,0,0,82,69,83,79,76,85,84,73,79,78,95,88,0,0,0,0,82,69,83,79,76,85,84,73,79,78,95,89,0,0,0,0,67,72,65,82,83,69,84,95,82,69,71,73,83,84,82,89,0,0,0,0,0,0,0,0,67,72,65,82,83,69,84,95,69,78,67,79,68,73,78,71,0,0,0,0,0,0,0,0,83,76,65,78,84,0,0,0,79,98,108,105,113,117,101,0,73,116,97,108,105,99,0,0,87,69,73,71,72,84,95,78,65,77,69,0,0,0,0,0,66,111,108,100,0,0,0,0,83,69,84,87,73,68,84,72,95,78,65,77,69,0,0,0,65,68,68,95,83,84,89,76,69,95,78,65,77,69,0,0,82,101,103,117,108,97,114,0,4,0,12,0,13,2,0,0,13,2,2,0,13,2,4,0,13,2,6,0,13,2,8,0,13,2,10,0,0,0,0,0,4,0,12,0,15,2,0,0,15,2,2,0,15,2,4,0,15,2,6,0,15,2,8,0,15,2,10,0,0,0,0,0,4,0,5,0,8,1,0,0,8,1,1,0,8,1,2,0,8,1,3,0,8,1,4,0,0,0,0,0,0,0,0,0,4,0,20,0,8,1,0,0,8,1,1,0,8,1,2,0,8,1,3,0,8,1,4,0,8,1,5,0,8,1,6,0,25,1,0,0,17,4,8,0,17,4,12,0,17,4,16,0,0,0,0,0,0,0,0,0,4,0,20,0,8,1,0,0,8,1,1,0,8,1,2,0,8,1,3,0,8,1,4,0,8,1,5,0,8,1,6,0,25,1,0,0,19,4,8,0,19,4,12,0,19,4,16,0,0,0,0,0,0,0,0,0,4,0,9,0,17,4,0,0,8,1,4,0,17,4,8,0,0,0,0,0,0,0,0,0,4,0,9,0,19,4,0,0,8,1,4,0,19,4,8,0,0,0,0,0,0,0,0,0,4,0,8,0,18,4,0,0,18,4,4,0,0,0,0,0,4,0,16,0,18,4,0,0,18,4,4,0,18,4,8,0,18,4,12,0,0,0,0,0,208,41,3,0,216,41,3,0,224,41,3,0,248,41,3,0,0,0,0,0,0,0,0,0,98,100,102,0,0,0,0,0,27,0,0,0,28,0,0,0,120,102,56,54,45,100,114,105,118,101,114,45,110,97,109,101,0,0,0,0,0,0,0,0,80,67,70,0,0,0,0,0,24,0,0,0,38,0,0,0,16,1,0,0,39,0,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,6,0,0,0,29,0,0,0,0,0,0,0,112,102,114,0,0,0,0,0,1,1,0,0,40,0,0,0,56,42,3,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,41,0,0,0,184,1,0,0,44,0,0,0,196,0,0,0,19,0,0,0,17,1,0,0,0,0,0,0,0,0,0,0,208,0,0,0,18,1,0,0,17,0,0,0,26,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,30,0,0,0,2,0,0,0,31,0,0,0,3,0,0,0,32,0,0,0,4,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,4,0,58,0,16,4,0,0,12,4,4,0,12,4,8,0,12,4,12,0,12,4,16,0,12,4,20,0,12,4,24,0,20,4,28,0,20,4,32,0,12,4,36,0,20,4,40,0,20,4,44,0,12,4,48,0,20,4,52,0,20,4,56,0,8,4,60,0,8,4,64,0,8,4,68,0,8,4,72,0,8,4,76,0,20,4,80,0,20,4,84,0,20,4,88,0,12,4,92,0,8,4,96,0,8,4,100,0,12,4,104,0,0,0,0,0,0,0,0,0,96,43,3,0,40,42,3,0,112,43,3,0,136,43,3,0,0,0,0,0,0,0,0,0,112,102,114,45,109,101,116,114,105,99,115,0,0,0,0,0,120,102,56,54,45,100,114,105,118,101,114,45,110,97,109,101,0,0,0,0,0,0,0,0,80,70,82,0,0,0,0,0,34,0,0,0,19,1,0,0,9,0,0,0,20,1,0,0,28,0,0,0,21,1,0,0,22,1,0,0,23,1,0,0,209,0,0,0,42,0,0,0,20,0,0,0,35,0,0,0,10,0,0,0,70,0,0,0,29,0,0,0,21,0,0,0,22,0,0,0,0,0,0,0,1,0,0,0,24,1,0,0,43,0,0,0,30,0,0,0,36,0,0,0,210,0,0,0,37,0,0,0,25,1,0,0,4,0,0,0,26,1,0,0,38,0,0,0,0,0,0,0,11,0,0,0,27,1,0,0,211,0,0,0,0,0,0,0,32,0,0,0,44,0,0,0,28,1,0,0,45,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,47,0,0,0,28,1,0,0,45,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,48,0,0,0,29,1,0,0,49,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,51,0,0,0,30,1,0,0,52,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,44,3,0,64,44,3,0,104,44,3,0,144,44,3,0,112,115,97,117,120,0,0,0,144,43,3,0,160,43,3,0,216,43,3,0,248,43,3,0,141,0,0,0,184,44,3,0,8,44,3,0,0,0,0,0,0,0,0,0,20,0,0,0,200,44,3,0,0,0,2,0,0,0,2,0,208,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,116,97,114,116,70,111,110,116,77,101,116,114,105,99,115,0,0,0,0,0,0,0,0,116,114,117,101,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,224,46,3,0,240,46,3,0,0,47,3,0,16,47,3,0,24,47,3,0,40,47,3,0,56,47,3,0,80,47,3,0,88,47,3,0,96,47,3,0,104,47,3,0,120,47,3,0,136,47,3,0,152,47,3,0,168,47,3,0,184,47,3,0,200,47,3,0,208,47,3,0,224,47,3,0,240,47,3,0,0,48,3,0,16,48,3,0,32,48,3,0,48,48,3,0,64,48,3,0,72,48,3,0,88,48,3,0,104,48,3,0,120,48,3,0,136,48,3,0,152,48,3,0,168,48,3,0,184,48,3,0,200,48,3,0,216,48,3,0,224,48,3,0,232,48,3,0,240,48,3,0,248,48,3,0,0,49,3,0,16,49,3,0,32,49,3,0,40,49,3,0,48,49,3,0,56,49,3,0,72,49,3,0,96,49,3,0,112,49,3,0,24,45,3,0,128,49,3,0,144,49,3,0,160,49,3,0,176,49,3,0,192,49,3,0,208,49,3,0,216,49,3,0,224,49,3,0,240,49,3,0,8,50,3,0,32,50,3,0,40,50,3,0,48,50,3,0,56,50,3,0,64,50,3,0,72,50,3,0,80,50,3,0,88,50,3,0,96,50,3,0,104,50,3,0,112,50,3,0,120,50,3,0,128,50,3,0,136,50,3,0,152,50,3,0,65,115,99,101,110,100,101,114,0,0,0,0,0,0,0,0,65,120,105,115,76,97,98,101,108,0,0,0,0,0,0,0,65,120,105,115,84,121,112,101,0,0,0,0,0,0,0,0,66,0,0,0,0,0,0,0,66,108,101,110,100,65,120,105,115,84,121,112,101,115,0,0,66,108,101,110,100,68,101,115,105,103,110,77,97,112,0,0,66,108,101,110,100,68,101,115,105,103,110,80,111,115,105,116,105,111,110,115,0,0,0,0,67,0,0,0,0,0,0,0,67,67,0,0,0,0,0,0,67,72,0,0,0,0,0,0,67,97,112,72,101,105,103,104,116,0,0,0,0,0,0,0,67,104,97,114,87,105,100,116,104,0,0,0,0,0,0,0,67,104,97,114,97,99,116,101,114,83,101,116,0,0,0,0,67,104,97,114,97,99,116,101,114,115,0,0,0,0,0,0,68,101,115,99,101,110,100,101,114,0,0,0,0,0,0,0,69,110,99,111,100,105,110,103,83,99,104,101,109,101,0,0,69,110,100,65,120,105,115,0,69,110,100,67,104,97,114,77,101,116,114,105,99,115,0,0,69,110,100,67,111,109,112,111,115,105,116,101,115,0,0,0,69,110,100,68,105,114,101,99,116,105,111,110,0,0,0,0,69,110,100,70,111,110,116,77,101,116,114,105,99,115,0,0,69,110,100,75,101,114,110,68,97,116,97,0,0,0,0,0,69,110,100,75,101,114,110,80,97,105,114,115,0,0,0,0,69,110,100,84,114,97,99,107,75,101,114,110,0,0,0,0,69,115,99,67,104,97,114,0,70,97,109,105,108,121,78,97,109,101,0,0,0,0,0,0,70,111,110,116,66,66,111,120,0,0,0,0,0,0,0,0,70,111,110,116,78,97,109,101,0,0,0,0,0,0,0,0,70,117,108,108,78,97,109,101,0,0,0,0,0,0,0,0,73,115,66,97,115,101,70,111,110,116,0,0,0,0,0,0,73,115,67,73,68,70,111,110,116,0,0,0,0,0,0,0,73,115,70,105,120,101,100,80,105,116,99,104,0,0,0,0,73,115,70,105,120,101,100,86,0,0,0,0,0,0,0,0,73,116,97,108,105,99,65,110,103,108,101,0,0,0,0,0,75,80,0,0,0,0,0,0,75,80,72,0,0,0,0,0,75,80,88,0,0,0,0,0,75,80,89,0,0,0,0,0,76,0,0,0,0,0,0,0,77,97,112,112,105,110,103,83,99,104,101,109,101,0,0,0,77,101,116,114,105,99,115,83,101,116,115,0,0,0,0,0,78,0,0,0,0,0,0,0,78,111,116,105,99,101,0,0,80,67,67,0,0,0,0,0,83,116,97,114,116,65,120,105,115,0,0,0,0,0,0,0,83,116,97,114,116,67,104,97,114,77,101,116,114,105,99,115,0,0,0,0,0,0,0,0,83,116,97,114,116,67,111,109,112,111,115,105,116,101,115,0,83,116,97,114,116,68,105,114,101,99,116,105,111,110,0,0,83,116,97,114,116,75,101,114,110,68,97,116,97,0,0,0,83,116,97,114,116,75,101,114,110,80,97,105,114,115,0,0,83,116,97,114,116,75,101,114,110,80,97,105,114,115,48,0,83,116,97,114,116,75,101,114,110,80,97,105,114,115,49,0,83,116,97,114,116,84,114,97,99,107,75,101,114,110,0,0,83,116,100,72,87,0,0,0,83,116,100,86,87,0,0,0,84,114,97,99,107,75,101,114,110,0,0,0,0,0,0,0,85,110,100,101,114,108,105,110,101,80,111,115,105,116,105,111,110,0,0,0,0,0,0,0,85,110,100,101,114,108,105,110,101,84,104,105,99,107,110,101,115,115,0,0,0,0,0,0,86,86,0,0,0,0,0,0,86,86,101,99,116,111,114,0,86,101,114,115,105,111,110,0,87,0,0,0,0,0,0,0,87,48,0,0,0,0,0,0,87,48,88,0,0,0,0,0,87,48,89,0,0,0,0,0,87,49,0,0,0,0,0,0,87,49,88,0,0,0,0,0,87,49,89,0,0,0,0,0,87,88,0,0,0,0,0,0,87,89,0,0,0,0,0,0,87,101,105,103,104,116,0,0,87,101,105,103,104,116,86,101,99,116,111,114,0,0,0,0,88,72,101,105,103,104,116,0,112,111,115,116,115,99,114,105,112,116,45,99,109,97,112,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,4,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,2,0,0,0,6,0,0,0,2,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,112,115,104,105,110,116,101,114,0,0,0,0,0,0,0,0,212,0,0,0,213,0,0,0,214,0,0,0,0,0,0,0,0,0,0,0,176,0,0,0,40,51,3,0,0,0,1,0,0,0,2,0,56,51,3,0,215,0,0,0,31,1,0,0,0,0,0,0,0,0,0,0,112,115,110,97,109,101,115,0,216,0,0,0,1,0,0,0,54,0,0,0,55,0,0,0,217,0,0,0,218,0,0,0,232,51,3,0,232,53,3,0,0,0,0,0,20,0,0,0,112,51,3,0,0,0,1,0,0,0,2,0,120,51,3,0,0,0,0,0,0,0,0,0,56,0,0,0,0,0,0,0,208,51,3,0,120,51,3,0,0,0,0,0,0,0,0,0,112,111,115,116,115,99,114,105,112,116,45,99,109,97,112,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,84,0,85,0,86,0,87,0,88,0,89,0,90,0,91,0,92,0,93,0,94,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,97,0,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,107,0,108,0,109,0,110,0,0,0,111,0,112,0,113,0,114,0,0,0,115,0,116,0,117,0,118,0,119,0,120,0,121,0,122,0,0,0,123,0,0,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,0,0,132,0,133,0,0,0,134,0,135,0,136,0,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,0,0,0,139,0,0,0,0,0,0,0,0,0,140,0,141,0,142,0,143,0,0,0,0,0,0,0,0,0,0,0,144,0,0,0,0,0,0,0,145,0,0,0,0,0,146,0,147,0,148,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,229,0,230,0,0,0,231,0,232,0,233,0,234,0,235,0,236,0,237,0,238,0,13,0,14,0,15,0,99,0,239,0,240,0,241,0,242,0,243,0,244,0,245,0,246,0,247,0,248,0,27,0,28,0,249,0,250,0,251,0,252,0,0,0,253,0,254,0,255,0,0,1,1,1,0,0,0,0,0,0,2,1,0,0,0,0,3,1,4,1,5,1,6,1,0,0,0,0,7,1,8,1,9,1,0,0,10,1,109,0,110,0,11,1,12,1,13,1,0,0,14,1,15,1,16,1,17,1,18,1,19,1,20,1,21,1,22,1,23,1,24,1,25,1,26,1,27,1,28,1,29,1,30,1,31,1,32,1,33,1,34,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,45,1,46,1,47,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,1,49,1,50,1,0,0,0,0,51,1,52,1,53,1,54,1,55,1,0,0,56,1,0,0,0,0,57,1,0,0,0,0,58,1,59,1,0,0,0,0,60,1,61,1,62,1,0,0,0,0,0,0,158,0,155,0,163,0,63,1,64,1,65,1,66,1,67,1,68,1,69,1,0,0,0,0,70,1,150,0,164,0,169,0,71,1,72,1,73,1,74,1,75,1,76,1,77,1,78,1,79,1,80,1,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,94,1,95,1,96,1,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,107,1,108,1,109,1,110,1,111,1,112,1,113,1,114,1,115,1,116,1,117,1,118,1,119,1,120,1,121,1,122,1,46,110,117,108,108,0,110,111,110,109,97,114,107,105,110,103,114,101,116,117,114,110,0,110,111,116,101,113,117,97,108,0,105,110,102,105,110,105,116,121,0,108,101,115,115,101,113,117,97,108,0,103,114,101,97,116,101,114,101,113,117,97,108,0,112,97,114,116,105,97,108,100,105,102,102,0,115,117,109,109,97,116,105,111,110,0,112,114,111,100,117,99,116,0,112,105,0,105,110,116,101,103,114,97,108,0,79,109,101,103,97,0,114,97,100,105,99,97,108,0,97,112,112,114,111,120,101,113,117,97,108,0,68,101,108,116,97,0,110,111,110,98,114,101,97,107,105,110,103,115,112,97,99,101,0,108,111,122,101,110,103,101,0,97,112,112,108,101,0,102,114,97,110,99,0,71,98,114,101,118,101,0,103,98,114,101,118,101,0,73,100,111,116,97,99,99,101,110,116,0,83,99,101,100,105,108,108,97,0,115,99,101,100,105,108,108,97,0,67,97,99,117,116,101,0,99,97,99,117,116,101,0,67,99,97,114,111,110,0,99,99,97,114,111,110,0,100,99,114,111,97,116,0,46,110,111,116,100,101,102,0,115,112,97,99,101,0,101,120,99,108,97,109,0,113,117,111,116,101,100,98,108,0,110,117,109,98,101,114,115,105,103,110,0,100,111,108,108,97,114,0,112,101,114,99,101,110,116,0,97,109,112,101,114,115,97,110,100,0,113,117,111,116,101,114,105,103,104,116,0,112,97,114,101,110,108,101,102,116,0,112,97,114,101,110,114,105,103,104,116,0,97,115,116,101,114,105,115,107,0,112,108,117,115,0,99,111,109,109,97,0,104,121,112,104,101,110,0,112,101,114,105,111,100,0,115,108,97,115,104,0,122,101,114,111,0,111,110,101,0,116,119,111,0,116,104,114,101,101,0,102,111,117,114,0,102,105,118,101,0,115,105,120,0,115,101,118,101,110,0,101,105,103,104,116,0,110,105,110,101,0,99,111,108,111,110,0,115,101,109,105,99,111,108,111,110,0,108,101,115,115,0,101,113,117,97,108,0,103,114,101,97,116,101,114,0,113,117,101,115,116,105,111,110,0,97,116,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,84,0,85,0,86,0,87,0,88,0,89,0,90,0,98,114,97,99,107,101,116,108,101,102,116,0,98,97,99,107,115,108,97,115,104,0,98,114,97,99,107,101,116,114,105,103,104,116,0,97,115,99,105,105,99,105,114,99,117,109,0,117,110,100,101,114,115,99,111,114,101,0,113,117,111,116,101,108,101,102,116,0,97,0,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,107,0,108,0,109,0,110,0,111,0,112,0,113,0,114,0,115,0,116,0,117,0,118,0,119,0,120,0,121,0,122,0,98,114,97,99,101,108,101,102,116,0,98,97,114,0,98,114,97,99,101,114,105,103,104,116,0,97,115,99,105,105,116,105,108,100,101,0,101,120,99,108,97,109,100,111,119,110,0,99,101,110,116,0,115,116,101,114,108,105,110,103,0,102,114,97,99,116,105,111,110,0,121,101,110,0,102,108,111,114,105,110,0,115,101,99,116,105,111,110,0,99,117,114,114,101,110,99,121,0,113,117,111,116,101,115,105,110,103,108,101,0,113,117,111,116,101,100,98,108,108,101,102,116,0,103,117,105,108,108,101,109,111,116,108,101,102,116,0,103,117,105,108,115,105,110,103,108,108,101,102,116,0,103,117,105,108,115,105,110,103,108,114,105,103,104,116,0,102,105,0,102,108,0,101,110,100,97,115,104,0,100,97,103,103,101,114,0,100,97,103,103,101,114,100,98,108,0,112,101,114,105,111,100,99,101,110,116,101,114,101,100,0,112,97,114,97,103,114,97,112,104,0,98,117,108,108,101,116,0,113,117,111,116,101,115,105,110,103,108,98,97,115,101,0,113,117,111,116,101,100,98,108,98,97,115,101,0,113,117,111,116,101,100,98,108,114,105,103,104,116,0,103,117,105,108,108,101,109,111,116,114,105,103,104,116,0,101,108,108,105,112,115,105,115,0,112,101,114,116,104,111,117,115,97,110,100,0,113,117,101,115,116,105,111,110,100,111,119,110,0,103,114,97,118,101,0,97,99,117,116,101,0,99,105,114,99,117,109,102,108,101,120,0,116,105,108,100,101,0,109,97,99,114,111,110,0,98,114,101,118,101,0,100,111,116,97,99,99,101,110,116,0,100,105,101,114,101,115,105,115,0,114,105,110,103,0,99,101,100,105,108,108,97,0,104,117,110,103,97,114,117,109,108,97,117,116,0,111,103,111,110,101,107,0,99,97,114,111,110,0,101,109,100,97,115,104,0,65,69,0,111,114,100,102,101,109,105,110,105,110,101,0,76,115,108,97,115,104,0,79,115,108,97,115,104,0,79,69,0,111,114,100,109,97,115,99,117,108,105,110,101,0,97,101,0,100,111,116,108,101,115,115,105,0,108,115,108,97,115,104,0,111,115,108,97,115,104,0,111,101,0,103,101,114,109,97,110,100,98,108,115,0,111,110,101,115,117,112,101,114,105,111,114,0,108,111,103,105,99,97,108,110,111,116,0,109,117,0,116,114,97,100,101,109,97,114,107,0,69,116,104,0,111,110,101,104,97,108,102,0,112,108,117,115,109,105,110,117,115,0,84,104,111,114,110,0,111,110,101,113,117,97,114,116,101,114,0,100,105,118,105,100,101,0,98,114,111,107,101,110,98,97,114,0,100,101,103,114,101,101,0,116,104,111,114,110,0,116,104,114,101,101,113,117,97,114,116,101,114,115,0,116,119,111,115,117,112,101,114,105,111,114,0,114,101,103,105,115,116,101,114,101,100,0,109,105,110,117,115,0,101,116,104,0,109,117,108,116,105,112,108,121,0,116,104,114,101,101,115,117,112,101,114,105,111,114,0,99,111,112,121,114,105,103,104,116,0,65,97,99,117,116,101,0,65,99,105,114,99,117,109,102,108,101,120,0,65,100,105,101,114,101,115,105,115,0,65,103,114,97,118,101,0,65,114,105,110,103,0,65,116,105,108,100,101,0,67,99,101,100,105,108,108,97,0,69,97,99,117,116,101,0,69,99,105,114,99,117,109,102,108,101,120,0,69,100,105,101,114,101,115,105,115,0,69,103,114,97,118,101,0,73,97,99,117,116,101,0,73,99,105,114,99,117,109,102,108,101,120,0,73,100,105,101,114,101,115,105,115,0,73,103,114,97,118,101,0,78,116,105,108,100,101,0,79,97,99,117,116,101,0,79,99,105,114,99,117,109,102,108,101,120,0,79,100,105,101,114,101,115,105,115,0,79,103,114,97,118,101,0,79,116,105,108,100,101,0,83,99,97,114,111,110,0,85,97,99,117,116,101,0,85,99,105,114,99,117,109,102,108,101,120,0,85,100,105,101,114,101,115,105,115,0,85,103,114,97,118,101,0,89,97,99,117,116,101,0,89,100,105,101,114,101,115,105,115,0,90,99,97,114,111,110,0,97,97,99,117,116,101,0,97,99,105,114,99,117,109,102,108,101,120,0,97,100,105,101,114,101,115,105,115,0,97,103,114,97,118,101,0,97,114,105,110,103,0,97,116,105,108,100,101,0,99,99,101,100,105,108,108,97,0,101,97,99,117,116,101,0,101,99,105,114,99,117,109,102,108,101,120,0,101,100,105,101,114,101,115,105,115,0,101,103,114,97,118,101,0,105,97,99,117,116,101,0,105,99,105,114,99,117,109,102,108,101,120,0,105,100,105,101,114,101,115,105,115,0,105,103,114,97,118,101,0,110,116,105,108,100,101,0,111,97,99,117,116,101,0,111,99,105,114,99,117,109,102,108,101,120,0,111,100,105,101,114,101,115,105,115,0,111,103,114,97,118,101,0,111,116,105,108,100,101,0,115,99,97,114,111,110,0,117,97,99,117,116,101,0,117,99,105,114,99,117,109,102,108,101,120,0,117,100,105,101,114,101,115,105,115,0,117,103,114,97,118,101,0,121,97,99,117,116,101,0,121,100,105,101,114,101,115,105,115,0,122,99,97,114,111,110,0,101,120,99,108,97,109,115,109,97,108,108,0,72,117,110,103,97,114,117,109,108,97,117,116,115,109,97,108,108,0,100,111,108,108,97,114,111,108,100,115,116,121,108,101,0,100,111,108,108,97,114,115,117,112,101,114,105,111,114,0,97,109,112,101,114,115,97,110,100,115,109,97,108,108,0,65,99,117,116,101,115,109,97,108,108,0,112,97,114,101,110,108,101,102,116,115,117,112,101,114,105,111,114,0,112,97,114,101,110,114,105,103,104,116,115,117,112,101,114,105,111,114,0,116,119,111,100,111,116,101,110,108,101,97,100,101,114,0,111,110,101,100,111,116,101,110,108,101,97,100,101,114,0,122,101,114,111,111,108,100,115,116,121,108,101,0,111,110,101,111,108,100,115,116,121,108,101,0,116,119,111,111,108,100,115,116,121,108,101,0,116,104,114,101,101,111,108,100,115,116,121,108,101,0,102,111,117,114,111,108,100,115,116,121,108,101,0,102,105,118,101,111,108,100,115,116,121,108,101,0,115,105,120,111,108,100,115,116,121,108,101,0,115,101,118,101,110,111,108,100,115,116,121,108,101,0,101,105,103,104,116,111,108,100,115,116,121,108,101,0,110,105,110,101,111,108,100,115,116,121,108,101,0,99,111,109,109,97,115,117,112,101,114,105,111,114,0,116,104,114,101,101,113,117,97,114,116,101,114,115,101,109,100,97,115,104,0,112,101,114,105,111,100,115,117,112,101,114,105,111,114,0,113,117,101,115,116,105,111,110,115,109,97,108,108,0,97,115,117,112,101,114,105,111,114,0,98,115,117,112,101,114,105,111,114,0,99,101,110,116,115,117,112,101,114,105,111,114,0,100,115,117,112,101,114,105,111,114,0,101,115,117,112,101,114,105,111,114,0,105,115,117,112,101,114,105,111,114,0,108,115,117,112,101,114,105,111,114,0,109,115,117,112,101,114,105,111,114,0,110,115,117,112,101,114,105,111,114,0,111,115,117,112,101,114,105,111,114,0,114,115,117,112,101,114,105,111,114,0,115,115,117,112,101,114,105,111,114,0,116,115,117,112,101,114,105,111,114,0,102,102,0,102,102,105,0,102,102,108,0,112,97,114,101,110,108,101,102,116,105,110,102,101,114,105,111,114,0,112,97,114,101,110,114,105,103,104,116,105,110,102,101,114,105,111,114,0,67,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,104,121,112,104,101,110,115,117,112,101,114,105,111,114,0,71,114,97,118,101,115,109,97,108,108,0,65,115,109,97,108,108,0,66,115,109,97,108,108,0,67,115,109,97,108,108,0,68,115,109,97,108,108,0,69,115,109,97,108,108,0,70,115,109,97,108,108,0,71,115,109,97,108,108,0,72,115,109,97,108,108,0,73,115,109,97,108,108,0,74,115,109,97,108,108,0,75,115,109,97,108,108,0,76,115,109,97,108,108,0,77,115,109,97,108,108,0,78,115,109,97,108,108,0,79,115,109,97,108,108,0,80,115,109,97,108,108,0,81,115,109,97,108,108,0,82,115,109,97,108,108,0,83,115,109,97,108,108,0,84,115,109,97,108,108,0,85,115,109,97,108,108,0,86,115,109,97,108,108,0,87,115,109,97,108,108,0,88,115,109,97,108,108,0,89,115,109,97,108,108,0,90,115,109,97,108,108,0,99,111,108,111,110,109,111,110,101,116,97,114,121,0,111,110,101,102,105,116,116,101,100,0,114,117,112,105,97,104,0,84,105,108,100,101,115,109,97,108,108,0,101,120,99,108,97,109,100,111,119,110,115,109,97,108,108,0,99,101,110,116,111,108,100,115,116,121,108,101,0,76,115,108,97,115,104,115,109,97,108,108,0,83,99,97,114,111,110,115,109,97,108,108,0,90,99,97,114,111,110,115,109,97,108,108,0,68,105,101,114,101,115,105,115,115,109,97,108,108,0,66,114,101,118,101,115,109,97,108,108,0,67,97,114,111,110,115,109,97,108,108,0,68,111,116,97,99,99,101,110,116,115,109,97,108,108,0,77,97,99,114,111,110,115,109,97,108,108,0,102,105,103,117,114,101,100,97,115,104,0,104,121,112,104,101,110,105,110,102,101,114,105,111,114,0,79,103,111,110,101,107,115,109,97,108,108,0,82,105,110,103,115,109,97,108,108,0,67,101,100,105,108,108,97,115,109,97,108,108,0,113,117,101,115,116,105,111,110,100,111,119,110,115,109,97,108,108,0,111,110,101,101,105,103,104,116,104,0,116,104,114,101,101,101,105,103,104,116,104,115,0,102,105,118,101,101,105,103,104,116,104,115,0,115,101,118,101,110,101,105,103,104,116,104,115,0,111,110,101,116,104,105,114,100,0,116,119,111,116,104,105,114,100,115,0,122,101,114,111,115,117,112,101,114,105,111,114,0,102,111,117,114,115,117,112,101,114,105,111,114,0,102,105,118,101,115,117,112,101,114,105,111,114,0,115,105,120,115,117,112,101,114,105,111,114,0,115,101,118,101,110,115,117,112,101,114,105,111,114,0,101,105,103,104,116,115,117,112,101,114,105,111,114,0,110,105,110,101,115,117,112,101,114,105,111,114,0,122,101,114,111,105,110,102,101,114,105,111,114,0,111,110,101,105,110,102,101,114,105,111,114,0,116,119,111,105,110,102,101,114,105,111,114,0,116,104,114,101,101,105,110,102,101,114,105,111,114,0,102,111,117,114,105,110,102,101,114,105,111,114,0,102,105,118,101,105,110,102,101,114,105,111,114,0,115,105,120,105,110,102,101,114,105,111,114,0,115,101,118,101,110,105,110,102,101,114,105,111,114,0,101,105,103,104,116,105,110,102,101,114,105,111,114,0,110,105,110,101,105,110,102,101,114,105,111,114,0,99,101,110,116,105,110,102,101,114,105,111,114,0,100,111,108,108,97,114,105,110,102,101,114,105,111,114,0,112,101,114,105,111,100,105,110,102,101,114,105,111,114,0,99,111,109,109,97,105,110,102,101,114,105,111,114,0,65,103,114,97,118,101,115,109,97,108,108,0,65,97,99,117,116,101,115,109,97,108,108,0,65,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,65,116,105,108,100,101,115,109,97,108,108,0,65,100,105,101,114,101,115,105,115,115,109,97,108,108,0,65,114,105,110,103,115,109,97,108,108,0,65,69,115,109,97,108,108,0,67,99,101,100,105,108,108,97,115,109,97,108,108,0,69,103,114,97,118,101,115,109,97,108,108,0,69,97,99,117,116,101,115,109,97,108,108,0,69,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,69,100,105,101,114,101,115,105,115,115,109,97,108,108,0,73,103,114,97,118,101,115,109,97,108,108,0,73,97,99,117,116,101,115,109,97,108,108,0,73,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,73,100,105,101,114,101,115,105,115,115,109,97,108,108,0,69,116,104,115,109,97,108,108,0,78,116,105,108,100,101,115,109,97,108,108,0,79,103,114,97,118,101,115,109,97,108,108,0,79,97,99,117,116,101,115,109,97,108,108,0,79,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,79,116,105,108,100,101,115,109,97,108,108,0,79,100,105,101,114,101,115,105,115,115,109,97,108,108,0,79,69,115,109,97,108,108,0,79,115,108,97,115,104,115,109,97,108,108,0,85,103,114,97,118,101,115,109,97,108,108,0,85,97,99,117,116,101,115,109,97,108,108,0,85,99,105,114,99,117,109,102,108,101,120,115,109,97,108,108,0,85,100,105,101,114,101,115,105,115,115,109,97,108,108,0,89,97,99,117,116,101,115,109,97,108,108,0,84,104,111,114,110,115,109,97,108,108,0,89,100,105,101,114,101,115,105,115,115,109,97,108,108,0,48,48,49,46,48,48,48,0,48,48,49,46,48,48,49,0,48,48,49,46,48,48,50,0,48,48,49,46,48,48,51,0,66,108,97,99,107,0,66,111,108,100,0,66,111,111,107,0,76,105,103,104,116,0,77,101,100,105,117,109,0,82,101,103,117,108,97,114,0,82,111,109,97,110,0,83,101,109,105,98,111,108,100,0,253,0,5,1,11,1,18,1,27,1,38,1,45,1,53,1,63,1,74,1,84,1,95,1,104,1,109,1,115,1,122,1,129,1,135,1,140,1,144,1,148,1,154,1,159,1,164,1,168,1,174,1,180,1,185,1,191,1,201,1,206,1,212,1,220,1,229,1,232,1,234,1,236,1,238,1,240,1,242,1,244,1,246,1,248,1,250,1,252,1,254,1,0,2,2,2,4,2,6,2,8,2,10,2,12,2,14,2,16,2,18,2,20,2,22,2,24,2,26,2,28,2,40,2,50,2,63,2,75,2,86,2,96,2,98,2,100,2,102,2,104,2,106,2,108,2,110,2,112,2,114,2,116,2,118,2,120,2,122,2,124,2,126,2,128,2,130,2,132,2,134,2,136,2,138,2,140,2,142,2,144,2,146,2,148,2,158,2,162,2,173,2,184,2,195,2,200,2,209,2,218,2,222,2,229,2,237,2,246,2,2,3,15,3,29,3,43,3,58,3,61,3,64,3,71,3,78,3,88,3,103,3,113,3,120,3,135,3,148,3,162,3,177,3,186,3,198,3,211,3,217,3,223,3,234,3,240,3,247,3,253,3,7,4,16,4,21,4,29,4,42,4,49,4,55,4,62,4,65,4,77,4,84,4,91,4,94,4,107,4,110,4,119,4,126,4,133,4,136,4,147,4,159,4,170,4,173,4,183,4,187,4,195,4,205,4,211,4,222,4,229,4,239,4,246,4,252,4,10,5,22,5,33,5,39,5,43,5,52,5,66,5,76,5,83,5,95,5,105,5,112,5,118,5,125,5,134,5,141,5,153,5,163,5,170,5,177,5,189,5,199,5,206,5,213,5,220,5,232,5,242,5,249,5,0,6,7,6,14,6,26,6,36,6,43,6,50,6,60,6,67,6,74,6,86,6,96,6,103,6,109,6,116,6,125,6,132,6,144,6,154,6,161,6,168,6,180,6,190,6,197,6,204,6,211,6,223,6,233,6,240,6,247,6,254,6,5,7,17,7,27,7,34,7,41,7,51,7,58,7,70,7,88,7,103,7,118,7,133,7,144,7,162,7,181,7,196,7,211,7,224,7,236,7,248,7,6,8,19,8,32,8,44,8,58,8,72,8,85,8,99,8,119,8,134,8,148,8,158,8,168,8,181,8,191,8,201,8,211,8,221,8,231,8,241,8,251,8,5,9,15,9,25,9,28,9,32,9,36,9,54,9,73,9,89,9,104,9,115,9,122,9], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+204920);
/* memory initializer */ allocate([129,9,136,9,143,9,150,9,157,9,164,9,171,9,178,9,185,9,192,9,199,9,206,9,213,9,220,9,227,9,234,9,241,9,248,9,255,9,6,10,13,10,20,10,27,10,34,10,41,10,55,10,65,10,72,10,83,10,99,10,112,10,124,10,136,10,148,10,162,10,173,10,184,10,199,10,211,10,222,10,237,10,249,10,3,11,16,11,34,11,44,11,57,11,69,11,82,11,91,11,101,11,114,11,127,11,140,11,152,11,166,11,180,11,193,11,206,11,218,11,230,11,244,11,1,12,14,12,26,12,40,12,54,12,67,12,80,12,95,12,110,12,124,12,136,12,148,12,165,12,177,12,192,12,203,12,211,12,225,12,237,12,249,12,10,13,25,13,37,13,49,13,66,13,81,13,90,13,102,13,114,13,126,13,143,13,155,13,170,13,178,13,190,13,202,13,214,13,231,13,246,13,2,14,13,14,28,14,36,14,44,14,52,14,60,14,66,14,71,14,76,14,82,14,89,14,97,14,103,14,0,0,253,0,0,0,6,0,5,1,11,1,18,1,27,1,38,1,45,1,53,1,246,2,74,1,84,1,95,1,104,1,109,1,115,1,122,1,129,1,135,1,140,1,144,1,148,1,154,1,159,1,164,1,168,1,174,1,180,1,185,1,191,1,201,1,206,1,212,1,220,1,229,1,232,1,234,1,236,1,238,1,240,1,242,1,244,1,246,1,248,1,250,1,252,1,254,1,0,2,2,2,4,2,6,2,8,2,10,2,12,2,14,2,16,2,18,2,20,2,22,2,24,2,26,2,28,2,40,2,50,2,63,2,75,2,211,3,96,2,98,2,100,2,102,2,104,2,106,2,108,2,110,2,112,2,114,2,116,2,118,2,120,2,122,2,124,2,126,2,128,2,130,2,132,2,134,2,136,2,138,2,140,2,142,2,144,2,146,2,148,2,158,2,162,2,173,2,95,5,112,5,125,5,134,5,206,5,232,5,26,6,67,6,96,6,74,6,86,6,109,6,103,6,116,6,125,6,154,6,132,6,144,6,161,6,190,6,168,6,180,6,197,6,204,6,233,6,211,6,223,6,240,6,254,6,27,7,5,7,17,7,71,3,239,4,195,2,200,2,229,2,113,3,103,3,136,4,22,5,66,5,173,4,217,3,7,4,23,0,62,4,84,4,32,0,195,4,41,0,51,0,218,2,170,4,64,0,76,0,86,0,94,0,97,0,65,4,94,4,106,0,107,4,126,4,198,3,184,2,159,4,112,0,222,2,120,0,132,0,15,3,162,3,177,3,138,0,105,5,118,5,249,5,91,4,133,4,64,3,55,4,2,3,148,3,86,2,63,1,222,4,155,0,41,7,50,6,209,2,237,2,29,3,43,3,58,3,61,3,78,3,88,3,120,3,135,3,186,3,83,5,141,5,76,5,153,5,163,5,170,5,177,5,189,5,199,5,213,5,220,5,163,0,242,5,7,6,14,6,36,6,110,4,223,3,234,3,240,3,247,3,253,3,16,4,21,4,29,4,42,4,49,4,77,4,119,4,0,6,247,6,60,6,51,7,229,4,183,4,39,5,43,6,34,7,205,4,246,4,33,5,43,5,147,4,10,5,52,5,187,4,211,4,252,4,169,0,175,0,182,0,189,0,200,0,209,0,218,0,225,0,232,0,239,0,246,0,0,0,0,0,148,3,0,0,169,3,0,0,21,34,0,0,173,0,0,0,201,2,0,0,188,3,0,0,25,34,0,0,160,0,0,0,26,2,0,0,27,2,0,0,68,101,108,116,97,0,79,109,101,103,97,0,102,114,97,99,116,105,111,110,0,104,121,112,104,101,110,0,109,97,99,114,111,110,0,109,117,0,112,101,114,105,111,100,99,101,110,116,101,114,101,100,0,115,112,97,99,101,0,84,99,111,109,109,97,97,99,99,101,110,116,0,116,99,111,109,109,97,97,99,99,101,110,116,0,0,0,0,0,0,0,0,6,0,0,0,12,0,0,0,21,0,0,0,28,0,0,0,35,0,0,0,38,0,0,0,53,0,0,0,59,0,0,0,72,0,0,0,0,52,0,106,2,167,3,63,4,220,6,125,9,143,10,23,11,137,12,199,14,246,15,87,16,233,17,219,18,104,19,88,22,110,23,32,23,71,24,77,27,156,29,73,31,247,32,107,32,222,33,55,34,154,35,218,53,84,59,196,68,6,75,183,83,178,88,135,93,242,101,165,109,185,111,55,117,254,123,73,130,238,138,206,145,31,153,182,156,189,163,249,178,221,193,17,197,99,199,240,204,27,204,155,210,100,65,143,0,65,0,140,0,175,0,193,1,15,1,147,1,233,1,251,2,7,2,40,2,57,2,82,2,91,2,128,2,136,2,154,69,131,0,198,0,150,0,158,0,167,225,227,245,244,101,128,1,252,237,225,227,242,239,110,128,1,226,243,237,225,236,108,128,247,230,225,227,245,244,101,129,0,193,0,185,243,237,225,236,108,128,247,225,226,242,229,246,101,134,1,2,0,213,0,221,0,232,0,243,0,251,1,7,225,227,245,244,101,128,30,174,227,249,242,233,236,236,233,99,128,4,208,228,239,244,226,229,236,239,119,128,30,182,231,242,225,246,101,128,30,176,232,239,239,235,225,226,239,246,101,128,30,178,244,233,236,228,101,128,30,180,99,4,1,25,1,32,1,121,1,137,225,242,239,110,128,1,205,233,242,99,2,1,40,1,45,236,101,128,36,182,245,237,230,236,229,120,134,0,194,1,66,1,74,1,85,1,93,1,105,1,113,225,227,245,244,101,128,30,164,228,239,244,226,229,236,239,119,128,30,172,231,242,225,246,101,128,30,166,232,239,239,235,225,226,239,246,101,128,30,168,243,237,225,236,108,128,247,226,244,233,236,228,101,128,30,170,245,244,101,129,246,201,1,129,243,237,225,236,108,128,247,180,249,242,233,236,236,233,99,128,4,16,100,3,1,155,1,165,1,209,226,236,231,242,225,246,101,128,2,0,233,229,242,229,243,233,115,131,0,196,1,181,1,192,1,201,227,249,242,233,236,236,233,99,128,4,210,237,225,227,242,239,110,128,1,222,243,237,225,236,108,128,247,228,239,116,2,1,216,1,224,226,229,236,239,119,128,30,160,237,225,227,242,239,110,128,1,224,231,242,225,246,101,129,0,192,1,243,243,237,225,236,108,128,247,224,232,239,239,235,225,226,239,246,101,128,30,162,105,2,2,13,2,25,229,227,249,242,233,236,236,233,99,128,4,212,238,246,229,242,244,229,228,226,242,229,246,101,128,2,2,236,240,232,97,129,3,145,2,49,244,239,238,239,115,128,3,134,109,2,2,63,2,71,225,227,242,239,110,128,1,0,239,238,239,243,240,225,227,101,128,255,33,239,231,239,238,229,107,128,1,4,242,233,238,103,131,0,197,2,104,2,112,2,120,225,227,245,244,101,128,1,250,226,229,236,239,119,128,30,0,243,237,225,236,108,128,247,229,243,237,225,236,108,128,247,97,244,233,236,228,101,129,0,195,2,146,243,237,225,236,108,128,247,227,249,226,225,242,237,229,238,233,225,110,128,5,49,66,137,0,66,2,189,2,198,2,223,3,3,3,10,3,22,3,34,3,46,3,54,227,233,242,227,236,101,128,36,183,228,239,116,2,2,206,2,215,225,227,227,229,238,116,128,30,2,226,229,236,239,119,128,30,4,101,3,2,231,2,242,2,254,227,249,242,233,236,236,233,99,128,4,17,238,225,242,237,229,238,233,225,110,128,5,50,244,97,128,3,146,232,239,239,107,128,1,129,236,233,238,229,226,229,236,239,119,128,30,6,237,239,238,239,243,240,225,227,101,128,255,34,242,229,246,229,243,237,225,236,108,128,246,244,243,237,225,236,108,128,247,98,244,239,240,226,225,114,128,1,130,67,137,0,67,3,85,3,127,3,193,3,210,3,224,4,171,4,188,4,200,4,212,97,3,3,93,3,104,3,111,225,242,237,229,238,233,225,110,128,5,62,227,245,244,101,128,1,6,242,239,110,129,246,202,3,119,243,237,225,236,108,128,246,245,99,3,3,135,3,142,3,171,225,242,239,110,128,1,12,229,228,233,236,236,97,130,0,199,3,155,3,163,225,227,245,244,101,128,30,8,243,237,225,236,108,128,247,231,233,242,99,2,3,179,3,184,236,101,128,36,184,245,237,230,236,229,120,128,1,8,228,239,116,129,1,10,3,201,225,227,227,229,238,116,128,1,10,229,228,233,236,236,225,243,237,225,236,108,128,247,184,104,4,3,234,3,246,4,161,4,165,225,225,242,237,229,238,233,225,110,128,5,73,101,6,4,4,4,24,4,35,4,103,4,115,4,136,225,226,235,232,225,243,233,225,238,227,249,242,233,236,236,233,99,128,4,188,227,249,242,233,236,236,233,99,128,4,39,100,2,4,41,4,85,229,243,227,229,238,228,229,114,2,4,54,4,74,225,226,235,232,225,243,233,225,238,227,249,242,233,236,236,233,99,128,4,190,227,249,242,233,236,236,233,99,128,4,182,233,229,242,229,243,233,243,227,249,242,233,236,236,233,99,128,4,244,232,225,242,237,229,238,233,225,110,128,5,67,235,232,225,235,225,243,243,233,225,238,227,249,242,233,236,236,233,99,128,4,203,246,229,242,244,233,227,225,236,243,244,242,239,235,229,227,249,242,233,236,236,233,99,128,4,184,105,128,3,167,239,239,107,128,1,135,233,242,227,245,237,230,236,229,248,243,237,225,236,108,128,246,246,237,239,238,239,243,240,225,227,101,128,255,35,239,225,242,237,229,238,233,225,110,128,5,81,243,237,225,236,108,128,247,99,68,142,0,68,4,252,5,10,5,36,5,96,5,121,5,166,5,173,5,231,5,244,6,0,6,12,6,28,6,48,6,57,90,129,1,241,5,2,227,225,242,239,110,128,1,196,97,2,5,16,5,27,225,242,237,229,238,233,225,110,128,5,52,230,242,233,227,225,110,128,1,137,99,4,5,46,5,53,5,62,5,89,225,242,239,110,128,1,14,229,228,233,236,236,97,128,30,16,233,242,99,2,5,70,5,75,236,101,128,36,185,245,237,230,236,229,248,226,229,236,239,119,128,30,18,242,239,225,116,128,1,16,228,239,116,2,5,104,5,113,225,227,227,229,238,116,128,30,10,226,229,236,239,119,128,30,12,101,3,5,129,5,140,5,150,227,249,242,233,236,236,233,99,128,4,20,233,227,239,240,244,233,99,128,3,238,236,244,97,129,34,6,5,158,231,242,229,229,107,128,3,148,232,239,239,107,128,1,138,105,2,5,179,5,218,229,242,229,243,233,115,131,246,203,5,194,5,202,5,210,193,227,245,244,101,128,246,204,199,242,225,246,101,128,246,205,243,237,225,236,108,128,247,168,231,225,237,237,225,231,242,229,229,107,128,3,220,234,229,227,249,242,233,236,236,233,99,128,4,2,236,233,238,229,226,229,236,239,119,128,30,14,237,239,238,239,243,240,225,227,101,128,255,36,239,244,225,227,227,229,238,244,243,237,225,236,108,128,246,247,115,2,6,34,6,41,236,225,243,104,128,1,16,237,225,236,108,128,247,100,244,239,240,226,225,114,128,1,139,122,131,1,242,6,67,6,75,6,112,227,225,242,239,110,128,1,197,101,2,6,81,6,101,225,226,235,232,225,243,233,225,238,227,249,242,233,236,236,233,99,128,4,224,227,249,242,233,236,236,233,99,128,4,5,232,229,227,249,242,233,236,236,233,99,128,4,15,69,146,0,69,6,165,6,183,6,191,7,89,7,153,7,165,7,183,7,211,8,7,8,36,8,94,8,169,8,189,8,208,8,248,9,44,9,109,9,115,225,227,245,244,101,129,0,201,6,175,243,237,225,236,108,128,247,233,226,242,229,246,101,128,1,20,99,5,6,203,6,210,6,224,6,236,7,79,225,242,239,110,128,1,26,229,228,233,236,236,225,226,242,229,246,101,128,30,28,232,225,242,237,229,238,233,225,110,128,5,53,233,242,99,2,6,244,6,249,236,101,128,36,186,245,237,230,236,229,120,135,0,202,7,16,7,24,7,32,7,43,7,51,7,63,7,71,225,227,245,244,101,128,30,190,226,229,236,239,119,128,30,24,228,239,244,226,229,236,239,119,128,30,198,231,242,225,246,101,128,30,192,232,239,239,235,225,226,239,246,101,128,30,194,243,237,225,236,108,128,247,234,244,233,236,228,101,128,30,196,249,242,233,236,236,233,99,128,4,4,100,3,7,97,7,107,7,127,226,236,231,242,225,246,101,128,2,4,233,229,242,229,243,233,115,129,0,203,7,119,243,237,225,236,108,128,247,235,239,116,130,1,22,7,136,7,145,225,227,227,229,238,116,128,1,22,226,229,236,239,119,128,30,184,230,227,249,242,233,236,236,233,99,128,4,36,231,242,225,246,101,129,0,200,7,175,243,237,225,236,108,128,247,232,104,2,7,189,7,200,225,242,237,229,238,233,225,110,128,5,55,239,239,235,225,226,239,246,101,128,30,186,105,3,7,219,7,230,7,245,231,232,244,242,239,237,225,110,128,33,103,238,246,229,242,244,229,228,226,242,229,246,101,128,2,6,239,244,233,230,233,229,228,227,249,242,233,236,236,233,99,128,4,100,108,2,8,13,8,24,227,249,242,233,236,236,233,99,128,4,27,229,246,229,238,242,239,237,225,110,128,33,106,109,3,8,44,8,72,8,83,225,227,242,239,110,130,1,18,8,56,8,64,225,227,245,244,101,128,30,22,231,242,225,246,101,128,30,20,227,249,242,233,236,236,233,99,128,4,28,239,238,239,243,240,225,227,101,128,255,37,110,4,8,104,8,115,8,135,8,154,227,249,242,233,236,236,233,99,128,4,29,228,229,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,162,103,129,1,74,8,141,232,229,227,249,242,233,236,236,233,99,128,4,164,232,239,239,235,227,249,242,233,236,236,233,99,128,4,199,111,2,8,175,8,183,231,239,238,229,107,128,1,24,240,229,110,128,1,144,240,243,233,236,239,110,129,3,149,8,200,244,239,238,239,115,128,3,136,114,2,8,214,8,225,227,249,242,233,236,236,233,99,128,4,32,229,246,229,242,243,229,100,129,1,142,8,237,227,249,242,233,236,236,233,99,128,4,45,115,4,9,2,9,13,9,33,9,37,227,249,242,233,236,236,233,99,128,4,33,228,229,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,170,104,128,1,169,237,225,236,108,128,247,101,116,3,9,52,9,78,9,92,97,130,3,151,9,60,9,70,242,237,229,238,233,225,110,128,5,56,244,239,238,239,115,128,3,137,104,129,0,208,9,84,243,237,225,236,108,128,247,240,233,236,228,101,129,30,188,9,101,226,229,236,239,119,128,30,26,245,242,111,128,32,172,250,104,130,1,183,9,124,9,132,227,225,242,239,110,128,1,238,242,229,246,229,242,243,229,100,128,1,184,70,136,0,70,9,163,9,172,9,184,9,212,9,219,9,248,10,4,10,15,227,233,242,227,236,101,128,36,187,228,239,244,225,227,227,229,238,116,128,30,30,101,2,9,190,9,202,232,225,242,237,229,238,233,225,110,128,5,86,233,227,239,240,244,233,99,128,3,228,232,239,239,107,128,1,145,105,2,9,225,9,238,244,225,227,249,242,233,236,236,233,99,128,4,114,246,229,242,239,237,225,110,128,33,100,237,239,238,239,243,240,225,227,101,128,255,38,239,245,242,242,239,237,225,110,128,33,99,243,237,225,236,108,128,247,102,71,140,0,71,10,51,10,61,10,107,10,115,10,176,10,193,10,205,11,39,11,52,11,65,11,90,11,107,194,243,241,245,225,242,101,128,51,135,97,3,10,69,10,76,10,94,227,245,244,101,128,1,244,237,237,97,129,3,147,10,84,225,230,242,233,227,225,110,128,1,148,238,231,233,225,227,239,240,244,233,99,128,3,234,226,242,229,246,101,128,1,30,99,4,10,125,10,132,10,141,10,163,225,242,239,110,128,1,230,229,228,233,236,236,97,128,1,34,233,242,99,2,10,149,10,154,236,101,128,36,188,245,237,230,236,229,120,128,1,28,239,237,237,225,225,227,227,229,238,116,128,1,34,228,239,116,129,1,32,10,184,225,227,227,229,238,116,128,1,32,229,227,249,242,233,236,236,233,99,128,4,19,104,3,10,213,10,226,11,33,225,228,225,242,237,229,238,233,225,110,128,5,66,101,3,10,234,10,255,11,16,237,233,228,228,236,229,232,239,239,235,227,249,242,233,236,236,233,99,128,4,148,243,244,242,239,235,229,227,249,242,233,236,236,233,99,128,4,146,245,240,244,245,242,238,227,249,242,233,236,236,233,99,128,4,144,239,239,107,128,1,147,233,237,225,242,237,229,238,233,225,110,128,5,51,234,229,227,249,242,233,236,236,233,99,128,4,3,109,2,11,71,11,79,225,227,242,239,110,128,30,32,239,238,239,243,240,225,227,101,128,255,39,242,225,246,101,129,246,206,11,99,243,237,225,236,108,128,247,96,115,2,11,113,11,129,237,225,236,108,129,247,103,11,122,232,239,239,107,128,2,155,244,242,239,235,101,128,1,228,72,140,0,72,11,165,11,190,11,198,11,208,12,17,12,40,12,77,12,117,12,129,12,157,12,165,12,189,177,184,53,3,11,175,11,180,11,185,179,51,128,37,207,180,51,128,37,170,181,49,128,37,171,178,178,176,183,51,128,37,161,208,243,241,245,225,242,101,128,51,203,97,3,11,216,11,236,12,0,225,226,235,232,225,243,233,225,238,227,249,242,233,236,236,233,99,128,4,168,228,229,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,178,242,228,243,233,231,238,227,249,242,233,236,236,233,99,128,4,42,98,2,12,23,12,28,225,114,128,1,38,242,229,246,229,226,229,236,239,119,128,30,42,99,2,12,46,12,55,229,228,233,236,236,97,128,30,40,233,242,99,2,12,63,12,68,236,101,128,36,189,245,237,230,236,229,120,128,1,36,100,2,12,83,12,93,233,229,242,229,243,233,115,128,30,38,239,116,2,12,100,12,109,225,227,227,229,238,116,128,30,34,226,229,236,239,119,128,30,36,237,239,238,239,243,240,225,227,101,128,255,40,111,2,12,135,12,146,225,242,237,229,238,233,225,110,128,5,64,242,233,227,239,240,244,233,99,128,3,232,243,237,225,236,108,128,247,104,245,238,231,225,242,245,237,236,225,245,116,129,246,207,12,181,243,237,225,236,108,128,246,248,250,243,241,245,225,242,101,128,51,144,73,146,0,73,12,239,12,251,12,255,13,11,13,29,13,37,13,94,13,181,13,214,13,224,13,242,13,254,14,48,14,86,14,99,14,166,14,187,14,205,193,227,249,242,233,236,236,233,99,128,4,47,74,128,1,50,213,227,249,242,233,236,236,233,99,128,4,46,225,227,245,244,101,129,0,205,13,21,243,237,225,236,108,128,247,237,226,242,229,246,101,128,1,44,99,3,13,45,13,52,13,84,225,242,239,110,128,1,207,233,242,99,2,13,60,13,65,236,101,128,36,190,245,237,230,236,229,120,129,0,206,13,76,243,237,225,236,108,128,247,238,249,242,233,236,236,233,99,128,4,6,100,3,13,102,13,112,13,155,226,236,231,242,225,246,101,128,2,8,233,229,242,229,243,233,115,131,0,207,13,128,13,136,13,147,225,227,245,244,101,128,30,46,227,249,242,233,236,236,233,99,128,4,228,243,237,225,236,108,128,247,239,239,116,130,1,48,13,164,13,173,225,227,227,229,238,116,128,1,48,226,229,236,239,119,128,30,202,101,2,13,187,13,203,226,242,229,246,229,227,249,242,233,236,236,233,99,128,4,214,227,249,242,233,236,236,233,99,128,4,21,230,242,225,235,244,245,114,128,33,17,231,242,225,246,101,129,0,204,13,234,243,237,225,236,108,128,247,236,232,239,239,235,225,226,239,246,101,128,30,200,105,3,14,6,14,17,14,32,227,249,242,233,236,236,233,99,128,4,24,238,246,229,242,244,229,228,226,242,229,246,101,128,2,10,243,232,239,242,244,227,249,242,233,236,236,233,99,128,4,25,109,2,14,54,14,75,225,227,242,239,110,129,1,42,14,64,227,249,242,233,236,236,233,99,128,4,226,239,238,239,243,240,225,227,101,128,255,41,238,233,225,242,237,229,238,233,225,110,128,5,59,111,3,14,107,14,118,14,126,227,249,242,233,236,236,233,99,128,4,1,231,239,238,229,107,128,1,46,244,97,131,3,153,14,137,14,147,14,158,225,230,242,233,227,225,110,128,1,150,228,233,229,242,229,243,233,115,128,3,170,244,239,238,239,115,128,3,138,115,2,14,172,14,179,237,225,236,108,128,247,105,244,242,239,235,101,128,1,151,244,233,236,228,101,129,1,40,14,197,226,229,236,239,119,128,30,44,250,232,233,244,243,97,2,14,216,14,227,227,249,242,233,236,236,233,99,128,4,116,228,226,236,231,242,225,246,229,227,249,242,233,236,236,233,99,128,4,118,74,134,0,74,15,6,15,18,15,41,15,53,15,67,15,79,225,225,242,237,229,238,233,225,110,128,5,65,227,233,242,99,2,15,27,15,32,236,101,128,36,191,245,237,230,236,229,120,128,1,52,229,227,249,242,233,236,236,233,99,128,4,8,232,229,232,225,242,237,229,238,233,225,110,128,5,75,237,239,238,239,243,240,225,227,101,128,255,42,243,237,225,236,108,128,247,106,75,140,0,75,15,115,15,125,15,135,16,18,16,65,16,76,16,106,16,143,16,156,16,168,16,180,16,208,194,243,241,245,225,242,101,128,51,133,203,243,241,245,225,242,101,128,51,205,97,7,15,151,15,169,15,191,15,211,15,226,15,232,15,249,226,225,243,232,235,233,242,227,249,242,233,236,236,233,99,128,4,160,99,2,15,175,15,181,245,244,101,128,30,48,249,242,233,236,236,233,99,128,4,26,228,229,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,154,232,239,239,235,227,249,242,233,236,236,233,99,128,4,195,240,240,97,128,3,154,243,244,242,239,235,229,227,249,242,233,236,236,233,99,128,4,158,246,229,242,244,233,227,225,236,243,244,242,239,235,229,227,249,242,233,236,236,233,99,128,4,156,99,4,16,28,16,35,16,44,16,52,225,242,239,110,128,1,232,229,228,233,236,236,97,128,1,54,233,242,227,236,101,128,36,192,239,237,237,225,225,227,227,229,238,116,128,1,54,228,239,244,226,229,236,239,119,128,30,50,101,2,16,82,16,94,232,225,242,237,229,238,233,225,110,128,5,84,238,225,242,237,229,238,233,225,110,128,5,63,104,3,16,114,16,126,16,137,225,227,249,242,233,236,236,233,99,128,4,37,229,233,227,239,240,244,233,99,128,3,230,239,239,107,128,1,152,234,229,227,249,242,233,236,236,233,99,128,4,12,236,233,238,229,226,229,236,239,119,128,30,52,237,239,238,239,243,240,225,227,101,128,255,43,239,240,240,97,2,16,189,16,200,227,249,242,233,236,236,233,99,128,4,128,231,242,229,229,107,128,3,222,115,2,16,214,16,226,233,227,249,242,233,236,236,233,99,128,4,110,237,225,236,108,128,247,107,76,138,0,76,17,1,17,5,17,9,17,29,17,95,17,133,17,147,17,165,17,177,17,189,74,128,1,199,76,128,246,191,97,2,17,15,17,22,227,245,244,101,128,1,57,237,226,228,97,128,3,155,99,4,17,39,17,46,17,55,17,82,225,242,239,110,128,1,61,229,228,233,236,236,97,128,1,59,233,242,99,2,17,63,17,68,236,101,128,36,193,245,237,230,236,229,248,226,229,236,239,119,128,30,60,239,237,237,225,225,227,227,229,238,116,128,1,59,228,239,116,130,1,63,17,105,17,114,225,227,227,229,238,116,128,1,63,226,229,236,239,119,129,30,54,17,124,237,225,227,242,239,110,128,30,56,233,247,238,225,242,237,229,238,233,225,110,128,5,60,106,129,1,200,17,153,229,227,249,242,233,236,236,233,99,128,4,9,236,233,238,229,226,229,236,239,119,128,30,58,237,239,238,239,243,240,225,227,101,128,255,44,115,2,17,195,17,212,236,225,243,104,129,1,65,17,204,243,237,225,236,108,128,246,249,237,225,236,108,128,247,108,77,137,0,77,17,241,17,251,18,24,18,33,18,58,18,71,18,83,18,91,18,100,194,243,241,245,225,242,101,128,51,134,225,99,2,18,2,18,18,242,239,110,129,246,208,18,10,243,237,225,236,108,128,247,175,245,244,101,128,30,62,227,233,242,227,236,101,128,36,194,228,239,116,2,18,41,18,50,225,227,227,229,238,116,128,30,64,226,229,236,239,119,128,30,66,229,238,225,242,237,229,238,233,225,110,128,5,68,237,239,238,239,243,240,225,227,101,128,255,45,243,237,225,236,108,128,247,109,244,245,242,238,229,100,128,1,156,117,128,3,156,78,141,0,78,18,134,18,138,18,146,18,212,18,237,18,248,19,3,19,21,19,33,19,45,19,58,19,66,19,84,74,128,1,202,225,227,245,244,101,128,1,67,99,4,18,156,18,163,18,172,18,199,225,242,239,110,128,1,71,229,228,233,236,236,97,128,1,69,233,242,99,2,18,180,18,185,236,101,128,36,195,245,237,230,236,229,248,226,229,236,239,119,128,30,74,239,237,237,225,225,227,227,229,238,116,128,1,69,228,239,116,2,18,220,18,229,225,227,227,229,238,116,128,30,68,226,229,236,239,119,128,30,70,232,239,239,235,236,229,230,116,128,1,157,233,238,229,242,239,237,225,110,128,33,104,106,129,1,203,19,9,229,227,249,242,233,236,236,233,99,128,4,10,236,233,238,229,226,229,236,239,119,128,30,72,237,239,238,239,243,240,225,227,101,128,255,46,239,247,225,242,237,229,238,233,225,110,128,5,70,243,237,225,236,108,128,247,110,244,233,236,228,101,129,0,209,19,76,243,237,225,236,108,128,247,241,117,128,3,157,79,141,0,79,19,118,19,132,19,150,19,203,20,78,20,152,20,187,21,48,21,69,21,213,21,223,21,254,22,53,69,129,1,82,19,124,243,237,225,236,108,128,246,250,225,227,245,244,101,129,0,211,19,142,243,237,225,236,108,128,247,243,98,2,19,156,19,196,225,242,242,229,100,2,19,166,19,177,227,249,242,233,236,236,233,99,128,4,232,228,233,229,242,229,243,233,243,227,249,242,233,236,236,233,99,128,4,234,242,229,246,101,128,1,78,99,4,19,213,19,220,19,235,20,68,225,242,239,110,128,1,209,229,238,244,229,242,229,228,244,233,236,228,101,128,1,159,233,242,99,2,19,243,19,248,236,101,128,36,196,245,237,230,236,229,120,134,0,212,20,13,20,21,20,32,20,40,20,52,20,60,225,227,245,244,101,128,30,208,228,239,244,226,229,236,239,119,128,30,216,231,242,225,246,101,128,30,210,232,239,239,235,225,226,239,246,101,128,30,212,243,237,225,236,108,128,247,244,244,233,236,228,101,128,30,214,249,242,233,236,236,233,99,128,4,30,100,3,20,86,20,109,20,142,226,108,2,20,93,20,101,225,227,245,244,101,128,1,80,231,242,225,246,101,128,2,12,233,229,242,229,243,233,115,130,0,214,20,123,20,134,227,249,242,233,236,236,233,99,128,4,230,243,237,225,236,108,128,247,246,239,244,226,229,236,239,119,128,30,204,103,2,20,158,20,170,239,238,229,235,243,237,225,236,108,128,246,251,242,225,246,101,129,0,210,20,179,243,237,225,236,108,128,247,242,104,4,20,197,20,208,20,212,21,34,225,242,237,229,238,233,225,110,128,5,85,109,128,33,38,111,2,20,218,20,228,239,235,225,226,239,246,101,128,30,206,242,110,133,1,160,20,243,20,251,21,6,21,14,21,26,225,227,245,244,101,128,30,218,228,239,244,226,229,236,239,119,128,30,226,231,242,225,246,101,128,30,220,232,239,239,235,225,226,239,246,101,128,30,222,244,233,236,228,101,128,30,224,245,238,231,225,242,245,237,236,225,245,116,128,1,80,105,129,1,162,21,54,238,246,229,242,244,229,228,226,242,229,246,101,128,2,14,109,4,21,79,21,107,21,184,21,202,225,227,242,239,110,130,1,76,21,91,21,99,225,227,245,244,101,128,30,82,231,242,225,246,101,128,30,80,229,231,97,132,33,38,21,121,21,132,21,140,21,156,227,249,242,233,236,236,233,99,128,4,96,231,242,229,229,107,128,3,169,242,239,245,238,228,227,249,242,233,236,236,233,99,128,4,122,116,2,21,162,21,177,233,244,236,239,227,249,242,233,236,236,233,99,128,4,124,239,238,239,115,128,3,143,233,227,242,239,110,129,3,159,21,194,244,239,238,239,115,128,3,140,239,238,239,243,240,225,227,101,128,255,47,238,229,242,239,237,225,110,128,33,96,111,2,21,229,21,248,231,239,238,229,107,129,1,234,21,239,237,225,227,242,239,110,128,1,236,240,229,110,128,1,134,115,3,22,6,22,33,22,40,236,225,243,104,130,0,216,22,17,22,25,225,227,245,244,101,128,1,254,243,237,225,236,108,128,247,248,237,225,236,108,128,247,111,244,242,239,235,229,225,227,245,244,101,128,1,254,116,2,22,59,22,70,227,249,242,233,236,236,233,99,128,4,126,233,236,228,101,131,0,213,22,83,22,91,22,102,225,227,245,244,101,128,30,76,228,233,229,242,229,243,233,115,128,30,78,243,237,225,236,108,128,247,245,80,136,0,80,22,130,22,138,22,147,22,159,22,211,22,227,22,246,23,2,225,227,245,244,101,128,30,84,227,233,242,227,236,101,128,36,197,228,239,244,225,227,227,229,238,116,128,30,86,101,3,22,167,22,178,22,190,227,249,242,233,236,236,233,99,128,4,31,232,225,242,237,229,238,233,225,110,128,5,74,237,233,228,228,236,229,232,239,239,235,227,249,242,233,236,236,233,99,128,4,166,104,2,22,217,22,221,105,128,3,166,239,239,107,128,1,164,105,129,3,160,22,233,247,242,225,242,237,229,238,233,225,110,128,5,83,237,239,238,239,243,240,225,227,101,128,255,48,115,2,23,8,23,25,105,129,3,168,23,14,227,249,242,233,236,236,233,99,128,4,112,237,225,236,108,128,247,112,81,131,0,81,23,42,23,51,23,63,227,233,242,227,236,101,128,36,198,237,239,238,239,243,240,225,227,101,128,255,49,243,237,225,236,108,128,247,113,82,138,0,82,23,95,23,119,23,166,23,217,23,230,23,240,23,245,24,19,24,31,24,43,97,2,23,101,23,112,225,242,237,229,238,233,225,110,128,5,76,227,245,244,101,128,1,84,99,4,23,129,23,136,23,145,23,153,225,242,239,110,128,1,88,229,228,233,236,236,97,128,1,86,233,242,227,236,101,128,36,199,239,237,237,225,225,227,227,229,238,116,128,1,86,100,2,23,172,23,182,226,236,231,242,225,246,101,128,2,16,239,116,2,23,189,23,198,225,227,227,229,238,116,128,30,88,226,229,236,239,119,129,30,90,23,208,237,225,227,242,239,110,128,30,92,229,232,225,242,237,229,238,233,225,110,128,5,80,230,242,225,235,244,245,114,128,33,28,232,111,128,3,161,233,110,2,23,252,24,5,231,243,237,225,236,108,128,246,252,246,229,242,244,229,228,226,242,229,246,101,128,2,18,236,233,238,229,226,229,236,239,119,128,30,94,237,239,238,239,243,240,225,227,101,128,255,50,243,237,225,236,108,129,247,114,24,53,233,238,246,229,242,244,229,100,129,2,129,24,66,243,245,240,229,242,233,239,114,128,2,182,83,139,0,83,24,103,26,17,26,55,26,182,26,221,26,250,27,84,27,105,27,117,27,135,27,143,70,6,24,117,24,209,24,241,25,77,25,119,25,221,48,9,24,137,24,145,24,153,24,161,24,169,24,177,24,185,24,193,24,201,177,176,176,176,48,128,37,12,178,176,176,176,48,128,37,20,179,176,176,176,48,128,37,16,180,176,176,176,48,128,37,24,181,176,176,176,48,128,37,60,182,176,176,176,48,128,37,44,183,176,176,176,48,128,37,52,184,176,176,176,48,128,37,28,185,176,176,176,48,128,37,36,49,3,24,217,24,225,24,233,176,176,176,176,48,128,37,0,177,176,176,176,48,128,37,2,185,176,176,176,48,128,37,97,50,9,25,5,25,13,25,21,25,29,25,37,25,45,25,53,25,61,25,69,176,176,176,176,48,128,37,98,177,176,176,176,48,128,37,86,178,176,176,176,48,128,37,85,179,176,176,176,48,128,37,99,180,176,176,176,48,128,37,81,181,176,176,176,48,128,37,87,182,176,176,176,48,128,37,93,183,176,176,176,48,128,37,92,184,176,176,176,48,128,37,91,51,4,25,87,25,95,25,103,25,111,182,176,176,176,48,128,37,94,183,176,176,176,48,128,37,95,184,176,176,176,48,128,37,90,185,176,176,176,48,128,37,84,52,10,25,141,25,149,25,157,25,165,25,173,25,181,25,189,25,197,25,205,25,213,176,176,176,176,48,128,37,105,177,176,176,176,48,128,37,102,178,176,176,176,48,128,37,96,179,176,176,176,48,128,37,80,180,176,176,176,48,128,37,108,181,176,176,176,48,128,37,103,182,176,176,176,48,128,37,104,183,176,176,176,48,128,37,100,184,176,176,176,48,128,37,101,185,176,176,176,48,128,37,89,53,5,25,233,25,241,25,249,26,1,26,9,176,176,176,176,48,128,37,88,177,176,176,176,48,128,37,82,178,176,176,176,48,128,37,83,179,176,176,176,48,128,37,107,180,176,176,176,48,128,37,106,97,2,26,23,26,44,227,245,244,101,129,1,90,26,32,228,239,244,225,227,227,229,238,116,128,30,100,237,240,233,231,242,229,229,107,128,3,224,99,5,26,67,26,98,26,107,26,147,26,169,225,242,239,110,130,1,96,26,78,26,90,228,239,244,225,227,227,229,238,116,128,30,102,243,237,225,236,108,128,246,253,229,228,233,236,236,97,128,1,94,232,247,97,130,1,143,26,117,26,128,227,249,242,233,236,236,233,99,128,4,216,228,233,229,242,229,243,233,243,227,249,242,233,236,236,233,99,128,4,218,233,242,99,2,26,155,26,160,236,101,128,36,200,245,237,230,236,229,120,128,1,92,239,237,237,225,225,227,227,229,238,116,128,2,24,228,239,116,2,26,190,26,199,225,227,227,229,238,116,128,30,96,226,229,236,239,119,129,30,98,26,209,228,239,244,225,227,227,229,238,116,128,30,104,101,2,26,227,26,239,232,225,242,237,229,238,233,225,110,128,5,77,246,229,238,242,239,237,225,110,128,33,102,104,5,27,6,27,34,27,48,27,59,27,72,97,2,27,12,27,23,225,242,237,229,238,233,225,110,128,5,71,227,249,242,233,236,236,233,99,128,4,40,227,232,225,227,249,242,233,236,236,233,99,128,4,41,229,233,227,239,240,244,233,99,128,3,226,232,225,227,249,242,233,236,236,233,99,128,4,186,233,237,225,227,239,240,244,233,99,128,3,236,105,2,27,90,27,96,231,237,97,128,3,163,248,242,239,237,225,110,128,33,101,237,239,238,239,243,240,225,227,101,128,255,51,239,230,244,243,233,231,238,227,249,242,233,236,236,233,99,128,4,44,243,237,225,236,108,128,247,115,244,233,231,237,225,231,242,229,229,107,128,3,218,84,141,0,84,27,186,27,191,27,197,28,7,28,32,28,96,28,147,28,177,28,189,28,201,28,246,29,6,29,46,225,117,128,3,164,226,225,114,128,1,102,99,4,27,207,27,214,27,223,27,250,225,242,239,110,128,1,100,229,228,233,236,236,97,128,1,98,233,242,99,2,27,231,27,236,236,101,128,36,201,245,237,230,236,229,248,226,229,236,239,119,128,30,112,239,237,237,225,225,227,227,229,238,116,128,1,98,228,239,116,2,28,15,28,24,225,227,227,229,238,116,128,30,106,226,229,236,239,119,128,30,108,101,4,28,42,28,53,28,73,28,82,227,249,242,233,236,236,233,99,128,4,34,228,229,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,172,238,242,239,237,225,110,128,33,105,244,243,229,227,249,242,233,236,236,233,99,128,4,180,104,3,28,104,28,110,28,136,229,244,97,128,3,152,111,2,28,116,28,121,239,107,128,1,172,242,110,129,0,222,28,128,243,237,225,236,108,128,247,254,242,229,229,242,239,237,225,110,128,33,98,105,2,28,153,28,164,236,228,229,243,237,225,236,108,128,246,254,247,238,225,242,237,229,238,233,225,110,128,5,79,236,233,238,229,226,229,236,239,119,128,30,110,237,239,238,239,243,240,225,227,101,128,255,52,111,2,28,207,28,218,225,242,237,229,238,233,225,110,128,5,57,238,101,3,28,227,28,234,28,240,230,233,246,101,128,1,188,243,233,120,128,1,132,244,247,111,128,1,167,242,229,244,242,239,230,236,229,248,232,239,239,107,128,1,174,115,3,29,14,29,26,29,39,229,227,249,242,233,236,236,233,99,128,4,38,232,229,227,249,242,233,236,236,233,99,128,4,11,237,225,236,108,128,247,116,119,2,29,52,29,64,229,236,246,229,242,239,237,225,110,128,33,107,239,242,239,237,225,110,128,33,97,85,142,0,85,29,105,29,123,29,131,29,198,30,69,30,87,30,198,30,214,30,226,31,21,31,30,31,142,31,149,31,219,225,227,245,244,101,129,0,218,29,115,243,237,225,236,108,128,247,250,226,242,229,246,101,128,1,108,99,3,29,139,29,146,29,188,225,242,239,110,128,1,211,233,242,99,2,29,154,29,159,236,101,128,36,202,245,237,230,236,229,120,130,0,219,29,172,29,180,226,229,236,239,119,128,30,118,243,237,225,236,108,128,247,251,249,242,233,236,236,233,99,128,4,35,100,3,29,206,29,229,30,59,226,108,2,29,213,29,221,225,227,245,244,101,128,1,112,231,242,225,246,101,128,2,20,233,229,242,229,243,233,115,134,0,220,29,251,30,3,30,11,30,34,30,42,30,51,225,227,245,244,101,128,1,215,226,229,236,239,119,128,30,114,99,2,30,17,30,24,225,242,239,110,128,1,217,249,242,233,236,236,233,99,128,4,240,231,242,225,246,101,128,1,219,237,225,227,242,239,110,128,1,213,243,237,225,236,108,128,247,252,239,244,226,229,236,239,119,128,30,228,231,242,225,246,101,129,0,217,30,79,243,237,225,236,108,128,247,249,104,2,30,93,30,171,111,2,30,99,30,109,239,235,225,226,239,246,101,128,30,230,242,110,133,1,175,30,124,30,132,30,143,30,151,30,163,225,227,245,244,101,128,30,232,228,239,244,226,229,236,239,119,128,30,240,231,242,225,246,101,128,30,234,232,239,239,235,225,226,239,246,101,128,30,236,244,233,236,228,101,128,30,238,245,238,231,225,242,245,237,236,225,245,116,129,1,112,30,187,227,249,242,233,236,236,233,99,128,4,242,233,238,246,229,242,244,229,228,226,242,229,246,101,128,2,22,235,227,249,242,233,236,236,233,99,128,4,120,109,2,30,232,31,10,225,227,242,239,110,130,1,106,30,244,30,255,227,249,242,233,236,236,233,99,128,4,238,228,233,229,242,229,243,233,115,128,30,122,239,238,239,243,240,225,227,101,128,255,53,239,231,239,238,229,107,128,1,114,240,243,233,236,239,110,133,3,165,31,49,31,53,31,90,31,121,31,134,49,128,3,210,97,2,31,59,31,81,227,245,244,229,232,239,239,235,243,249,237,226,239,236,231,242,229,229,107,128,3,211,230,242,233,227,225,110,128,1,177,228,233,229,242,229,243,233,115,129,3,171,31,103,232,239,239,235,243,249,237,226,239,236,231,242,229,229,107,128,3,212,232,239,239,235,243,249,237,226,239,108,128,3,210,244,239,238,239,115,128,3,142,242,233,238,103,128,1,110,115,3,31,157,31,172,31,179,232,239,242,244,227,249,242,233,236,236,233,99,128,4,14,237,225,236,108,128,247,117,244,242,225,233,231,232,116,2,31,191,31,202,227,249,242,233,236,236,233,99,128,4,174,243,244,242,239,235,229,227,249,242,233,236,236,233,99,128,4,176,244,233,236,228,101,130,1,104,31,231,31,239,225,227,245,244,101,128,30,120,226,229,236,239,119,128,30,116,86,136,0,86,32,11,32,20,32,31,32,60,32,67,32,79,32,91,32,99,227,233,242,227,236,101,128,36,203,228,239,244,226,229,236,239,119,128,30,126,101,2,32,37,32,48,227,249,242,233,236,236,233,99,128,4,18,247,225,242,237,229,238,233,225,110,128,5,78,232,239,239,107,128,1,178,237,239,238,239,243,240,225,227,101,128,255,54,239,225,242,237,229,238,233,225,110,128,5,72,243,237,225,236,108,128,247,118,244,233,236,228,101,128,30,124,87,134,0,87,32,123,32,131,32,154,32,194,32,202,32,214,225,227,245,244,101,128,30,130,227,233,242,99,2,32,140,32,145,236,101,128,36,204,245,237,230,236,229,120,128,1,116,100,2,32,160,32,170,233,229,242,229,243,233,115,128,30,132,239,116,2,32,177,32,186,225,227,227,229,238,116,128,30,134,226,229,236,239,119,128,30,136,231,242,225,246,101,128,30,128,237,239,238,239,243,240,225,227,101,128,255,55,243,237,225,236,108,128,247,119,88,134,0,88,32,238,32,247,33,18,33,31,33,35,33,47,227,233,242,227,236,101,128,36,205,100,2,32,253,33,7,233,229,242,229,243,233,115,128,30,140,239,244,225,227,227,229,238,116,128,30,138,229,232,225,242,237,229,238,233,225,110,128,5,61,105,128,3,158,237,239,238,239,243,240,225,227,101,128,255,56,243,237,225,236,108,128,247,120,89,139,0,89,33,81,33,116,33,139,33,189,33,228,33,236,33,253,34,40,34,52,34,60,34,68,97,2,33,87,33,104,227,245,244,101,129,0,221,33,96,243,237,225,236,108,128,247,253,244,227,249,242,233,236,236,233,99,128,4,98,227,233,242,99,2,33,125,33,130,236,101,128,36,206,245,237,230,236,229,120,128,1,118,100,2,33,145,33,165,233,229,242,229,243,233,115,129,1,120,33,157,243,237,225,236,108,128,247,255,239,116,2,33,172,33,181,225,227,227,229,238,116,128,30,142,226,229,236,239,119,128,30,244,229,114,2,33,196,33,208,233,227,249,242,233,236,236,233,99,128,4,43,245,228,233,229,242,229,243,233,243,227,249,242,233,236,236,233,99,128,4,248,231,242,225,246,101,128,30,242,232,239,239,107,129,1,179,33,245,225,226,239,246,101,128,30,246,105,3,34,5,34,16,34,27,225,242,237,229,238,233,225,110,128,5,69,227,249,242,233,236,236,233,99,128,4,7,247,238,225,242,237,229,238,233,225,110,128,5,82,237,239,238,239,243,240,225,227,101,128,255,57,243,237,225,236,108,128,247,121,244,233,236,228,101,128,30,248,245,115,2,34,75,34,113,226,233,103,2,34,83,34,94,227,249,242,233,236,236,233,99,128,4,106,233,239,244,233,230,233,229,228,227,249,242,233,236,236,233,99,128,4,108,236,233,244,244,236,101,2,34,124,34,135,227,249,242,233,236,236,233,99,128,4,102,233,239,244,233,230,233,229,228,227,249,242,233,236,236,233,99,128,4,104,90,136,0,90,34,174,34,198,34,243,35,14,35,81,35,173,35,185,35,197,97,2,34,180,34,191,225,242,237,229,238,233,225,110,128,5,54,227,245,244,101,128,1,121,99,2,34,204,34,221,225,242,239,110,129,1,125,34,213,243,237,225,236,108,128,246,255,233,242,99,2,34,229,34,234,236,101,128,36,207,245,237,230,236,229,120,128,30,144,228,239,116,130,1,123,34,253,35,6,225,227,227,229,238,116,128,1,123,226,229,236,239,119,128,30,146,101,3,35,22,35,33,35,76,227,249,242,233,236,236,233,99,128,4,23,100,2,35,39,35,58,229,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,152,233,229,242,229,243,233,243,227,249,242,233,236,236,233,99,128,4,222,244,97,128,3,150,232,101,4,35,92,35,103,35,119,35,130,225,242,237,229,238,233,225,110,128,5,58,226,242,229,246,229,227,249,242,233,236,236,233,99,128,4,193,227,249,242,233,236,236,233,99,128,4,22,100,2,35,136,35,155,229,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,150,233,229,242,229,243,233,243,227,249,242,233,236,236,233,99,128,4,220,236,233,238,229,226,229,236,239,119,128,30,148,237,239,238,239,243,240,225,227,101,128,255,58,115,2,35,203,35,210,237,225,236,108,128,247,122,244,242,239,235,101,128,1,181,97,149,0,97,36,8,36,144,37,35,37,211,38,55,38,91,45,10,45,47,45,74,46,43,46,81,47,170,47,242,48,197,48,206,49,79,51,87,52,77,52,124,53,19,53,33,97,7,36,24,36,34,36,41,36,48,36,73,36,89,36,100,226,229,238,231,225,236,105,128,9,134,227,245,244,101,128,0,225,228,229,246,97,128,9,6,231,117,2,36,55,36,64,234,225,242,225,244,105,128,10,134,242,237,245,235,232,105,128,10,6,237,225,244,242,225,231,245,242,237,245,235,232,105,128,10,62,242,245,243,241,245,225,242,101,128,51,3,246,239,247,229], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+215160);
/* memory initializer */ allocate([236,243,233,231,110,3,36,116,36,126,36,133,226,229,238,231,225,236,105,128,9,190,228,229,246,97,128,9,62,231,245,234,225,242,225,244,105,128,10,190,98,4,36,154,36,195,36,204,36,214,226,242,229,246,233,225,244,233,239,110,2,36,169,36,184,237,225,242,235,225,242,237,229,238,233,225,110,128,5,95,243,233,231,238,228,229,246,97,128,9,112,229,238,231,225,236,105,128,9,133,239,240,239,237,239,230,111,128,49,26,242,229,246,101,134,1,3,36,233,36,241,36,252,37,7,37,15,37,27,225,227,245,244,101,128,30,175,227,249,242,233,236,236,233,99,128,4,209,228,239,244,226,229,236,239,119,128,30,183,231,242,225,246,101,128,30,177,232,239,239,235,225,226,239,246,101,128,30,179,244,233,236,228,101,128,30,181,99,4,37,45,37,52,37,131,37,201,225,242,239,110,128,1,206,233,242,99,2,37,60,37,65,236,101,128,36,208,245,237,230,236,229,120,133,0,226,37,84,37,92,37,103,37,111,37,123,225,227,245,244,101,128,30,165,228,239,244,226,229,236,239,119,128,30,173,231,242,225,246,101,128,30,167,232,239,239,235,225,226,239,246,101,128,30,169,244,233,236,228,101,128,30,171,245,244,101,133,0,180,37,147,37,158,37,175,37,182,37,191,226,229,236,239,247,227,237,98,128,3,23,99,2,37,164,37,169,237,98,128,3,1,239,237,98,128,3,1,228,229,246,97,128,9,84,236,239,247,237,239,100,128,2,207,244,239,238,229,227,237,98,128,3,65,249,242,233,236,236,233,99,128,4,48,100,5,37,223,37,233,37,247,37,253,38,31,226,236,231,242,225,246,101,128,2,1,228,225,235,231,245,242,237,245,235,232,105,128,10,113,229,246,97,128,9,5,233,229,242,229,243,233,115,130,0,228,38,11,38,22,227,249,242,233,236,236,233,99,128,4,211,237,225,227,242,239,110,128,1,223,239,116,2,38,38,38,46,226,229,236,239,119,128,30,161,237,225,227,242,239,110,128,1,225,101,131,0,230,38,65,38,73,38,82,225,227,245,244,101,128,1,253,235,239,242,229,225,110,128,49,80,237,225,227,242,239,110,128,1,227,230,233,105,6,38,107,38,127,41,64,41,70,41,85,44,185,48,2,38,113,38,120,176,178,176,56,128,32,21,184,185,180,49,128,32,164,177,48,3,38,136,40,160,41,39,48,9,38,156,38,176,38,238,39,44,39,106,39,168,39,230,40,36,40,98,49,3,38,164,38,168,38,172,55,128,4,16,56,128,4,17,57,128,4,18,50,10,38,198,38,202,38,206,38,210,38,214,38,218,38,222,38,226,38,230,38,234,48,128,4,19,49,128,4,20,50,128,4,21,51,128,4,1,52,128,4,22,53,128,4,23,54,128,4,24,55,128,4,25,56,128,4,26,57,128,4,27,51,10,39,4,39,8,39,12,39,16,39,20,39,24,39,28,39,32,39,36,39,40,48,128,4,28,49,128,4,29,50,128,4,30,51,128,4,31,52,128,4,32,53,128,4,33,54,128,4,34,55,128,4,35,56,128,4,36,57,128,4,37,52,10,39,66,39,70,39,74,39,78,39,82,39,86,39,90,39,94,39,98,39,102,48,128,4,38,49,128,4,39,50,128,4,40,51,128,4,41,52,128,4,42,53,128,4,43,54,128,4,44,55,128,4,45,56,128,4,46,57,128,4,47,53,10,39,128,39,132,39,136,39,140,39,144,39,148,39,152,39,156,39,160,39,164,48,128,4,144,49,128,4,2,50,128,4,3,51,128,4,4,52,128,4,5,53,128,4,6,54,128,4,7,55,128,4,8,56,128,4,9,57,128,4,10,54,10,39,190,39,194,39,198,39,202,39,206,39,210,39,214,39,218,39,222,39,226,48,128,4,11,49,128,4,12,50,128,4,14,51,128,246,196,52,128,246,197,53,128,4,48,54,128,4,49,55,128,4,50,56,128,4,51,57,128,4,52,55,10,39,252,40,0,40,4,40,8,40,12,40,16,40,20,40,24,40,28,40,32,48,128,4,53,49,128,4,81,50,128,4,54,51,128,4,55,52,128,4,56,53,128,4,57,54,128,4,58,55,128,4,59,56,128,4,60,57,128,4,61,56,10,40,58,40,62,40,66,40,70,40,74,40,78,40,82,40,86,40,90,40,94,48,128,4,62,49,128,4,63,50,128,4,64,51,128,4,65,52,128,4,66,53,128,4,67,54,128,4,68,55,128,4,69,56,128,4,70,57,128,4,71,57,10,40,120,40,124,40,128,40,132,40,136,40,140,40,144,40,148,40,152,40,156,48,128,4,72,49,128,4,73,50,128,4,74,51,128,4,75,52,128,4,76,53,128,4,77,54,128,4,78,55,128,4,79,56,128,4,145,57,128,4,82,49,4,40,170,40,232,40,237,41,7,48,10,40,192,40,196,40,200,40,204,40,208,40,212,40,216,40,220,40,224,40,228,48,128,4,83,49,128,4,84,50,128,4,85,51,128,4,86,52,128,4,87,53,128,4,88,54,128,4,89,55,128,4,90,56,128,4,91,57,128,4,92,177,48,128,4,94,52,4,40,247,40,251,40,255,41,3,53,128,4,15,54,128,4,98,55,128,4,114,56,128,4,116,57,5,41,19,41,23,41,27,41,31,41,35,50,128,246,198,51,128,4,95,52,128,4,99,53,128,4,115,54,128,4,117,56,2,41,45,41,59,51,2,41,51,41,55,49,128,246,199,50,128,246,200,180,54,128,4,217,178,185,57,128,32,14,179,48,2,41,77,41,81,48,128,32,15,49,128,32,13,181,55,7,41,102,41,172,42,237,43,58,44,15,44,108,44,179,51,2,41,108,41,122,56,2,41,114,41,118,49,128,6,106,56,128,6,12,57,8,41,140,41,144,41,148,41,152,41,156,41,160,41,164,41,168,50,128,6,96,51,128,6,97,52,128,6,98,53,128,6,99,54,128,6,100,55,128,6,101,56,128,6,102,57,128,6,103,52,7,41,188,41,220,42,26,42,88,42,120,42,176,42,232,48,5,41,200,41,204,41,208,41,212,41,216,48,128,6,104,49,128,6,105,51,128,6,27,55,128,6,31,57,128,6,33,49,10,41,242,41,246,41,250,41,254,42,2,42,6,42,10,42,14,42,18,42,22,48,128,6,34,49,128,6,35,50,128,6,36,51,128,6,37,52,128,6,38,53,128,6,39,54,128,6,40,55,128,6,41,56,128,6,42,57,128,6,43,50,10,42,48,42,52,42,56,42,60,42,64,42,68,42,72,42,76,42,80,42,84,48,128,6,44,49,128,6,45,50,128,6,46,51,128,6,47,52,128,6,48,53,128,6,49,54,128,6,50,55,128,6,51,56,128,6,52,57,128,6,53,51,5,42,100,42,104,42,108,42,112,42,116,48,128,6,54,49,128,6,55,50,128,6,56,51,128,6,57,52,128,6,58,52,9,42,140,42,144,42,148,42,152,42,156,42,160,42,164,42,168,42,172,48,128,6,64,49,128,6,65,50,128,6,66,51,128,6,67,52,128,6,68,53,128,6,69,54,128,6,70,56,128,6,72,57,128,6,73,53,9,42,196,42,200,42,204,42,208,42,212,42,216,42,220,42,224,42,228,48,128,6,74,49,128,6,75,50,128,6,76,51,128,6,77,52,128,6,78,53,128,6,79,54,128,6,80,55,128,6,81,56,128,6,82,183,48,128,6,71,53,3,42,245,43,21,43,53,48,5,43,1,43,5,43,9,43,13,43,17,53,128,6,164,54,128,6,126,55,128,6,134,56,128,6,152,57,128,6,175,49,5,43,33,43,37,43,41,43,45,43,49,49,128,6,121,50,128,6,136,51,128,6,145,52,128,6,186,57,128,6,210,179,52,128,6,213,54,7,43,74,43,79,43,84,43,89,43,127,43,189,43,251,179,54,128,32,170,180,53,128,5,190,181,56,128,5,195,54,6,43,103,43,107,43,111,43,115,43,119,43,123,52,128,5,208,53,128,5,209,54,128,5,210,55,128,5,211,56,128,5,212,57,128,5,213,55,10,43,149,43,153,43,157,43,161,43,165,43,169,43,173,43,177,43,181,43,185,48,128,5,214,49,128,5,215,50,128,5,216,51,128,5,217,52,128,5,218,53,128,5,219,54,128,5,220,55,128,5,221,56,128,5,222,57,128,5,223,56,10,43,211,43,215,43,219,43,223,43,227,43,231,43,235,43,239,43,243,43,247,48,128,5,224,49,128,5,225,50,128,5,226,51,128,5,227,52,128,5,228,53,128,5,229,54,128,5,230,55,128,5,231,56,128,5,232,57,128,5,233,57,3,44,3,44,7,44,11,48,128,5,234,52,128,251,42,53,128,251,43,55,4,44,25,44,39,44,59,44,64,48,2,44,31,44,35,48,128,251,75,53,128,251,31,49,3,44,47,44,51,44,55,54,128,5,240,55,128,5,241,56,128,5,242,178,51,128,251,53,57,7,44,80,44,84,44,88,44,92,44,96,44,100,44,104,51,128,5,180,52,128,5,181,53,128,5,182,54,128,5,187,55,128,5,184,56,128,5,183,57,128,5,176,56,3,44,116,44,160,44,165,48,7,44,132,44,136,44,140,44,144,44,148,44,152,44,156,48,128,5,178,49,128,5,177,50,128,5,179,51,128,5,194,52,128,5,193,54,128,5,185,55,128,5,188,179,57,128,5,189,52,2,44,171,44,175,49,128,5,191,50,128,5,192,185,178,57,128,2,188,54,3,44,193,44,252,45,3,49,4,44,203,44,219,44,225,44,246,50,2,44,209,44,214,180,56,128,33,5,184,57,128,33,19,179,181,50,128,33,22,181,55,3,44,234,44,238,44,242,51,128,32,44,52,128,32,45,53,128,32,46,182,182,52,128,32,12,179,177,182,55,128,6,109,180,185,179,55,128,2,189,103,2,45,16,45,23,242,225,246,101,128,0,224,117,2,45,29,45,38,234,225,242,225,244,105,128,10,133,242,237,245,235,232,105,128,10,5,104,2,45,53,45,63,233,242,225,231,225,238,97,128,48,66,239,239,235,225,226,239,246,101,128,30,163,105,7,45,90,45,115,45,122,45,134,45,159,45,175,45,255,98,2,45,96,45,105,229,238,231,225,236,105,128,9,144,239,240,239,237,239,230,111,128,49,30,228,229,246,97,128,9,16,229,227,249,242,233,236,236,233,99,128,4,213,231,117,2,45,141,45,150,234,225,242,225,244,105,128,10,144,242,237,245,235,232,105,128,10,16,237,225,244,242,225,231,245,242,237,245,235,232,105,128,10,72,110,5,45,187,45,196,45,210,45,226,45,241,225,242,225,226,233,99,128,6,57,230,233,238,225,236,225,242,225,226,233,99,128,254,202,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,203,237,229,228,233,225,236,225,242,225,226,233,99,128,254,204,246,229,242,244,229,228,226,242,229,246,101,128,2,3,246,239,247,229,236,243,233,231,110,3,46,15,46,25,46,32,226,229,238,231,225,236,105,128,9,200,228,229,246,97,128,9,72,231,245,234,225,242,225,244,105,128,10,200,107,2,46,49,46,73,225,244,225,235,225,238,97,129,48,162,46,61,232,225,236,230,247,233,228,244,104,128,255,113,239,242,229,225,110,128,49,79,108,3,46,89,47,145,47,154,101,2,46,95,47,140,102,136,5,208,46,115,46,124,46,139,46,153,46,242,47,0,47,111,47,125,225,242,225,226,233,99,128,6,39,228,225,231,229,243,232,232,229,226,242,229,119,128,251,48,230,233,238,225,236,225,242,225,226,233,99,128,254,142,104,2,46,159,46,234,225,237,250,97,2,46,168,46,201,225,226,239,246,101,2,46,178,46,187,225,242,225,226,233,99,128,6,35,230,233,238,225,236,225,242,225,226,233,99,128,254,132,226,229,236,239,119,2,46,211,46,220,225,242,225,226,233,99,128,6,37,230,233,238,225,236,225,242,225,226,233,99,128,254,136,229,226,242,229,119,128,5,208,236,225,237,229,228,232,229,226,242,229,119,128,251,79,237,97,2,47,7,47,43,228,228,225,225,226,239,246,101,2,47,20,47,29,225,242,225,226,233,99,128,6,34,230,233,238,225,236,225,242,225,226,233,99,128,254,130,235,243,245,242,97,4,47,57,47,66,47,80,47,96,225,242,225,226,233,99,128,6,73,230,233,238,225,236,225,242,225,226,233,99,128,254,240,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,243,237,229,228,233,225,236,225,242,225,226,233,99,128,254,244,240,225,244,225,232,232,229,226,242,229,119,128,251,46,241,225,237,225,244,243,232,229,226,242,229,119,128,251,47,240,104,128,33,53,236,229,241,245,225,108,128,34,76,240,232,97,129,3,177,47,162,244,239,238,239,115,128,3,172,109,4,47,180,47,188,47,199,47,233,225,227,242,239,110,128,1,1,239,238,239,243,240,225,227,101,128,255,65,240,229,242,243,225,238,100,130,0,38,47,213,47,225,237,239,238,239,243,240,225,227,101,128,255,6,243,237,225,236,108,128,247,38,243,241,245,225,242,101,128,51,194,110,4,47,252,48,7,48,129,48,139,226,239,240,239,237,239,230,111,128,49,34,103,4,48,17,48,28,48,42,48,121,226,239,240,239,237,239,230,111,128,49,36,235,232,225,238,235,232,245,244,232,225,105,128,14,90,236,101,131,34,32,48,53,48,106,48,113,226,242,225,227,235,229,116,2,48,65,48,85,236,229,230,116,129,48,8,48,74,246,229,242,244,233,227,225,108,128,254,63,242,233,231,232,116,129,48,9,48,95,246,229,242,244,233,227,225,108,128,254,64,236,229,230,116,128,35,41,242,233,231,232,116,128,35,42,243,244,242,239,109,128,33,43,239,244,229,236,229,233,97,128,3,135,117,2,48,145,48,157,228,225,244,244,225,228,229,246,97,128,9,82,243,246,225,242,97,3,48,169,48,179,48,186,226,229,238,231,225,236,105,128,9,130,228,229,246,97,128,9,2,231,245,234,225,242,225,244,105,128,10,130,239,231,239,238,229,107,128,1,5,112,3,48,214,48,238,49,12,97,2,48,220,48,232,225,244,239,243,241,245,225,242,101,128,51,0,242,229,110,128,36,156,239,243,244,242,239,240,232,101,2,48,251,49,6,225,242,237,229,238,233,225,110,128,5,90,237,239,100,128,2,188,112,2,49,18,49,23,236,101,128,248,255,242,111,2,49,30,49,38,225,227,232,229,115,128,34,80,120,2,49,44,49,64,229,241,245,225,108,129,34,72,49,54,239,242,233,237,225,231,101,128,34,82,233,237,225,244,229,236,249,229,241,245,225,108,128,34,69,114,4,49,89,49,116,49,120,49,165,225,229,97,2,49,97,49,107,229,235,239,242,229,225,110,128,49,142,235,239,242,229,225,110,128,49,141,99,128,35,18,105,2,49,126,49,140,231,232,244,232,225,236,230,242,233,238,103,128,30,154,238,103,130,0,229,49,149,49,157,225,227,245,244,101,128,1,251,226,229,236,239,119,128,30,1,242,239,119,8,49,185,49,192,50,65,50,131,50,181,50,236,51,3,51,78,226,239,244,104,128,33,148,100,3,49,200,49,239,50,30,225,243,104,4,49,212,49,219,49,226,49,234,228,239,247,110,128,33,227,236,229,230,116,128,33,224,242,233,231,232,116,128,33,226,245,112,128,33,225,226,108,5,49,252,50,3,50,10,50,17,50,25,226,239,244,104,128,33,212,228,239,247,110,128,33,211,236,229,230,116,128,33,208,242,233,231,232,116,128,33,210,245,112,128,33,209,239,247,110,131,33,147,50,42,50,49,50,57,236,229,230,116,128,33,153,242,233,231,232,116,128,33,152,247,232,233,244,101,128,33,233,104,2,50,71,50,122,229,225,100,4,50,83,50,93,50,103,50,114,228,239,247,238,237,239,100,128,2,197,236,229,230,244,237,239,100,128,2,194,242,233,231,232,244,237,239,100,128,2,195,245,240,237,239,100,128,2,196,239,242,233,250,229,120,128,248,231,236,229,230,116,131,33,144,50,144,50,161,50,173,228,226,108,129,33,208,50,152,243,244,242,239,235,101,128,33,205,239,246,229,242,242,233,231,232,116,128,33,198,247,232,233,244,101,128,33,230,242,233,231,232,116,132,33,146,50,197,50,209,50,217,50,228,228,226,236,243,244,242,239,235,101,128,33,207,232,229,225,246,121,128,39,158,239,246,229,242,236,229,230,116,128,33,196,247,232,233,244,101,128,33,232,244,225,98,2,50,244,50,251,236,229,230,116,128,33,228,242,233,231,232,116,128,33,229,245,112,132,33,145,51,16,51,44,51,62,51,70,100,2,51,22,51,34,110,129,33,149,51,28,226,243,101,128,33,168,239,247,238,226,225,243,101,128,33,168,236,229,230,116,129,33,150,51,53,239,230,228,239,247,110,128,33,197,242,233,231,232,116,128,33,151,247,232,233,244,101,128,33,231,246,229,242,244,229,120,128,248,230,115,5,51,99,51,175,51,220,52,47,52,57,99,2,51,105,51,157,233,105,2,51,112,51,135,227,233,242,227,245,109,129,0,94,51,123,237,239,238,239,243,240,225,227,101,128,255,62,244,233,236,228,101,129,0,126,51,145,237,239,238,239,243,240,225,227,101,128,255,94,242,233,240,116,129,2,81,51,166,244,245,242,238,229,100,128,2,82,237,225,236,108,2,51,184,51,195,232,233,242,225,231,225,238,97,128,48,65,235,225,244,225,235,225,238,97,129,48,161,51,208,232,225,236,230,247,233,228,244,104,128,255,103,244,229,242,233,115,2,51,230,52,43,107,131,0,42,51,240,52,12,52,35,97,2,51,246,52,4,236,244,239,238,229,225,242,225,226,233,99,128,6,109,242,225,226,233,99,128,6,109,109,2,52,18,52,24,225,244,104,128,34,23,239,238,239,243,240,225,227,101,128,255,10,243,237,225,236,108,128,254,97,109,128,32,66,245,240,229,242,233,239,114,128,246,233,249,237,240,244,239,244,233,227,225,236,236,249,229,241,245,225,108,128,34,67,116,132,0,64,52,89,52,96,52,108,52,116,233,236,228,101,128,0,227,237,239,238,239,243,240,225,227,101,128,255,32,243,237,225,236,108,128,254,107,245,242,238,229,100,128,2,80,117,6,52,138,52,163,52,170,52,195,52,215,52,231,98,2,52,144,52,153,229,238,231,225,236,105,128,9,148,239,240,239,237,239,230,111,128,49,32,228,229,246,97,128,9,20,231,117,2,52,177,52,186,234,225,242,225,244,105,128,10,148,242,237,245,235,232,105,128,10,20,236,229,238,231,244,232,237,225,242,235,226,229,238,231,225,236,105,128,9,215,237,225,244,242,225,231,245,242,237,245,235,232,105,128,10,76,246,239,247,229,236,243,233,231,110,3,52,247,53,1,53,8,226,229,238,231,225,236,105,128,9,204,228,229,246,97,128,9,76,231,245,234,225,242,225,244,105,128,10,204,246,225,231,242,225,232,225,228,229,246,97,128,9,61,121,2,53,39,53,51,226,225,242,237,229,238,233,225,110,128,5,97,233,110,130,5,226,53,60,53,75,225,236,244,239,238,229,232,229,226,242,229,119,128,251,32,232,229,226,242,229,119,128,5,226,98,144,0,98,53,120,53,255,54,10,54,19,54,44,55,85,55,147,55,220,57,146,57,158,57,201,57,209,57,219,59,89,59,113,59,122,97,7,53,136,53,146,53,170,53,177,53,202,53,226,53,237,226,229,238,231,225,236,105,128,9,172,227,235,243,236,225,243,104,129,0,92,53,158,237,239,238,239,243,240,225,227,101,128,255,60,228,229,246,97,128,9,44,231,117,2,53,184,53,193,234,225,242,225,244,105,128,10,172,242,237,245,235,232,105,128,10,44,104,2,53,208,53,218,233,242,225,231,225,238,97,128,48,112,244,244,232,225,105,128,14,63,235,225,244,225,235,225,238,97,128,48,208,114,129,0,124,53,243,237,239,238,239,243,240,225,227,101,128,255,92,226,239,240,239,237,239,230,111,128,49,5,227,233,242,227,236,101,128,36,209,228,239,116,2,54,27,54,36,225,227,227,229,238,116,128,30,3,226,229,236,239,119,128,30,5,101,6,54,58,54,79,54,102,54,244,54,255,55,11,225,237,229,228,243,233,248,244,229,229,238,244,232,238,239,244,229,115,128,38,108,99,2,54,85,54,92,225,245,243,101,128,34,53,249,242,233,236,236,233,99,128,4,49,104,5,54,114,54,123,54,137,54,167,54,226,225,242,225,226,233,99,128,6,40,230,233,238,225,236,225,242,225,226,233,99,128,254,144,105,2,54,143,54,158,238,233,244,233,225,236,225,242,225,226,233,99,128,254,145,242,225,231,225,238,97,128,48,121,237,101,2,54,174,54,187,228,233,225,236,225,242,225,226,233,99,128,254,146,229,237,105,2,54,195,54,210,238,233,244,233,225,236,225,242,225,226,233,99,128,252,159,243,239,236,225,244,229,228,225,242,225,226,233,99,128,252,8,238,239,239,238,230,233,238,225,236,225,242,225,226,233,99,128,252,109,235,225,244,225,235,225,238,97,128,48,217,238,225,242,237,229,238,233,225,110,128,5,98,116,132,5,209,55,23,55,43,55,63,55,72,97,129,3,178,55,29,243,249,237,226,239,236,231,242,229,229,107,128,3,208,228,225,231,229,243,104,129,251,49,55,54,232,229,226,242,229,119,128,251,49,232,229,226,242,229,119,128,5,209,242,225,230,229,232,229,226,242,229,119,128,251,76,104,2,55,91,55,141,97,3,55,99,55,109,55,116,226,229,238,231,225,236,105,128,9,173,228,229,246,97,128,9,45,231,117,2,55,123,55,132,234,225,242,225,244,105,128,10,173,242,237,245,235,232,105,128,10,45,239,239,107,128,2,83,105,5,55,159,55,170,55,181,55,195,55,209,232,233,242,225,231,225,238,97,128,48,115,235,225,244,225,235,225,238,97,128,48,211,236,225,226,233,225,236,227,236,233,227,107,128,2,152,238,228,233,231,245,242,237,245,235,232,105,128,10,2,242,245,243,241,245,225,242,101,128,51,49,108,3,55,228,57,129,57,140,97,2,55,234,57,124,227,107,6,55,249,56,2,56,39,56,188,56,243,57,39,227,233,242,227,236,101,128,37,207,100,2,56,8,56,17,233,225,237,239,238,100,128,37,198,239,247,238,240,239,233,238,244,233,238,231,244,242,233,225,238,231,236,101,128,37,188,108,2,56,45,56,148,101,2,56,51,56,87,230,244,240,239,233,238,244,233,238,103,2,56,66,56,76,240,239,233,238,244,229,114,128,37,196,244,242,233,225,238,231,236,101,128,37,192,238,244,233,227,245,236,225,242,226,242,225,227,235,229,116,2,56,107,56,127,236,229,230,116,129,48,16,56,116,246,229,242,244,233,227,225,108,128,254,59,242,233,231,232,116,129,48,17,56,137,246,229,242,244,233,227,225,108,128,254,60,239,247,229,114,2,56,157,56,172,236,229,230,244,244,242,233,225,238,231,236,101,128,37,227,242,233,231,232,244,244,242,233,225,238,231,236,101,128,37,226,114,2,56,194,56,205,229,227,244,225,238,231,236,101,128,37,172,233,231,232,244,240,239,233,238,244,233,238,103,2,56,222,56,232,240,239,233,238,244,229,114,128,37,186,244,242,233,225,238,231,236,101,128,37,182,115,3,56,251,57,25,57,33,109,2,57,1,57,13,225,236,236,243,241,245,225,242,101,128,37,170,233,236,233,238,231,230,225,227,101,128,38,59,241,245,225,242,101,128,37,160,244,225,114,128,38,5,245,240,112,2,57,47,57,85,229,114,2,57,54,57,69,236,229,230,244,244,242,233,225,238,231,236,101,128,37,228,242,233,231,232,244,244,242,233,225,238,231,236,101,128,37,229,239,233,238,244,233,238,103,2,57,97,57,113,243,237,225,236,236,244,242,233,225,238,231,236,101,128,37,180,244,242,233,225,238,231,236,101,128,37,178,238,107,128,36,35,233,238,229,226,229,236,239,119,128,30,7,239,227,107,128,37,136,237,239,238,239,243,240,225,227,101,128,255,66,111,3,57,166,57,179,57,190,226,225,233,237,225,233,244,232,225,105,128,14,26,232,233,242,225,231,225,238,97,128,48,124,235,225,244,225,235,225,238,97,128,48,220,240,225,242,229,110,128,36,157,241,243,241,245,225,242,101,128,51,195,114,4,57,229,58,223,59,40,59,79,225,99,2,57,236,58,130,101,3,57,244,57,249,58,61,229,120,128,248,244,236,229,230,116,133,0,123,58,10,58,15,58,37,58,45,58,50,226,116,128,248,243,109,2,58,21,58,26,233,100,128,248,242,239,238,239,243,240,225,227,101,128,255,91,243,237,225,236,108,128,254,91,244,112,128,248,241,246,229,242,244,233,227,225,108,128,254,55,242,233,231,232,116,133,0,125,58,79,58,84,58,106,58,114,58,119,226,116,128,248,254,109,2,58,90,58,95,233,100,128,248,253,239,238,239,243,240,225,227,101,128,255,93,243,237,225,236,108,128,254,92,244,112,128,248,252,246,229,242,244,233,227,225,108,128,254,56,235,229,116,2,58,138,58,180,236,229,230,116,132,0,91,58,153,58,158,58,163,58,175,226,116,128,248,240,229,120,128,248,239,237,239,238,239,243,240,225,227,101,128,255,59,244,112,128,248,238,242,233,231,232,116,132,0,93,58,196,58,201,58,206,58,218,226,116,128,248,251,229,120,128,248,250,237,239,238,239,243,240,225,227,101,128,255,61,244,112,128,248,249,229,246,101,131,2,216,58,235,58,246,58,252,226,229,236,239,247,227,237,98,128,3,46,227,237,98,128,3,6,233,238,246,229,242,244,229,100,3,59,11,59,22,59,28,226,229,236,239,247,227,237,98,128,3,47,227,237,98,128,3,17,228,239,245,226,236,229,227,237,98,128,3,97,233,228,231,101,2,59,49,59,60,226,229,236,239,247,227,237,98,128,3,42,233,238,246,229,242,244,229,228,226,229,236,239,247,227,237,98,128,3,58,239,235,229,238,226,225,114,128,0,166,115,2,59,95,59,103,244,242,239,235,101,128,1,128,245,240,229,242,233,239,114,128,246,234,244,239,240,226,225,114,128,1,131,117,3,59,130,59,141,59,152,232,233,242,225,231,225,238,97,128,48,118,235,225,244,225,235,225,238,97,128,48,214,236,108,2,59,159,59,189,229,116,130,32,34,59,168,59,178,233,238,246,229,242,243,101,128,37,216,239,240,229,242,225,244,239,114,128,34,25,243,229,249,101,128,37,206,99,143,0,99,59,230,60,179,60,190,60,254,61,29,61,122,63,33,64,17,64,117,64,166,67,158,67,166,67,176,67,188,67,221,97,9,59,250,60,5,60,15,60,22,60,29,60,54,60,64,60,116,60,125,225,242,237,229,238,233,225,110,128,5,110,226,229,238,231,225,236,105,128,9,154,227,245,244,101,128,1,7,228,229,246,97,128,9,26,231,117,2,60,36,60,45,234,225,242,225,244,105,128,10,154,242,237,245,235,232,105,128,10,26,236,243,241,245,225,242,101,128,51,136,238,228,242,225,226,233,238,228,117,4,60,82,60,92,60,98,60,105,226,229,238,231,225,236,105,128,9,129,227,237,98,128,3,16,228,229,246,97,128,9,1,231,245,234,225,242,225,244,105,128,10,129,240,243,236,239,227,107,128,33,234,114,3,60,133,60,139,60,165,229,239,102,128,33,5,239,110,130,2,199,60,148,60,159,226,229,236,239,247,227,237,98,128,3,44,227,237,98,128,3,12,242,233,225,231,229,242,229,244,245,242,110,128,33,181,226,239,240,239,237,239,230,111,128,49,24,99,4,60,200,60,207,60,226,60,248,225,242,239,110,128,1,13,229,228,233,236,236,97,129,0,231,60,218,225,227,245,244,101,128,30,9,233,242,99,2,60,234,60,239,236,101,128,36,210,245,237,230,236,229,120,128,1,9,245,242,108,128,2,85,100,2,61,4,61,20,239,116,129,1,11,61,11,225,227,227,229,238,116,128,1,11,243,241,245,225,242,101,128,51,197,101,2,61,35,61,51,228,233,236,236,97,129,0,184,61,45,227,237,98,128,3,39,238,116,132,0,162,61,64,61,88,61,100,61,111,105,2,61,70,61,78,231,242,225,228,101,128,33,3,238,230,229,242,233,239,114,128,246,223,237,239,238,239,243,240,225,227,101,128,255,224,239,236,228,243,244,249,236,101,128,247,162,243,245,240,229,242,233,239,114,128,246,224,104,5,61,134,61,197,61,208,62,136,62,228,97,4,61,144,61,155,61,165,61,172,225,242,237,229,238,233,225,110,128,5,121,226,229,238,231,225,236,105,128,9,155,228,229,246,97,128,9,27,231,117,2,61,179,61,188,234,225,242,225,244,105,128,10,155,242,237,245,235,232,105,128,10,27,226,239,240,239,237,239,230,111,128,49,20,101,6,61,222,61,242,62,10,62,78,62,90,62,111,225,226,235,232,225,243,233,225,238,227,249,242,233,236,236,233,99,128,4,189,99,2,61,248,62,0,235,237,225,242,107,128,39,19,249,242,233,236,236,233,99,128,4,71,100,2,62,16,62,60,229,243,227,229,238,228,229,114,2,62,29,62,49,225,226,235,232,225,243,233,225,238,227,249,242,233,236,236,233,99,128,4,191,227,249,242,233,236,236,233,99,128,4,183,233,229,242,229,243,233,243,227,249,242,233,236,236,233,99,128,4,245,232,225,242,237,229,238,233,225,110,128,5,115,235,232,225,235,225,243,243,233,225,238,227,249,242,233,236,236,233,99,128,4,204,246,229,242,244,233,227,225,236,243,244,242,239,235,229,227,249,242,233,236,236,233,99,128,4,185,105,129,3,199,62,142,229,245,227,104,4,62,155,62,190,62,205,62,214,97,2,62,161,62,176,227,233,242,227,236,229,235,239,242,229,225,110,128,50,119,240,225,242,229,238,235,239,242,229,225,110,128,50,23,227,233,242,227,236,229,235,239,242,229,225,110,128,50,105,235,239,242,229,225,110,128,49,74,240,225,242,229,238,235,239,242,229,225,110,128,50,9,111,2,62,234,63,28,227,104,3,62,243,63,9,63,19,225,110,2,62,250,63,2,231,244,232,225,105,128,14,10,244,232,225,105,128,14,8,233,238,231,244,232,225,105,128,14,9,239,229,244,232,225,105,128,14,12,239,107,128,1,136,105,2,63,39,63,141,229,245,99,5,63,53,63,88,63,103,63,112,63,126,97,2,63,59,63,74,227,233,242,227,236,229,235,239,242,229,225,110,128,50,118,240,225,242,229,238,235,239,242,229,225,110,128,50,22,227,233,242,227,236,229,235,239,242,229,225,110,128,50,104,235,239,242,229,225,110,128,49,72,240,225,242,229,238,235,239,242,229,225,110,128,50,8,245,240,225,242,229,238,235,239,242,229,225,110,128,50,28,242,99,2,63,148,63,243,236,101,132,37,203,63,161,63,172,63,177,63,201,237,245,236,244,233,240,236,121,128,34,151,239,116,128,34,153,112,2,63,183,63,189,236,245,115,128,34,149,239,243,244,225,236,237,225,242,107,128,48,54,247,233,244,104,2,63,210,63,226,236,229,230,244,232,225,236,230,226,236,225,227,107,128,37,208,242,233,231,232,244,232,225,236,230,226,236,225,227,107,128,37,209,245,237,230,236,229,120,130,2,198,64,0,64,11,226,229,236,239,247,227,237,98,128,3,45,227,237,98,128,3,2,108,3,64,25,64,31,64,85,229,225,114,128,35,39,233,227,107,4,64,43,64,54,64,63,64,73,225,236,246,229,239,236,225,114,128,1,194,228,229,238,244,225,108,128,1,192,236,225,244,229,242,225,108,128,1,193,242,229,244,242,239,230,236,229,120,128,1,195,245,98,129,38,99,64,92,243,245,233,116,2,64,101,64,109,226,236,225,227,107,128,38,99,247,232,233,244,101,128,38,103,109,3,64,125,64,139,64,150,227,245,226,229,228,243,241,245,225,242,101,128,51,164,239,238,239,243,240,225,227,101,128,255,67,243,241,245,225,242,229,228,243,241,245,225,242,101,128,51,160,111,8,64,184,64,195,65,26,65,224,66,253,67,28,67,135,67,144,225,242,237,229,238,233,225,110,128,5,129,236,239,110,131,0,58,64,207,64,232,64,251,237,239,110,2,64,215,64,223,229,244,225,242,121,128,32,161,239,243,240,225,227,101,128,255,26,115,2,64,238,64,244,233,231,110,128,32,161,237,225,236,108,128,254,85,244,242,233,225,238,231,245,236,225,114,2,65,10,65,20,232,225,236,230,237,239,100,128,2,209,237,239,100,128,2,208,109,2,65,32,65,217,237,97,134,0,44,65,49,65,113,65,124,65,136,65,166,65,189,97,3,65,57,65,83,65,91,226,239,246,101,2,65,66,65,72,227,237,98,128,3,19,242,233,231,232,244,227,237,98,128,3,21,227,227,229,238,116,128,246,195,114,2,65,97,65,104,225,226,233,99,128,6,12,237,229,238,233,225,110,128,5,93,233,238,230,229,242,233,239,114,128,246,225,237,239,238,239,243,240,225,227,101,128,255,12,242,229,246,229,242,243,229,100,2,65,149,65,160,225,226,239,246,229,227,237,98,128,3,20,237,239,100,128,2,189,115,2,65,172,65,179,237,225,236,108,128,254,80,245,240,229,242,233,239,114,128,246,226,244,245,242,238,229,100,2,65,200,65,211,225,226,239,246,229,227,237,98,128,3,18,237,239,100,128,2,187,240,225,243,115,128,38,60,110,2,65,230,65,239,231,242,245,229,238,116,128,34,69,116,2,65,245,66,3,239,245,242,233,238,244,229,231,242,225,108,128,34,46,242,239,108,142,35,3,66,37,66,43,66,58,66,73,66,117,66,162,66,176,66,181,66,186,66,191,66,197,66,202,66,243,66,248,193,195,75,128,0,6,66,2,66,49,66,54,197,76,128,0,7,83,128,0,8,67,2,66,64,66,69,193,78,128,0,24,82,128,0,13,68,3,66,81,66,107,66,112,67,4,66,91,66,95,66,99,66,103,49,128,0,17,50,128,0,18,51,128,0,19,52,128,0,20,197,76,128,0,127,204,69,128,0,16,69,5,66,129,66,133,66,138,66,143,66,148,77,128,0,25,206,81,128,0,5,207,84,128,0,4,211,67,128,0,27,84,2,66,154,66,158,66,128,0,23,88,128,0,3,70,2,66,168,66,172,70,128,0,12,83,128,0,28,199,83,128,0,29,200,84,128,0,9,204,70,128,0,10,206,193,75,128,0,21,210,83,128,0,30,83,5,66,214,66,218,66,228,66,233,66,238,73,128,0,15,79,129,0,14,66,224,84,128,0,2,212,88,128,0,1,213,66,128,0,26,217,78,128,0,22,213,83,128,0,31,214,84,128,0,11,240,249,242,233,231,232,116,129,0,169,67,9,115,2,67,15,67,21,225,238,115,128,248,233,229,242,233,102,128,246,217,114,2,67,34,67,118,238,229,242,226,242,225,227,235,229,116,2,67,49,67,83,236,229,230,116,130,48,12,67,60,67,72,232,225,236,230,247,233,228,244,104,128,255,98,246,229,242,244,233,227,225,108,128,254,65,242,233,231,232,116,130,48,13,67,95,67,107,232,225,236,230,247,233,228,244,104,128,255,99,246,229,242,244,233,227,225,108,128,254,66,240,239,242,225,244,233,239,238,243,241,245,225,242,101,128,51,127,243,241,245,225,242,101,128,51,199,246,229,242,235,231,243,241,245,225,242,101,128,51,198,240,225,242,229,110,128,36,158,242,245,250,229,233,242,111,128,32,162,243,244,242,229,244,227,232,229,100,128,2,151,245,114,2,67,195,67,213,236,121,2,67,202,67,208,225,238,100,128,34,207,239,114,128,34,206,242,229,238,227,121,128,0,164,249,114,4,67,232,67,240,67,247,67,255,194,242,229,246,101,128,246,209,198,236,229,120,128,246,210,226,242,229,246,101,128,246,212,230,236,229,120,128,246,213,100,146,0,100,68,46,69,184,70,208,71,12,71,188,72,142,72,204,73,133,73,146,73,155,73,181,73,206,73,215,75,26,75,34,75,45,75,65,75,93,97,11,68,70,68,81,68,91,68,163,68,226,68,237,68,248,69,61,69,123,69,129,69,159,225,242,237,229,238,233,225,110,128,5,100,226,229,238,231,225,236,105,128,9,166,100,5,68,103,68,112,68,118,68,132,68,148,225,242,225,226,233,99,128,6,54,229,246,97,128,9,38,230,233,238,225,236,225,242,225,226,233,99,128,254,190,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,191,237,229,228,233,225,236,225,242,225,226,233,99,128,254,192,103,3,68,171,68,188,68,202,229,243,104,129,5,188,68,179,232,229,226,242,229,119,128,5,188,231,229,114,129,32,32,68,196,228,226,108,128,32,33,117,2,68,208,68,217,234,225,242,225,244,105,128,10,166,242,237,245,235,232,105,128,10,38,232,233,242,225,231,225,238,97,128,48,96,235,225,244,225,235,225,238,97,128,48,192,108,3,69,0,69,9,69,47,225,242,225,226,233,99,128,6,47,229,116,130,5,211,69,18,69,38,228,225,231,229,243,104,129,251,51,69,29,232,229,226,242,229,119,128,251,51,232,229,226,242,229,119,128,5,211,230,233,238,225,236,225,242,225,226,233,99,128,254,170,237,237,97,3,69,71,69,80,69,92,225,242,225,226,233,99,128,6,79,236,239,247,225,242,225,226,233,99,128,6,79,244,225,238,97,2,69,101,69,115,236,244,239,238,229,225,242,225,226,233,99,128,6,76,242,225,226,233,99,128,6,76,238,228,97,128,9,100,242,231,97,2,69,137,69,146,232,229,226,242,229,119,128,5,167,236,229,230,244,232,229,226,242,229,119,128,5,167,243,233,225,240,238,229,245,237,225,244,225,227,249,242,233,236,236,233,227,227,237,98,128,4,133,98,3,69,192,70,189,70,199,108,9,69,212,69,220,70,77,70,85,70,101,70,112,70,130,70,144,70,155,199,242,225,246,101,128,246,211,97,2,69,226,70,27,238,231,236,229,226,242,225,227,235,229,116,2,69,242,70,6,236,229,230,116,129,48,10,69,251,246,229,242,244,233,227,225,108,128,254,61,242,233,231,232,116,129,48,11,70,16,246,229,242,244,233,227,225,108,128,254,62,114,2,70,33,70,54,227,232,233,238,246,229,242,244,229,228,226,229,236,239,247,227,237,98,128,3,43,242,239,119,2,70,62,70,69,236,229,230,116,128,33,212,242,233,231,232,116,128,33,210,228,225,238,228,97,128,9,101,231,242,225,246,101,129,246,214,70,95,227,237,98,128,3,15,233,238,244,229,231,242,225,108,128,34,44,236,239,247,236,233,238,101,129,32,23,70,124,227,237,98,128,3,51,239,246,229,242,236,233,238,229,227,237,98,128,3,63,240,242,233,237,229,237,239,100,128,2,186,246,229,242,244,233,227,225,108,2,70,168,70,174,226,225,114,128,32,22,236,233,238,229,225,226,239,246,229,227,237,98,128,3,14,239,240,239,237,239,230,111,128,49,9,243,241,245,225,242,101,128,51,200,99,4,70,218,70,225,70,234,71,5,225,242,239,110,128,1,15,229,228,233,236,236,97,128,30,17,233,242,99,2,70,242,70,247,236,101,128,36,211,245,237,230,236,229,248,226,229,236,239,119,128,30,19,242,239,225,116,128,1,17,100,4,71,22,71,103,71,113,71,164,97,4,71,32,71,42,71,49,71,74,226,229,238,231,225,236,105,128,9,161,228,229,246,97,128,9,33,231,117,2,71,56,71,65,234,225,242,225,244,105,128,10,161,242,237,245,235,232,105,128,10,33,108,2,71,80,71,89,225,242,225,226,233,99,128,6,136,230,233,238,225,236,225,242,225,226,233,99,128,251,137,228,232,225,228,229,246,97,128,9,92,232,97,3,71,122,71,132,71,139,226,229,238,231,225,236,105,128,9,162,228,229,246,97,128,9,34,231,117,2,71,146,71,155,234,225,242,225,244,105,128,10,162,242,237,245,235,232,105,128,10,34,239,116,2,71,171,71,180,225,227,227,229,238,116,128,30,11,226,229,236,239,119,128,30,13,101,8,71,206,72,3,72,10,72,35,72,45,72,56,72,101,72,137,99,2,71,212,71,249,233,237,225,236,243,229,240,225,242,225,244,239,114,2,71,230,71,239,225,242,225,226,233,99,128,6,107,240,229,242,243,233,225,110,128,6,107,249,242,233,236,236,233,99,128,4,52,231,242,229,101,128,0,176,232,105,2,72,17,72,26,232,229,226,242,229,119,128,5,173,242,225,231,225,238,97,128,48,103,233,227,239,240,244,233,99,128,3,239,235,225,244,225,235,225,238,97,128,48,199,108,2,72,62,72,85,229,244,101,2,72,70,72,77,236,229,230,116,128,35,43,242,233,231,232,116,128,35,38,244,97,129,3,180,72,92,244,245,242,238,229,100,128,1,141,238,239,237,233,238,225,244,239,242,237,233,238,245,243,239,238,229,238,245,237,229,242,225,244,239,242,226,229,238,231,225,236,105,128,9,248,250,104,128,2,164,104,2,72,148,72,198,97,3,72,156,72,166,72,173,226,229,238,231,225,236,105,128,9,167,228,229,246,97,128,9,39,231,117,2,72,180,72,189,234,225,242,225,244,105,128,10,167,242,237,245,235,232,105,128,10,39,239,239,107,128,2,87,105,6,72,218,73,11,73,71,73,82,73,93,73,103,97,2,72,224,72,246,236,249,244,233,235,225,244,239,238,239,115,129,3,133,72,240,227,237,98,128,3,68,237,239,238,100,129,38,102,72,255,243,245,233,244,247,232,233,244,101,128,38,98,229,242,229,243,233,115,133,0,168,73,30,73,38,73,49,73,55,73,63,225,227,245,244,101,128,246,215,226,229,236,239,247,227,237,98,128,3,36,227,237,98,128,3,8,231,242,225,246,101,128,246,216,244,239,238,239,115,128,3,133,232,233,242,225,231,225,238,97,128,48,98,235,225,244,225,235,225,238,97,128,48,194,244,244,239,237,225,242,107,128,48,3,246,105,2,73,110,73,121,228,101,129,0,247,73,117,115,128,34,35,243,233,239,238,243,236,225,243,104,128,34,21,234,229,227,249,242,233,236,236,233,99,128,4,82,235,243,232,225,228,101,128,37,147,108,2,73,161,73,172,233,238,229,226,229,236,239,119,128,30,15,243,241,245,225,242,101,128,51,151,109,2,73,187,73,195,225,227,242,239,110,128,1,17,239,238,239,243,240,225,227,101,128,255,68,238,226,236,239,227,107,128,37,132,111,10,73,237,73,249,74,3,74,14,74,25,74,97,74,102,74,113,74,228,74,254,227,232,225,228,225,244,232,225,105,128,14,14,228,229,235,244,232,225,105,128,14,20,232,233,242,225,231,225,238,97,128,48,105,235,225,244,225,235,225,238,97,128,48,201,236,236,225,114,132,0,36,74,40,74,51,74,63,74,74,233,238,230,229,242,233,239,114,128,246,227,237,239,238,239,243,240,225,227,101,128,255,4,239,236,228,243,244,249,236,101,128,247,36,115,2,74,80,74,87,237,225,236,108,128,254,105,245,240,229,242,233,239,114,128,246,228,238,103,128,32,171,242,245,243,241,245,225,242,101,128,51,38,116,6,74,127,74,144,74,166,74,177,74,209,74,216,225,227,227,229,238,116,129,2,217,74,138,227,237,98,128,3,7,226,229,236,239,247,99,2,74,155,74,160,237,98,128,3,35,239,237,98,128,3,35,235,225,244,225,235,225,238,97,128,48,251,236,229,243,115,2,74,186,74,190,105,128,1,49,106,129,246,190,74,196,243,244,242,239,235,229,232,239,239,107,128,2,132,237,225,244,104,128,34,197,244,229,228,227,233,242,227,236,101,128,37,204,245,226,236,229,249,239,228,240,225,244,225,104,129,251,31,74,245,232,229,226,242,229,119,128,251,31,247,238,244,225,227,107,2,75,9,75,20,226,229,236,239,247,227,237,98,128,3,30,237,239,100,128,2,213,240,225,242,229,110,128,36,159,243,245,240,229,242,233,239,114,128,246,235,116,2,75,51,75,57,225,233,108,128,2,86,239,240,226,225,114,128,1,140,117,2,75,71,75,82,232,233,242,225,231,225,238,97,128,48,101,235,225,244,225,235,225,238,97,128,48,197,122,132,1,243,75,105,75,114,75,133,75,170,225,236,244,239,238,101,128,2,163,99,2,75,120,75,127,225,242,239,110,128,1,198,245,242,108,128,2,165,101,2,75,139,75,159,225,226,235,232,225,243,233,225,238,227,249,242,233,236,236,233,99,128,4,225,227,249,242,233,236,236,233,99,128,4,85,232,229,227,249,242,233,236,236,233,99,128,4,95,101,151,0,101,75,233,75,252,76,30,77,4,77,66,77,99,77,111,77,134,77,187,79,43,79,101,79,203,80,63,80,198,81,17,81,48,81,110,81,163,82,98,82,231,82,251,83,39,83,130,97,2,75,239,75,246,227,245,244,101,128,0,233,242,244,104,128,38,65,98,3,76,4,76,13,76,23,229,238,231,225,236,105,128,9,143,239,240,239,237,239,230,111,128,49,28,242,229,246,101,128,1,21,99,5,76,42,76,115,76,129,76,161,76,250,97,2,76,48,76,109,238,228,242,97,3,76,59,76,66,76,77,228,229,246,97,128,9,13,231,245,234,225,242,225,244,105,128,10,141,246,239,247,229,236,243,233,231,110,2,76,91,76,98,228,229,246,97,128,9,69,231,245,234,225,242,225], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+225400);
/* memory initializer */ allocate([244,105,128,10,197,242,239,110,128,1,27,229,228,233,236,236,225,226,242,229,246,101,128,30,29,104,2,76,135,76,146,225,242,237,229,238,233,225,110,128,5,101,249,233,247,238,225,242,237,229,238,233,225,110,128,5,135,233,242,99,2,76,169,76,174,236,101,128,36,212,245,237,230,236,229,120,134,0,234,76,195,76,203,76,211,76,222,76,230,76,242,225,227,245,244,101,128,30,191,226,229,236,239,119,128,30,25,228,239,244,226,229,236,239,119,128,30,199,231,242,225,246,101,128,30,193,232,239,239,235,225,226,239,246,101,128,30,195,244,233,236,228,101,128,30,197,249,242,233,236,236,233,99,128,4,84,100,4,77,14,77,24,77,30,77,40,226,236,231,242,225,246,101,128,2,5,229,246,97,128,9,15,233,229,242,229,243,233,115,128,0,235,239,116,130,1,23,77,49,77,58,225,227,227,229,238,116,128,1,23,226,229,236,239,119,128,30,185,101,2,77,72,77,83,231,245,242,237,245,235,232,105,128,10,15,237,225,244,242,225,231,245,242,237,245,235,232,105,128,10,71,230,227,249,242,233,236,236,233,99,128,4,68,103,2,77,117,77,124,242,225,246,101,128,0,232,245,234,225,242,225,244,105,128,10,143,104,4,77,144,77,155,77,166,77,176,225,242,237,229,238,233,225,110,128,5,103,226,239,240,239,237,239,230,111,128,49,29,233,242,225,231,225,238,97,128,48,72,239,239,235,225,226,239,246,101,128,30,187,105,4,77,197,77,208,79,10,79,25,226,239,240,239,237,239,230,111,128,49,31,231,232,116,142,0,56,77,242,77,251,78,5,78,35,78,42,78,80,78,105,78,150,78,184,78,196,78,207,78,240,78,248,79,3,225,242,225,226,233,99,128,6,104,226,229,238,231,225,236,105,128,9,238,227,233,242,227,236,101,129,36,103,78,16,233,238,246,229,242,243,229,243,225,238,243,243,229,242,233,102,128,39,145,228,229,246,97,128,9,110,229,229,110,2,78,50,78,59,227,233,242,227,236,101,128,36,113,112,2,78,65,78,72,225,242,229,110,128,36,133,229,242,233,239,100,128,36,153,231,117,2,78,87,78,96,234,225,242,225,244,105,128,10,238,242,237,245,235,232,105,128,10,110,104,2,78,111,78,137,97,2,78,117,78,128,227,235,225,242,225,226,233,99,128,6,104,238,231,250,232,239,117,128,48,40,238,239,244,229,226,229,225,237,229,100,128,38,107,105,2,78,156,78,174,228,229,239,231,242,225,240,232,233,227,240,225,242,229,110,128,50,39,238,230,229,242,233,239,114,128,32,136,237,239,238,239,243,240,225,227,101,128,255,24,239,236,228,243,244,249,236,101,128,247,56,112,2,78,213,78,220,225,242,229,110,128,36,123,229,114,2,78,227,78,233,233,239,100,128,36,143,243,233,225,110,128,6,248,242,239,237,225,110,128,33,119,243,245,240,229,242,233,239,114,128,32,120,244,232,225,105,128,14,88,238,246,229,242,244,229,228,226,242,229,246,101,128,2,7,239,244,233,230,233,229,228,227,249,242,233,236,236,233,99,128,4,101,107,2,79,49,79,73,225,244,225,235,225,238,97,129,48,168,79,61,232,225,236,230,247,233,228,244,104,128,255,116,111,2,79,79,79,94,238,235,225,242,231,245,242,237,245,235,232,105,128,10,116,242,229,225,110,128,49,84,108,3,79,109,79,120,79,181,227,249,242,233,236,236,233,99,128,4,59,101,2,79,126,79,133,237,229,238,116,128,34,8,246,229,110,3,79,143,79,152,79,173,227,233,242,227,236,101,128,36,106,112,2,79,158,79,165,225,242,229,110,128,36,126,229,242,233,239,100,128,36,146,242,239,237,225,110,128,33,122,236,233,240,243,233,115,129,32,38,79,192,246,229,242,244,233,227,225,108,128,34,238,109,5,79,215,79,243,79,254,80,18,80,29,225,227,242,239,110,130,1,19,79,227,79,235,225,227,245,244,101,128,30,23,231,242,225,246,101,128,30,21,227,249,242,233,236,236,233,99,128,4,60,228,225,243,104,129,32,20,80,7,246,229,242,244,233,227,225,108,128,254,49,239,238,239,243,240,225,227,101,128,255,69,112,2,80,35,80,55,232,225,243,233,243,237,225,242,235,225,242,237,229,238,233,225,110,128,5,91,244,249,243,229,116,128,34,5,110,6,80,77,80,88,80,99,80,143,80,175,80,190,226,239,240,239,237,239,230,111,128,49,35,227,249,242,233,236,236,233,99,128,4,61,100,2,80,105,80,124,225,243,104,129,32,19,80,113,246,229,242,244,233,227,225,108,128,254,50,229,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,163,103,130,1,75,80,151,80,162,226,239,240,239,237,239,230,111,128,49,37,232,229,227,249,242,233,236,236,233,99,128,4,165,232,239,239,235,227,249,242,233,236,236,233,99,128,4,200,243,240,225,227,101,128,32,2,111,3,80,206,80,214,80,223,231,239,238,229,107,128,1,25,235,239,242,229,225,110,128,49,83,240,229,110,130,2,91,80,233,80,242,227,236,239,243,229,100,128,2,154,242,229,246,229,242,243,229,100,130,2,92,81,1,81,10,227,236,239,243,229,100,128,2,94,232,239,239,107,128,2,93,112,2,81,23,81,30,225,242,229,110,128,36,160,243,233,236,239,110,129,3,181,81,40,244,239,238,239,115,128,3,173,241,117,2,81,55,81,99,225,108,130,0,61,81,64,81,76,237,239,238,239,243,240,225,227,101,128,255,29,115,2,81,82,81,89,237,225,236,108,128,254,102,245,240,229,242,233,239,114,128,32,124,233,246,225,236,229,238,227,101,128,34,97,114,3,81,118,81,129,81,140,226,239,240,239,237,239,230,111,128,49,38,227,249,242,233,236,236,233,99,128,4,64,229,246,229,242,243,229,100,129,2,88,81,152,227,249,242,233,236,236,233,99,128,4,77,115,6,81,177,81,188,81,208,82,33,82,78,82,88,227,249,242,233,236,236,233,99,128,4,65,228,229,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,171,104,132,2,131,81,220,81,227,82,2,82,17,227,245,242,108,128,2,134,239,242,116,2,81,235,81,242,228,229,246,97,128,9,14,246,239,247,229,236,243,233,231,238,228,229,246,97,128,9,70,242,229,246,229,242,243,229,228,236,239,239,112,128,1,170,243,241,245,225,244,242,229,246,229,242,243,229,100,128,2,133,237,225,236,108,2,82,42,82,53,232,233,242,225,231,225,238,97,128,48,71,235,225,244,225,235,225,238,97,129,48,167,82,66,232,225,236,230,247,233,228,244,104,128,255,106,244,233,237,225,244,229,100,128,33,46,245,240,229,242,233,239,114,128,246,236,116,5,82,110,82,136,82,140,82,157,82,223,97,130,3,183,82,118,82,128,242,237,229,238,233,225,110,128,5,104,244,239,238,239,115,128,3,174,104,128,0,240,233,236,228,101,129,30,189,82,149,226,229,236,239,119,128,30,27,238,225,232,244,97,3,82,169,82,201,82,210,230,239,245,235,104,2,82,179,82,188,232,229,226,242,229,119,128,5,145,236,229,230,244,232,229,226,242,229,119,128,5,145,232,229,226,242,229,119,128,5,145,236,229,230,244,232,229,226,242,229,119,128,5,145,245,242,238,229,100,128,1,221,117,2,82,237,82,246,235,239,242,229,225,110,128,49,97,242,111,128,32,172,246,239,247,229,236,243,233,231,110,3,83,11,83,21,83,28,226,229,238,231,225,236,105,128,9,199,228,229,246,97,128,9,71,231,245,234,225,242,225,244,105,128,10,199,120,2,83,45,83,118,227,236,225,109,132,0,33,83,60,83,71,83,98,83,110,225,242,237,229,238,233,225,110,128,5,92,100,2,83,77,83,82,226,108,128,32,60,239,247,110,129,0,161,83,90,243,237,225,236,108,128,247,161,237,239,238,239,243,240,225,227,101,128,255,1,243,237,225,236,108,128,247,33,233,243,244,229,238,244,233,225,108,128,34,3,250,104,131,2,146,83,141,83,160,83,171,99,2,83,147,83,154,225,242,239,110,128,1,239,245,242,108,128,2,147,242,229,246,229,242,243,229,100,128,1,185,244,225,233,108,128,1,186,102,140,0,102,83,206,84,32,84,43,84,52,84,64,84,167,84,183,86,191,86,204,86,230,88,107,88,115,97,4,83,216,83,223,83,234,83,245,228,229,246,97,128,9,94,231,245,242,237,245,235,232,105,128,10,94,232,242,229,238,232,229,233,116,128,33,9,244,232,97,3,83,255,84,8,84,20,225,242,225,226,233,99,128,6,78,236,239,247,225,242,225,226,233,99,128,6,78,244,225,238,225,242,225,226,233,99,128,6,75,226,239,240,239,237,239,230,111,128,49,8,227,233,242,227,236,101,128,36,213,228,239,244,225,227,227,229,238,116,128,30,31,101,3,84,72,84,150,84,160,104,4,84,82,84,105,84,119,84,135,225,114,2,84,89,84,96,225,226,233,99,128,6,65,237,229,238,233,225,110,128,5,134,230,233,238,225,236,225,242,225,226,233,99,128,254,210,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,211,237,229,228,233,225,236,225,242,225,226,233,99,128,254,212,233,227,239,240,244,233,99,128,3,229,237,225,236,101,128,38,64,102,130,251,0,84,175,84,179,105,128,251,3,108,128,251,4,105,136,251,1,84,203,84,243,84,254,85,20,85,142,85,159,85,167,85,180,230,244,229,229,110,2,84,213,84,222,227,233,242,227,236,101,128,36,110,112,2,84,228,84,235,225,242,229,110,128,36,130,229,242,233,239,100,128,36,150,231,245,242,229,228,225,243,104,128,32,18,236,236,229,100,2,85,7,85,13,226,239,120,128,37,160,242,229,227,116,128,37,172,238,225,108,5,85,34,85,73,85,90,85,107,85,123,235,225,102,130,5,218,85,44,85,64,228,225,231,229,243,104,129,251,58,85,55,232,229,226,242,229,119,128,251,58,232,229,226,242,229,119,128,5,218,237,229,109,129,5,221,85,81,232,229,226,242,229,119,128,5,221,238,245,110,129,5,223,85,98,232,229,226,242,229,119,128,5,223,240,101,129,5,227,85,114,232,229,226,242,229,119,128,5,227,244,243,225,228,105,129,5,229,85,133,232,229,226,242,229,119,128,5,229,242,243,244,244,239,238,229,227,232,233,238,229,243,101,128,2,201,243,232,229,249,101,128,37,201,244,225,227,249,242,233,236,236,233,99,128,4,115,246,101,142,0,53,85,213,85,222,85,232,86,6,86,13,86,23,86,48,86,75,86,109,86,121,86,132,86,165,86,173,86,184,225,242,225,226,233,99,128,6,101,226,229,238,231,225,236,105,128,9,235,227,233,242,227,236,101,129,36,100,85,243,233,238,246,229,242,243,229,243,225,238,243,243,229,242,233,102,128,39,142,228,229,246,97,128,9,107,229,233,231,232,244,232,115,128,33,93,231,117,2,86,30,86,39,234,225,242,225,244,105,128,10,235,242,237,245,235,232,105,128,10,107,232,97,2,86,55,86,66,227,235,225,242,225,226,233,99,128,6,101,238,231,250,232,239,117,128,48,37,105,2,86,81,86,99,228,229,239,231,242,225,240,232,233,227,240,225,242,229,110,128,50,36,238,230,229,242,233,239,114,128,32,133,237,239,238,239,243,240,225,227,101,128,255,21,239,236,228,243,244,249,236,101,128,247,53,112,2,86,138,86,145,225,242,229,110,128,36,120,229,114,2,86,152,86,158,233,239,100,128,36,140,243,233,225,110,128,6,245,242,239,237,225,110,128,33,116,243,245,240,229,242,233,239,114,128,32,117,244,232,225,105,128,14,85,108,129,251,2,86,197,239,242,233,110,128,1,146,109,2,86,210,86,221,239,238,239,243,240,225,227,101,128,255,70,243,241,245,225,242,101,128,51,153,111,4,86,240,87,6,87,18,87,25,230,97,2,86,247,86,255,238,244,232,225,105,128,14,31,244,232,225,105,128,14,29,238,231,237,225,238,244,232,225,105,128,14,79,242,225,236,108,128,34,0,245,114,142,0,52,87,58,87,67,87,77,87,107,87,114,87,139,87,166,87,200,87,212,87,231,87,242,88,19,88,27,88,38,225,242,225,226,233,99,128,6,100,226,229,238,231,225,236,105,128,9,234,227,233,242,227,236,101,129,36,99,87,88,233,238,246,229,242,243,229,243,225,238,243,243,229,242,233,102,128,39,141,228,229,246,97,128,9,106,231,117,2,87,121,87,130,234,225,242,225,244,105,128,10,234,242,237,245,235,232,105,128,10,106,232,97,2,87,146,87,157,227,235,225,242,225,226,233,99,128,6,100,238,231,250,232,239,117,128,48,36,105,2,87,172,87,190,228,229,239,231,242,225,240,232,233,227,240,225,242,229,110,128,50,35,238,230,229,242,233,239,114,128,32,132,237,239,238,239,243,240,225,227,101,128,255,20,238,245,237,229,242,225,244,239,242,226,229,238,231,225,236,105,128,9,247,239,236,228,243,244,249,236,101,128,247,52,112,2,87,248,87,255,225,242,229,110,128,36,119,229,114,2,88,6,88,12,233,239,100,128,36,139,243,233,225,110,128,6,244,242,239,237,225,110,128,33,115,243,245,240,229,242,233,239,114,128,32,116,116,2,88,44,88,82,229,229,110,2,88,52,88,61,227,233,242,227,236,101,128,36,109,112,2,88,67,88,74,225,242,229,110,128,36,129,229,242,233,239,100,128,36,149,104,2,88,88,88,93,225,105,128,14,84,244,239,238,229,227,232,233,238,229,243,101,128,2,203,240,225,242,229,110,128,36,161,242,97,2,88,122,88,130,227,244,233,239,110,128,32,68,238,99,128,32,163,103,144,0,103,88,171,89,117,89,140,89,201,89,218,90,139,91,132,91,217,91,230,92,88,92,113,92,141,92,163,93,108,93,130,93,232,97,9,88,191,88,201,88,208,88,215,89,23,89,48,89,59,89,70,89,104,226,229,238,231,225,236,105,128,9,151,227,245,244,101,128,1,245,228,229,246,97,128,9,23,102,4,88,225,88,234,88,248,89,8,225,242,225,226,233,99,128,6,175,230,233,238,225,236,225,242,225,226,233,99,128,251,147,233,238,233,244,233,225,236,225,242,225,226,233,99,128,251,148,237,229,228,233,225,236,225,242,225,226,233,99,128,251,149,231,117,2,89,30,89,39,234,225,242,225,244,105,128,10,151,242,237,245,235,232,105,128,10,23,232,233,242,225,231,225,238,97,128,48,76,235,225,244,225,235,225,238,97,128,48,172,237,237,97,130,3,179,89,80,89,93,236,225,244,233,238,243,237,225,236,108,128,2,99,243,245,240,229,242,233,239,114,128,2,224,238,231,233,225,227,239,240,244,233,99,128,3,235,98,2,89,123,89,133,239,240,239,237,239,230,111,128,49,13,242,229,246,101,128,1,31,99,4,89,150,89,157,89,166,89,188,225,242,239,110,128,1,231,229,228,233,236,236,97,128,1,35,233,242,99,2,89,174,89,179,236,101,128,36,214,245,237,230,236,229,120,128,1,29,239,237,237,225,225,227,227,229,238,116,128,1,35,228,239,116,129,1,33,89,209,225,227,227,229,238,116,128,1,33,101,6,89,232,89,243,89,254,90,9,90,28,90,130,227,249,242,233,236,236,233,99,128,4,51,232,233,242,225,231,225,238,97,128,48,82,235,225,244,225,235,225,238,97,128,48,178,239,237,229,244,242,233,227,225,236,236,249,229,241,245,225,108,128,34,81,114,3,90,36,90,85,90,95,229,243,104,3,90,46,90,61,90,70,225,227,227,229,238,244,232,229,226,242,229,119,128,5,156,232,229,226,242,229,119,128,5,243,237,245,241,228,225,237,232,229,226,242,229,119,128,5,157,237,225,238,228,226,236,115,128,0,223,243,232,225,249,233,109,2,90,106,90,121,225,227,227,229,238,244,232,229,226,242,229,119,128,5,158,232,229,226,242,229,119,128,5,244,244,225,237,225,242,107,128,48,19,104,5,90,151,91,28,91,91,91,116,91,122,97,4,90,161,90,171,90,194,90,219,226,229,238,231,225,236,105,128,9,152,100,2,90,177,90,188,225,242,237,229,238,233,225,110,128,5,114,229,246,97,128,9,24,231,117,2,90,201,90,210,234,225,242,225,244,105,128,10,152,242,237,245,235,232,105,128,10,24,233,110,4,90,230,90,239,90,253,91,13,225,242,225,226,233,99,128,6,58,230,233,238,225,236,225,242,225,226,233,99,128,254,206,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,207,237,229,228,233,225,236,225,242,225,226,233,99,128,254,208,101,3,91,36,91,57,91,74,237,233,228,228,236,229,232,239,239,235,227,249,242,233,236,236,233,99,128,4,149,243,244,242,239,235,229,227,249,242,233,236,236,233,99,128,4,147,245,240,244,245,242,238,227,249,242,233,236,236,233,99,128,4,145,232,97,2,91,98,91,105,228,229,246,97,128,9,90,231,245,242,237,245,235,232,105,128,10,90,239,239,107,128,2,96,250,243,241,245,225,242,101,128,51,147,105,3,91,140,91,151,91,162,232,233,242,225,231,225,238,97,128,48,78,235,225,244,225,235,225,238,97,128,48,174,109,2,91,168,91,179,225,242,237,229,238,233,225,110,128,5,99,229,108,130,5,210,91,188,91,208,228,225,231,229,243,104,129,251,50,91,199,232,229,226,242,229,119,128,251,50,232,229,226,242,229,119,128,5,210,234,229,227,249,242,233,236,236,233,99,128,4,83,236,239,244,244,225,108,2,91,241,92,2,233,238,246,229,242,244,229,228,243,244,242,239,235,101,128,1,190,243,244,239,112,132,2,148,92,17,92,28,92,34,92,66,233,238,246,229,242,244,229,100,128,2,150,237,239,100,128,2,192,242,229,246,229,242,243,229,100,130,2,149,92,49,92,55,237,239,100,128,2,193,243,245,240,229,242,233,239,114,128,2,228,243,244,242,239,235,101,129,2,161,92,77,242,229,246,229,242,243,229,100,128,2,162,109,2,92,94,92,102,225,227,242,239,110,128,30,33,239,238,239,243,240,225,227,101,128,255,71,111,2,92,119,92,130,232,233,242,225,231,225,238,97,128,48,84,235,225,244,225,235,225,238,97,128,48,180,240,97,2,92,148,92,154,242,229,110,128,36,162,243,241,245,225,242,101,128,51,172,114,2,92,169,93,10,97,2,92,175,92,183,228,233,229,238,116,128,34,7,246,101,134,0,96,92,200,92,211,92,228,92,235,92,244,93,0,226,229,236,239,247,227,237,98,128,3,22,99,2,92,217,92,222,237,98,128,3,0,239,237,98,128,3,0,228,229,246,97,128,9,83,236,239,247,237,239,100,128,2,206,237,239,238,239,243,240,225,227,101,128,255,64,244,239,238,229,227,237,98,128,3,64,229,225,244,229,114,132,0,62,93,26,93,45,93,57,93,100,229,241,245,225,108,129,34,101,93,36,239,242,236,229,243,115,128,34,219,237,239,238,239,243,240,225,227,101,128,255,30,111,2,93,63,93,89,114,2,93,69,93,82,229,241,245,233,246,225,236,229,238,116,128,34,115,236,229,243,115,128,34,119,246,229,242,229,241,245,225,108,128,34,103,243,237,225,236,108,128,254,101,115,2,93,114,93,122,227,242,233,240,116,128,2,97,244,242,239,235,101,128,1,229,117,4,93,140,93,151,93,208,93,219,232,233,242,225,231,225,238,97,128,48,80,233,108,2,93,158,93,183,236,229,237,239,116,2,93,168,93,175,236,229,230,116,128,0,171,242,233,231,232,116,128,0,187,243,233,238,231,108,2,93,193,93,200,236,229,230,116,128,32,57,242,233,231,232,116,128,32,58,235,225,244,225,235,225,238,97,128,48,176,242,225,237,245,243,241,245,225,242,101,128,51,24,249,243,241,245,225,242,101,128,51,201,104,144,0,104,94,22,96,164,96,199,96,236,97,20,98,164,98,184,99,149,99,161,99,173,100,241,100,249,101,4,101,13,101,93,101,97,97,13,94,50,94,89,94,99,94,129,94,154,94,232,94,244,95,13,95,28,95,57,95,70,95,128,95,137,97,2,94,56,94,75,226,235,232,225,243,233,225,238,227,249,242,233,236,236,233,99,128,4,169,236,244,239,238,229,225,242,225,226,233,99,128,6,193,226,229,238,231,225,236,105,128,9,185,228,101,2,94,106,94,124,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,179,246,97,128,9,57,231,117,2,94,136,94,145,234,225,242,225,244,105,128,10,185,242,237,245,235,232,105,128,10,57,104,4,94,164,94,173,94,187,94,217,225,242,225,226,233,99,128,6,45,230,233,238,225,236,225,242,225,226,233,99,128,254,162,105,2,94,193,94,208,238,233,244,233,225,236,225,242,225,226,233,99,128,254,163,242,225,231,225,238,97,128,48,111,237,229,228,233,225,236,225,242,225,226,233,99,128,254,164,233,244,245,243,241,245,225,242,101,128,51,42,235,225,244,225,235,225,238,97,129,48,207,95,1,232,225,236,230,247,233,228,244,104,128,255,138,236,225,238,244,231,245,242,237,245,235,232,105,128,10,77,237,250,97,2,95,36,95,45,225,242,225,226,233,99,128,6,33,236,239,247,225,242,225,226,233,99,128,6,33,238,231,245,236,230,233,236,236,229,114,128,49,100,114,2,95,76,95,92,228,243,233,231,238,227,249,242,233,236,236,233,99,128,4,74,240,239,239,110,2,95,101,95,114,236,229,230,244,226,225,242,226,245,112,128,33,188,242,233,231,232,244,226,225,242,226,245,112,128,33,192,243,241,245,225,242,101,128,51,202,244,225,102,3,95,147,95,239,96,74,240,225,244,225,104,134,5,178,95,167,95,172,95,186,95,195,95,210,95,226,177,54,128,5,178,50,2,95,178,95,182,51,128,5,178,102,128,5,178,232,229,226,242,229,119,128,5,178,238,225,242,242,239,247,232,229,226,242,229,119,128,5,178,241,245,225,242,244,229,242,232,229,226,242,229,119,128,5,178,247,233,228,229,232,229,226,242,229,119,128,5,178,241,225,237,225,244,115,135,5,179,96,6,96,11,96,16,96,21,96,30,96,45,96,61,177,98,128,5,179,178,56,128,5,179,179,52,128,5,179,232,229,226,242,229,119,128,5,179,238,225,242,242,239,247,232,229,226,242,229,119,128,5,179,241,245,225,242,244,229,242,232,229,226,242,229,119,128,5,179,247,233,228,229,232,229,226,242,229,119,128,5,179,243,229,231,239,108,135,5,177,96,96,96,101,96,106,96,111,96,120,96,135,96,151,177,55,128,5,177,178,52,128,5,177,179,48,128,5,177,232,229,226,242,229,119,128,5,177,238,225,242,242,239,247,232,229,226,242,229,119,128,5,177,241,245,225,242,244,229,242,232,229,226,242,229,119,128,5,177,247,233,228,229,232,229,226,242,229,119,128,5,177,98,3,96,172,96,177,96,187,225,114,128,1,39,239,240,239,237,239,230,111,128,49,15,242,229,246,229,226,229,236,239,119,128,30,43,99,2,96,205,96,214,229,228,233,236,236,97,128,30,41,233,242,99,2,96,222,96,227,236,101,128,36,215,245,237,230,236,229,120,128,1,37,100,2,96,242,96,252,233,229,242,229,243,233,115,128,30,39,239,116,2,97,3,97,12,225,227,227,229,238,116,128,30,35,226,229,236,239,119,128,30,37,101,136,5,212,97,40,97,73,97,93,98,66,98,82,98,127,98,136,98,149,225,242,116,129,38,101,97,48,243,245,233,116,2,97,57,97,65,226,236,225,227,107,128,38,101,247,232,233,244,101,128,38,97,228,225,231,229,243,104,129,251,52,97,84,232,229,226,242,229,119,128,251,52,104,6,97,107,97,135,97,143,97,193,97,239,98,32,97,2,97,113,97,127,236,244,239,238,229,225,242,225,226,233,99,128,6,193,242,225,226,233,99,128,6,71,229,226,242,229,119,128,5,212,230,233,238,225,236,97,2,97,154,97,185,236,116,2,97,161,97,173,239,238,229,225,242,225,226,233,99,128,251,167,244,247,239,225,242,225,226,233,99,128,254,234,242,225,226,233,99,128,254,234,232,225,237,250,225,225,226,239,246,101,2,97,208,97,222,230,233,238,225,236,225,242,225,226,233,99,128,251,165,233,243,239,236,225,244,229,228,225,242,225,226,233,99,128,251,164,105,2,97,245,98,23,238,233,244,233,225,236,97,2,98,1,98,15,236,244,239,238,229,225,242,225,226,233,99,128,251,168,242,225,226,233,99,128,254,235,242,225,231,225,238,97,128,48,120,237,229,228,233,225,236,97,2,98,44,98,58,236,244,239,238,229,225,242,225,226,233,99,128,251,169,242,225,226,233,99,128,254,236,233,243,229,233,229,242,225,243,241,245,225,242,101,128,51,123,107,2,98,88,98,112,225,244,225,235,225,238,97,129,48,216,98,100,232,225,236,230,247,233,228,244,104,128,255,141,245,244,225,225,242,245,243,241,245,225,242,101,128,51,54,238,231,232,239,239,107,128,2,103,242,245,244,245,243,241,245,225,242,101,128,51,57,116,129,5,215,98,155,232,229,226,242,229,119,128,5,215,232,239,239,107,129,2,102,98,173,243,245,240,229,242,233,239,114,128,2,177,105,4,98,194,99,23,99,34,99,59,229,245,104,4,98,206,98,241,99,0,99,9,97,2,98,212,98,227,227,233,242,227,236,229,235,239,242,229,225,110,128,50,123,240,225,242,229,238,235,239,242,229,225,110,128,50,27,227,233,242,227,236,229,235,239,242,229,225,110,128,50,109,235,239,242,229,225,110,128,49,78,240,225,242,229,238,235,239,242,229,225,110,128,50,13,232,233,242,225,231,225,238,97,128,48,114,235,225,244,225,235,225,238,97,129,48,210,99,47,232,225,236,230,247,233,228,244,104,128,255,139,242,233,113,134,5,180,99,77,99,82,99,96,99,105,99,120,99,136,177,52,128,5,180,50,2,99,88,99,92,49,128,5,180,100,128,5,180,232,229,226,242,229,119,128,5,180,238,225,242,242,239,247,232,229,226,242,229,119,128,5,180,241,245,225,242,244,229,242,232,229,226,242,229,119,128,5,180,247,233,228,229,232,229,226,242,229,119,128,5,180,236,233,238,229,226,229,236,239,119,128,30,150,237,239,238,239,243,240,225,227,101,128,255,72,111,9,99,193,99,204,99,228,99,253,100,85,100,98,100,184,100,224,100,235,225,242,237,229,238,233,225,110,128,5,112,232,105,2,99,211,99,219,240,244,232,225,105,128,14,43,242,225,231,225,238,97,128,48,123,235,225,244,225,235,225,238,97,129,48,219,99,241,232,225,236,230,247,233,228,244,104,128,255,142,236,225,109,135,5,185,100,17,100,22,100,27,100,32,100,41,100,56,100,72,177,57,128,5,185,178,54,128,5,185,179,50,128,5,185,232,229,226,242,229,119,128,5,185,238,225,242,242,239,247,232,229,226,242,229,119,128,5,185,241,245,225,242,244,229,242,232,229,226,242,229,119,128,5,185,247,233,228,229,232,229,226,242,229,119,128,5,185,238,239,235,232,245,235,244,232,225,105,128,14,46,111,2,100,104,100,174,107,4,100,114,100,126,100,132,100,154,225,226,239,246,229,227,239,237,98,128,3,9,227,237,98,128,3,9,240,225,236,225,244,225,236,233,250,229,228,226,229,236,239,247,227,237,98,128,3,33,242,229,244,242,239,230,236,229,248,226,229,236,239,247,227,237,98,128,3,34,238,243,241,245,225,242,101,128,51,66,114,2,100,190,100,217,105,2,100,196,100,205,227,239,240,244,233,99,128,3,233,250,239,238,244,225,236,226,225,114,128,32,21,238,227,237,98,128,3,27,244,243,240,242,233,238,231,115,128,38,104,245,243,101,128,35,2,240,225,242,229,110,128,36,163,243,245,240,229,242,233,239,114,128,2,176,244,245,242,238,229,100,128,2,101,117,4,101,23,101,34,101,47,101,72,232,233,242,225,231,225,238,97,128,48,117,233,233,244,239,243,241,245,225,242,101,128,51,51,235,225,244,225,235,225,238,97,129,48,213,101,60,232,225,236,230,247,233,228,244,104,128,255,140,238,231,225,242,245,237,236,225,245,116,129,2,221,101,87,227,237,98,128,3,11,118,128,1,149,249,240,232,229,110,132,0,45,101,113,101,124,101,136,101,159,233,238,230,229,242,233,239,114,128,246,229,237,239,238,239,243,240,225,227,101,128,255,13,115,2,101,142,101,149,237,225,236,108,128,254,99,245,240,229,242,233,239,114,128,246,230,244,247,111,128,32,16,105,149,0,105,101,211,101,234,102,12,102,59,105,197,106,61,106,98,106,125,107,31,107,35,107,73,107,95,107,179,108,88,108,163,108,171,108,184,109,15,109,72,109,100,109,144,225,99,2,101,218,101,224,245,244,101,128,0,237,249,242,233,236,236,233,99,128,4,79,98,3,101,242,101,251,102,5,229,238,231,225,236,105,128,9,135,239,240,239,237,239,230,111,128,49,39,242,229,246,101,128,1,45,99,3,102,20,102,27,102,49,225,242,239,110,128,1,208,233,242,99,2,102,35,102,40,236,101,128,36,216,245,237,230,236,229,120,128,0,238,249,242,233,236,236,233,99,128,4,86,100,4,102,69,102,79,105,154,105,187,226,236,231,242,225,246,101,128,2,9,101,2,102,85,105,149,239,231,242,225,240,104,7,102,106,102,120,102,133,105,62,105,93,105,106,105,118,229,225,242,244,232,227,233,242,227,236,101,128,50,143,230,233,242,229,227,233,242,227,236,101,128,50,139,233,99,14,102,164,102,180,103,23,103,77,103,143,103,172,103,188,103,245,104,38,104,50,104,77,104,144,105,26,105,55,225,236,236,233,225,238,227,229,240,225,242,229,110,128,50,63,99,4,102,190,102,201,102,215,102,222,225,236,236,240,225,242,229,110,128,50,58,229,238,244,242,229,227,233,242,227,236,101,128,50,165,236,239,243,101,128,48,6,111,3,102,230,102,245,103,9,237,237,97,129,48,1,102,238,236,229,230,116,128,255,100,238,231,242,225,244,245,236,225,244,233,239,238,240,225,242,229,110,128,50,55,242,242,229,227,244,227,233,242,227,236,101,128,50,163,101,3,103,31,103,43,103,60,225,242,244,232,240,225,242,229,110,128,50,47,238,244,229,242,240,242,233,243,229,240,225,242,229,110,128,50,61,248,227,229,236,236,229,238,244,227,233,242,227,236,101,128,50,157,102,2,103,83,103,98,229,243,244,233,246,225,236,240,225,242,229,110,128,50,64,105,2,103,104,103,133,238,225,238,227,233,225,108,2,103,116,103,125,227,233,242,227,236,101,128,50,150,240,225,242,229,110,128,50,54,242,229,240,225,242,229,110,128,50,43,104,2,103,149,103,160,225,246,229,240,225,242,229,110,128,50,50,233,231,232,227,233,242,227,236,101,128,50,164,233,244,229,242,225,244,233,239,238,237,225,242,107,128,48,5,108,3,103,196,103,222,103,234,225,226,239,114,2,103,205,103,214,227,233,242,227,236,101,128,50,152,240,225,242,229,110,128,50,56,229,230,244,227,233,242,227,236,101,128,50,167,239,247,227,233,242,227,236,101,128,50,166,109,2,103,251,104,27,101,2,104,1,104,16,228,233,227,233,238,229,227,233,242,227,236,101,128,50,169,244,225,236,240,225,242,229,110,128,50,46,239,239,238,240,225,242,229,110,128,50,42,238,225,237,229,240,225,242,229,110,128,50,52,112,2,104,56,104,64,229,242,233,239,100,128,48,2,242,233,238,244,227,233,242,227,236,101,128,50,158,114,2,104,83,104,131,101,3,104,91,104,102,104,117,225,227,232,240,225,242,229,110,128,50,67,240,242,229,243,229,238,244,240,225,242,229,110,128,50,57,243,239,245,242,227,229,240,225,242,229,110,128,50,62,233,231,232,244,227,233,242,227,236,101,128,50,168,115,5,104,156,104,185,104,199,104,224,104,252,101,2,104,162,104,175,227,242,229,244,227,233,242,227,236,101,128,50,153,236,230,240,225,242,229,110,128,50,66,239,227,233,229,244,249,240,225,242,229,110,128,50,51,112,2,104,205,104,211,225,227,101,128,48,0,229,227,233,225,236,240,225,242,229,110,128,50,53,116,2,104,230,104,241,239,227,235,240,225,242,229,110,128,50,49,245,228,249,240,225,242,229,110,128,50,59,117,2,105,2,105,11,238,240,225,242,229,110,128,50,48,240,229,242,246,233,243,229,240,225,242,229,110,128,50,60,119,2,105,32,105,44,225,244,229,242,240,225,242,229,110,128,50,44,239,239,228,240,225,242,229,110,128,50,45,250,229,242,111,128,48,7,109,2,105,68,105,81,229,244,225,236,227,233,242,227,236,101,128,50,142,239,239,238,227,233,242,227,236,101,128,50,138,238,225,237,229,227,233,242,227,236,101,128,50,148,243,245,238,227,233,242,227,236,101,128,50,144,119,2,105,124,105,137,225,244,229,242,227,233,242,227,236,101,128,50,140,239,239,228,227,233,242,227,236,101,128,50,141,246,97,128,9,7,233,229,242,229,243,233,115,130,0,239,105,168,105,176,225,227,245,244,101,128,30,47,227,249,242,233,236,236,233,99,128,4,229,239,244,226,229,236,239,119,128,30,203,101,3,105,205,105,221,105,232,226,242,229,246,229,227,249,242,233,236,236,233,99,128,4,215,227,249,242,233,236,236,233,99,128,4,53,245,238,103,4,105,244,106,23,106,38,106,47,97,2,105,250,106,9,227,233,242,227,236,229,235,239,242,229,225,110,128,50,117,240,225,242,229,238,235,239,242,229,225,110,128,50,21,227,233,242,227,236,229,235,239,242,229,225,110,128,50,103,235,239,242,229,225,110,128,49,71,240,225,242,229,238,235,239,242,229,225,110,128,50,7,103,2,106,67,106,74,242,225,246,101,128,0,236,117,2,106,80,106,89,234,225,242,225,244,105,128,10,135,242,237,245,235,232,105,128,10,7,104,2,106,104,106,114,233,242,225,231,225,238,97,128,48,68,239,239,235,225,226,239,246,101,128,30,201,105,8,106,143,106,153,106,164,106,171,106,196,106,212,106,227,106,243,226,229,238,231,225,236,105,128,9,136,227,249,242,233,236,236,233,99,128,4,56,228,229,246,97,128,9,8,231,117,2,106,178,106,187,234,225,242,225,244,105,128,10,136,242,237,245,235,232,105,128,10,8,237,225,244,242,225,231,245,242,237,245,235,232,105,128,10,64,238,246,229,242,244,229,228,226,242,229,246,101,128,2,11,243,232,239,242,244,227,249,242,233,236,236,233,99,128,4,57,246,239,247,229,236,243,233,231,110,3,107,3,107,13,107,20,226,229,238,231,225,236,105,128,9,192,228,229,246,97,128,9,64,231,245,234,225,242,225,244,105,128,10,192,106,128,1,51,107,2,107,41,107,65,225,244,225,235,225,238,97,129,48,164,107,53,232,225,236,230,247,233,228,244,104,128,255,114,239,242,229,225,110,128,49,99,108,2,107,79,107,84,228,101,128,2,220,245,249,232,229,226,242,229,119,128,5,172,109,2,107,101,107,168,97,3,107,109,107,129,107,154,227,242,239,110,129,1,43,107,118,227,249,242,233,236,236,233,99,128,4,227,231,229,239,242,225,240,240,242,239,248,233,237,225,244,229,236,249,229,241,245,225,108,128,34,83,244,242,225,231,245,242,237,245,235,232,105,128,10,63,239,238,239,243,240,225,227,101,128,255,73,110,5,107,191,107,201,107,210,107,222,108,50,227,242,229,237,229,238,116,128,34,6,230,233,238,233,244,121,128,34,30,233,225,242,237,229,238,233,225,110,128,5,107,116,2,107,228,108,40,101,2,107,234,108,29,231,242,225,108,131,34,43,107,247,108,9,108,14,98,2,107,253,108,5,239,244,244,239,109,128,35,33,116,128,35,33,229,120,128,248,245,116,2,108,20,108,25,239,112,128,35,32,112,128,35,32,242,243,229,227,244,233,239,110,128,34,41,233,243,241,245,225,242,101,128,51,5,118,3,108,58,108,67,108,76,226,245,236,236,229,116,128,37,216,227,233,242,227,236,101,128,37,217,243,237,233,236,229,230,225,227,101,128,38,59,111,3,108,96,108,107,108,115,227,249,242,233,236,236,233,99,128,4,81,231,239,238,229,107,128,1,47,244,97,131,3,185,108,126,108,147,108,155,228,233,229,242,229,243,233,115,129,3,202,108,139,244,239,238,239,115,128,3,144,236,225,244,233,110,128,2,105,244,239,238,239,115,128,3,175,240,225,242,229,110,128,36,164,242,233,231,245,242,237,245,235,232,105,128,10,114,115,4,108,194,108,239,108,253,109,5,237,225,236,108,2,108,203,108,214,232,233,242,225,231,225,238,97,128,48,67,235,225,244,225,235,225,238,97,129,48,163,108,227,232,225,236,230,247,233,228,244,104,128,255,104,243,232,225,242,226,229,238,231,225,236,105,128,9,250,244,242,239,235,101,128,2,104,245,240,229,242,233,239,114,128,246,237,116,2,109,21,109,55,229,242,225,244,233,239,110,2,109,33,109,44,232,233,242,225,231,225,238,97,128,48,157,235,225,244,225,235,225,238,97,128,48,253,233,236,228,101,129,1,41,109,64,226,229,236,239,119,128,30,45,117,2,109,78,109,89,226,239,240,239,237,239,230,111,128,49,41,227,249,242,233,236,236,233,99,128,4,78,246,239,247,229,236,243,233,231,110,3,109,116,109,126,109,133,226,229,238,231,225,236,105,128,9,191,228,229,246,97,128,9,63,231,245,234,225,242,225,244,105,128,10,191,250,232,233,244,243,97,2,109,155,109,166,227,249,242,233,236,236,233,99,128,4,117,228,226,236,231,242,225,246,229,227,249,242,233,236,236,233,99,128,4,119,106,138,0,106,109,209,110,16,110,27,110,77,110,93,110,206,111,19,111,24,111,36,111,44,97,4,109,219,109,230,109,240,109,247,225,242,237,229,238,233,225,110,128,5,113,226,229,238,231,225,236,105,128,9,156,228,229,246,97,128,9,28,231,117,2,109,254,110,7,234,225,242,225,244,105,128,10,156,242,237,245,235,232,105,128,10,28,226,239,240,239,237,239,230,111,128,49,16,99,3,110,35,110,42,110,64,225,242,239,110,128,1,240,233,242,99,2,110,50,110,55,236,101,128,36,217,245,237,230,236,229,120,128,1,53,242,239,243,243,229,228,244,225,233,108,128,2,157,228,239,244,236,229,243,243,243,244,242,239,235,101,128,2,95,101,3,110,101,110,112,110,177,227,249,242,233,236,236,233,99,128,4,88,229,109,4,110,123,110,132,110,146,110,162,225,242,225,226,233,99,128,6,44,230,233,238,225,236,225,242,225,226,233,99,128,254,158,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,159,237,229,228,233,225,236,225,242,225,226,233,99,128,254,160,104,2,110,183,110,192,225,242,225,226,233,99,128,6,152,230,233,238,225,236,225,242,225,226,233,99,128,251,139,104,2,110,212,111,6,97,3,110,220,110,230,110,237,226,229,238,231,225,236,105,128,9,157,228,229,246,97,128,9,29,231,117,2,110,244,110,253,234,225,242,225,244,105,128,10,157,242,237,245,235,232,105,128,10,29,229,232,225,242,237,229,238,233,225,110,128,5,123,233,115,128,48,4,237,239,238,239,243,240,225,227,101,128,255,74,240,225,242,229,110,128,36,165,243,245,240,229,242,233,239,114,128,2,178,107,146,0,107,111,95,113,184,113,195,114,1,114,12,114,102,114,116,115,224,116,164,116,177,116,203,116,252,117,134,117,156,117,169,117,192,117,234,117,244,97,12,111,121,111,153,111,175,111,205,112,63,112,88,112,118,112,143,112,249,113,7,113,130,113,159,98,2,111,127,111,144,225,243,232,235,233,242,227,249,242,233,236,236,233,99,128,4,161,229,238,231,225,236,105,128,9,149,99,2,111,159,111,165,245,244,101,128,30,49,249,242,233,236,236,233,99,128,4,58,228,101,2,111,182,111,200,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,155,246,97,128,9,21,102,135,5,219,111,223,111,232,111,252,112,10,112,19,112,35,112,50,225,242,225,226,233,99,128,6,67,228,225,231,229,243,104,129,251,59,111,243,232,229,226,242,229,119,128,251,59,230,233,238,225,236,225,242,225,226,233,99,128,254,218,232,229,226,242,229,119,128,5,219,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,219,237,229,228,233,225,236,225,242,225,226,233,99,128,254,220,242,225,230,229,232,229,226,242,229,119,128,251,77,231,117,2,112,70,112,79,234,225,242,225,244,105,128,10,149,242,237,245,235,232,105,128,10,21,104,2,112,94,112,104,233,242,225,231,225,238,97,128,48,75,239,239,235,227,249,242,233,236,236,233,99,128,4,196,235,225,244,225,235,225,238,97,129,48,171,112,131,232,225,236,230,247,233,228,244,104,128,255,118,112,2,112,149,112,170,240,97,129,3,186,112,156,243,249,237,226,239,236,231,242,229,229,107,128,3,240,249,229,239,245,110,3,112,182,112,196,112,230,237,233,229,245,237,235,239,242,229,225,110,128,49,113,112,2,112,202,112,217,232,233,229,245,240,232,235,239,242,229,225,110,128,49,132,233,229,245,240,235,239,242,229,225,110,128,49,120,243,243,225,238,231,240,233,229,245,240,235,239,242,229,225,110,128,49,121,242,239,242,233,233,243,241,245,225,242,101,128,51,13,115,5,113,19,113,63,113,78,113,86,113,114,232,233,228,225,225,245,244,111,2,113,32,113,41,225,242,225,226,233,99,128,6,64,238,239,243,233,228,229,226,229,225,242,233,238,231,225,242,225,226,233,99,128,6,64,237,225,236,236,235,225,244,225,235,225,238,97,128,48,245,241,245,225,242,101,128,51,132,242,97,2,113,93,113,102,225,242,225,226,233,99,128,6,80,244,225,238,225,242,225,226,233,99,128,6,77,244,242,239,235,229,227,249,242,233,236,236,233,99,128,4,159,244,225,232,233,242,225,240,242,239,236,239,238,231,237,225,242,235,232,225,236,230,247,233,228,244,104,128,255,112,246,229,242,244,233,227,225,236,243,244,242,239,235,229,227,249,242,233,236,236,233,99,128,4,157,226,239,240,239,237,239,230,111,128,49,14,99,4,113,205,113,227,113,236,113,244,97,2,113,211,113,221,236,243,241,245,225,242,101,128,51,137,242,239,110,128,1,233,229,228,233,236,236,97,128,1,55,233,242,227,236,101,128,36,218,239,237,237,225,225,227,227,229,238,116,128,1,55,228,239,244,226,229,236,239,119,128,30,51,101,4,114,22,114,49,114,74,114,86,104,2,114,28,114,39,225,242,237,229,238,233,225,110,128,5,132,233,242,225,231,225,238,97,128,48,81,235,225,244,225,235,225,238,97,129,48,177,114,62,232,225,236,230,247,233,228,244,104,128,255,121,238,225,242,237,229,238,233,225,110,128,5,111,243,237,225,236,236,235,225,244,225,235,225,238,97,128,48,246,231,242,229,229,238,236,225,238,228,233,99,128,1,56,104,6,114,130,115,3,115,14,115,39,115,126,115,214,97,5,114,142,114,152,114,163,114,170,114,195,226,229,238,231,225,236,105,128,9,150,227,249,242,233,236,236,233,99,128,4,69,228,229,246,97,128,9,22,231,117,2,114,177,114,186,234,225,242,225,244,105,128,10,150,242,237,245,235,232,105,128,10,22,104,4,114,205,114,214,114,228,114,244,225,242,225,226,233,99,128,6,46,230,233,238,225,236,225,242,225,226,233,99,128,254,166,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,167,237,229,228,233,225,236,225,242,225,226,233,99,128,254,168,229,233,227,239,240,244,233,99,128,3,231,232,97,2,115,21,115,28,228,229,246,97,128,9,89,231,245,242,237,245,235,232,105,128,10,89,233,229,245,235,104,4,115,53,115,88,115,103,115,112,97,2,115,59,115,74,227,233,242,227,236,229,235,239,242,229,225,110,128,50,120,240,225,242,229,238,235,239,242,229,225,110,128,50,24,227,233,242,227,236,229,235,239,242,229,225,110,128,50,106,235,239,242,229,225,110,128,49,75,240,225,242,229,238,235,239,242,229,225,110,128,50,10,111,4,115,136,115,185,115,195,115,200,235,104,4,115,147,115,156,115,165,115,175,225,233,244,232,225,105,128,14,2,239,238,244,232,225,105,128,14,5,245,225,244,244,232,225,105,128,14,3,247,225,233,244,232,225,105,128,14,4,237,245,244,244,232,225,105,128,14,91,239,107,128,1,153,242,225,235,232,225,238,231,244,232,225,105,128,14,6,250,243,241,245,225,242,101,128,51,145,105,4,115,234,115,245,116,14,116,63,232,233,242,225,231,225,238,97,128,48,77,235,225,244,225,235,225,238,97,129,48,173,116,2,232,225,236,230,247,233,228,244,104,128,255,119,242,111,3,116,23,116,38,116,54,231,245,242,225,237,245,243,241,245,225,242,101,128,51,21,237,229,229,244,239,242,245,243,241,245,225,242,101,128,51,22,243,241,245,225,242,101,128,51,20,249,229,239,107,5,116,78,116,113,116,128,116,137,116,151,97,2,116,84,116,99,227,233,242,227,236,229,235,239,242,229,225,110,128,50,110,240,225,242,229,238], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+235640);
/* memory initializer */ allocate([235,239,242,229,225,110,128,50,14,227,233,242,227,236,229,235,239,242,229,225,110,128,50,96,235,239,242,229,225,110,128,49,49,240,225,242,229,238,235,239,242,229,225,110,128,50,0,243,233,239,243,235,239,242,229,225,110,128,49,51,234,229,227,249,242,233,236,236,233,99,128,4,92,108,2,116,183,116,194,233,238,229,226,229,236,239,119,128,30,53,243,241,245,225,242,101,128,51,152,109,3,116,211,116,225,116,236,227,245,226,229,228,243,241,245,225,242,101,128,51,166,239,238,239,243,240,225,227,101,128,255,75,243,241,245,225,242,229,228,243,241,245,225,242,101,128,51,162,111,5,117,8,117,34,117,72,117,84,117,98,104,2,117,14,117,24,233,242,225,231,225,238,97,128,48,83,237,243,241,245,225,242,101,128,51,192,235,97,2,117,41,117,49,233,244,232,225,105,128,14,1,244,225,235,225,238,97,129,48,179,117,60,232,225,236,230,247,233,228,244,104,128,255,122,239,240,239,243,241,245,225,242,101,128,51,30,240,240,225,227,249,242,233,236,236,233,99,128,4,129,114,2,117,104,117,124,229,225,238,243,244,225,238,228,225,242,228,243,249,237,226,239,108,128,50,127,239,238,233,243,227,237,98,128,3,67,240,97,2,117,141,117,147,242,229,110,128,36,166,243,241,245,225,242,101,128,51,170,243,233,227,249,242,233,236,236,233,99,128,4,111,116,2,117,175,117,184,243,241,245,225,242,101,128,51,207,245,242,238,229,100,128,2,158,117,2,117,198,117,209,232,233,242,225,231,225,238,97,128,48,79,235,225,244,225,235,225,238,97,129,48,175,117,222,232,225,236,230,247,233,228,244,104,128,255,120,246,243,241,245,225,242,101,128,51,184,247,243,241,245,225,242,101,128,51,190,108,146,0,108,118,38,120,65,120,94,120,160,120,198,121,94,121,103,121,119,121,143,121,161,122,23,122,64,122,199,122,207,122,240,122,249,123,1,123,63,97,7,118,54,118,64,118,71,118,78,118,103,118,119,120,53,226,229,238,231,225,236,105,128,9,178,227,245,244,101,128,1,58,228,229,246,97,128,9,50,231,117,2,118,85,118,94,234,225,242,225,244,105,128,10,178,242,237,245,235,232,105,128,10,50,235,235,232,225,238,231,249,225,239,244,232,225,105,128,14,69,109,10,118,141,119,80,119,97,119,135,119,149,119,168,119,184,119,204,119,224,119,247,97,2,118,147,119,72,236,229,102,4,118,159,118,173,119,9,119,26,230,233,238,225,236,225,242,225,226,233,99,128,254,252,232,225,237,250,97,2,118,183,118,224,225,226,239,246,101,2,118,193,118,207,230,233,238,225,236,225,242,225,226,233,99,128,254,248,233,243,239,236,225,244,229,228,225,242,225,226,233,99,128,254,247,226,229,236,239,119,2,118,234,118,248,230,233,238,225,236,225,242,225,226,233,99,128,254,250,233,243,239,236,225,244,229,228,225,242,225,226,233,99,128,254,249,233,243,239,236,225,244,229,228,225,242,225,226,233,99,128,254,251,237,225,228,228,225,225,226,239,246,101,2,119,41,119,55,230,233,238,225,236,225,242,225,226,233,99,128,254,246,233,243,239,236,225,244,229,228,225,242,225,226,233,99,128,254,245,242,225,226,233,99,128,6,68,226,228,97,129,3,187,119,88,243,244,242,239,235,101,128,1,155,229,100,130,5,220,119,106,119,126,228,225,231,229,243,104,129,251,60,119,117,232,229,226,242,229,119,128,251,60,232,229,226,242,229,119,128,5,220,230,233,238,225,236,225,242,225,226,233,99,128,254,222,232,225,232,233,238,233,244,233,225,236,225,242,225,226,233,99,128,252,202,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,223,234,229,229,237,233,238,233,244,233,225,236,225,242,225,226,233,99,128,252,201,235,232,225,232,233,238,233,244,233,225,236,225,242,225,226,233,99,128,252,203,236,225,237,232,229,232,233,243,239,236,225,244,229,228,225,242,225,226,233,99,128,253,242,237,101,2,119,254,120,11,228,233,225,236,225,242,225,226,233,99,128,254,224,229,109,2,120,18,120,37,232,225,232,233,238,233,244,233,225,236,225,242,225,226,233,99,128,253,136,233,238,233,244,233,225,236,225,242,225,226,233,99,128,252,204,242,231,229,227,233,242,227,236,101,128,37,239,98,3,120,73,120,78,120,84,225,114,128,1,154,229,236,116,128,2,108,239,240,239,237,239,230,111,128,49,12,99,4,120,104,120,111,120,120,120,147,225,242,239,110,128,1,62,229,228,233,236,236,97,128,1,60,233,242,99,2,120,128,120,133,236,101,128,36,219,245,237,230,236,229,248,226,229,236,239,119,128,30,61,239,237,237,225,225,227,227,229,238,116,128,1,60,228,239,116,130,1,64,120,170,120,179,225,227,227,229,238,116,128,1,64,226,229,236,239,119,129,30,55,120,189,237,225,227,242,239,110,128,30,57,101,3,120,206,120,244,121,89,230,116,2,120,213,120,229,225,238,231,236,229,225,226,239,246,229,227,237,98,128,3,26,244,225,227,235,226,229,236,239,247,227,237,98,128,3,24,243,115,132,0,60,121,1,121,23,121,35,121,81,229,241,245,225,108,129,34,100,121,11,239,242,231,242,229,225,244,229,114,128,34,218,237,239,238,239,243,240,225,227,101,128,255,28,111,2,121,41,121,70,114,2,121,47,121,60,229,241,245,233,246,225,236,229,238,116,128,34,114,231,242,229,225,244,229,114,128,34,118,246,229,242,229,241,245,225,108,128,34,102,243,237,225,236,108,128,254,100,250,104,128,2,110,230,226,236,239,227,107,128,37,140,232,239,239,235,242,229,244,242,239,230,236,229,120,128,2,109,105,2,121,125,121,130,242,97,128,32,164,247,238,225,242,237,229,238,233,225,110,128,5,108,106,129,1,201,121,149,229,227,249,242,233,236,236,233,99,128,4,89,108,132,246,192,121,173,121,197,121,208,121,217,97,2,121,179,121,186,228,229,246,97,128,9,51,231,245,234,225,242,225,244,105,128,10,179,233,238,229,226,229,236,239,119,128,30,59,236,225,228,229,246,97,128,9,52,246,239,227,225,236,233,99,3,121,231,121,241,121,248,226,229,238,231,225,236,105,128,9,225,228,229,246,97,128,9,97,246,239,247,229,236,243,233,231,110,2,122,6,122,16,226,229,238,231,225,236,105,128,9,227,228,229,246,97,128,9,99,109,3,122,31,122,44,122,55,233,228,228,236,229,244,233,236,228,101,128,2,107,239,238,239,243,240,225,227,101,128,255,76,243,241,245,225,242,101,128,51,208,111,6,122,78,122,90,122,132,122,143,122,149,122,191,227,232,245,236,225,244,232,225,105,128,14,44,231,233,227,225,108,3,122,102,122,108,122,127,225,238,100,128,34,39,238,239,116,129,0,172,122,116,242,229,246,229,242,243,229,100,128,35,16,239,114,128,34,40,236,233,238,231,244,232,225,105,128,14,37,238,231,115,128,1,127,247,236,233,238,101,2,122,159,122,182,99,2,122,165,122,177,229,238,244,229,242,236,233,238,101,128,254,78,237,98,128,3,50,228,225,243,232,229,100,128,254,77,250,229,238,231,101,128,37,202,240,225,242,229,110,128,36,167,115,3,122,215,122,222,122,230,236,225,243,104,128,1,66,241,245,225,242,101,128,33,19,245,240,229,242,233,239,114,128,246,238,244,243,232,225,228,101,128,37,145,245,244,232,225,105,128,14,38,246,239,227,225,236,233,99,3,123,15,123,25,123,32,226,229,238,231,225,236,105,128,9,140,228,229,246,97,128,9,12,246,239,247,229,236,243,233,231,110,2,123,46,123,56,226,229,238,231,225,236,105,128,9,226,228,229,246,97,128,9,98,248,243,241,245,225,242,101,128,51,211,109,144,0,109,123,109,125,218,125,243,126,14,126,39,127,92,127,114,128,169,128,199,128,248,129,99,129,121,129,146,129,155,130,182,130,210,97,12,123,135,123,145,123,209,123,216,123,241,124,33,125,125,125,150,125,155,125,169,125,181,125,186,226,229,238,231,225,236,105,128,9,174,99,2,123,151,123,203,242,239,110,132,0,175,123,165,123,176,123,182,123,191,226,229,236,239,247,227,237,98,128,3,49,227,237,98,128,3,4,236,239,247,237,239,100,128,2,205,237,239,238,239,243,240,225,227,101,128,255,227,245,244,101,128,30,63,228,229,246,97,128,9,46,231,117,2,123,223,123,232,234,225,242,225,244,105,128,10,174,242,237,245,235,232,105,128,10,46,104,2,123,247,124,23,225,240,225,235,104,2,124,1,124,10,232,229,226,242,229,119,128,5,164,236,229,230,244,232,229,226,242,229,119,128,5,164,233,242,225,231,225,238,97,128,48,126,105,5,124,45,124,114,124,177,124,207,125,113,227,232,225,244,244,225,247,97,3,124,60,124,91,124,98,236,239,119,2,124,68,124,79,236,229,230,244,244,232,225,105,128,248,149,242,233,231,232,244,244,232,225,105,128,248,148,244,232,225,105,128,14,75,245,240,240,229,242,236,229,230,244,244,232,225,105,128,248,147,229,107,3,124,123,124,154,124,161,236,239,119,2,124,131,124,142,236,229,230,244,244,232,225,105,128,248,140,242,233,231,232,244,244,232,225,105,128,248,139,244,232,225,105,128,14,72,245,240,240,229,242,236,229,230,244,244,232,225,105,128,248,138,232,225,238,225,235,225,116,2,124,189,124,200,236,229,230,244,244,232,225,105,128,248,132,244,232,225,105,128,14,49,116,3,124,215,124,243,125,50,225,233,235,232,117,2,124,225,124,236,236,229,230,244,244,232,225,105,128,248,137,244,232,225,105,128,14,71,232,111,3,124,252,125,27,125,34,236,239,119,2,125,4,125,15,236,229,230,244,244,232,225,105,128,248,143,242,233,231,232,244,244,232,225,105,128,248,142,244,232,225,105,128,14,73,245,240,240,229,242,236,229,230,244,244,232,225,105,128,248,141,242,105,3,125,59,125,90,125,97,236,239,119,2,125,67,125,78,236,229,230,244,244,232,225,105,128,248,146,242,233,231,232,244,244,232,225,105,128,248,145,244,232,225,105,128,14,74,245,240,240,229,242,236,229,230,244,244,232,225,105,128,248,144,249,225,237,239,235,244,232,225,105,128,14,70,235,225,244,225,235,225,238,97,129,48,222,125,138,232,225,236,230,247,233,228,244,104,128,255,143,236,101,128,38,66,238,243,249,239,238,243,241,245,225,242,101,128,51,71,241,225,230,232,229,226,242,229,119,128,5,190,242,115,128,38,66,115,2,125,192,125,210,239,242,225,227,233,242,227,236,229,232,229,226,242,229,119,128,5,175,241,245,225,242,101,128,51,131,98,2,125,224,125,234,239,240,239,237,239,230,111,128,49,7,243,241,245,225,242,101,128,51,212,99,2,125,249,126,1,233,242,227,236,101,128,36,220,245,226,229,228,243,241,245,225,242,101,128,51,165,228,239,116,2,126,22,126,31,225,227,227,229,238,116,128,30,65,226,229,236,239,119,128,30,67,101,7,126,55,126,182,126,193,126,208,126,233,127,14,127,26,101,2,126,61,126,169,109,4,126,71,126,80,126,94,126,110,225,242,225,226,233,99,128,6,69,230,233,238,225,236,225,242,225,226,233,99,128,254,226,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,227,237,101,2,126,117,126,130,228,233,225,236,225,242,225,226,233,99,128,254,228,229,237,105,2,126,138,126,153,238,233,244,233,225,236,225,242,225,226,233,99,128,252,209,243,239,236,225,244,229,228,225,242,225,226,233,99,128,252,72,244,239,242,245,243,241,245,225,242,101,128,51,77,232,233,242,225,231,225,238,97,128,48,129,233,250,233,229,242,225,243,241,245,225,242,101,128,51,126,235,225,244,225,235,225,238,97,129,48,225,126,221,232,225,236,230,247,233,228,244,104,128,255,146,109,130,5,222,126,241,127,5,228,225,231,229,243,104,129,251,62,126,252,232,229,226,242,229,119,128,251,62,232,229,226,242,229,119,128,5,222,238,225,242,237,229,238,233,225,110,128,5,116,242,235,232,97,3,127,37,127,46,127,79,232,229,226,242,229,119,128,5,165,235,229,230,245,236,97,2,127,57,127,66,232,229,226,242,229,119,128,5,166,236,229,230,244,232,229,226,242,229,119,128,5,166,236,229,230,244,232,229,226,242,229,119,128,5,165,104,2,127,98,127,104,239,239,107,128,2,113,250,243,241,245,225,242,101,128,51,146,105,6,127,128,127,165,128,46,128,57,128,82,128,139,228,100,2,127,135,127,160,236,229,228,239,244,235,225,244,225,235,225,238,225,232,225,236,230,247,233,228,244,104,128,255,101,239,116,128,0,183,229,245,109,5,127,179,127,214,127,229,127,238,128,33,97,2,127,185,127,200,227,233,242,227,236,229,235,239,242,229,225,110,128,50,114,240,225,242,229,238,235,239,242,229,225,110,128,50,18,227,233,242,227,236,229,235,239,242,229,225,110,128,50,100,235,239,242,229,225,110,128,49,65,112,2,127,244,128,20,97,2,127,250,128,8,238,243,233,239,243,235,239,242,229,225,110,128,49,112,242,229,238,235,239,242,229,225,110,128,50,4,233,229,245,240,235,239,242,229,225,110,128,49,110,243,233,239,243,235,239,242,229,225,110,128,49,111,232,233,242,225,231,225,238,97,128,48,127,235,225,244,225,235,225,238,97,129,48,223,128,70,232,225,236,230,247,233,228,244,104,128,255,144,238,117,2,128,89,128,134,115,132,34,18,128,101,128,112,128,121,128,127,226,229,236,239,247,227,237,98,128,3,32,227,233,242,227,236,101,128,34,150,237,239,100,128,2,215,240,236,245,115,128,34,19,244,101,128,32,50,242,105,2,128,146,128,160,226,225,225,242,245,243,241,245,225,242,101,128,51,74,243,241,245,225,242,101,128,51,73,108,2,128,175,128,190,239,238,231,236,229,231,244,245,242,238,229,100,128,2,112,243,241,245,225,242,101,128,51,150,109,3,128,207,128,221,128,232,227,245,226,229,228,243,241,245,225,242,101,128,51,163,239,238,239,243,240,225,227,101,128,255,77,243,241,245,225,242,229,228,243,241,245,225,242,101,128,51,159,111,5,129,4,129,30,129,55,129,65,129,74,104,2,129,10,129,20,233,242,225,231,225,238,97,128,48,130,237,243,241,245,225,242,101,128,51,193,235,225,244,225,235,225,238,97,129,48,226,129,43,232,225,236,230,247,233,228,244,104,128,255,147,236,243,241,245,225,242,101,128,51,214,237,225,244,232,225,105,128,14,33,246,229,242,243,243,241,245,225,242,101,129,51,167,129,89,228,243,241,245,225,242,101,128,51,168,240,97,2,129,106,129,112,242,229,110,128,36,168,243,241,245,225,242,101,128,51,171,115,2,129,127,129,136,243,241,245,225,242,101,128,51,179,245,240,229,242,233,239,114,128,246,239,244,245,242,238,229,100,128,2,111,117,141,0,181,129,185,129,189,129,199,129,223,129,233,129,255,130,10,130,35,130,58,130,68,130,98,130,162,130,172,49,128,0,181,225,243,241,245,225,242,101,128,51,130,227,104,2,129,206,129,216,231,242,229,225,244,229,114,128,34,107,236,229,243,115,128,34,106,230,243,241,245,225,242,101,128,51,140,103,2,129,239,129,246,242,229,229,107,128,3,188,243,241,245,225,242,101,128,51,141,232,233,242,225,231,225,238,97,128,48,128,235,225,244,225,235,225,238,97,129,48,224,130,23,232,225,236,230,247,233,228,244,104,128,255,145,108,2,130,41,130,50,243,241,245,225,242,101,128,51,149,244,233,240,236,121,128,0,215,237,243,241,245,225,242,101,128,51,155,238,225,104,2,130,76,130,85,232,229,226,242,229,119,128,5,163,236,229,230,244,232,229,226,242,229,119,128,5,163,115,2,130,104,130,153,233,99,3,130,113,130,130,130,141,225,236,238,239,244,101,129,38,106,130,124,228,226,108,128,38,107,230,236,225,244,243,233,231,110,128,38,109,243,232,225,242,240,243,233,231,110,128,38,111,243,241,245,225,242,101,128,51,178,246,243,241,245,225,242,101,128,51,182,247,243,241,245,225,242,101,128,51,188,118,2,130,188,130,201,237,229,231,225,243,241,245,225,242,101,128,51,185,243,241,245,225,242,101,128,51,183,119,2,130,216,130,229,237,229,231,225,243,241,245,225,242,101,128,51,191,243,241,245,225,242,101,128,51,189,110,150,0,110,131,30,131,164,131,188,131,254,132,23,132,81,132,91,132,158,132,201,134,235,134,253,135,22,135,53,135,79,135,144,137,126,137,134,137,159,137,167,138,135,138,145,138,155,97,8,131,48,131,68,131,75,131,82,131,107,131,118,131,143,131,155,98,2,131,54,131,63,229,238,231,225,236,105,128,9,168,236,97,128,34,7,227,245,244,101,128,1,68,228,229,246,97,128,9,40,231,117,2,131,89,131,98,234,225,242,225,244,105,128,10,168,242,237,245,235,232,105,128,10,40,232,233,242,225,231,225,238,97,128,48,106,235,225,244,225,235,225,238,97,129,48,202,131,131,232,225,236,230,247,233,228,244,104,128,255,133,240,239,243,244,242,239,240,232,101,128,1,73,243,241,245,225,242,101,128,51,129,98,2,131,170,131,180,239,240,239,237,239,230,111,128,49,11,243,240,225,227,101,128,0,160,99,4,131,198,131,205,131,214,131,241,225,242,239,110,128,1,72,229,228,233,236,236,97,128,1,70,233,242,99,2,131,222,131,227,236,101,128,36,221,245,237,230,236,229,248,226,229,236,239,119,128,30,75,239,237,237,225,225,227,227,229,238,116,128,1,70,228,239,116,2,132,6,132,15,225,227,227,229,238,116,128,30,69,226,229,236,239,119,128,30,71,101,3,132,31,132,42,132,67,232,233,242,225,231,225,238,97,128,48,109,235,225,244,225,235,225,238,97,129,48,205,132,55,232,225,236,230,247,233,228,244,104,128,255,136,247,243,232,229,241,229,236,243,233,231,110,128,32,170,230,243,241,245,225,242,101,128,51,139,103,2,132,97,132,147,97,3,132,105,132,115,132,122,226,229,238,231,225,236,105,128,9,153,228,229,246,97,128,9,25,231,117,2,132,129,132,138,234,225,242,225,244,105,128,10,153,242,237,245,235,232,105,128,10,25,239,238,231,245,244,232,225,105,128,14,7,104,2,132,164,132,174,233,242,225,231,225,238,97,128,48,147,239,239,107,2,132,182,132,189,236,229,230,116,128,2,114,242,229,244,242,239,230,236,229,120,128,2,115,105,4,132,211,133,124,133,135,133,193,229,245,110,7,132,229,133,8,133,40,133,54,133,63,133,96,133,109,97,2,132,235,132,250,227,233,242,227,236,229,235,239,242,229,225,110,128,50,111,240,225,242,229,238,235,239,242,229,225,110,128,50,15,227,105,2,133,15,133,27,229,245,227,235,239,242,229,225,110,128,49,53,242,227,236,229,235,239,242,229,225,110,128,50,97,232,233,229,245,232,235,239,242,229,225,110,128,49,54,235,239,242,229,225,110,128,49,52,240,97,2,133,70,133,84,238,243,233,239,243,235,239,242,229,225,110,128,49,104,242,229,238,235,239,242,229,225,110,128,50,1,243,233,239,243,235,239,242,229,225,110,128,49,103,244,233,235,229,245,244,235,239,242,229,225,110,128,49,102,232,233,242,225,231,225,238,97,128,48,107,107,2,133,141,133,165,225,244,225,235,225,238,97,129,48,203,133,153,232,225,236,230,247,233,228,244,104,128,255,134,232,225,232,233,116,2,133,175,133,186,236,229,230,244,244,232,225,105,128,248,153,244,232,225,105,128,14,77,238,101,141,0,57,133,224,133,233,133,243,134,17,134,24,134,49,134,76,134,110,134,122,134,133,134,166,134,174,134,185,225,242,225,226,233,99,128,6,105,226,229,238,231,225,236,105,128,9,239,227,233,242,227,236,101,129,36,104,133,254,233,238,246,229,242,243,229,243,225,238,243,243,229,242,233,102,128,39,146,228,229,246,97,128,9,111,231,117,2,134,31,134,40,234,225,242,225,244,105,128,10,239,242,237,245,235,232,105,128,10,111,232,97,2,134,56,134,67,227,235,225,242,225,226,233,99,128,6,105,238,231,250,232,239,117,128,48,41,105,2,134,82,134,100,228,229,239,231,242,225,240,232,233,227,240,225,242,229,110,128,50,40,238,230,229,242,233,239,114,128,32,137,237,239,238,239,243,240,225,227,101,128,255,25,239,236,228,243,244,249,236,101,128,247,57,112,2,134,139,134,146,225,242,229,110,128,36,124,229,114,2,134,153,134,159,233,239,100,128,36,144,243,233,225,110,128,6,249,242,239,237,225,110,128,33,120,243,245,240,229,242,233,239,114,128,32,121,116,2,134,191,134,229,229,229,110,2,134,199,134,208,227,233,242,227,236,101,128,36,114,112,2,134,214,134,221,225,242,229,110,128,36,134,229,242,233,239,100,128,36,154,232,225,105,128,14,89,106,129,1,204,134,241,229,227,249,242,233,236,236,233,99,128,4,90,235,225,244,225,235,225,238,97,129,48,243,135,10,232,225,236,230,247,233,228,244,104,128,255,157,108,2,135,28,135,42,229,231,242,233,231,232,244,236,239,238,103,128,1,158,233,238,229,226,229,236,239,119,128,30,73,109,2,135,59,135,70,239,238,239,243,240,225,227,101,128,255,78,243,241,245,225,242,101,128,51,154,110,2,135,85,135,135,97,3,135,93,135,103,135,110,226,229,238,231,225,236,105,128,9,163,228,229,246,97,128,9,35,231,117,2,135,117,135,126,234,225,242,225,244,105,128,10,163,242,237,245,235,232,105,128,10,35,238,225,228,229,246,97,128,9,41,111,6,135,158,135,169,135,194,135,235,136,187,137,114,232,233,242,225,231,225,238,97,128,48,110,235,225,244,225,235,225,238,97,129,48,206,135,182,232,225,236,230,247,233,228,244,104,128,255,137,110,3,135,202,135,218,135,227,226,242,229,225,235,233,238,231,243,240,225,227,101,128,0,160,229,238,244,232,225,105,128,14,19,245,244,232,225,105,128,14,25,239,110,7,135,252,136,5,136,19,136,53,136,69,136,110,136,169,225,242,225,226,233,99,128,6,70,230,233,238,225,236,225,242,225,226,233,99,128,254,230,231,232,245,238,238,97,2,136,30,136,39,225,242,225,226,233,99,128,6,186,230,233,238,225,236,225,242,225,226,233,99,128,251,159,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,231,234,229,229,237,105,2,136,79,136,94,238,233,244,233,225,236,225,242,225,226,233,99,128,252,210,243,239,236,225,244,229,228,225,242,225,226,233,99,128,252,75,237,101,2,136,117,136,130,228,233,225,236,225,242,225,226,233,99,128,254,232,229,237,105,2,136,138,136,153,238,233,244,233,225,236,225,242,225,226,233,99,128,252,213,243,239,236,225,244,229,228,225,242,225,226,233,99,128,252,78,238,239,239,238,230,233,238,225,236,225,242,225,226,233,99,128,252,141,116,7,136,203,136,214,136,243,137,22,137,34,137,54,137,80,227,239,238,244,225,233,238,115,128,34,12,101,2,136,220,136,236,236,229,237,229,238,116,129,34,9,136,231,239,102,128,34,9,241,245,225,108,128,34,96,231,242,229,225,244,229,114,129,34,111,136,255,238,239,114,2,137,7,137,15,229,241,245,225,108,128,34,113,236,229,243,115,128,34,121,233,228,229,238,244,233,227,225,108,128,34,98,236,229,243,115,129,34,110,137,43,238,239,242,229,241,245,225,108,128,34,112,112,2,137,60,137,70,225,242,225,236,236,229,108,128,34,38,242,229,227,229,228,229,115,128,34,128,243,117,3,137,89,137,96,137,105,226,243,229,116,128,34,132,227,227,229,229,228,115,128,34,129,240,229,242,243,229,116,128,34,133,247,225,242,237,229,238,233,225,110,128,5,118,240,225,242,229,110,128,36,169,115,2,137,140,137,149,243,241,245,225,242,101,128,51,177,245,240,229,242,233,239,114,128,32,127,244,233,236,228,101,128,0,241,117,132,3,189,137,179,137,190,138,15,138,98,232,233,242,225,231,225,238,97,128,48,108,107,2,137,196,137,220,225,244,225,235,225,238,97,129,48,204,137,208,232,225,236,230,247,233,228,244,104,128,255,135,244,97,3,137,229,137,239,137,246,226,229,238,231,225,236,105,128,9,188,228,229,246,97,128,9,60,231,117,2,137,253,138,6,234,225,242,225,244,105,128,10,188,242,237,245,235,232,105,128,10,60,109,2,138,21,138,55,226,229,242,243,233,231,110,130,0,35,138,35,138,47,237,239,238,239,243,240,225,227,101,128,255,3,243,237,225,236,108,128,254,95,229,114,2,138,62,138,94,225,236,243,233,231,110,2,138,73,138,81,231,242,229,229,107,128,3,116,236,239,247,229,242,231,242,229,229,107,128,3,117,111,128,33,22,110,130,5,224,138,106,138,126,228,225,231,229,243,104,129,251,64,138,117,232,229,226,242,229,119,128,251,64,232,229,226,242,229,119,128,5,224,246,243,241,245,225,242,101,128,51,181,247,243,241,245,225,242,101,128,51,187,249,97,3,138,164,138,174,138,181,226,229,238,231,225,236,105,128,9,158,228,229,246,97,128,9,30,231,117,2,138,188,138,197,234,225,242,225,244,105,128,10,158,242,237,245,235,232,105,128,10,30,111,147,0,111,138,248,139,14,139,92,140,6,140,78,140,93,140,133,141,0,141,21,141,59,141,70,141,248,143,82,143,146,143,179,143,225,144,98,144,145,144,157,97,2,138,254,139,5,227,245,244,101,128,0,243,238,231,244,232,225,105,128,14,45,98,4,139,24,139,66,139,75,139,85,225,242,242,229,100,130,2,117,139,36,139,47,227,249,242,233,236,236,233,99,128,4,233,228,233,229,242,229,243,233,243,227,249,242,233,236,236,233,99,128,4,235,229,238,231,225,236,105,128,9,147,239,240,239,237,239,230,111,128,49,27,242,229,246,101,128,1,79,99,3,139,100,139,173,139,252,97,2,139,106,139,167,238,228,242,97,3,139,117,139,124,139,135,228,229,246,97,128,9,17,231,245,234,225,242,225,244,105,128,10,145,246,239,247,229,236,243,233,231,110,2,139,149,139,156,228,229,246,97,128,9,73,231,245,234,225,242,225,244,105,128,10,201,242,239,110,128,1,210,233,242,99,2,139,181,139,186,236,101,128,36,222,245,237,230,236,229,120,133,0,244,139,205,139,213,139,224,139,232,139,244,225,227,245,244,101,128,30,209,228,239,244,226,229,236,239,119,128,30,217,231,242,225,246,101,128,30,211,232,239,239,235,225,226,239,246,101,128,30,213,244,233,236,228,101,128,30,215,249,242,233,236,236,233,99,128,4,62,100,4,140,16,140,39,140,45,140,68,226,108,2,140,23,140,31,225,227,245,244,101,128,1,81,231,242,225,246,101,128,2,13,229,246,97,128,9,19,233,229,242,229,243,233,115,129,0,246,140,57,227,249,242,233,236,236,233,99,128,4,231,239,244,226,229,236,239,119,128,30,205,101,129,1,83,140,84,235,239,242,229,225,110,128,49,90,103,3,140,101,140,116,140,123,239,238,229,107,129,2,219,140,110,227,237,98,128,3,40,242,225,246,101,128,0,242,245,234,225,242,225,244,105,128,10,147,104,4,140,143,140,154,140,164,140,242,225,242,237,229,238,233,225,110,128,5,133,233,242,225,231,225,238,97,128,48,74,111,2,140,170,140,180,239,235,225,226,239,246,101,128,30,207,242,110,133,1,161,140,195,140,203,140,214,140,222,140,234,225,227,245,244,101,128,30,219,228,239,244,226,229,236,239,119,128,30,227,231,242,225,246,101,128,30,221,232,239,239,235,225,226,239,246,101,128,30,223,244,233,236,228,101,128,30,225,245,238,231,225,242,245,237,236,225,245,116,128,1,81,105,129,1,163,141,6,238,246,229,242,244,229,228,226,242,229,246,101,128,2,15,107,2,141,27,141,51,225,244,225,235,225,238,97,129,48,170,141,39,232,225,236,230,247,233,228,244,104,128,255,117,239,242,229,225,110,128,49,87,236,229,232,229,226,242,229,119,128,5,171,109,6,141,84,141,112,141,119,141,208,141,219,141,237,225,227,242,239,110,130,1,77,141,96,141,104,225,227,245,244,101,128,30,83,231,242,225,246,101,128,30,81,228,229,246,97,128,9,80,229,231,97,133,3,201,141,135,141,139,141,150,141,164,141,180,49,128,3,214,227,249,242,233,236,236,233,99,128,4,97,236,225,244,233,238,227,236,239,243,229,100,128,2,119,242,239,245,238,228,227,249,242,233,236,236,233,99,128,4,123,116,2,141,186,141,201,233,244,236,239,227,249,242,233,236,236,233,99,128,4,125,239,238,239,115,128,3,206,231,245,234,225,242,225,244,105,128,10,208,233,227,242,239,110,129,3,191,141,229,244,239,238,239,115,128,3,204,239,238,239,243,240,225,227,101,128,255,79,238,101,145,0,49,142,31,142,40,142,50,142,80,142,105,142,114,142,123,142,148,142,182,142,216,142,228,142,247,143,2,143,35,143,45,143,53,143,64,225,242,225,226,233,99,128,6,97,226,229,238,231,225,236,105,128,9,231,227,233,242,227,236,101,129,36,96,142,61,233,238,246,229,242,243,229,243,225,238,243,243,229,242,233,102,128,39,138,100,2,142,86,142,92,229,246,97,128,9,103,239,244,229,238,236,229,225,228,229,114,128,32,36,229,233,231,232,244,104,128,33,91,230,233,244,244,229,100,128,246,220,231,117,2,142,130,142,139,234,225,242,225,244,105,128,10,231,242,237,245,235,232,105,128,10,103,232,97,3,142,157,142,168,142,173,227,235,225,242,225,226,233,99,128,6,97,236,102,128,0,189,238,231,250,232,239,117,128,48,33,105,2,142,188,142,206,228,229,239,231,242,225,240,232,233,227,240,225,242,229,110,128,50,32,238,230,229,242,233,239,114,128,32,129,237,239,238,239,243,240,225,227,101,128,255,17,238,245,237,229,242,225,244,239,242,226,229,238,231,225,236,105,128,9,244,239,236,228,243,244,249,236,101,128,247,49,112,2,143,8,143,15,225,242,229,110,128,36,116,229,114,2,143,22,143,28,233,239,100,128,36,136,243,233,225,110,128,6,241,241,245,225,242,244,229,114,128,0,188,242,239,237,225,110,128,33,112,243,245,240,229,242,233,239,114,128,0,185,244,104,2,143,71,143,76,225,105,128,14,81,233,242,100,128,33,83,111,3,143,90,143,124,143,140,103,2,143,96,143,114,239,238,229,107,129,1,235,143,105,237,225,227,242,239,110,128,1,237,245,242,237,245,235,232,105,128,10,19,237,225,244,242,225,231,245,242,237,245,235,232,105,128,10,75,240,229,110,128,2,84,112,3,143,154,143,161,143,172,225,242,229,110,128,36,170,229,238,226,245,236,236,229,116,128,37,230,244,233,239,110,128,35,37,114,2,143,185,143,214,100,2,143,191,143,202,230,229,237,233,238,233,238,101,128,0,170,237,225,243,227,245,236,233,238,101,128,0,186,244,232,239,231,239,238,225,108,128,34,31,115,5,143,237,144,13,144,30,144,75,144,88,232,239,242,116,2,143,246,143,253,228,229,246,97,128,9,18,246,239,247,229,236,243,233,231,238,228,229,246,97,128,9,74,236,225,243,104,129,0,248,144,22,225,227,245,244,101,128,1,255,237,225,236,108,2,144,39,144,50,232,233,242,225,231,225,238,97,128,48,73,235,225,244,225,235,225,238,97,129,48,169,144,63,232,225,236,230,247,233,228,244,104,128,255,107,244,242,239,235,229,225,227,245,244,101,128,1,255,245,240,229,242,233,239,114,128,246,240,116,2,144,104,144,115,227,249,242,233,236,236,233,99,128,4,127,233,236,228,101,130,0,245,144,126,144,134,225,227,245,244,101,128,30,77,228,233,229,242,229,243,233,115,128,30,79,245,226,239,240,239,237,239,230,111,128,49,33,118,2,144,163,144,244,229,114,2,144,170,144,236,236,233,238,101,131,32,62,144,183,144,206,144,229,99,2,144,189,144,201,229,238,244,229,242,236,233,238,101,128,254,74,237,98,128,3,5,100,2,144,212,144,220,225,243,232,229,100,128,254,73,226,236,247,225,246,121,128,254,76,247,225,246,121,128,254,75,243,227,239,242,101,128,0,175,239,247,229,236,243,233,231,110,3,145,3,145,13,145,20,226,229,238,231,225,236,105,128,9,203,228,229,246,97,128,9,75,231,245,234,225,242,225,244,105,128,10,203,112,145,0,112,145,69,147,197,147,208,147,217,147,229,149,154,149,164,150,156,151,175,152,9,152,35,152,166,152,174,153,76,153,134,153,162,153,172,97,14,145,99,145,131,145,141,145,148,145,155,145,203,145,214,145,228,145,239,146,30,146,44,147,56,147,95,147,185,97,2,145,105,145,117,237,240,243,243,241,245,225,242,101,128,51,128,243,229,238,244,239,243,241,245,225,242,101,128,51,43,226,229,238,231,225,236,105,128,9,170,227,245,244,101,128,30,85,228,229,246,97,128,9,42,103,2,145,161,145,179,101,2,145,167,145,174,228,239,247,110,128,33,223,245,112,128,33,222,117,2,145,185,145,194,234,225,242,225,244,105,128,10,170,242,237,245,235,232,105,128,10,42,232,233,242,225,231,225,238,97,128,48,113,233,249,225,238,238,239,233,244,232,225,105,128,14,47,235,225,244,225,235,225,238,97,128,48,209,108,2,145,245,146,14,225,244,225,236,233,250,225,244,233,239,238,227,249,242,233,236,236,233,227,227,237,98,128,4,132,239,227,232,235,225,227,249,242,233,236,236,233,99,128,4,192,238,243,233,239,243,235,239,242,229,225,110,128,49,127,114,3,146,52,146,73,147,45,97,2,146,58,146,66,231,242,225,240,104,128,0,182,236,236,229,108,128,34,37,229,110,2,146,80,146,190,236,229,230,116,136,0,40,146,103,146,118,146,123,146,128,146,139,146,151,146,174,146,179,225,236,244,239,238,229,225,242,225,226,233,99,128,253,62,226,116,128,248,237,229,120,128,248,236,233,238,230,229,242,233,239,114,128,32,141,237,239,238,239,243,240,225,227,101,128,255,8,115,2,146,157,146,164,237,225,236,108,128,254,89,245,240,229,242,233,239,114,128,32,125,244,112,128,248,235,246,229,242,244,233,227,225,108,128,254,53,242,233,231,232,116,136,0,41,146,214,146,229,146,234,146,239,146,250,147,6,147,29,147,34,225,236,244,239,238,229,225,242,225,226,233,99,128,253,63,226,116,128,248,248,229,120,128,248,247,233,238,230,229,242,233,239,114,128,32,142,237,239,238,239,243,240,225,227,101,128,255,9,115,2,147,12,147,19,237,225,236,108,128,254,90,245,240,229,242,233,239,114,128,32,126,244,112,128,248,246,246,229,242,244,233,227,225,108,128,254,54,244,233,225,236,228,233,230,102,128,34,2,115,3,147,64,147,75,147,87,229,241,232,229,226,242,229,119,128,5,192,232,244,225,232,229,226,242,229,119,128,5,153,241,245,225,242,101,128,51,169,244,225,104,134,5,183,147,113,147,127,147,132,147,141,147,156,147,172,49,2,147,119,147,123,49,128,5,183,100,128,5,183,178,97,128,5,183,232,229,226,242,229,119,128,5,183,238,225,242,242,239,247,232,229,226,242,229,119,128,5,183,241,245,225,242,244,229,242,232,229,226,242,229,119,128,5,183,247,233,228,229,232,229,226,242,229,119,128,5,183,250,229,242,232,229,226,242,229,119,128,5,161,226,239,240,239,237,239,230,111,128,49,6,227,233,242,227,236,101,128,36,223,228,239,244,225,227,227,229,238,116,128,30,87,101,137,5,228,147,251,148,6,148,26,148,38,148,58,148,160,148,171,148,192,149,147,227,249,242,233,236,236,233,99,128,4,63,228,225,231,229,243,104,129,251,68,148,17,232,229,226,242,229,119,128,251,68,229,250,233,243,241,245,225,242,101,128,51,59,230,233,238,225,236,228,225,231,229,243,232,232,229,226,242,229,119,128,251,67,104,5,148,70,148,93,148,101,148,115,148,145,225,114,2,148,77,148,84,225,226,233,99,128,6,126,237,229,238,233,225,110,128,5,122,229,226,242,229,119,128,5,228,230,233,238,225,236,225,242,225,226,233,99,128,251,87,105,2,148,121,148,136,238,233,244,233,225,236,225,242,225,226,233,99,128,251,88,242,225,231,225,238,97,128,48,122,237,229,228,233,225,236,225,242,225,226,233,99,128,251,89,235,225,244,225,235,225,238,97,128,48,218,237,233,228,228,236,229,232,239,239,235,227,249,242,233,236,236,233,99,128,4,167,114,5,148,204,148,216,149,2,149,123,149,136,225,230,229,232,229,226,242,229,119,128,251,78,227,229,238,116,131,0,37,148,229,148,238,148,250,225,242,225,226,233,99,128,6,106,237,239,238,239,243,240,225,227,101,128,255,5,243,237,225,236,108,128,254,106,105,2,149,8,149,105,239,100,134,0,46,149,25,149,36,149,47,149,59,149,70,149,82,225,242,237,229,238,233,225,110,128,5,137,227,229,238,244,229,242,229,100,128,0,183,232,225,236,230,247,233,228,244,104,128,255,97,233,238,230,229,242,233,239,114,128,246,231,237,239,238,239,243,240,225,227,101,128,255,14,115,2,149,88,149,95,237,225,236,108,128,254,82,245,240,229,242,233,239,114,128,246,232,243,240,239,237,229,238,233,231,242,229,229,235,227,237,98,128,3,66,240,229,238,228,233,227,245,236,225,114,128,34,165,244,232,239,245,243,225,238,100,128,32,48,243,229,244,97,128,32,167,230,243,241,245,225,242,101,128,51,138,104,3,149,172,149,222,150,103,97,3,149,180,149,190,149,197,226,229,238,231,225,236,105,128,9,171,228,229,246,97,128,9,43,231,117,2,149,204,149,213,234,225,242,225,244,105,128,10,171,242,237,245,235,232,105,128,10,43,105,133,3,198,149,236,149,240,150,70,150,78,150,89,49,128,3,213,229,245,240,104,4,149,253,150,32,150,47,150,56,97,2,150,3,150,18,227,233,242,227,236,229,235,239,242,229,225,110,128,50,122,240,225,242,229,238,235,239,242,229,225,110,128,50,26,227,233,242,227,236,229,235,239,242,229,225,110,128,50,108,235,239,242,229,225,110,128,49,77,240,225,242,229,238,235,239,242,229,225,110,128,50,12,236,225,244,233,110,128,2,120,238,244,232,245,244,232,225,105,128,14,58,243,249,237,226,239,236,231,242,229,229,107,128,3,213,111,3,150,111,150,116,150,142,239,107,128,1,165,240,104,2,150,123,150,132,225,238,244,232,225,105,128,14,30,245,238,231,244,232,225,105,128,14,28,243,225,237,240,232,225,239,244,232,225,105,128,14,32,105,133,3,192,150,170,151,126,151,137,151,148,151,162,229,245,112,6,150,186,150,221,150,253,151,25,151,39,151,91,97,2,150,192,150,207,227,233,242,227,236,229,235,239,242,229,225,110,128,50,115,240,225,242,229,238,235,239,242,229,225,110,128,50,19,227,105,2,150,228,150,240,229,245,227,235,239,242,229,225,110,128,49,118,242,227,236,229,235,239,242,229,225,110,128,50,101,107,2,151,3,151,17,233,249,229,239,235,235,239,242,229,225,110,128,49,114,239,242,229,225,110,128,49,66,240,225,242,229,238,235,239,242,229,225,110,128,50,5,243,233,239,115,2,151,48,151,76,107,2,151,54,151,68,233,249,229,239,235,235,239,242,229,225,110,128,49,116,239,242,229,225,110,128,49,68,244,233,235,229,245,244,235,239,242,229,225,110,128,49,117,116,2,151,97,151,112,232,233,229,245,244,232,235,239,242,229,225,110,128,49,119,233,235,229,245,244,235,239,242,229,225,110,128,49,115,232,233,242,225,231,225,238,97,128,48,116,235,225,244,225,235,225,238,97,128,48,212,243,249,237,226,239,236,231,242,229,229,107,128,3,214,247,242,225,242,237,229,238,233,225,110,128,5,131,236,245,115,132,0,43,151,189,151,200,151,209,151,242,226,229,236,239,247,227,237,98,128,3,31,227,233,242,227,236,101,128,34,149,109,2,151,215,151,222,233,238,245,115,128,0,177,111,2,151,228,151,232,100,128,2,214,238,239,243,240,225,227,101,128,255,11,115,2,151,248,151,255,237,225,236,108,128,254,98,245,240,229,242,233,239,114,128,32,122,109,2,152,15,152,26,239,238,239,243,240,225,227,101,128,255,80,243,241,245,225,242,101,128,51,216,111,5,152,47,152,58,152,125,152,136,152,146,232,233,242,225,231,225,238,97,128,48,125,233,238,244,233,238,231,233,238,228,229,120,4,152,78,152,90,152,102,152,115,228,239,247,238,247,232,233,244,101,128,38,31,236,229,230,244,247,232,233,244,101,128,38,28,242,233,231,232,244,247,232,233,244,101,128,38,30,245,240,247,232,233,244,101,128,38,29,235,225,244,225,235,225,238,97,128,48,221,240,236,225,244,232,225,105,128,14,27,243,244,225,236,237,225,242,107,129,48,18,152,159,230,225,227,101,128,48,32,240,225,242,229,110,128,36,171,114,3,152,182,152,208,152,233,101,2,152,188,152,196,227,229,228,229,115,128,34,122,243,227,242,233,240,244,233,239,110,128,33,30,233,237,101,2,152,216,152,222,237,239,100,128,2,185,242,229,246,229,242,243,229,100,128,32,53,111,4,152,243,152,250,153,4,153,17,228,245,227,116,128,34,15,234,229,227,244,233,246,101,128,35,5,236,239,238,231,229,228,235,225,238,97,128,48,252,112,2,153,23,153,60,101,2,153,29,153,36,236,236,239,114,128,35,24,242,243,117,2,153,44,153,51,226,243,229,116,128,34,130,240,229,242,243,229,116,128,34,131,239,242,244,233,239,110,129,34,55,153,71,225,108,128,34,29,115,2,153,82,153,125,105,130,3,200,153,90,153,101,227,249,242,233,236,236,233,99,128,4,113,236,233,240,238,229,245,237,225,244,225,227,249,242,233,236,236,233,227,227,237,98,128,4,134,243,241,245,225,242,101,128,51,176,117,2,153,140,153,151,232,233,242,225,231,225,238,97,128,48,119,235,225,244,225,235,225,238,97,128,48,215,246,243,241,245,225,242,101,128,51,180,247,243,241,245,225,242,101,128,51,186,113,136,0,113,153,202,154,251,155,6,155,15,155,22,155,34,155,72,155,80,97,4,153,212,153,235,154,43,154,234,100,2,153,218,153,224,229,246,97,128,9,88,237,225,232,229,226,242,229,119,128,5,168,102,4,153,245,153,254,154,12,154,28,225,242,225,226,233,99,128,6,66,230,233,238,225,236,225,242,225,226,233,99,128,254,214,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,215,237,229,228,233,225,236,225,242,225,226,233,99,128,254,216,237,225,244,115,136,5,184,154,66,154,86,154,100,154,105,154,110,154,119,154,134,154,221,49,3,154,74,154,78,154,82,48,128,5,184,97,128,5,184,99,128,5,184,50,2,154,92,154,96,55,128,5,184,57,128,5,184,179,51,128,5,184,228,101,128,5,184,232,229,226,242,229,119,128,5,184,238,225,242,242,239,247,232,229,226,242,229,119,128,5,184,113,2,154,140,154,206,225,244,225,110,4,154,153,154,162,154,177,154,193,232,229,226,242,229,119,128,5,184,238,225,242,242,239,247,232,229,226,242,229,119,128,5,184,241,245,225,242,244,229,242,232,229,226,242,229,119,128,5,184,247,233,228,229,232,229,226,242,229,119,128,5,184,245,225,242,244,229,242,232,229,226,242,229,119,128,5,184,247,233,228,229,232,229,226,242,229,119,128,5,184,242,238,229,249,240,225,242,225,232,229,226,242,229,119,128,5,159,226,239,240,239,237,239,230,111,128,49,17,227,233,242,227,236,101,128,36,224,232,239,239,107,128,2,160,237,239,238,239,243,240,225,227,101,128,255,81,239,102,130,5,231,155,43,155,63,228,225,231,229,243,104,129,251,71,155,54,232,229,226,242,229,119,128,251,71,232,229,226,242,229,119,128,5,231,240,225,242,229,110,128,36,172,117,4,155,90,155,102,155,191,156,22,225,242,244,229,242,238,239,244,101,128,38,105,226,245,244,115,135,5,187,155,123,155,128,155,133,155,138,155,147,155,162,155,178,177,56,128,5,187,178,53,128,5,187,179,49,128,5,187,232,229,226,242,229,119,128,5,187,238,225,242,242,239,247,232,229,226,242,229,119,128,5,187,241,245,225,242,244,229,242,232,229,226,242,229,119,128,5,187,247,233,228,229,232,229,226,242,229,119,128,5,187,229,243,244,233,239,110,133,0,63,155,210,155,233,155,250,156,2,156,14,225,114,2,155,217,155,224,225,226,233,99,128,6,31,237,229,238,233,225,110,128,5,94,228,239,247,110,129,0,191,155,242,243,237,225,236,108,128,247,191,231,242,229,229,107,128,3,126,237,239,238,239,243,240,225,227,101,128,255,31,243,237,225,236,108,128,247,63,239,244,101,4,156,34,156,105,156,125,156,154,228,226,108,133,0,34,156,50,156,57,156,64,156,76,156,97,226,225,243,101,128,32,30,236,229,230,116,128,32,28,237,239,238,239,243,240,225,227,101,128,255,2,240,242,233,237,101,129,48,30,156,86,242,229,246,229,242,243,229,100,128,48,29,242,233,231,232,116,128,32], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+245880);
/* memory initializer */ allocate([29,236,229,230,116,129,32,24,156,114,242,229,246,229,242,243,229,100,128,32,27,114,2,156,131,156,141,229,246,229,242,243,229,100,128,32,27,233,231,232,116,129,32,25,156,150,110,128,1,73,243,233,238,231,108,2,156,164,156,171,226,225,243,101,128,32,26,101,129,0,39,156,177,237,239,238,239,243,240,225,227,101,128,255,7,114,145,0,114,156,227,157,231,157,242,158,33,158,84,159,101,159,125,159,220,161,254,162,35,162,47,162,101,162,109,163,15,163,26,163,61,163,161,97,11,156,251,157,6,157,16,157,23,157,88,157,104,157,129,157,140,157,165,157,188,157,225,225,242,237,229,238,233,225,110,128,5,124,226,229,238,231,225,236,105,128,9,176,227,245,244,101,128,1,85,100,4,157,33,157,39,157,53,157,79,229,246,97,128,9,48,233,227,225,108,129,34,26,157,48,229,120,128,248,229,239,246,229,242,243,243,241,245,225,242,101,129,51,174,157,69,228,243,241,245,225,242,101,128,51,175,243,241,245,225,242,101,128,51,173,230,101,129,5,191,157,95,232,229,226,242,229,119,128,5,191,231,117,2,157,111,157,120,234,225,242,225,244,105,128,10,176,242,237,245,235,232,105,128,10,48,232,233,242,225,231,225,238,97,128,48,137,235,225,244,225,235,225,238,97,129,48,233,157,153,232,225,236,230,247,233,228,244,104,128,255,151,236,239,247,229,242,228,233,225,231,239,238,225,236,226,229,238,231,225,236,105,128,9,241,109,2,157,194,157,217,233,228,228,236,229,228,233,225,231,239,238,225,236,226,229,238,231,225,236,105,128,9,240,243,232,239,242,110,128,2,100,244,233,111,128,34,54,226,239,240,239,237,239,230,111,128,49,22,99,4,157,252,158,3,158,12,158,20,225,242,239,110,128,1,89,229,228,233,236,236,97,128,1,87,233,242,227,236,101,128,36,225,239,237,237,225,225,227,227,229,238,116,128,1,87,100,2,158,39,158,49,226,236,231,242,225,246,101,128,2,17,239,116,2,158,56,158,65,225,227,227,229,238,116,128,30,89,226,229,236,239,119,129,30,91,158,75,237,225,227,242,239,110,128,30,93,101,6,158,98,158,143,158,178,158,233,159,2,159,35,102,2,158,104,158,117,229,242,229,238,227,229,237,225,242,107,128,32,59,236,229,248,243,117,2,158,127,158,134,226,243,229,116,128,34,134,240,229,242,243,229,116,128,34,135,231,233,243,244,229,114,2,158,154,158,159,229,100,128,0,174,115,2,158,165,158,171,225,238,115,128,248,232,229,242,233,102,128,246,218,104,3,158,186,158,209,158,223,225,114,2,158,193,158,200,225,226,233,99,128,6,49,237,229,238,233,225,110,128,5,128,230,233,238,225,236,225,242,225,226,233,99,128,254,174,233,242,225,231,225,238,97,128,48,140,235,225,244,225,235,225,238,97,129,48,236,158,246,232,225,236,230,247,233,228,244,104,128,255,154,243,104,130,5,232,159,11,159,26,228,225,231,229,243,232,232,229,226,242,229,119,128,251,72,232,229,226,242,229,119,128,5,232,118,3,159,43,159,56,159,88,229,242,243,229,228,244,233,236,228,101,128,34,61,233,97,2,159,63,159,72,232,229,226,242,229,119,128,5,151,237,245,231,242,225,243,232,232,229,226,242,229,119,128,5,151,236,239,231,233,227,225,236,238,239,116,128,35,16,230,233,243,232,232,239,239,107,129,2,126,159,114,242,229,246,229,242,243,229,100,128,2,127,104,2,159,131,159,154,97,2,159,137,159,147,226,229,238,231,225,236,105,128,9,221,228,229,246,97,128,9,93,111,131,3,193,159,164,159,193,159,207,239,107,129,2,125,159,171,244,245,242,238,229,100,129,2,123,159,182,243,245,240,229,242,233,239,114,128,2,181,243,249,237,226,239,236,231,242,229,229,107,128,3,241,244,233,227,232,239,239,235,237,239,100,128,2,222,105,6,159,234,161,22,161,68,161,79,161,104,161,240,229,245,108,9,160,0,160,35,160,50,160,64,160,110,160,124,160,210,160,223,161,2,97,2,160,6,160,21,227,233,242,227,236,229,235,239,242,229,225,110,128,50,113,240,225,242,229,238,235,239,242,229,225,110,128,50,17,227,233,242,227,236,229,235,239,242,229,225,110,128,50,99,232,233,229,245,232,235,239,242,229,225,110,128,49,64,107,2,160,70,160,102,233,249,229,239,107,2,160,80,160,89,235,239,242,229,225,110,128,49,58,243,233,239,243,235,239,242,229,225,110,128,49,105,239,242,229,225,110,128,49,57,237,233,229,245,237,235,239,242,229,225,110,128,49,59,112,3,160,132,160,164,160,179,97,2,160,138,160,152,238,243,233,239,243,235,239,242,229,225,110,128,49,108,242,229,238,235,239,242,229,225,110,128,50,3,232,233,229,245,240,232,235,239,242,229,225,110,128,49,63,233,229,245,112,2,160,188,160,197,235,239,242,229,225,110,128,49,60,243,233,239,243,235,239,242,229,225,110,128,49,107,243,233,239,243,235,239,242,229,225,110,128,49,61,116,2,160,229,160,244,232,233,229,245,244,232,235,239,242,229,225,110,128,49,62,233,235,229,245,244,235,239,242,229,225,110,128,49,106,249,229,239,242,233,238,232,233,229,245,232,235,239,242,229,225,110,128,49,109,231,232,116,2,161,30,161,38,225,238,231,236,101,128,34,31,116,2,161,44,161,58,225,227,235,226,229,236,239,247,227,237,98,128,3,25,242,233,225,238,231,236,101,128,34,191,232,233,242,225,231,225,238,97,128,48,138,235,225,244,225,235,225,238,97,129,48,234,161,92,232,225,236,230,247,233,228,244,104,128,255,152,110,2,161,110,161,226,103,131,2,218,161,120,161,131,161,137,226,229,236,239,247,227,237,98,128,3,37,227,237,98,128,3,10,232,225,236,102,2,161,146,161,192,236,229,230,116,131,2,191,161,159,161,170,161,181,225,242,237,229,238,233,225,110,128,5,89,226,229,236,239,247,227,237,98,128,3,28,227,229,238,244,229,242,229,100,128,2,211,242,233,231,232,116,130,2,190,161,204,161,215,226,229,236,239,247,227,237,98,128,3,57,227,229,238,244,229,242,229,100,128,2,210,246,229,242,244,229,228,226,242,229,246,101,128,2,19,244,244,239,242,245,243,241,245,225,242,101,128,51,81,108,2,162,4,162,15,233,238,229,226,229,236,239,119,128,30,95,239,238,231,236,229,103,129,2,124,162,26,244,245,242,238,229,100,128,2,122,237,239,238,239,243,240,225,227,101,128,255,82,111,3,162,55,162,66,162,91,232,233,242,225,231,225,238,97,128,48,141,235,225,244,225,235,225,238,97,129,48,237,162,79,232,225,236,230,247,233,228,244,104,128,255,155,242,245,225,244,232,225,105,128,14,35,240,225,242,229,110,128,36,173,114,3,162,117,162,153,162,183,97,3,162,125,162,135,162,142,226,229,238,231,225,236,105,128,9,220,228,229,246,97,128,9,49,231,245,242,237,245,235,232,105,128,10,92,229,104,2,162,160,162,169,225,242,225,226,233,99,128,6,145,230,233,238,225,236,225,242,225,226,233,99,128,251,141,246,239,227,225,236,233,99,4,162,199,162,209,162,216,162,227,226,229,238,231,225,236,105,128,9,224,228,229,246,97,128,9,96,231,245,234,225,242,225,244,105,128,10,224,246,239,247,229,236,243,233,231,110,3,162,243,162,253,163,4,226,229,238,231,225,236,105,128,9,196,228,229,246,97,128,9,68,231,245,234,225,242,225,244,105,128,10,196,243,245,240,229,242,233,239,114,128,246,241,116,2,163,32,163,40,226,236,239,227,107,128,37,144,245,242,238,229,100,129,2,121,163,50,243,245,240,229,242,233,239,114,128,2,180,117,4,163,71,163,82,163,107,163,154,232,233,242,225,231,225,238,97,128,48,139,235,225,244,225,235,225,238,97,129,48,235,163,95,232,225,236,230,247,233,228,244,104,128,255,153,112,2,163,113,163,148,229,101,2,163,120,163,134,237,225,242,235,226,229,238,231,225,236,105,128,9,242,243,233,231,238,226,229,238,231,225,236,105,128,9,243,233,225,104,128,246,221,244,232,225,105,128,14,36,246,239,227,225,236,233,99,4,163,177,163,187,163,194,163,205,226,229,238,231,225,236,105,128,9,139,228,229,246,97,128,9,11,231,245,234,225,242,225,244,105,128,10,139,246,239,247,229,236,243,233,231,110,3,163,221,163,231,163,238,226,229,238,231,225,236,105,128,9,195,228,229,246,97,128,9,67,231,245,234,225,242,225,244,105,128,10,195,115,147,0,115,164,35,166,5,166,16,166,142,166,181,169,123,169,134,172,21,174,159,174,205,174,232,175,167,175,234,177,11,177,21,177,207,178,24,178,194,178,204,97,9,164,55,164,65,164,86,164,158,164,183,164,194,164,219,164,251,165,35,226,229,238,231,225,236,105,128,9,184,227,245,244,101,129,1,91,164,74,228,239,244,225,227,227,229,238,116,128,30,101,100,5,164,98,164,107,164,113,164,127,164,143,225,242,225,226,233,99,128,6,53,229,246,97,128,9,56,230,233,238,225,236,225,242,225,226,233,99,128,254,186,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,187,237,229,228,233,225,236,225,242,225,226,233,99,128,254,188,231,117,2,164,165,164,174,234,225,242,225,244,105,128,10,184,242,237,245,235,232,105,128,10,56,232,233,242,225,231,225,238,97,128,48,85,235,225,244,225,235,225,238,97,129,48,181,164,207,232,225,236,230,247,233,228,244,104,128,255,123,236,236,225,236,236,225,232,239,245,225,236,225,249,232,229,247,225,243,225,236,236,225,237,225,242,225,226,233,99,128,253,250,237,229,235,104,130,5,225,165,6,165,26,228,225,231,229,243,104,129,251,65,165,17,232,229,226,242,229,119,128,251,65,232,229,226,242,229,119,128,5,225,242,97,5,165,48,165,122,165,130,165,180,165,188,97,5,165,60,165,68,165,76,165,107,165,115,225,244,232,225,105,128,14,50,229,244,232,225,105,128,14,65,233,237,225,233,109,2,165,86,165,97,225,236,225,233,244,232,225,105,128,14,68,245,225,238,244,232,225,105,128,14,67,237,244,232,225,105,128,14,51,244,232,225,105,128,14,48,229,244,232,225,105,128,14,64,105,3,165,138,165,162,165,173,105,2,165,144,165,155,236,229,230,244,244,232,225,105,128,248,134,244,232,225,105,128,14,53,236,229,230,244,244,232,225,105,128,248,133,244,232,225,105,128,14,52,239,244,232,225,105,128,14,66,117,3,165,196,165,246,165,253,101,3,165,204,165,228,165,239,101,2,165,210,165,221,236,229,230,244,244,232,225,105,128,248,136,244,232,225,105,128,14,55,236,229,230,244,244,232,225,105,128,248,135,244,232,225,105,128,14,54,244,232,225,105,128,14,56,245,244,232,225,105,128,14,57,226,239,240,239,237,239,230,111,128,49,25,99,5,166,28,166,49,166,58,166,107,166,129,225,242,239,110,129,1,97,166,37,228,239,244,225,227,227,229,238,116,128,30,103,229,228,233,236,236,97,128,1,95,232,247,97,131,2,89,166,70,166,81,166,100,227,249,242,233,236,236,233,99,128,4,217,228,233,229,242,229,243,233,243,227,249,242,233,236,236,233,99,128,4,219,232,239,239,107,128,2,90,233,242,99,2,166,115,166,120,236,101,128,36,226,245,237,230,236,229,120,128,1,93,239,237,237,225,225,227,227,229,238,116,128,2,25,228,239,116,2,166,150,166,159,225,227,227,229,238,116,128,30,97,226,229,236,239,119,129,30,99,166,169,228,239,244,225,227,227,229,238,116,128,30,105,101,9,166,201,166,217,166,252,167,61,167,164,167,191,167,216,168,41,168,68,225,231,245,236,236,226,229,236,239,247,227,237,98,128,3,60,99,2,166,223,166,245,239,238,100,129,32,51,166,231,244,239,238,229,227,232,233,238,229,243,101,128,2,202,244,233,239,110,128,0,167,229,110,4,167,7,167,16,167,30,167,46,225,242,225,226,233,99,128,6,51,230,233,238,225,236,225,242,225,226,233,99,128,254,178,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,179,237,229,228,233,225,236,225,242,225,226,233,99,128,254,180,231,239,108,135,5,182,167,81,167,95,167,100,167,109,167,124,167,140,167,151,49,2,167,87,167,91,51,128,5,182,102,128,5,182,178,99,128,5,182,232,229,226,242,229,119,128,5,182,238,225,242,242,239,247,232,229,226,242,229,119,128,5,182,241,245,225,242,244,229,242,232,229,226,242,229,119,128,5,182,244,225,232,229,226,242,229,119,128,5,146,247,233,228,229,232,229,226,242,229,119,128,5,182,104,2,167,170,167,181,225,242,237,229,238,233,225,110,128,5,125,233,242,225,231,225,238,97,128,48,91,235,225,244,225,235,225,238,97,129,48,187,167,204,232,225,236,230,247,233,228,244,104,128,255,126,237,105,2,167,223,168,10,227,239,236,239,110,131,0,59,167,237,167,246,168,2,225,242,225,226,233,99,128,6,27,237,239,238,239,243,240,225,227,101,128,255,27,243,237,225,236,108,128,254,84,246,239,233,227,229,228,237,225,242,235,235,225,238,97,129,48,156,168,29,232,225,236,230,247,233,228,244,104,128,255,159,238,116,2,168,48,168,58,233,243,241,245,225,242,101,128,51,34,239,243,241,245,225,242,101,128,51,35,246,229,110,142,0,55,168,102,168,111,168,121,168,151,168,158,168,168,168,193,168,220,168,254,169,10,169,21,169,54,169,62,169,73,225,242,225,226,233,99,128,6,103,226,229,238,231,225,236,105,128,9,237,227,233,242,227,236,101,129,36,102,168,132,233,238,246,229,242,243,229,243,225,238,243,243,229,242,233,102,128,39,144,228,229,246,97,128,9,109,229,233,231,232,244,232,115,128,33,94,231,117,2,168,175,168,184,234,225,242,225,244,105,128,10,237,242,237,245,235,232,105,128,10,109,232,97,2,168,200,168,211,227,235,225,242,225,226,233,99,128,6,103,238,231,250,232,239,117,128,48,39,105,2,168,226,168,244,228,229,239,231,242,225,240,232,233,227,240,225,242,229,110,128,50,38,238,230,229,242,233,239,114,128,32,135,237,239,238,239,243,240,225,227,101,128,255,23,239,236,228,243,244,249,236,101,128,247,55,112,2,169,27,169,34,225,242,229,110,128,36,122,229,114,2,169,41,169,47,233,239,100,128,36,142,243,233,225,110,128,6,247,242,239,237,225,110,128,33,118,243,245,240,229,242,233,239,114,128,32,119,116,2,169,79,169,117,229,229,110,2,169,87,169,96,227,233,242,227,236,101,128,36,112,112,2,169,102,169,109,225,242,229,110,128,36,132,229,242,233,239,100,128,36,152,232,225,105,128,14,87,230,244,232,249,240,232,229,110,128,0,173,104,7,169,150,170,124,170,135,170,149,171,94,171,107,172,15,97,6,169,164,169,175,169,185,169,196,170,83,170,108,225,242,237,229,238,233,225,110,128,5,119,226,229,238,231,225,236,105,128,9,182,227,249,242,233,236,236,233,99,128,4,72,100,2,169,202,170,42,228,97,4,169,213,169,222,169,253,170,11,225,242,225,226,233,99,128,6,81,228,225,237,237,97,2,169,232,169,241,225,242,225,226,233,99,128,252,97,244,225,238,225,242,225,226,233,99,128,252,94,230,225,244,232,225,225,242,225,226,233,99,128,252,96,235,225,243,242,97,2,170,21,170,30,225,242,225,226,233,99,128,252,98,244,225,238,225,242,225,226,233,99,128,252,95,101,132,37,146,170,54,170,61,170,69,170,78,228,225,242,107,128,37,147,236,233,231,232,116,128,37,145,237,229,228,233,245,109,128,37,146,246,97,128,9,54,231,117,2,170,90,170,99,234,225,242,225,244,105,128,10,182,242,237,245,235,232,105,128,10,54,236,243,232,229,236,229,244,232,229,226,242,229,119,128,5,147,226,239,240,239,237,239,230,111,128,49,21,227,232,225,227,249,242,233,236,236,233,99,128,4,73,101,4,170,159,170,224,170,234,170,251,229,110,4,170,170,170,179,170,193,170,209,225,242,225,226,233,99,128,6,52,230,233,238,225,236,225,242,225,226,233,99,128,254,182,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,183,237,229,228,233,225,236,225,242,225,226,233,99,128,254,184,233,227,239,240,244,233,99,128,3,227,241,229,108,129,32,170,170,242,232,229,226,242,229,119,128,32,170,246,97,134,5,176,171,12,171,27,171,41,171,50,171,65,171,81,49,2,171,18,171,23,177,53,128,5,176,53,128,5,176,50,2,171,33,171,37,50,128,5,176,101,128,5,176,232,229,226,242,229,119,128,5,176,238,225,242,242,239,247,232,229,226,242,229,119,128,5,176,241,245,225,242,244,229,242,232,229,226,242,229,119,128,5,176,247,233,228,229,232,229,226,242,229,119,128,5,176,232,225,227,249,242,233,236,236,233,99,128,4,187,105,2,171,113,171,124,237,225,227,239,240,244,233,99,128,3,237,110,131,5,233,171,134,171,217,171,226,100,2,171,140,171,206,225,231,229,243,104,130,251,73,171,152,171,161,232,229,226,242,229,119,128,251,73,115,2,171,167,171,187,232,233,238,228,239,116,129,251,44,171,178,232,229,226,242,229,119,128,251,44,233,238,228,239,116,129,251,45,171,197,232,229,226,242,229,119,128,251,45,239,244,232,229,226,242,229,119,128,5,193,232,229,226,242,229,119,128,5,233,115,2,171,232,171,252,232,233,238,228,239,116,129,251,42,171,243,232,229,226,242,229,119,128,251,42,233,238,228,239,116,129,251,43,172,6,232,229,226,242,229,119,128,251,43,239,239,107,128,2,130,105,8,172,39,172,83,172,94,172,119,172,149,172,157,172,170,173,85,231,237,97,131,3,195,172,51,172,55,172,63,49,128,3,194,230,233,238,225,108,128,3,194,236,245,238,225,244,229,243,249,237,226,239,236,231,242,229,229,107,128,3,242,232,233,242,225,231,225,238,97,128,48,87,235,225,244,225,235,225,238,97,129,48,183,172,107,232,225,236,230,247,233,228,244,104,128,255,124,236,245,113,2,172,127,172,136,232,229,226,242,229,119,128,5,189,236,229,230,244,232,229,226,242,229,119,128,5,189,237,233,236,225,114,128,34,60,238,228,239,244,232,229,226,242,229,119,128,5,194,239,115,6,172,185,172,220,172,252,173,24,173,38,173,70,97,2,172,191,172,206,227,233,242,227,236,229,235,239,242,229,225,110,128,50,116,240,225,242,229,238,235,239,242,229,225,110,128,50,20,227,105,2,172,227,172,239,229,245,227,235,239,242,229,225,110,128,49,126,242,227,236,229,235,239,242,229,225,110,128,50,102,107,2,173,2,173,16,233,249,229,239,235,235,239,242,229,225,110,128,49,122,239,242,229,225,110,128,49,69,238,233,229,245,238,235,239,242,229,225,110,128,49,123,112,2,173,44,173,57,225,242,229,238,235,239,242,229,225,110,128,50,6,233,229,245,240,235,239,242,229,225,110,128,49,125,244,233,235,229,245,244,235,239,242,229,225,110,128,49,124,120,141,0,54,173,115,173,124,173,134,173,164,173,171,173,196,173,223,174,1,174,13,174,24,174,57,174,65,174,76,225,242,225,226,233,99,128,6,102,226,229,238,231,225,236,105,128,9,236,227,233,242,227,236,101,129,36,101,173,145,233,238,246,229,242,243,229,243,225,238,243,243,229,242,233,102,128,39,143,228,229,246,97,128,9,108,231,117,2,173,178,173,187,234,225,242,225,244,105,128,10,236,242,237,245,235,232,105,128,10,108,232,97,2,173,203,173,214,227,235,225,242,225,226,233,99,128,6,102,238,231,250,232,239,117,128,48,38,105,2,173,229,173,247,228,229,239,231,242,225,240,232,233,227,240,225,242,229,110,128,50,37,238,230,229,242,233,239,114,128,32,134,237,239,238,239,243,240,225,227,101,128,255,22,239,236,228,243,244,249,236,101,128,247,54,112,2,174,30,174,37,225,242,229,110,128,36,121,229,114,2,174,44,174,50,233,239,100,128,36,141,243,233,225,110,128,6,246,242,239,237,225,110,128,33,117,243,245,240,229,242,233,239,114,128,32,118,116,2,174,82,174,153,229,229,110,2,174,90,174,132,99,2,174,96,174,104,233,242,227,236,101,128,36,111,245,242,242,229,238,227,249,228,229,238,239,237,233,238,225,244,239,242,226,229,238,231,225,236,105,128,9,249,112,2,174,138,174,145,225,242,229,110,128,36,131,229,242,233,239,100,128,36,151,232,225,105,128,14,86,108,2,174,165,174,185,225,243,104,129,0,47,174,173,237,239,238,239,243,240,225,227,101,128,255,15,239,238,103,129,1,127,174,193,228,239,244,225,227,227,229,238,116,128,30,155,109,2,174,211,174,221,233,236,229,230,225,227,101,128,38,58,239,238,239,243,240,225,227,101,128,255,83,111,6,174,246,175,40,175,51,175,76,175,121,175,132,102,2,174,252,175,10,240,225,243,245,241,232,229,226,242,229,119,128,5,195,116,2,175,16,175,25,232,249,240,232,229,110,128,0,173,243,233,231,238,227,249,242,233,236,236,233,99,128,4,76,232,233,242,225,231,225,238,97,128,48,93,235,225,244,225,235,225,238,97,129,48,189,175,64,232,225,236,230,247,233,228,244,104,128,255,127,236,233,228,245,115,2,175,86,175,103,236,239,238,231,239,246,229,242,236,225,249,227,237,98,128,3,56,243,232,239,242,244,239,246,229,242,236,225,249,227,237,98,128,3,55,242,245,243,233,244,232,225,105,128,14,41,115,3,175,140,175,150,175,158,225,236,225,244,232,225,105,128,14,40,239,244,232,225,105,128,14,11,245,225,244,232,225,105,128,14,42,240,97,3,175,176,175,196,175,228,227,101,129,0,32,175,183,232,225,227,235,225,242,225,226,233,99,128,0,32,228,101,129,38,96,175,203,243,245,233,116,2,175,212,175,220,226,236,225,227,107,128,38,96,247,232,233,244,101,128,38,100,242,229,110,128,36,174,241,245,225,242,101,11,176,6,176,17,176,31,176,56,176,73,176,99,176,114,176,147,176,174,176,230,176,245,226,229,236,239,247,227,237,98,128,3,59,99,2,176,23,176,27,99,128,51,196,109,128,51,157,228,233,225,231,239,238,225,236,227,242,239,243,243,232,225,244,227,232,230,233,236,108,128,37,169,232,239,242,233,250,239,238,244,225,236,230,233,236,108,128,37,164,107,2,176,79,176,83,103,128,51,143,109,129,51,158,176,89,227,225,240,233,244,225,108,128,51,206,108,2,176,105,176,109,110,128,51,209,239,103,128,51,210,109,4,176,124,176,128,176,133,176,137,103,128,51,142,233,108,128,51,213,109,128,51,156,243,241,245,225,242,229,100,128,51,161,239,242,244,232,239,231,239,238,225,236,227,242,239,243,243,232,225,244,227,232,230,233,236,108,128,37,166,245,240,240,229,114,2,176,184,176,207,236,229,230,244,244,239,236,239,247,229,242,242,233,231,232,244,230,233,236,108,128,37,167,242,233,231,232,244,244,239,236,239,247,229,242,236,229,230,244,230,233,236,108,128,37,168,246,229,242,244,233,227,225,236,230,233,236,108,128,37,165,247,232,233,244,229,247,233,244,232,243,237,225,236,236,226,236,225,227,107,128,37,163,242,243,241,245,225,242,101,128,51,219,115,2,177,27,177,197,97,4,177,37,177,47,177,54,177,65,226,229,238,231,225,236,105,128,9,183,228,229,246,97,128,9,55,231,245,234,225,242,225,244,105,128,10,183,238,103,8,177,84,177,98,177,112,177,126,177,141,177,155,177,169,177,182,227,233,229,245,227,235,239,242,229,225,110,128,49,73,232,233,229,245,232,235,239,242,229,225,110,128,49,133,233,229,245,238,231,235,239,242,229,225,110,128,49,128,235,233,249,229,239,235,235,239,242,229,225,110,128,49,50,238,233,229,245,238,235,239,242,229,225,110,128,49,101,240,233,229,245,240,235,239,242,229,225,110,128,49,67,243,233,239,243,235,239,242,229,225,110,128,49,70,244,233,235,229,245,244,235,239,242,229,225,110,128,49,56,245,240,229,242,233,239,114,128,246,242,116,2,177,213,177,236,229,242,236,233,238,103,129,0,163,177,224,237,239,238,239,243,240,225,227,101,128,255,225,242,239,235,101,2,177,245,178,6,236,239,238,231,239,246,229,242,236,225,249,227,237,98,128,3,54,243,232,239,242,244,239,246,229,242,236,225,249,227,237,98,128,3,53,117,7,178,40,178,72,178,94,178,105,178,146,178,156,178,160,226,243,229,116,130,34,130,178,51,178,62,238,239,244,229,241,245,225,108,128,34,138,239,242,229,241,245,225,108,128,34,134,99,2,178,78,178,86,227,229,229,228,115,128,34,123,232,244,232,225,116,128,34,11,232,233,242,225,231,225,238,97,128,48,89,107,2,178,111,178,135,225,244,225,235,225,238,97,129,48,185,178,123,232,225,236,230,247,233,228,244,104,128,255,125,245,238,225,242,225,226,233,99,128,6,82,237,237,225,244,233,239,110,128,34,17,110,128,38,60,240,229,242,243,229,116,130,34,131,178,173,178,184,238,239,244,229,241,245,225,108,128,34,139,239,242,229,241,245,225,108,128,34,135,246,243,241,245,225,242,101,128,51,220,249,239,245,247,225,229,242,225,243,241,245,225,242,101,128,51,124,116,144,0,116,179,1,180,10,180,31,180,174,180,214,183,6,186,144,187,219,187,231,187,243,189,20,189,45,189,131,190,55,190,239,191,73,97,10,179,23,179,33,179,54,179,61,179,86,179,164,179,181,179,206,179,220,179,224,226,229,238,231,225,236,105,128,9,164,227,107,2,179,40,179,47,228,239,247,110,128,34,164,236,229,230,116,128,34,163,228,229,246,97,128,9,36,231,117,2,179,68,179,77,234,225,242,225,244,105,128,10,164,242,237,245,235,232,105,128,10,36,104,4,179,96,179,105,179,119,179,149,225,242,225,226,233,99,128,6,55,230,233,238,225,236,225,242,225,226,233,99,128,254,194,105,2,179,125,179,140,238,233,244,233,225,236,225,242,225,226,233,99,128,254,195,242,225,231,225,238,97,128,48,95,237,229,228,233,225,236,225,242,225,226,233,99,128,254,196,233,243,249,239,245,229,242,225,243,241,245,225,242,101,128,51,125,235,225,244,225,235,225,238,97,129,48,191,179,194,232,225,236,230,247,233,228,244,104,128,255,128,244,247,229,229,236,225,242,225,226,233,99,128,6,64,117,128,3,196,118,130,5,234,179,232,180,1,228,225,231,229,115,129,251,74,179,242,104,129,251,74,179,248,232,229,226,242,229,119,128,251,74,232,229,226,242,229,119,128,5,234,98,2,180,16,180,21,225,114,128,1,103,239,240,239,237,239,230,111,128,49,10,99,6,180,45,180,52,180,59,180,68,180,134,180,161,225,242,239,110,128,1,101,227,245,242,108,128,2,168,229,228,233,236,236,97,128,1,99,232,229,104,4,180,80,180,89,180,103,180,119,225,242,225,226,233,99,128,6,134,230,233,238,225,236,225,242,225,226,233,99,128,251,123,233,238,233,244,233,225,236,225,242,225,226,233,99,128,251,124,237,229,228,233,225,236,225,242,225,226,233,99,128,251,125,233,242,99,2,180,142,180,147,236,101,128,36,227,245,237,230,236,229,248,226,229,236,239,119,128,30,113,239,237,237,225,225,227,227,229,238,116,128,1,99,100,2,180,180,180,190,233,229,242,229,243,233,115,128,30,151,239,116,2,180,197,180,206,225,227,227,229,238,116,128,30,107,226,229,236,239,119,128,30,109,101,9,180,234,180,245,181,9,182,19,182,44,182,108,182,175,182,180,182,232,227,249,242,233,236,236,233,99,128,4,66,228,229,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,173,104,7,181,25,181,34,181,48,181,88,181,118,181,159,182,1,225,242,225,226,233,99,128,6,42,230,233,238,225,236,225,242,225,226,233,99,128,254,150,232,225,232,105,2,181,57,181,72,238,233,244,233,225,236,225,242,225,226,233,99,128,252,162,243,239,236,225,244,229,228,225,242,225,226,233,99,128,252,12,105,2,181,94,181,109,238,233,244,233,225,236,225,242,225,226,233,99,128,254,151,242,225,231,225,238,97,128,48,102,234,229,229,237,105,2,181,128,181,143,238,233,244,233,225,236,225,242,225,226,233,99,128,252,161,243,239,236,225,244,229,228,225,242,225,226,233,99,128,252,11,109,2,181,165,181,199,225,242,226,245,244,97,2,181,176,181,185,225,242,225,226,233,99,128,6,41,230,233,238,225,236,225,242,225,226,233,99,128,254,148,101,2,181,205,181,218,228,233,225,236,225,242,225,226,233,99,128,254,152,229,237,105,2,181,226,181,241,238,233,244,233,225,236,225,242,225,226,233,99,128,252,164,243,239,236,225,244,229,228,225,242,225,226,233,99,128,252,14,238,239,239,238,230,233,238,225,236,225,242,225,226,233,99,128,252,115,235,225,244,225,235,225,238,97,129,48,198,182,32,232,225,236,230,247,233,228,244,104,128,255,131,108,2,182,50,182,69,229,240,232,239,238,101,129,33,33,182,61,226,236,225,227,107,128,38,14,233,243,232,97,2,182,78,182,93,231,229,228,239,236,225,232,229,226,242,229,119,128,5,160,241,229,244,225,238,225,232,229,226,242,229,119,128,5,169,110,4,182,118,182,127,182,146,182,167,227,233,242,227,236,101,128,36,105,233,228,229,239,231,242,225,240,232,233,227,240,225,242,229,110,128,50,41,112,2,182,152,182,159,225,242,229,110,128,36,125,229,242,233,239,100,128,36,145,242,239,237,225,110,128,33,121,243,104,128,2,167,116,131,5,216,182,190,182,210,182,219,228,225,231,229,243,104,129,251,56,182,201,232,229,226,242,229,119,128,251,56,232,229,226,242,229,119,128,5,216,243,229,227,249,242,233,236,236,233,99,128,4,181,246,233,114,2,182,240,182,249,232,229,226,242,229,119,128,5,155,236,229,230,244,232,229,226,242,229,119,128,5,155,104,6,183,20,183,172,184,38,184,170,185,77,186,134,97,5,183,32,183,42,183,49,183,74,183,103,226,229,238,231,225,236,105,128,9,165,228,229,246,97,128,9,37,231,117,2,183,56,183,65,234,225,242,225,244,105,128,10,165,242,237,245,235,232,105,128,10,37,108,2,183,80,183,89,225,242,225,226,233,99,128,6,48,230,233,238,225,236,225,242,225,226,233,99,128,254,172,238,244,232,225,235,232,225,116,3,183,118,183,149,183,156,236,239,119,2,183,126,183,137,236,229,230,244,244,232,225,105,128,248,152,242,233,231,232,244,244,232,225,105,128,248,151,244,232,225,105,128,14,76,245,240,240,229,242,236,229,230,244,244,232,225,105,128,248,150,101,3,183,180,183,244,184,11,104,4,183,190,183,199,183,213,183,229,225,242,225,226,233,99,128,6,43,230,233,238,225,236,225,242,225,226,233,99,128,254,154,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,155,237,229,228,233,225,236,225,242,225,226,233,99,128,254,156,242,101,2,183,251,184,4,229,248,233,243,244,115,128,34,3,230,239,242,101,128,34,52,244,97,130,3,184,184,20,184,24,49,128,3,209,243,249,237,226,239,236,231,242,229,229,107,128,3,209,105,2,184,44,184,130,229,245,244,104,4,184,57,184,92,184,107,184,116,97,2,184,63,184,78,227,233,242,227,236,229,235,239,242,229,225,110,128,50,121,240,225,242,229,238,235,239,242,229,225,110,128,50,25,227,233,242,227,236,229,235,239,242,229,225,110,128,50,107,235,239,242,229,225,110,128,49,76,240,225,242,229,238,235,239,242,229,225,110,128,50,11,242,244,229,229,110,2,184,140,184,149,227,233,242,227,236,101,128,36,108,112,2,184,155,184,162,225,242,229,110,128,36,128,229,242,233,239,100,128,36,148,111,6,184,184,184,201,184,206,184,220,184,225,185,22,238,225,238,231,237,239,238,244,232,239,244,232,225,105,128,14,17,239,107,128,1,173,240,232,245,244,232,225,239,244,232,225,105,128,14,18,242,110,128,0,254,244,104,3,184,234,185,2,185,12,97,2,184,240,184,250,232,225,238,244,232,225,105,128,14,23,238,244,232,225,105,128,14,16,239,238,231,244,232,225,105,128,14,24,245,238,231,244,232,225,105,128,14,22,245,243,225,238,100,2,185,32,185,43,227,249,242,233,236,236,233,99,128,4,130,243,243,229,240,225,242,225,244,239,114,2,185,58,185,67,225,242,225,226,233,99,128,6,108,240,229,242,243,233,225,110,128,6,108,242,229,101,144,0,51,185,115,185,124,185,134,185,164,185,171,185,181,185,206,185,233,186,11,186,23,186,42,186,53,186,86,186,108,186,116,186,127,225,242,225,226,233,99,128,6,99,226,229,238,231,225,236,105,128,9,233,227,233,242,227,236,101,129,36,98,185,145,233,238,246,229,242,243,229,243,225,238,243,243,229,242,233,102,128,39,140,228,229,246,97,128,9,105,229,233,231,232,244,232,115,128,33,92,231,117,2,185,188,185,197,234,225,242,225,244,105,128,10,233,242,237,245,235,232,105,128,10,105,232,97,2,185,213,185,224,227,235,225,242,225,226,233,99,128,6,99,238,231,250,232,239,117,128,48,35,105,2,185,239,186,1,228,229,239,231,242,225,240,232,233,227,240,225,242,229,110,128,50,34,238,230,229,242,233,239,114,128,32,131,237,239,238,239,243,240,225,227,101,128,255,19,238,245,237,229,242,225,244,239,242,226,229,238,231,225,236,105,128,9,246,239,236,228,243,244,249,236,101,128,247,51,112,2,186,59,186,66,225,242,229,110,128,36,118,229,114,2,186,73,186,79,233,239,100,128,36,138,243,233,225,110,128,6,243,241,245,225,242,244,229,242,115,129,0,190,186,99,229,237,228,225,243,104,128,246,222,242,239,237,225,110,128,33,114,243,245,240,229,242,233,239,114,128,0,179,244,232,225,105,128,14,83,250,243,241,245,225,242,101,128,51,148,105,7,186,160,186,171,187,30,187,128,187,140,187,189,187,206,232,233,242,225,231,225,238,97,128,48,97,107,2,186,177,186,201,225,244,225,235,225,238,97,129,48,193,186,189,232,225,236,230,247,233,228,244,104,128,255,129,229,245,116,4,186,213,186,248,187,7,187,16,97,2,186,219,186,234,227,233,242,227,236,229,235,239,242,229,225,110,128,50,112,240,225,242,229,238,235,239,242,229,225,110,128,50,16,227,233,242,227,236,229,235,239,242,229,225,110,128,50,98,235,239,242,229,225,110,128,49,55,240,225,242,229,238,235,239,242,229,225,110,128,50,2,236,228,101,133,2,220,187,46,187,57,187,74,187,86,187,114,226,229,236,239,247,227,237,98,128,3,48,99,2,187,63,187,68,237,98,128,3,3,239,237,98,128,3,3,228,239,245,226,236,229,227,237,98,128,3,96,111,2,187,92,187,102,240,229,242,225,244,239,114,128,34,60,246,229,242,236,225,249,227,237,98,128,3,52,246,229,242,244,233,227,225,236,227,237,98,128,3,62,237,229,243,227,233,242,227,236,101,128,34,151,112,2,187,146,187,176,229,232,97,2,187,154,187,163,232,229,226,242,229,119,128,5,150,236,229,230,244,232,229,226,242,229,119,128,5,150,240,233,231,245,242,237,245,235,232,105,128,10,112,244,236,239,227,249,242,233,236,236,233,227,227,237,98,128,4,131,247,238,225,242,237,229,238,233,225,110,128,5,127,236,233,238,229,226,229,236,239,119,128,30,111,237,239,238,239,243,240,225,227,101,128,255,84,111,7,188,3,188,14,188,25,188,50,188,170,188,182,189,10,225,242,237,229,238,233,225,110,128,5,105,232,233,242,225,231,225,238,97,128,48,104,235,225,244,225,235,225,238,97,129,48,200,188,38,232,225,236,230,247,233,228,244,104,128,255,132,110,3,188,58,188,156,188,161,101,4,188,68,188,137,188,144,188,150,226,225,114,4,188,80,188,109,188,119,188,128,229,248,244,242,97,2,188,90,188,100,232,233,231,232,237,239,100,128,2,229,236,239,247,237,239,100,128,2,233,232,233,231,232,237,239,100,128,2,230,236,239,247,237,239,100,128,2,232,237,233,228,237,239,100,128,2,231,230,233,246,101,128,1,189,243,233,120,128,1,133,244,247,111,128,1,168,239,115,128,3,132,243,241,245,225,242,101,128,51,39,240,225,244,225,235,244,232,225,105,128,14,15,242,244,239,233,243,229,243,232,229,236,236,226,242,225,227,235,229,116,2,188,205,188,235,236,229,230,116,130,48,20,188,216,188,224,243,237,225,236,108,128,254,93,246,229,242,244,233,227,225,108,128,254,57,242,233,231,232,116,130,48,21,188,247,188,255,243,237,225,236,108,128,254,94,246,229,242,244,233,227,225,108,128,254,58,244,225,239,244,232,225,105,128,14,21,240,97,2,189,27,189,39,236,225,244,225,236,232,239,239,107,128,1,171,242,229,110,128,36,175,114,3,189,53,189,84,189,99,225,228,229,237,225,242,107,129,33,34,189,65,115,2,189,71,189,77,225,238,115,128,248,234,229,242,233,102,128,246,219,229,244,242,239,230,236,229,248,232,239,239,107,128,2,136,233,225,103,4,189,111,189,116,189,121,189,126,228,110,128,37,188,236,102,128,37,196,242,116,128,37,186,245,112,128,37,178,115,132,2,166,189,143,189,182,190,32,190,45,225,228,105,130,5,230,189,153,189,173,228,225,231,229,243,104,129,251,70,189,164,232,229,226,242,229,119,128,251,70,232,229,226,242,229,119,128,5,230,101,2,189,188,189,199,227,249,242,233,236,236,233,99,128,4,70,242,101,134,5,181,189,216,189,230,189,235,189,244,190,3,190,19,49,2,189,222,189,226,50,128,5,181,101,128,5,181,178,98,128,5,181,232,229,226,242,229,119,128,5,181,238,225,242,242,239,247,232,229,226,242,229,119,128,5,181,241,245,225,242,244,229,242,232,229,226,242,229,119,128,5,181,247,233,228,229,232,229,226,242,229,119,128,5,181,232,229,227,249,242,233,236,236,233,99,128,4,91,245,240,229,242,233,239,114,128,246,243,116,4,190,65,190,115,190,180,190,231,97,3,190,73,190,83,190,90,226,229,238,231,225,236,105,128,9,159,228,229,246,97,128,9,31,231,117,2,190,97,190,106,234,225,242,225,244,105,128,10,159,242,237,245,235,232,105,128,10,31,229,104,4,190,126,190,135,190,149,190,165,225,242,225,226,233,99,128,6,121,230,233,238,225,236,225,242,225,226,233,99,128,251,103,233,238,233,244,233,225,236,225,242,225,226,233,99,128,251,104,237,229,228,233,225,236,225,242,225,226,233,99,128,251,105,232,97,3,190,189,190,199,190,206,226,229,238,231,225,236,105,128,9,160,228,229,246,97,128,9,32,231,117,2,190,213,190,222,234,225,242,225,244,105,128,10,160,242,237,245,235,232,105,128,10,32,245,242,238,229,100,128,2,135,117,3,190,247,191,2,191,27,232,233,242,225,231,225,238,97,128,48,100,235,225,244,225,235,225,238,97,129,48,196,191,15,232,225,236,230,247,233,228,244,104,128,255,130,243,237,225,236,108,2,191,37,191,48,232,233,242,225,231,225,238,97,128,48,99,235,225,244,225,235,225,238,97,129,48,195,191,61,232,225,236,230,247,233,228,244,104,128,255,111,119,2,191,79,191,184,101,2,191,85,191,133,236,246,101,3,191,95,191,104,191,125,227,233,242,227,236,101,128,36,107,112,2,191,110,191,117,225,242,229,110,128,36,127,229,242,233,239,100,128,36,147,242,239,237,225,110,128,33,123,238,244,121,3,191,143,191,152,191,163,227,233,242,227,236,101,128,36,115,232,225,238,231,250,232,239,117,128,83,68,112,2,191,169,191,176,225,242,229,110,128,36,135,229,242,233,239,100,128,36,155,111,142,0,50,191,216,191,225,191,235,192,9,192,61,192,86,192,113,192,147,192,159,192,178,192,189,192,222,192,230,192,254,225,242,225,226,233,99,128,6,98,226,229,238,231,225,236,105,128,9,232,227,233,242,227,236,101,129,36,97,191,246,233,238,246,229,242,243,229,243,225,238,243,243,229,242,233,102,128,39,139,100,2,192,15,192,21,229,246,97,128,9,104,239,116,2,192,28,192,39,229,238,236,229,225,228,229,114,128,32,37,236,229,225,228,229,114,129,32,37,192,50,246,229,242,244,233,227,225,108,128,254,48,231,117,2,192,68,192,77,234,225,242,225,244,105,128,10,232,242,237,245,235,232,105,128,10,104,232,97,2,192,93,192,104,227,235,225,242,225,226,233,99,128,6,98,238,231,250,232,239,117,128,48,34,105,2,192,119,192,137,228,229,239,231,242,225,240,232,233,227,240,225,242,229,110,128,50,33,238,230,229,242,233,239,114,128,32,130,237,239,238,239,243,240,225,227,101,128,255,18,238,245,237,229,242,225,244,239,242,226,229,238,231,225,236,105,128,9,245,239,236,228,243,244,249,236,101,128,247,50,112,2,192,195,192,202,225,242,229,110,128,36,117,229,114,2,192,209,192,215,233,239,100,128,36,137,243,233,225,110,128,6,242,242,239,237,225,110,128,33,113,115,2,192,236,192,244,244,242,239,235,101,128,1,187,245,240,229,242,233,239,114,128,0,178,244,104,2,193,5,193,10,225,105,128,14,82,233,242,228,115,128,33,84,117,145,0,117,193,55,193,63,193,104,193,161,194,43,194,80,194,203,194,219,195,14,195,84,195,165,195,174,196,37,196,61,196,169,196,197,197,55,225,227,245,244,101,128,0,250,98,4,193,73,193,78,193,87,193,97,225,114,128,2,137,229,238,231,225,236,105,128,9,137,239,240,239,237,239,230,111,128,49,40,242,229,246,101,128,1,109,99,3,193,112,193,119,193,151,225,242,239,110,128,1,212,233,242,99,2,193,127,193,132,236,101,128,36,228,245,237,230,236,229,120,129,0,251,193,143,226,229,236,239,119,128,30,119,249,242,233,236,236,233,99,128,4,67,100,5,193,173,193,184,193,207,193,213,194,33,225,244,244,225,228,229,246,97,128,9,81,226,108,2,193,191,193,199,225,227,245,244,101,128,1,113,231,242,225,246,101,128,2,21,229,246,97,128,9,9,233,229,242,229,243,233,115,133,0,252,193,233,193,241,193,249,194,16,194,24,225,227,245,244,101,128,1,216,226,229,236,239,119,128,30,115,99,2,193,255,194,6,225,242,239,110,128,1,218,249,242,233,236,236,233,99,128,4,241,231,242,225,246,101,128,1,220,237,225,227,242,239,110,128,1,214,239,244,226,229,236,239,119,128,30,229,103,2,194,49,194,56,242,225,246,101,128,0,249,117,2,194,62,194,71,234,225,242,225,244,105,128,10,137,242,237,245,235,232,105,128,10,9,104,3,194,88,194,98,194,176,233,242,225,231,225,238,97,128,48,70,111,2,194,104,194,114,239,235,225,226,239,246,101,128,30,231,242,110,133,1,176,194,129,194,137,194,148,194,156,194,168,225,227,245,244,101,128,30,233,228,239,244,226,229,236,239,119,128,30,241,231,242,225,246,101,128,30,235,232,239,239,235,225,226,239,246,101,128,30,237,244,233,236,228,101,128,30,239,245,238,231,225,242,245,237,236,225,245,116,129,1,113,194,192,227,249,242,233,236,236,233,99,128,4,243,233,238,246,229,242,244,229,228,226,242,229,246,101,128,2,23,107,3,194,227,194,251,195,6,225,244,225,235,225,238,97,129,48,166,194,239,232,225,236,230,247,233,228,244,104,128,255,115,227,249,242,233,236,236,233,99,128,4,121,239,242,229,225,110,128,49,92,109,2,195,20,195,73,97,2,195,26,195,59,227,242,239,110,130,1,107,195,37,195,48,227,249,242,233,236,236,233,99,128,4,239,228,233,229,242,229,243,233,115,128,30,123,244,242,225,231,245,242,237,245,235,232,105,128,10,65,239,238,239,243,240,225,227,101,128,255,85,110,2,195,90,195,145,228,229,242,243,227,239,242,101,132,0,95,195,109,195,115,195,127,195,138,228,226,108,128,32,23,237,239,238,239,243,240,225,227,101,128,255,63,246,229,242,244,233,227,225,108,128,254,51,247,225,246,121,128,254,79,105,2,195,151,195,156,239,110,128,34,42,246,229,242,243,225,108,128,34,0,239,231,239,238,229,107,128,1,115,112,5,195,186,195,193,195,201,195,216,196,11,225,242,229,110,128,36,176,226,236,239,227,107,128,37,128,240,229,242,228,239,244,232,229,226,242,229,119,128,5,196,243,233,236,239,110,131,3,197,195,230,195,251,196,3,228,233,229,242,229,243,233,115,129,3,203,195,243,244,239,238,239,115,128,3,176,236,225,244,233,110,128,2,138,244,239,238,239,115,128,3,205,244,225,227,107,2,196,20,196,31,226,229,236,239,247,227,237,98,128,3,29,237,239,100,128,2,212,114,2,196,43,196,55,225,231,245,242,237,245,235,232,105,128,10,115,233,238,103,128,1,111,115,3,196,69,196,84,196,129,232,239,242,244,227,249,242,233,236,236,233,99,128,4,94,237,225,236,108,2,196,93,196,104,232,233,242,225,231,225,238,97,128,48,69], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+256120);
/* memory initializer */ allocate([235,225,244,225,235,225,238,97,129,48,165,196,117,232,225,236,230,247,233,228,244,104,128,255,105,244,242,225,233,231,232,116,2,196,141,196,152,227,249,242,233,236,236,233,99,128,4,175,243,244,242,239,235,229,227,249,242,233,236,236,233,99,128,4,177,244,233,236,228,101,130,1,105,196,181,196,189,225,227,245,244,101,128,30,121,226,229,236,239,119,128,30,117,117,5,196,209,196,219,196,226,196,251,197,11,226,229,238,231,225,236,105,128,9,138,228,229,246,97,128,9,10,231,117,2,196,233,196,242,234,225,242,225,244,105,128,10,138,242,237,245,235,232,105,128,10,10,237,225,244,242,225,231,245,242,237,245,235,232,105,128,10,66,246,239,247,229,236,243,233,231,110,3,197,27,197,37,197,44,226,229,238,231,225,236,105,128,9,194,228,229,246,97,128,9,66,231,245,234,225,242,225,244,105,128,10,194,246,239,247,229,236,243,233,231,110,3,197,71,197,81,197,88,226,229,238,231,225,236,105,128,9,193,228,229,246,97,128,9,65,231,245,234,225,242,225,244,105,128,10,193,118,139,0,118,197,125,198,17,198,26,198,37,198,222,198,229,199,71,199,83,199,183,199,191,199,212,97,4,197,135,197,142,197,167,197,178,228,229,246,97,128,9,53,231,117,2,197,149,197,158,234,225,242,225,244,105,128,10,181,242,237,245,235,232,105,128,10,53,235,225,244,225,235,225,238,97,128,48,247,118,132,5,213,197,190,197,217,197,249,198,5,228,225,231,229,243,104,130,251,53,197,203,197,208,182,53,128,251,53,232,229,226,242,229,119,128,251,53,104,2,197,223,197,231,229,226,242,229,119,128,5,213,239,236,225,109,129,251,75,197,240,232,229,226,242,229,119,128,251,75,246,225,246,232,229,226,242,229,119,128,5,240,249,239,228,232,229,226,242,229,119,128,5,241,227,233,242,227,236,101,128,36,229,228,239,244,226,229,236,239,119,128,30,127,101,6,198,51,198,62,198,126,198,137,198,143,198,210,227,249,242,233,236,236,233,99,128,4,50,104,4,198,72,198,81,198,95,198,111,225,242,225,226,233,99,128,6,164,230,233,238,225,236,225,242,225,226,233,99,128,251,107,233,238,233,244,233,225,236,225,242,225,226,233,99,128,251,108,237,229,228,233,225,236,225,242,225,226,233,99,128,251,109,235,225,244,225,235,225,238,97,128,48,249,238,245,115,128,38,64,242,244,233,227,225,108,2,198,154,198,160,226,225,114,128,0,124,236,233,238,101,4,198,173,198,184,198,195,198,204,225,226,239,246,229,227,237,98,128,3,13,226,229,236,239,247,227,237,98,128,3,41,236,239,247,237,239,100,128,2,204,237,239,100,128,2,200,247,225,242,237,229,238,233,225,110,128,5,126,232,239,239,107,128,2,139,105,3,198,237,198,248,199,31,235,225,244,225,235,225,238,97,128,48,248,242,225,237,97,3,199,3,199,13,199,20,226,229,238,231,225,236,105,128,9,205,228,229,246,97,128,9,77,231,245,234,225,242,225,244,105,128,10,205,243,225,242,231,97,3,199,43,199,53,199,60,226,229,238,231,225,236,105,128,9,131,228,229,246,97,128,9,3,231,245,234,225,242,225,244,105,128,10,131,237,239,238,239,243,240,225,227,101,128,255,86,111,3,199,91,199,102,199,172,225,242,237,229,238,233,225,110,128,5,120,233,227,229,100,2,199,111,199,147,233,244,229,242,225,244,233,239,110,2,199,125,199,136,232,233,242,225,231,225,238,97,128,48,158,235,225,244,225,235,225,238,97,128,48,254,237,225,242,235,235,225,238,97,129,48,155,199,160,232,225,236,230,247,233,228,244,104,128,255,158,235,225,244,225,235,225,238,97,128,48,250,240,225,242,229,110,128,36,177,116,2,199,197,199,204,233,236,228,101,128,30,125,245,242,238,229,100,128,2,140,117,2,199,218,199,229,232,233,242,225,231,225,238,97,128,48,148,235,225,244,225,235,225,238,97,128,48,244,119,143,0,119,200,18,200,251,201,5,201,28,201,68,201,135,201,143,203,114,203,155,203,167,203,242,203,250,204,1,204,12,204,21,97,8,200,36,200,43,200,53,200,64,200,102,200,134,200,146,200,182,227,245,244,101,128,30,131,229,235,239,242,229,225,110,128,49,89,232,233,242,225,231,225,238,97,128,48,143,107,2,200,70,200,94,225,244,225,235,225,238,97,129,48,239,200,82,232,225,236,230,247,233,228,244,104,128,255,156,239,242,229,225,110,128,49,88,243,237,225,236,108,2,200,112,200,123,232,233,242,225,231,225,238,97,128,48,142,235,225,244,225,235,225,238,97,128,48,238,244,244,239,243,241,245,225,242,101,128,51,87,118,2,200,152,200,160,229,228,225,243,104,128,48,28,249,245,238,228,229,242,243,227,239,242,229,246,229,242,244,233,227,225,108,128,254,52,119,3,200,190,200,199,200,213,225,242,225,226,233,99,128,6,72,230,233,238,225,236,225,242,225,226,233,99,128,254,238,232,225,237,250,225,225,226,239,246,101,2,200,228,200,237,225,242,225,226,233,99,128,6,36,230,233,238,225,236,225,242,225,226,233,99,128,254,134,226,243,241,245,225,242,101,128,51,221,227,233,242,99,2,201,14,201,19,236,101,128,36,230,245,237,230,236,229,120,128,1,117,100,2,201,34,201,44,233,229,242,229,243,233,115,128,30,133,239,116,2,201,51,201,60,225,227,227,229,238,116,128,30,135,226,229,236,239,119,128,30,137,101,4,201,78,201,89,201,101,201,125,232,233,242,225,231,225,238,97,128,48,145,233,229,242,243,244,242,225,243,115,128,33,24,107,2,201,107,201,117,225,244,225,235,225,238,97,128,48,241,239,242,229,225,110,128,49,94,239,235,239,242,229,225,110,128,49,93,231,242,225,246,101,128,30,129,232,233,244,101,8,201,164,201,173,202,1,202,91,202,175,202,220,203,16,203,72,226,245,236,236,229,116,128,37,230,99,2,201,179,201,199,233,242,227,236,101,129,37,203,201,189,233,238,246,229,242,243,101,128,37,217,239,242,238,229,242,226,242,225,227,235,229,116,2,201,216,201,236,236,229,230,116,129,48,14,201,225,246,229,242,244,233,227,225,108,128,254,67,242,233,231,232,116,129,48,15,201,246,246,229,242,244,233,227,225,108,128,254,68,100,2,202,7,202,48,233,225,237,239,238,100,129,37,199,202,18,227,239,238,244,225,233,238,233,238,231,226,236,225,227,235,243,237,225,236,236,228,233,225,237,239,238,100,128,37,200,239,247,238,240,239,233,238,244,233,238,103,2,202,64,202,80,243,237,225,236,236,244,242,233,225,238,231,236,101,128,37,191,244,242,233,225,238,231,236,101,128,37,189,236,101,2,202,98,202,140,230,244,240,239,233,238,244,233,238,103,2,202,113,202,129,243,237,225,236,236,244,242,233,225,238,231,236,101,128,37,195,244,242,233,225,238,231,236,101,128,37,193,238,244,233,227,245,236,225,242,226,242,225,227,235,229,116,2,202,160,202,167,236,229,230,116,128,48,22,242,233,231,232,116,128,48,23,242,233,231,232,244,240,239,233,238,244,233,238,103,2,202,193,202,209,243,237,225,236,236,244,242,233,225,238,231,236,101,128,37,185,244,242,233,225,238,231,236,101,128,37,183,115,3,202,228,203,2,203,10,109,2,202,234,202,246,225,236,236,243,241,245,225,242,101,128,37,171,233,236,233,238,231,230,225,227,101,128,38,58,241,245,225,242,101,128,37,161,244,225,114,128,38,6,116,2,203,22,203,33,229,236,229,240,232,239,238,101,128,38,15,239,242,244,239,233,243,229,243,232,229,236,236,226,242,225,227,235,229,116,2,203,57,203,64,236,229,230,116,128,48,24,242,233,231,232,116,128,48,25,245,240,240,239,233,238,244,233,238,103,2,203,87,203,103,243,237,225,236,236,244,242,233,225,238,231,236,101,128,37,181,244,242,233,225,238,231,236,101,128,37,179,105,2,203,120,203,131,232,233,242,225,231,225,238,97,128,48,144,107,2,203,137,203,147,225,244,225,235,225,238,97,128,48,240,239,242,229,225,110,128,49,95,237,239,238,239,243,240,225,227,101,128,255,87,111,4,203,177,203,188,203,213,203,231,232,233,242,225,231,225,238,97,128,48,146,235,225,244,225,235,225,238,97,129,48,242,203,201,232,225,236,230,247,233,228,244,104,128,255,102,110,129,32,169,203,219,237,239,238,239,243,240,225,227,101,128,255,230,247,225,229,238,244,232,225,105,128,14,39,240,225,242,229,110,128,36,178,242,233,238,103,128,30,152,243,245,240,229,242,233,239,114,128,2,183,244,245,242,238,229,100,128,2,141,249,238,110,128,1,191,120,137,0,120,204,49,204,60,204,71,204,80,204,107,204,120,204,124,204,136,204,144,225,226,239,246,229,227,237,98,128,3,61,226,239,240,239,237,239,230,111,128,49,18,227,233,242,227,236,101,128,36,231,100,2,204,86,204,96,233,229,242,229,243,233,115,128,30,141,239,244,225,227,227,229,238,116,128,30,139,229,232,225,242,237,229,238,233,225,110,128,5,109,105,128,3,190,237,239,238,239,243,240,225,227,101,128,255,88,240,225,242,229,110,128,36,179,243,245,240,229,242,233,239,114,128,2,227,121,143,0,121,204,189,205,148,205,171,205,211,207,177,207,185,207,202,208,10,208,22,209,19,209,59,209,71,209,82,209,103,210,76,97,11,204,213,204,225,204,235,204,242,204,249,205,3,205,28,205,39,205,77,205,90,205,136,225,228,239,243,241,245,225,242,101,128,51,78,226,229,238,231,225,236,105,128,9,175,227,245,244,101,128,0,253,228,229,246,97,128,9,47,229,235,239,242,229,225,110,128,49,82,231,117,2,205,10,205,19,234,225,242,225,244,105,128,10,175,242,237,245,235,232,105,128,10,47,232,233,242,225,231,225,238,97,128,48,132,107,2,205,45,205,69,225,244,225,235,225,238,97,129,48,228,205,57,232,225,236,230,247,233,228,244,104,128,255,148,239,242,229,225,110,128,49,81,237,225,235,235,225,238,244,232,225,105,128,14,78,243,237,225,236,108,2,205,100,205,111,232,233,242,225,231,225,238,97,128,48,131,235,225,244,225,235,225,238,97,129,48,227,205,124,232,225,236,230,247,233,228,244,104,128,255,108,244,227,249,242,233,236,236,233,99,128,4,99,227,233,242,99,2,205,157,205,162,236,101,128,36,232,245,237,230,236,229,120,128,1,119,100,2,205,177,205,187,233,229,242,229,243,233,115,128,0,255,239,116,2,205,194,205,203,225,227,227,229,238,116,128,30,143,226,229,236,239,119,128,30,245,101,7,205,227,206,235,206,244,207,6,207,38,207,114,207,165,104,8,205,245,205,254,206,32,206,46,206,119,206,135,206,194,206,212,225,242,225,226,233,99,128,6,74,226,225,242,242,229,101,2,206,9,206,18,225,242,225,226,233,99,128,6,210,230,233,238,225,236,225,242,225,226,233,99,128,251,175,230,233,238,225,236,225,242,225,226,233,99,128,254,242,232,225,237,250,225,225,226,239,246,101,4,206,65,206,74,206,88,206,104,225,242,225,226,233,99,128,6,38,230,233,238,225,236,225,242,225,226,233,99,128,254,138,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,139,237,229,228,233,225,236,225,242,225,226,233,99,128,254,140,233,238,233,244,233,225,236,225,242,225,226,233,99,128,254,243,237,101,2,206,142,206,155,228,233,225,236,225,242,225,226,233,99,128,254,244,229,237,105,2,206,163,206,178,238,233,244,233,225,236,225,242,225,226,233,99,128,252,221,243,239,236,225,244,229,228,225,242,225,226,233,99,128,252,88,238,239,239,238,230,233,238,225,236,225,242,225,226,233,99,128,252,148,244,232,242,229,229,228,239,244,243,226,229,236,239,247,225,242,225,226,233,99,128,6,209,235,239,242,229,225,110,128,49,86,110,129,0,165,206,250,237,239,238,239,243,240,225,227,101,128,255,229,111,2,207,12,207,21,235,239,242,229,225,110,128,49,85,242,233,238,232,233,229,245,232,235,239,242,229,225,110,128,49,134,114,3,207,46,207,82,207,94,225,232,226,229,238,249,239,237,111,2,207,60,207,69,232,229,226,242,229,119,128,5,170,236,229,230,244,232,229,226,242,229,119,128,5,170,233,227,249,242,233,236,236,233,99,128,4,75,245,228,233,229,242,229,243,233,243,227,249,242,233,236,236,233,99,128,4,249,243,233,229,245,238,103,3,207,127,207,136,207,152,235,239,242,229,225,110,128,49,129,240,225,238,243,233,239,243,235,239,242,229,225,110,128,49,131,243,233,239,243,235,239,242,229,225,110,128,49,130,244,233,246,232,229,226,242,229,119,128,5,154,231,242,225,246,101,128,30,243,232,239,239,107,129,1,180,207,194,225,226,239,246,101,128,30,247,105,5,207,214,207,225,207,236,207,245,207,253,225,242,237,229,238,233,225,110,128,5,117,227,249,242,233,236,236,233,99,128,4,87,235,239,242,229,225,110,128,49,98,238,249,225,238,103,128,38,47,247,238,225,242,237,229,238,233,225,110,128,5,130,237,239,238,239,243,240,225,227,101,128,255,89,111,7,208,38,208,108,208,119,208,129,208,167,208,213,208,222,100,131,5,217,208,48,208,68,208,77,228,225,231,229,243,104,129,251,57,208,59,232,229,226,242,229,119,128,251,57,232,229,226,242,229,119,128,5,217,249,239,100,2,208,85,208,94,232,229,226,242,229,119,128,5,242,240,225,244,225,232,232,229,226,242,229,119,128,251,31,232,233,242,225,231,225,238,97,128,48,136,233,235,239,242,229,225,110,128,49,137,107,2,208,135,208,159,225,244,225,235,225,238,97,129,48,232,208,147,232,225,236,230,247,233,228,244,104,128,255,150,239,242,229,225,110,128,49,91,243,237,225,236,108,2,208,177,208,188,232,233,242,225,231,225,238,97,128,48,135,235,225,244,225,235,225,238,97,129,48,231,208,201,232,225,236,230,247,233,228,244,104,128,255,110,244,231,242,229,229,107,128,3,243,121,2,208,228,209,9,97,2,208,234,208,244,229,235,239,242,229,225,110,128,49,136,107,2,208,250,209,2,239,242,229,225,110,128,49,135,244,232,225,105,128,14,34,233,238,231,244,232,225,105,128,14,13,112,2,209,25,209,32,225,242,229,110,128,36,180,239,231,229,231,242,225,237,237,229,238,105,129,3,122,209,48,231,242,229,229,235,227,237,98,128,3,69,114,129,1,166,209,65,233,238,103,128,30,153,243,245,240,229,242,233,239,114,128,2,184,116,2,209,88,209,95,233,236,228,101,128,30,249,245,242,238,229,100,128,2,142,117,5,209,115,209,126,209,136,209,174,210,50,232,233,242,225,231,225,238,97,128,48,134,233,235,239,242,229,225,110,128,49,140,107,2,209,142,209,166,225,244,225,235,225,238,97,129,48,230,209,154,232,225,236,230,247,233,228,244,104,128,255,149,239,242,229,225,110,128,49,96,115,3,209,182,209,220,210,5,226,233,103,2,209,190,209,201,227,249,242,233,236,236,233,99,128,4,107,233,239,244,233,230,233,229,228,227,249,242,233,236,236,233,99,128,4,109,236,233,244,244,236,101,2,209,231,209,242,227,249,242,233,236,236,233,99,128,4,103,233,239,244,233,230,233,229,228,227,249,242,233,236,236,233,99,128,4,105,237,225,236,108,2,210,14,210,25,232,233,242,225,231,225,238,97,128,48,133,235,225,244,225,235,225,238,97,129,48,229,210,38,232,225,236,230,247,233,228,244,104,128,255,109,249,101,2,210,57,210,66,235,239,242,229,225,110,128,49,139,239,235,239,242,229,225,110,128,49,138,249,97,2,210,83,210,93,226,229,238,231,225,236,105,128,9,223,228,229,246,97,128,9,95,122,142,0,122,210,132,211,140,211,151,211,194,211,221,213,0,213,108,213,150,213,162,213,174,213,202,213,210,213,226,213,235,97,10,210,154,210,165,210,172,210,179,210,190,211,12,211,42,211,53,211,89,211,101,225,242,237,229,238,233,225,110,128,5,102,227,245,244,101,128,1,122,228,229,246,97,128,9,91,231,245,242,237,245,235,232,105,128,10,91,104,4,210,200,210,209,210,223,210,253,225,242,225,226,233,99,128,6,56,230,233,238,225,236,225,242,225,226,233,99,128,254,198,105,2,210,229,210,244,238,233,244,233,225,236,225,242,225,226,233,99,128,254,199,242,225,231,225,238,97,128,48,86,237,229,228,233,225,236,225,242,225,226,233,99,128,254,200,233,110,2,211,19,211,28,225,242,225,226,233,99,128,6,50,230,233,238,225,236,225,242,225,226,233,99,128,254,176,235,225,244,225,235,225,238,97,128,48,182,241,229,102,2,211,61,211,75,231,225,228,239,236,232,229,226,242,229,119,128,5,149,241,225,244,225,238,232,229,226,242,229,119,128,5,148,242,241,225,232,229,226,242,229,119,128,5,152,249,233,110,130,5,214,211,111,211,131,228,225,231,229,243,104,129,251,54,211,122,232,229,226,242,229,119,128,251,54,232,229,226,242,229,119,128,5,214,226,239,240,239,237,239,230,111,128,49,23,99,3,211,159,211,166,211,188,225,242,239,110,128,1,126,233,242,99,2,211,174,211,179,236,101,128,36,233,245,237,230,236,229,120,128,30,145,245,242,108,128,2,145,228,239,116,130,1,124,211,204,211,213,225,227,227,229,238,116,128,1,124,226,229,236,239,119,128,30,147,101,6,211,235,211,246,212,33,212,44,212,55,212,251,227,249,242,233,236,236,233,99,128,4,55,100,2,211,252,212,15,229,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,153,233,229,242,229,243,233,243,227,249,242,233,236,236,233,99,128,4,223,232,233,242,225,231,225,238,97,128,48,92,235,225,244,225,235,225,238,97,128,48,188,242,111,140,0,48,212,84,212,93,212,103,212,110,212,135,212,148,212,159,212,171,212,182,212,192,212,203,212,210,225,242,225,226,233,99,128,6,96,226,229,238,231,225,236,105,128,9,230,228,229,246,97,128,9,102,231,117,2,212,117,212,126,234,225,242,225,244,105,128,10,230,242,237,245,235,232,105,128,10,102,232,225,227,235,225,242,225,226,233,99,128,6,96,233,238,230,229,242,233,239,114,128,32,128,237,239,238,239,243,240,225,227,101,128,255,16,239,236,228,243,244,249,236,101,128,247,48,240,229,242,243,233,225,110,128,6,240,243,245,240,229,242,233,239,114,128,32,112,244,232,225,105,128,14,80,247,233,228,244,104,3,212,222,212,231,212,243,234,239,233,238,229,114,128,254,255,238,239,238,234,239,233,238,229,114,128,32,12,243,240,225,227,101,128,32,11,244,97,128,3,182,104,2,213,6,213,17,226,239,240,239,237,239,230,111,128,49,19,101,4,213,27,213,38,213,54,213,65,225,242,237,229,238,233,225,110,128,5,106,226,242,229,246,229,227,249,242,233,236,236,233,99,128,4,194,227,249,242,233,236,236,233,99,128,4,54,100,2,213,71,213,90,229,243,227,229,238,228,229,242,227,249,242,233,236,236,233,99,128,4,151,233,229,242,229,243,233,243,227,249,242,233,236,236,233,99,128,4,221,105,3,213,116,213,127,213,138,232,233,242,225,231,225,238,97,128,48,88,235,225,244,225,235,225,238,97,128,48,184,238,239,242,232,229,226,242,229,119,128,5,174,236,233,238,229,226,229,236,239,119,128,30,149,237,239,238,239,243,240,225,227,101,128,255,90,111,2,213,180,213,191,232,233,242,225,231,225,238,97,128,48,94,235,225,244,225,235,225,238,97,128,48,190,240,225,242,229,110,128,36,181,242,229,244,242,239,230,236,229,248,232,239,239,107,128,2,144,243,244,242,239,235,101,128,1,182,117,2,213,241,213,252,232,233,242,225,231,225,238,97,128,48,90,235,225,244,225,235,225,238,97,128,48,186,0,108,116,117,111,57,0,0,0,142,0,0,0,39,0,0,0,58,0,0,0,32,1,0,0,114,97,115,116,101,114,49,0,2,0,0,0,72,0,0,0,56,34,4,0,0,0,1,0,0,0,2,0,0,0,0,0,219,0,0,0,0,0,0,0,0,0,0,0,108,116,117,111,12,0,0,0,13,0,0,0,143,0,0,0,40,0,0,0,32,34,4,0,0,0,0,0,114,97,115,116,101,114,53,0,2,0,0,0,72,0,0,0,128,34,4,0,0,0,1,0,0,0,2,0,0,0,0,0,219,0,0,0,0,0,0,0,0,0,0,0,108,116,117,111,12,0,0,0,13,0,0,0,143,0,0,0,40,0,0,0,32,34,4,0,0,0,0,0,24,0,0,0,59,0,0,0,0,0,0,0,60,0,0,0,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,63,0,0,0,0,0,0,0,24,0,0,0,59,0,0,0,0,0,0,0,64,0,0,0,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,66,0,0,0,67,0,0,0,0,0,0,0,56,0,0,0,68,0,0,0,0,0,0,0,69,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,71,0,0,0,72,0,0,0,0,0,0,0,24,0,0,0,59,0,0,0,0,0,0,0,73,0,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,75,0,0,0,76,0,0,0,0,0,0,0,24,0,0,0,59,0,0,0,0,0,0,0,77,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,79,0,0,0,80,0,0,0,0,0,0,0,24,0,0,0,59,0,0,0,0,0,0,0,81,0,0,0,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,83,0,0,0,84,0,0,0,0,0,0,0,44,0,0,0,85,0,0,0,0,0,0,0,86,0,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,88,0,0,0,89,0,0,0,0,0,0,0,44,0,0,0,90,0,0,0,0,0,0,0,91,0,0,0,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,93,0,0,0,94,0,0,0,0,0,0,0,40,0,0,0,95,0,0,0,33,1,0,0,96,0,0,0,97,0,0,0,14,0,0,0,41,0,0,0,98,0,0,0,42,0,0,0,43,0,0,0,14,0,0,0,99,0,0,0,100,0,0,0,0,0,0,0,115,102,110,116,0,0,0,0,15,0,0,0,23,0,0,0,24,0,0,0,34,1,0,0,101,0,0,0,25,0,0,0,16,0,0,0,44,0,0,0,102,0,0,0,45,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,35,1,0,0,108,0,0,0,36,1,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,17,0,0,0,113,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,37,1,0,0,47,0,0,0,38,1,0,0,48,0,0,0,114,0,0,0,49,0,0,0,115,0,0,0,50,0,0,0,116,0,0,0,39,1,0,0,51,0,0,0,52,0,0,0,26,0,0,0,0,0,0,0,20,0,0,0,192,36,4,0,0,0,1,0,0,0,2,0,200,36,4,0,0,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,192,37,4,0,208,37,4,0,224,37,4,0,248,37,4,0,0,38,4,0,16,38,4,0,24,38,4,0,32,38,4,0,40,38,4,0,56,38,4,0,0,0,0,0,0,0,0,0,115,102,110,116,45,116,97,98,108,101,0,0,0,0,0,0,25,0,0,0,117,0,0,0,27,0,0,0,0,0,0,0,112,111,115,116,115,99,114,105,112,116,45,102,111,110,116,45,110,97,109,101,0,0,0,0,220,0,0,0,0,0,0,0,103,108,121,112,104,45,100,105,99,116,0,0,0,0,0,0,18,0,0,0,118,0,0,0,98,100,102,0,0,0,0,0,53,0,0,0,54,0,0,0,116,116,45,99,109,97,112,115,0,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,67,72,65,82,83,69,84,95,82,69,71,73,83,84,82,89,0,0,0,0,0,0,0,0,67,72,65,82,83,69,84,95,69,78,67,79,68,73,78,71,0,0,0,0,0,0,0,0,9,1,0,0,9,1,1,0,8,1,2,0,9,1,3,0,9,1,4,0,9,1,5,0,9,1,6,0,9,1,7,0,9,1,8,0,9,1,9,0,9,1,10,0,9,1,11,0,0,0,0,0,0,0,0,0,16,4,8,0,17,0,0,0,16,4,0,0,16,4,12,0,0,0,0,0,0,0,0,0,12,2,40,0,12,2,42,0,8,1,44,0,8,1,45,0,8,1,46,0,9,1,47,0,0,0,0,0,0,0,0,0,4,0,8,0,8,1,0,0,8,1,1,0,9,1,2,0,9,1,3,0,8,1,4,0,9,1,5,0,9,1,6,0,8,1,7,0,0,0,0,0,4,0,8,0,12,2,4,0,12,2,6,0,12,2,8,0,12,2,10,0,0,0,0,0,4,0,16,0,16,4,0,0,16,4,4,0,16,4,8,0,16,4,12,0,0,0,0,0,4,0,5,0,8,1,0,0,8,1,1,0,9,1,2,0,9,1,3,0,8,1,4,0,0,0,0,0,0,0,0,0,4,0,54,0,16,4,0,0,16,4,4,0,17,4,8,0,17,4,12,0,12,2,16,0,12,2,18,0,17,4,20,0,17,4,24,0,17,4,28,0,17,4,32,0,13,2,36,0,13,2,38,0,13,2,40,0,13,2,42,0,12,2,44,0,12,2,46,0,13,2,48,0,13,2,50,0,13,2,52,0,0,0,0,0,0,0,0,0,4,0,54,0,16,4,0,0,16,4,4,0,12,2,8,0,12,2,10,0,12,2,12,0,12,2,14,0,12,2,16,0,24,16,20,0,24,8,36,0,24,6,44,0,9,1,50,0,9,1,51,0,8,1,52,0,8,1,53,0,0,0,0,0,4,0,6,0,12,2,0,0,12,4,4,0,12,4,8,0,0,0,0,0,0,0,0,0,12,2,0,0,12,2,2,0,12,2,4,0,12,2,6,0,12,2,8,0,12,4,12,0,0,0,0,0,0,0,0,0,4,0,32,0,16,4,0,0,16,4,4,0,13,2,8,0,13,2,10,0,16,4,12,0,16,4,16,0,16,4,20,0,16,4,24,0,16,4,28,0,0,0,0,0,0,0,0,0,4,0,78,0,12,2,0,0,13,2,2,0,12,2,4,0,12,2,6,0,13,2,8,0,13,2,10,0,13,2,12,0,13,2,14,0,13,2,16,0,13,2,18,0,13,2,20,0,13,2,22,0,13,2,24,0,13,2,26,0,13,2,28,0,13,2,30,0,8,1,32,0,8,1,33,0,8,1,34,0,8,1,35,0,8,1,36,0,8,1,37,0,8,1,38,0,8,1,39,0,8,1,40,0,8,1,41,0,16,4,44,0,16,4,48,0,16,4,52,0,16,4,56,0,8,1,60,0,8,1,61,0,8,1,62,0,8,1,63,0,12,2,64,0,12,2,66,0,12,2,68,0,13,2,70,0,13,2,72,0,13,2,74,0,12,2,76,0,12,2,78,0,0,0,0,0,4,0,8,0,16,4,80,0,16,4,84,0,0,0,0,0,4,0,10,0,13,2,88,0,13,2,90,0,12,2,92,0,12,2,94,0,12,2,96,0,0,0,0,0,0,0,0,0,4,0,6,0,17,4,0,0,12,2,4,0,0,0,0,0,4,0,26,0,12,2,6,0,12,2,8,0,12,2,10,0,12,2,12,0,12,2,14,0,12,2,16,0,12,2,18,0,12,2,20,0,12,2,22,0,12,2,24,0,12,2,26,0,12,2,28,0,12,2,30,0,0,0,0,0,0,0,0,0,4,0,36,0,16,4,0,0,13,2,4,0,13,2,6,0,13,2,8,0,12,2,10,0,13,2,12,0,13,2,14,0,13,2,16,0,13,2,18,0,13,2,20,0,13,2,22,0,13,2,24,0,13,2,26,0,13,2,28,0,13,2,30,0,13,2,32,0,12,2,34,0,0,0,0,0,0,0,0,0,2,0,0,0,255,255,255,255,99,105,110,117,0,0,0,0,255,255,255,255,99,105,110,117,1,0,0,0,0,0,0,0,110,109,114,97,3,0,0,0,0,0,0,0,98,109,121,115,3,0,0,0,10,0,0,0,99,105,110,117,3,0,0,0,1,0,0,0,99,105,110,117,3,0,0,0,2,0,0,0,115,105,106,115,3,0,0,0,3,0,0,0,32,32,98,103,3,0,0,0,4,0,0,0,53,103,105,98,3,0,0,0,5,0,0,0,115,110,97,119,3,0,0,0,6,0,0,0,97,104,111,106,0,0,0,0,200,34,4,0,0,35,4,0,56,35,4,0,112,35,4,0,168,35,4,0,224,35,4,0,24,36,4,0,80,36,4,0,136,36,4,0,0,0,0,0,112,111,115,116,115,99,114,105,112,116,45,99,109,97,112,115,0,0,0,0,0,0,0,0,4,0,8,0,17,4,4,0,17,4,8,0,0,0,0,0,108,116,117,111,120,0,0,0,144,0,0,0,0,0,0,0,121,0,0,0,40,1,0,0,115,109,111,111,116,104,0,0,2,0,0,0,72,0,0,0,200,42,4,0,0,0,1,0,0,0,2,0,0,0,0,0,221,0,0,0,0,0,0,0,0,0,0,0,108,116,117,111,19,0,0,0,20,0,0,0,145,0,0,0,55,0,0,0,176,42,4,0,0,0,0,0,115,109,111,111,116,104,45,108,99,100,0,0,0,0,0,0,2,0,0,0,72,0,0,0,16,43,4,0,0,0,1,0,0,0,2,0,0,0,0,0,221,0,0,0,0,0,0,0,0,0,0,0,108,116,117,111,21,0,0,0,20,0,0,0,145,0,0,0,55,0,0,0,176,42,4,0,0,0,0,0,115,109,111,111,116,104,45,108,99,100,118,0,0,0,0,0,2,0,0,0,72,0,0,0,96,43,4,0,0,0,1,0,0,0,2,0,0,0,0,0,221,0,0,0,0,0,0,0,0,0,0,0,108,116,117,111,22,0,0,0,20,0,0,0,145,0,0,0,55,0,0,0,176,42,4,0,0,0,0,0,122,0,0,0,123,0,0,0,56,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,116,114,117,101,116,121,112,101,0,0,0,0,0,0,0,0,1,5,0,0,84,0,0,0,200,43,4,0,0,0,1,0,0,0,2,0,0,0,0,0,222,0,0,0,41,1,0,0,124,0,0,0,56,3,0,0,48,1,0,0,160,0,0,0,28,0,0,0,42,1,0,0,223,0,0,0,43,1,0,0,224,0,0,0,0,0,0,0,17,0,0,0,26,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,29,0,0,0,125,0,0,0,126,0,0,0,0,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,0,1,0,0,0,64,0,0,0,1,0,0,0,1,0,0,0,68,0,0,0,0,0,0,0,0,0,0,0,9,0,3,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,255,254,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3,4,5,6,7,8,9,3,5,7,9,11,13,15,17,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,32,32,32,32,32,32,2,2,0,80,16,16,16,16,16,16,16,16,0,0,16,0,16,16,16,16,18,16,0,34,1,17,16,32,0,16,32,16,16,0,16,16,0,0,0,0,16,16,16,16,16,0,32,32,0,0,32,32,0,0,32,17,32,17,17,17,32,33,33,1,1,0,0,16,33,33,33,33,33,33,17,17,16,0,33,33,17,16,16,16,33,33,33,33,17,17,17,17,17,17,17,17,17,17,17,17,32,16,16,16,16,16,16,16,32,32,0,0,0,0,16,16,0,32,32,0,0,16,32,32,17,16,51,33,33,16,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,115,102,110,116,0,0,0,0,88,240,188,5,228,2,0,0,241,59,35,40,196,135,0,0,234,161,68,163,225,1,0,0,88,240,188,5,228,2,0,0,241,59,35,40,196,135,0,0,235,161,68,163,225,1,0,0,212,234,229,17,80,3,0,0,59,202,48,90,99,144,0,0,2,38,164,19,126,0,0,0,252,255,251,255,8,0,0,0,184,72,158,156,162,190,0,0,18,1,2,112,8,0,0,0,252,255,251,255,8,0,0,0,131,4,90,10,57,124,1,0,18,1,2,112,8,0,0,0,68,70,75,97,105,83,104,111,45,83,66,0,0,0,0,0,0,68,70,75,97,105,83,104,117,0,0,0,0,0,0,0,0,0,68,70,75,97,105,45,83,66,0,0,0,0,0,0,0,0,0,72,117,97,84,105,97,110,75,97,105,84,105,63,0,0,0,0,72,117,97,84,105,97,110,83,111,110,103,84,105,63,0,0,0,77,105,110,103,76,105,85,0,0,0,0,0,0,0,0,0,0,80,77,105,110,103,76,105,85,0,0,0,0,0,0,0,0,0,77,105,110,103,76,105,52,51,0,0,0,0,0,0,0,0,0,184,47,4,0,208,47,4,0,224,47,4,0,240,47,4,0,8,48,4,0,24,48,4,0,32,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,120,102,56,54,45,100,114,105,118,101,114,45,110,97,109,101,0,0,0,0,0,0,0,0,84,114,117,101,84,121,112,101,0,0,0,0,0,0,0,0,109,117,108,116,105,45,109,97,115,116,101,114,115,0,0,0,0,0,0,0,0,0,0,0,57,0,0,0,127,0,0,0,58,0,0,0,0,0,0,0,116,114,117,101,116,121,112,101,45,101,110,103,105,110,101,0,2,0,0,0,0,0,0,0,116,116,45,103,108,121,102,0,59,0,0,0,0,0,0,0,4,0,16,0,17,4,0,0,12,2,4,0,12,2,6,0,12,2,8,0,12,2,10,0,12,2,12,0,12,2,14,0,0,0,0,0,0,0,0,0,4,0,20,0,16,4,0,0,16,4,4,0,16,4,8,0,16,4,12,0,12,2,16,0,12,2,18,0,0,0,0,0,87,101,105,103,104,116,0,0,87,105,100,116,104,0,0,0,79,112,116,105,99,97,108,83,105,122,101,0,0,0,0,0,83,108,97,110,116,0,0,0,4,0,20,0,17,4,0,0,12,2,4,0,12,2,6,0,16,4,8,0,12,2,12,0,12,2,14,0,16,4,16,0,0,0,0,0,0,0,0,0,116,121,112,101,49,0,0,0,1,5,0,0,40,0,0,0,200,48,4,0,0,0,1,0,0,0,2,0,0,0,0,0,225,0,0,0,44,1,0,0,128,0,0,0,44,2,0,0,44,0,0,0,180,0,0,0,30,0,0,0,45,1,0,0,226,0,0,0,46,1,0,0,227,0,0,0,47,1,0,0,17,0,0,0,26,0,0,0,26,0,0,0,27,0,0,0,129,0,0,0,31,0,0,0,130,0,0,0,0,0,0,0,112,115,104,105,110,116,101,114,0,0,0,0,0,0,0,0,112,111,115,116,115,99,114,105,112,116,45,99,109,97,112,115,0,0,0,0,0,0,0,0,112,115,97,117,120,0,0,0,82,101,103,117,108,97,114,0,66,111,108,100,0,0,0,0,66,108,97,99,107,0,0,0,46,110,111,116,100,101,102,0,101,101,120,101,99,0,0,0,99,108,111,115,101,102,105,108,101,0,0,0,0,0,0,0,70,111,110,116,68,105,114,101,99,116,111,114,121,0,0,0,96,56,4,0,3,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,104,56,4,0,3,0,0,0,5,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,112,56,4,0,3,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,56,4,0,3,0,0,0,5,0,0,0,0,0,0,0,12,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,144,56,4,0,3,0,0,0,5,0,0,0,0,0,0,0,16,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,152,56,4,0,3,0,0,0,2,0,0,0,0,0,0,0,20,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,168,56,4,0,3,0,0,0,1,0,0,0,0,0,0,0,24,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,184,56,4,0,3,0,0,0,2,0,0,0,0,0,0,0,26,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,208,56,4,0,3,0,0,0,2,0,0,0,0,0,0,0,28,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,232,56,4,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,240,56,4,0,4,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,57,4,0,4,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,8,57,4,0,4,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,24,57,4,0,4,0,0,0,2,0,0,0,0,0,0,0,188,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,40,57,4,0,4,0,0,0,4,0,0,0,0,0,0,0,108,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,56,57,4,0,4,0,0,0,2,0,0,0,0,0,0,0,112,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,72,57,4,0,4,0,0,0,2,0,0,0,0,0,0,0,116,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,88,57,4,0,4,0,0,0,8,0,0,0,0,0,0,0,12,0,0,0,2,0,0,0,14,0,0,0,8,0,0,0,2,0,0,0,104,57,4,0,4,0,0,0,8,0,0,0,0,0,0,0,40,0,0,0,2,0,0,0,10,0,0,0,9,0,0,0,2,0,0,0,120,57,4,0,4,0,0,0,8,0,0,0,0,0,0,0,60,0,0,0,2,0,0,0,14,0,0,0,10,0,0,0,2,0,0,0,136,57,4,0,4,0,0,0,8,0,0,0,0,0,0,0,88,0,0,0,2,0,0,0,10,0,0,0,11,0,0,0,2,0,0,0,160,57,4,0,4,0,0,0,8,0,0,0,0,0,0,0,120,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,168,57,4,0,4,0,0,0,8,0,0,0,0,0,0,0,122,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,176,57,4,0,4,0,0,0,8,0,0,0,0,0,0,0,192,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,192,57,4,0,4,0,0,0,8,0,0,0,0,0,0,0,128,0,0,0,2,0,0,0,12,0,0,0,124,0,0,0,2,0,0,0,208,57,4,0,4,0,0,0,8,0,0,0,0,0,0,0,154,0,0,0,2,0,0,0,12,0,0,0,125,0,0,0,2,0,0,0,224,57,4,0,4,0,0,0,3,0,0,0,0,0,0,0,180,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,240,57,4,0,4,0,0,0,1,0,0,0,0,0,0,0,126,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,58,4,0,1,0,0,0,6,0,0,0,0,0,0,0,232,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,16,58,4,0,1,0,0,0,2,0,0,0,0,0,0,0,44,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,58,4,0,1,0,0,0,2,0,0,0,0,0,0,0,45,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,48,58,4,0,1,0,0,0,3,0,0,0,0,0,0,0,92,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,58,4,0,5,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,80,58,4,0,7,0,0,0,2,0,0,0,0,0,0,0,24,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,88,58,4,0,7,0,0,0,2,0,0,0,0,0,0,0,28,2,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,96,58,4,0,8,0,0,0,8,0,0,0,0,0,0,0,96,1,0,0,4,0,0,0,16,0,0,0,160,1,0,0,1,0,0,0,112,58,4,0,8,0,0,0,10,0,0,0,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,58,4,0,8,0,0,0,10,0,0,0,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,144,58,4,0,8,0,0,0,10,0,0,0,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,80,56,4,0,8,0,0,0,10,0,0,0,74,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,152,58,4,0,8,0,0,0,10,0,0,0,75,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,160,58,4,0,8,0,0,0,10,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,184,58,4,0,8,0,0,0,10,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,200,58,4,0,8,0,0,0,10,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,216,58,4,0,8,0,0,0,10,0,0,0,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,232,58,4,0,8,0,0,0,10,0,0,0,80,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,104,97,114,83,116,114,105,110,103,115,0,0,0,0,0,118,101,114,115,105,111,110,0,78,111,116,105,99,101,0,0,70,117,108,108,78,97,109,101], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+266360);
/* memory initializer */ allocate([70,97,109,105,108,121,78,97,109,101,0,0,0,0,0,0,87,101,105,103,104,116,0,0,73,116,97,108,105,99,65,110,103,108,101,0,0,0,0,0,105,115,70,105,120,101,100,80,105,116,99,104,0,0,0,0,85,110,100,101,114,108,105,110,101,80,111,115,105,116,105,111,110,0,0,0,0,0,0,0,85,110,100,101,114,108,105,110,101,84,104,105,99,107,110,101,115,115,0,0,0,0,0,0,70,83,84,121,112,101,0,0,85,110,105,113,117,101,73,68,0,0,0,0,0,0,0,0,108,101,110,73,86,0,0,0,76,97,110,103,117,97,103,101,71,114,111,117,112,0,0,0,112,97,115,115,119,111,114,100,0,0,0,0,0,0,0,0,66,108,117,101,83,99,97,108,101,0,0,0,0,0,0,0,66,108,117,101,83,104,105,102,116,0,0,0,0,0,0,0,66,108,117,101,70,117,122,122,0,0,0,0,0,0,0,0,66,108,117,101,86,97,108,117,101,115,0,0,0,0,0,0,79,116,104,101,114,66,108,117,101,115,0,0,0,0,0,0,70,97,109,105,108,121,66,108,117,101,115,0,0,0,0,0,70,97,109,105,108,121,79,116,104,101,114,66,108,117,101,115,0,0,0,0,0,0,0,0,83,116,100,72,87,0,0,0,83,116,100,86,87,0,0,0,77,105,110,70,101,97,116,117,114,101,0,0,0,0,0,0,83,116,101,109,83,110,97,112,72,0,0,0,0,0,0,0,83,116,101,109,83,110,97,112,86,0,0,0,0,0,0,0,69,120,112,97,110,115,105,111,110,70,97,99,116,111,114,0,70,111,114,99,101,66,111,108,100,0,0,0,0,0,0,0,70,111,110,116,78,97,109,101,0,0,0,0,0,0,0,0,80,97,105,110,116,84,121,112,101,0,0,0,0,0,0,0,70,111,110,116,84,121,112,101,0,0,0,0,0,0,0,0,83,116,114,111,107,101,87,105,100,116,104,0,0,0,0,0,70,111,110,116,66,66,111,120,0,0,0,0,0,0,0,0,78,68,86,0,0,0,0,0,67,68,86,0,0,0,0,0,68,101,115,105,103,110,86,101,99,116,111,114,0,0,0,0,70,111,110,116,77,97,116,114,105,120,0,0,0,0,0,0,69,110,99,111,100,105,110,103,0,0,0,0,0,0,0,0,83,117,98,114,115,0,0,0,80,114,105,118,97,116,101,0,66,108,101,110,100,68,101,115,105,103,110,80,111,115,105,116,105,111,110,115,0,0,0,0,66,108,101,110,100,68,101,115,105,103,110,77,97,112,0,0,66,108,101,110,100,65,120,105,115,84,121,112,101,115,0,0,87,101,105,103,104,116,86,101,99,116,111,114,0,0,0,0,66,117,105,108,100,67,104,97,114,65,114,114,97,121,0,0,139,247,225,13,14,0,0,0,100,117,112,0,0,0,0,0,112,117,116,0,0,0,0,0,83,116,97,110,100,97,114,100,69,110,99,111,100,105,110,103,0,0,0,0,0,0,0,0,69,120,112,101,114,116,69,110,99,111,100,105,110,103,0,0,73,83,79,76,97,116,105,110,49,69,110,99,111,100,105,110,103,0,0,0,0,0,0,0,37,33,80,83,45,65,100,111,98,101,70,111,110,116,0,0,37,33,70,111,110,116,84,121,112,101,0,0,0,0,0,0,168,59,4,0,192,59,4,0,200,59,4,0,216,59,4,0,224,59,4,0,248,59,4,0,0,60,4,0,16,60,4,0,32,60,4,0,40,60,4,0,48,60,4,0,64,60,4,0,0,0,0,0,0,0,0,0,112,111,115,116,115,99,114,105,112,116,45,102,111,110,116,45,110,97,109,101,0,0,0,0,228,0,0,0,0,0,0,0,103,108,121,112,104,45,100,105,99,116,0,0,0,0,0,0,28,0,0,0,131,0,0,0,120,102,56,54,45,100,114,105,118,101,114,45,110,97,109,101,0,0,0,0,0,0,0,0,84,121,112,101,32,49,0,0,112,111,115,116,115,99,114,105,112,116,45,105,110,102,111,0,132,0,0,0,133,0,0,0,229,0,0,0,134,0,0,0,107,101,114,110,105,110,103,0,29,0,0,0,0,0,0,0,109,117,108,116,105,45,109,97,115,116,101,114,115,0,0,0,135,0,0,0,60,0,0,0,61,0,0,0,136,0,0,0,62,0,0,0,0,0,0,0,87,105,100,116,104,0,0,0,79,112,116,105,99,97,108,83,105,122,101,0,0,0,0,0,116,49,99,105,100,0,0,0,1,5,0,0,40,0,0,0,112,60,4,0,0,0,1,0,0,0,2,0,0,0,0,0,230,0,0,0,48,1,0,0,137,0,0,0,76,1,0,0,48,0,0,0,172,0,0,0,32,0,0,0,49,1,0,0,231,0,0,0,50,1,0,0,232,0,0,0,51,1,0,0,17,0,0,0,26,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,0,0,0,0,0,0,0,112,115,104,105,110,116,101,114,0,0,0,0,0,0,0,0,112,115,97,117,120,0,0,0,82,101,103,117,108,97,114,0,66,111,108,100,0,0,0,0,66,108,97,99,107,0,0,0,37,65,68,79,66,101,103,105,110,70,111,110,116,68,105,99,116,0,0,0,0,0,0,0,88,68,4,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,68,4,0,0,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,68,4,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,68,4,0,0,0,0,0,5,0,0,0,0,0,0,0,12,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,68,4,0,0,0,0,0,5,0,0,0,0,0,0,0,16,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,68,4,0,0,0,0,0,2,0,0,0,0,0,0,0,20,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,68,4,0,0,0,0,0,2,0,0,0,0,0,0,0,72,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,68,4,0,0,0,0,0,2,0,0,0,0,0,0,0,144,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,68,4,0,0,0,0,0,2,0,0,0,0,0,0,0,148,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,68,4,0,0,0,0,0,2,0,0,0,0,0,0,0,152,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,68,4,0,0,0,0,0,2,0,0,0,0,0,0,0,156,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,68,4,0,3,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,68,4,0,3,0,0,0,5,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,4,0,3,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,69,4,0,3,0,0,0,5,0,0,0,0,0,0,0,12,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,69,4,0,3,0,0,0,5,0,0,0,0,0,0,0,16,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,69,4,0,3,0,0,0,2,0,0,0,0,0,0,0,20,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,69,4,0,3,0,0,0,1,0,0,0,0,0,0,0,24,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,69,4,0,3,0,0,0,2,0,0,0,0,0,0,0,26,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,69,4,0,3,0,0,0,2,0,0,0,0,0,0,0,28,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,69,4,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,69,4,0,1,0,0,0,2,0,0,0,0,0,0,0,212,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,69,4,0,1,0,0,0,2,0,0,0,0,0,0,0,213,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,69,4,0,1,0,0,0,2,0,0,0,0,0,0,0,244,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,69,4,0,1,0,0,0,2,0,0,0,0,0,0,0,248,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,69,4,0,1,0,0,0,2,0,0,0,0,0,0,0,240,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,69,4,0,1,0,0,0,2,0,0,0,0,0,0,0,196,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,69,4,0,1,0,0,0,3,0,0,0,0,0,0,0,200,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,69,4,0,1,0,0,0,3,0,0,0,0,0,0,0,204,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,70,4,0,4,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,70,4,0,4,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,70,4,0,4,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,70,4,0,4,0,0,0,2,0,0,0,0,0,0,0,188,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,70,4,0,4,0,0,0,4,0,0,0,0,0,0,0,108,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,70,4,0,4,0,0,0,2,0,0,0,0,0,0,0,112,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,70,4,0,4,0,0,0,2,0,0,0,0,0,0,0,116,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,70,4,0,4,0,0,0,8,0,0,0,0,0,0,0,12,0,0,0,2,0,0,0,14,0,0,0,8,0,0,0,0,0,0,0,128,70,4,0,4,0,0,0,8,0,0,0,0,0,0,0,40,0,0,0,2,0,0,0,10,0,0,0,9,0,0,0,0,0,0,0,144,70,4,0,4,0,0,0,8,0,0,0,0,0,0,0,60,0,0,0,2,0,0,0,14,0,0,0,10,0,0,0,0,0,0,0,160,70,4,0,4,0,0,0,8,0,0,0,0,0,0,0,88,0,0,0,2,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,184,70,4,0,4,0,0,0,8,0,0,0,0,0,0,0,120,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,192,70,4,0,4,0,0,0,8,0,0,0,0,0,0,0,122,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,200,70,4,0,4,0,0,0,8,0,0,0,0,0,0,0,192,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,216,70,4,0,4,0,0,0,8,0,0,0,0,0,0,0,128,0,0,0,2,0,0,0,12,0,0,0,124,0,0,0,0,0,0,0,232,70,4,0,4,0,0,0,8,0,0,0,0,0,0,0,154,0,0,0,2,0,0,0,12,0,0,0,125,0,0,0,0,0,0,0,248,70,4,0,4,0,0,0,1,0,0,0,0,0,0,0,126,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,71,4,0,5,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,71,4,0,5,0,0,0,10,0,0,0,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,71,4,0,5,0,0,0,10,0,0,0,82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,71,4,0,5,0,0,0,10,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,73,68,70,111,110,116,78,97,109,101,0,0,0,0,0,67,73,68,70,111,110,116,86,101,114,115,105,111,110,0,0,67,73,68,70,111,110,116,84,121,112,101,0,0,0,0,0,82,101,103,105,115,116,114,121,0,0,0,0,0,0,0,0,79,114,100,101,114,105,110,103,0,0,0,0,0,0,0,0,83,117,112,112,108,101,109,101,110,116,0,0,0,0,0,0,85,73,68,66,97,115,101,0,67,73,68,77,97,112,79,102,102,115,101,116,0,0,0,0,70,68,66,121,116,101,115,0,71,68,66,121,116,101,115,0,67,73,68,67,111,117,110,116,0,0,0,0,0,0,0,0,118,101,114,115,105,111,110,0,78,111,116,105,99,101,0,0,70,117,108,108,78,97,109,101,0,0,0,0,0,0,0,0,70,97,109,105,108,121,78,97,109,101,0,0,0,0,0,0,87,101,105,103,104,116,0,0,73,116,97,108,105,99,65,110,103,108,101,0,0,0,0,0,105,115,70,105,120,101,100,80,105,116,99,104,0,0,0,0,85,110,100,101,114,108,105,110,101,80,111,115,105,116,105,111,110,0,0,0,0,0,0,0,85,110,100,101,114,108,105,110,101,84,104,105,99,107,110,101,115,115,0,0,0,0,0,0,70,83,84,121,112,101,0,0,80,97,105,110,116,84,121,112,101,0,0,0,0,0,0,0,70,111,110,116,84,121,112,101,0,0,0,0,0,0,0,0,83,117,98,114,77,97,112,79,102,102,115,101,116,0,0,0,83,68,66,121,116,101,115,0,83,117,98,114,67,111,117,110,116,0,0,0,0,0,0,0,108,101,110,66,117,105,108,100,67,104,97,114,65,114,114,97,121,0,0,0,0,0,0,0,70,111,114,99,101,66,111,108,100,84,104,114,101,115,104,111,108,100,0,0,0,0,0,0,83,116,114,111,107,101,87,105,100,116,104,0,0,0,0,0,85,110,105,113,117,101,73,68,0,0,0,0,0,0,0,0,108,101,110,73,86,0,0,0,76,97,110,103,117,97,103,101,71,114,111,117,112,0,0,0,112,97,115,115,119,111,114,100,0,0,0,0,0,0,0,0,66,108,117,101,83,99,97,108,101,0,0,0,0,0,0,0,66,108,117,101,83,104,105,102,116,0,0,0,0,0,0,0,66,108,117,101,70,117,122,122,0,0,0,0,0,0,0,0,66,108,117,101,86,97,108,117,101,115,0,0,0,0,0,0,79,116,104,101,114,66,108,117,101,115,0,0,0,0,0,0,70,97,109,105,108,121,66,108,117,101,115,0,0,0,0,0,70,97,109,105,108,121,79,116,104,101,114,66,108,117,101,115,0,0,0,0,0,0,0,0,83,116,100,72,87,0,0,0,83,116,100,86,87,0,0,0,77,105,110,70,101,97,116,117,114,101,0,0,0,0,0,0,83,116,101,109,83,110,97,112,72,0,0,0,0,0,0,0,83,116,101,109,83,110,97,112,86,0,0,0,0,0,0,0,70,111,114,99,101,66,111,108,100,0,0,0,0,0,0,0,70,111,110,116,66,66,111,120,0,0,0,0,0,0,0,0,70,68,65,114,114,97,121,0,70,111,110,116,77,97,116,114,105,120,0,0,0,0,0,0,69,120,112,97,110,115,105,111,110,70,97,99,116,111,114,0,37,33,80,83,45,65,100,111,98,101,45,51,46,48,32,82,101,115,111,117,114,99,101,45,67,73,68,70,111,110,116,0,83,116,97,114,116,68,97,116,97,0,0,0,0,0,0,0,47,115,102,110,116,115,0,0,40,72,101,120,41,0,0,0,168,71,4,0,192,71,4,0,208,71,4,0,232,71,4,0,240,71,4,0,0,72,4,0,16,72,4,0,24,72,4,0,0,0,0,0,0,0,0,0,120,102,56,54,45,100,114,105,118,101,114,45,110,97,109,101,0,0,0,0,0,0,0,0,67,73,68,32,84,121,112,101,32,49,0,0,0,0,0,0,112,111,115,116,115,99,114,105,112,116,45,102,111,110,116,45,110,97,109,101,0,0,0,0,233,0,0,0,0,0,0,0,112,111,115,116,115,99,114,105,112,116,45,105,110,102,111,0,139,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,67,73,68,0,0,0,0,0,31,0,0,0,141,0,0,0,63,0,0,0,0,0,0,0,116,121,112,101,52,50,0,0,1,5,0,0,48,0,0,0,40,72,4,0,0,0,1,0,0,0,2,0,0,0,0,0,234,0,0,0,52,1,0,0,142,0,0,0,48,2,0,0,48,0,0,0,164,0,0,0,33,0,0,0,53,1,0,0,235,0,0,0,54,1,0,0,236,0,0,0,55,1,0,0,17,0,0,0,26,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,143,0,0,0,144,0,0,0,112,111,115,116,115,99,114,105,112,116,45,99,109,97,112,115,0,0,0,0,0,0,0,0,112,115,97,117,120,0,0,0,82,101,103,117,108,97,114,0,46,110,111,116,100,101,102,0,70,111,110,116,68,105,114,101,99,116,111,114,121,0,0,0,107,110,111,119,110,0,0,0,176,75,4,0,3,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,75,4,0,3,0,0,0,5,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,75,4,0,3,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,75,4,0,3,0,0,0,5,0,0,0,0,0,0,0,12,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,75,4,0,3,0,0,0,5,0,0,0,0,0,0,0,16,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,75,4,0,3,0,0,0,2,0,0,0,0,0,0,0,20,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,75,4,0,3,0,0,0,1,0,0,0,0,0,0,0,24,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,76,4,0,3,0,0,0,2,0,0,0,0,0,0,0,26,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,76,4,0,3,0,0,0,2,0,0,0,0,0,0,0,28,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,76,4,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,76,4,0,1,0,0,0,6,0,0,0,0,0,0,0,232,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,76,4,0,1,0,0,0,2,0,0,0,0,0,0,0,44,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,76,4,0,1,0,0,0,2,0,0,0,0,0,0,0,45,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,76,4,0,1,0,0,0,3,0,0,0,0,0,0,0,92,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,76,4,0,5,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,76,4,0,5,0,0,0,10,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,76,4,0,5,0,0,0,10,0,0,0,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,76,4,0,5,0,0,0,10,0,0,0,86,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,76,4,0,5,0,0,0,10,0,0,0,87,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,101,114,115,105,111,110,0,78,111,116,105,99,101,0,0,70,117,108,108,78,97,109,101,0,0,0,0,0,0,0,0,70,97,109,105,108,121,78,97,109,101,0,0,0,0,0,0,87,101,105,103,104,116,0,0,73,116,97,108,105,99,65,110,103,108,101,0,0,0,0,0,105,115,70,105,120,101,100,80,105,116,99,104,0,0,0,0,85,110,100,101,114,108,105,110,101,80,111,115,105,116,105,111,110,0,0,0,0,0,0,0,85,110,100,101,114,108,105,110,101,84,104,105,99,107,110,101,115,115,0,0,0,0,0,0,70,83,84,121,112,101,0,0,70,111,110,116,78,97,109,101,0,0,0,0,0,0,0,0,80,97,105,110,116,84,121,112,101,0,0,0,0,0,0,0,70,111,110,116,84,121,112,101,0,0,0,0,0,0,0,0,83,116,114,111,107,101,87,105,100,116,104,0,0,0,0,0,70,111,110,116,66,66,111,120,0,0,0,0,0,0,0,0,70,111,110,116,77,97,116,114,105,120,0,0,0,0,0,0,69,110,99,111,100,105,110,103,0,0,0,0,0,0,0,0,67,104,97,114,83,116,114,105,110,103,115,0,0,0,0,0,115,102,110,116,115,0,0,0,83,116,97,110,100,97,114,100,69,110,99,111,100,105,110,103,0,0,0,0,0,0,0,0,69,120,112,101,114,116,69,110,99,111,100,105,110,103,0,0,73,83,79,76,97,116,105,110,49,69,110,99,111,100,105,110,103,0,0,0,0,0,0,0,37,33,80,83,45,84,114,117,101,84,121,112,101,70,111,110,116,0,0,0,0,0,0,0,72,77,4,0,88,77,4,0,96,77,4,0,120,77,4,0,128,77,4,0,144,77,4,0,160,77,4,0,184,77,4,0,0,0,0,0,0,0,0,0,103,108,121,112,104,45,100,105,99,116,0,0,0,0,0,0,33,0,0,0,145,0,0,0,112,111,115,116,115,99,114,105,112,116,45,102,111,110,116,45,110,97,109,101,0,0,0,0,237,0,0,0,0,0,0,0,112,111,115,116,115,99,114,105,112,116,45,105,110,102,111,0,146,0,0,0,147,0,0,0,238,0,0,0,148,0,0,0,120,102,56,54,45,100,114,105,118,101,114,45,110,97,109,101,0,0,0,0,0,0,0,0,84,121,112,101,32,52,50,0,116,114,117,101,116,121,112,101,0,0,0,0,0,0,0,0,119,105,110,102,111,110,116,115,0,0,0,0,0,0,0,0,1,2,0,0,40,0,0,0,208,77,4,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,149,0,0,0,152,0,0,0,44,0,0,0,160,0,0,0,34,0,0,0,56,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,26,0,0,0,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,0,0,151,0,0,0,82,101,103,117,108,97,114,0,66,111,108,100,32,73,116,97,108,105,99,0,0,0,0,0,66,111,108,100,0,0,0,0,73,116,97,108,105,99,0,0,24,0,0,0,152,0,0,0,0,0,0,0,153,0,0,0,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,148,0,14,2,0,0,18,4,4,0,24,60,8,0,14,2,68,0,14,2,70,0,14,2,72,0,14,2,74,0,14,2,76,0,14,2,78,0,14,2,80,0,8,1,82,0,8,1,83,0,8,1,84,0,14,2,86,0,8,1,88,0,14,2,90,0,14,2,92,0,8,1,94,0,14,2,96,0,14,2,98,0,8,1,100,0,8,1,101,0,8,1,102,0,8,1,103,0,14,2,104,0,18,4,108,0,18,4,112,0,18,4,116,0,18,4,120,0,8,1,124,0,18,4,128,0,14,2,132,0,14,2,134,0,14,2,136,0,18,2,138,0,24,16,140,0,0,0,0,0,4,0,64,0,14,2,0,0,25,58,0,0,18,2,2,0,0,0,0,0,0,0,0,0,4,0,40,0,14,2,0,0,25,34,0,0,14,2,2,0,14,2,4,0,0,0,0,0,4,0,248,0,18,4,0,0,14,2,4,0,14,2,6,0,25,12,0,0,14,2,8,0,25,2,0,0,14,2,10,0,25,110,0,0,18,4,12,0,18,4,16,0,25,104,0,0,0,0,0,0,0,0,0,0,4,0,40,0,24,8,0,0,25,4,0,0,18,4,8,0,18,4,12,0,18,4,16,0,25,16,0,0,0,0,0,0,4,0,16,0,18,4,0,0,18,4,4,0,14,2,8,0,14,2,10,0,14,2,12,0,14,2,14,0,0,0,0,0,4,0,8,0,18,4,0,0,18,4,4,0,0,0,0,0,4,0,16,0,18,4,0,0,18,4,4,0,18,4,8,0,18,4,12,0,0,0,0,0,24,80,4,0,48,80,4,0,208,77,4,0,64,80,4,0,0,0,0,0,0,0,0,0,120,102,56,54,45,100,114,105,118,101,114,45,110,97,109,101,0,0,0,0,0,0,0,0,87,105,110,100,111,119,115,32,70,78,84,0,0,0,0,0,155,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,0,0,0,64,0,0,0,32,0,0,0,127,0,0,0,160,0,0,0,255,0,0,0,0,1,0,0,127,1,0,0,128,1,0,0,79,2,0,0,80,2,0,0,175,2,0,0,176,2,0,0,255,2,0,0,0,3,0,0,111,3,0,0,112,3,0,0,255,3,0,0,0,4,0,0,255,4,0,0,0,5,0,0,47,5,0,0,0,29,0,0,127,29,0,0,128,29,0,0,191,29,0,0,192,29,0,0,255,29,0,0,0,30,0,0,255,30,0,0,0,31,0,0,255,31,0,0,0,32,0,0,111,32,0,0,112,32,0,0,159,32,0,0,160,32,0,0,207,32,0,0,80,33,0,0,143,33,0,0,96,36,0,0,255,36,0,0,96,44,0,0,127,44,0,0,224,45,0,0,255,45,0,0,64,166,0,0,159,166,0,0,32,167,0,0,255,167,0,0,0,251,0,0,6,251,0,0,0,212,1,0,255,215,1,0,0,0,0,0,0,0,0,0,1,0,0,0,104,80,4,0,64,3,0,0,157,0,0,0,88,0,0,0,0,0,0,0,158,0,0,0,65,0,0,0,128,46,0,0,255,46,0,0,0,47,0,0,223,47,0,0,0,48,0,0,63,48,0,0,64,48,0,0,159,48,0,0,160,48,0,0,255,48,0,0,0,49,0,0,47,49,0,0,48,49,0,0,143,49,0,0,160,49,0,0,191,49,0,0,192,49,0,0,239,49,0,0,240,49,0,0,255,49,0,0,0,50,0,0,255,50,0,0,0,51,0,0,255,51,0,0,0,52,0,0,191,77,0,0,192,77,0,0,255,77,0,0,0,78,0,0,255,159,0,0,0,249,0,0,255,250,0,0,48,254,0,0,79,254,0,0,0,255,0,0,239,255,0,0,0,0,2,0,223,166,2,0,0,248,2,0,31,250,2,0,0,0,0,0,0,0,0,0,2,0,0,0,96,81,4,0,64,3,0,0,159,0,0,0,89,0,0,0,0,0,0,0,160,0,0,0,66,0,0,0,0,9,0,0,255,13,0,0,0,0,0,0,0,0,0,0,3,0,0,0,40,82,4,0,64,3,0,0,161,0,0,0,90,0,0,0,0,0,0,0,162,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,97,117,116,111,102,105,116,116,101,114,0,0,0,0,0,0,4,0,0,0,204,0,0,0,104,82,4,0,0,0,1,0,0,0,2,0,88,82,4,0,239,0,0,0,57,1,0,0,0,0,0,0,0,0,0,0,72,80,4,0,64,81,4,0,8,82,4,0,56,82,4,0,0,0,0,0,0,0,0,0,99,105,110,117,110,109,114,97,66,79,68,65,49,116,97,108,0,0,0,0,0,0,0,0,84,72,69,90,79,67,81,83,0,0,0,0,0,72,69,90,76,79,67,85,83,0,0,0,0,0,102,105,106,107,100,98,104,0,0,0,0,0,0,120,122,114,111,101,115,99,0,0,0,0,0,0,120,122,114,111,101,115,99,0,0,0,0,0,0,112,113,103,106,121,0,0,0,0,0,0,0,0,0,0,24,0,0,0,163,0,0,0,58,1,0,0,164,0,0,0,165,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,100,102,0,0,0,0,0,1,2,0,0,40,0,0,0,72,83,4,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,166,0,0,0,168,0,0,0,44,0,0,0,160,0,0,0,36,0,0,0,59,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,26,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,167,0,0,0,168,0,0,0,83,80,65,67,73,78,71,0,70,65,77,73,76,89,95,78,65,77,69,0,0,0,0,0,65,86,69,82,65,71,69,95,87,73,68,84,72,0,0,0,80,79,73,78,84,95,83,73,90,69,0,0,0,0,0,0,80,73,88,69,76,95,83,73,90,69,0,0,0,0,0,0,82,69,83,79,76,85,84,73,79,78,95,88,0,0,0,0,82,69,83,79,76,85,84,73,79,78,95,89,0,0,0,0,67,72,65,82,83,69,84,95,82,69,71,73,83,84,82,89,0,0,0,0,0,0,0,0,67,72,65,82,83,69,84,95,69,78,67,79,68,73,78,71,0,0,0,0,0,0,0,0,49,48,54,52,54,0,0,0,56,56,53,57,0,0,0,0,49,0,0,0,0,0,0,0,83,76,65,78,84,0,0,0,79,98,108,105,113,117,101,0,73,116,97,108,105,99,0,0,87,69,73,71,72,84,95,78,65,77,69,0,0,0,0,0,66,111,108,100,0,0,0,0,83,69,84,87,73,68,84,72,95,78,65,77,69,0,0,0,65,68,68,95,83,84,89,76,69,95,78,65,77,69,0,0,82,101,103,117,108,97,114,0,67,79,77,77,69,78,84,0,83,84,65,82,84,70,79,78,84,0,0,0,0,0,0,0,168,84,4,0,1,0,0,0,1,0,0,0,0,0,0,0,208,83,4,0,2,0,0,0,1,0,0,0,0,0,0,0,208,91,4,0,2,0,0,0,1,0,0,0,0,0,0,0,232,91,4,0,2,0,0,0,1,0,0,0,0,0,0,0,0,92,4,0,2,0,0,0,1,0,0,0,0,0,0,0,16,92,4,0,1,0,0,0,1,0,0,0,0,0,0,0,56,84,4,0,1,0,0,0,1,0,0,0,0,0,0,0,32,84,4,0,1,0,0,0,1,0,0,0,0,0,0,0,192,84,4,0,1,0,0,0,1,0,0,0,0,0,0,0,40,92,4,0,1,0,0,0,1,0,0,0,0,0,0,0,136,91,4,0,3,0,0,0,1,0,0,0,0,0,0,0,56,92,4,0,3,0,0,0,1,0,0,0,0,0,0,0,72,92,4,0,1,0,0,0,1,0,0,0,0,0,0,0,96,92,4,0,2,0,0,0,1,0,0,0,0,0,0,0,112,92,4,0,1,0,0,0,1,0,0,0,0,0,0,0,192,83,4,0,1,0,0,0,1,0,0,0,0,0,0,0,128,92,4,0,2,0,0,0,1,0,0,0,0,0,0,0,48,90,4,0,1,0,0,0,1,0,0,0,0,0,0,0,144,92,4,0,1,0,0,0,1,0,0,0,0,0,0,0,80,90,4,0,2,0,0,0,1,0,0,0,0,0,0,0,96,90,4,0,2,0,0,0,1,0,0,0,0,0,0,0,168,92,4,0,1,0,0,0,1,0,0,0,0,0,0,0,176,92,4,0,1,0,0,0,1,0,0,0,0,0,0,0,192,92,4,0,2,0,0,0,1,0,0,0,0,0,0,0,208,92,4,0,2,0,0,0,1,0,0,0,0,0,0,0,224,92,4,0,2,0,0,0,1,0,0,0,0,0,0,0,240,92,4,0,2,0,0,0,1,0,0,0,0,0,0,0,0,93,4,0,1,0,0,0,1,0,0,0,0,0,0,0,240,83,4,0,2,0,0,0,1,0,0,0,0,0,0,0,224,83,4,0,2,0,0,0,1,0,0,0,0,0,0,0,8,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,24,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,40,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,64,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,88,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,112,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,128,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,144,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,160,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,184,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,200,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,216,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,232,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,248,93,4,0,2,0,0,0,1,0,0,0,0,0,0,0,8,94,4,0,2,0,0,0,1,0,0,0,0,0,0,0,24,94,4,0,2,0,0,0,1,0,0,0,0,0,0,0,40,94,4,0,2,0,0,0,1,0,0,0,0,0,0,0,56,94,4,0,2,0,0,0,1,0,0,0,0,0,0,0,80,94,4,0,2,0,0,0,1,0,0,0,0,0,0,0,104,94,4,0,2,0,0,0,1,0,0,0,0,0,0,0,128,94,4,0,2,0,0,0,1,0,0,0,0,0,0,0,152,94,4,0,2,0,0,0,1,0,0,0,0,0,0,0,168,94,4,0,2,0,0,0,1,0,0,0,0,0,0,0,184,94,4,0,2,0,0,0,1,0,0,0,0,0,0,0,208,94,4,0,2,0,0,0,1,0,0,0,0,0,0,0,232,94,4,0,2,0,0,0,1,0,0,0,0,0,0,0,0,95,4,0,2,0,0,0,1,0,0,0,0,0,0,0,24,95,4,0,2,0,0,0,1,0,0,0,0,0,0,0,48,95,4,0,2,0,0,0,1,0,0,0,0,0,0,0,64,95,4,0,3,0,0,0,1,0,0,0,0,0,0,0,88,95,4,0,3,0,0,0,1,0,0,0,0,0,0,0,104,95,4,0,2,0,0,0,1,0,0,0,0,0,0,0,0,84,4,0,3,0,0,0,1,0,0,0,0,0,0,0,16,84,4,0,3,0,0,0,1,0,0,0,0,0,0,0,152,84,4,0,1,0,0,0,1,0,0,0,0,0,0,0,104,84,4,0,1,0,0,0,1,0,0,0,0,0,0,0,120,95,4,0,2,0,0,0,1,0,0,0,0,0,0,0,184,83,4,0,1,0,0,0,1,0,0,0,0,0,0,0,136,95,4,0,2,0,0,0,1,0,0,0,0,0,0,0,160,95,4,0,2,0,0,0,1,0,0,0,0,0,0,0,184,95,4,0,2,0,0,0,1,0,0,0,0,0,0,0,200,95,4,0,2,0,0,0,1,0,0,0,0,0,0,0,216,95,4,0,2,0,0,0,1,0,0,0,0,0,0,0,232,95,4,0,2,0,0,0,1,0,0,0,0,0,0,0,0,96,4,0,2,0,0,0,1,0,0,0,0,0,0,0,16,96,4,0,2,0,0,0,1,0,0,0,0,0,0,0,32,96,4,0,2,0,0,0,1,0,0,0,0,0,0,0,56,96,4,0,2,0,0,0,1,0,0,0,0,0,0,0,80,96,4,0,3,0,0,0,1,0,0,0,0,0,0,0,128,84,4,0,1,0,0,0,1,0,0,0,0,0,0,0,88,96,4,0,2,0,0,0,1,0,0,0,0,0,0,0,104,96,4,0,2,0,0,0,1,0,0,0,0,0,0,0,128,96,4,0,2,0,0,0,1,0,0,0,0,0,0,0,83,84,65,82,84,80,82,79,80,69,82,84,73,69,83,0,32,43,0,0,0,0,0,0,70,79,78,84,66,79,85,78,68,73,78,71,66,79,88,0,70,79,78,84,0,0,0,0,83,73,90,69,0,0,0,0,67,72,65,82,83,0,0,0,37,104,100,0,0,0,0,0,70,79,78,84,95,65,83,67,69,78,84,0,0,0,0,0,70,79,78,84,95,68,69,83,67,69,78,84,0,0,0,0,69,78,68,70,79,78,84,0,69,78,68,67,72,65,82,0,83,84,65,82,84,67,72,65,82,0,0,0,0,0,0,0,69,78,67,79,68,73,78,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,0,0,0,0,0,0,0,10,11,12,13,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,12,13,14,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,128,192,224,240,248,252,254,83,87,73,68,84,72,0,0,68,87,73,68,84,72,0,0,66,66,88,0,0,0,0,0,66,73,84,77,65,80,0,0,0,0,0,0,0,0,255,3,126,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,69,70,65,85,76,84,95,67,72,65,82,0,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,69,78,68,80,82,79,80,69,82,84,73,69,83,0,0,0,95,88,70,82,69,69,56,54,95,71,76,89,80,72,95,82,65,78,71,69,83,0,0,0,65,86,71,95,67,65,80,73,84,65,76,95,87,73,68,84,72,0,0,0,0,0,0,0,65,86,71,95,76,79,87,69,82,67,65,83,69,95,87,73,68,84,72,0,0,0,0,0,67,65,80,95,72,69,73,71,72,84,0,0,0,0,0,0,67,72,65,82,83,69,84,95,67,79,76,76,69,67,84,73,79,78,83,0,0,0,0,0,67,79,80,89,82,73,71,72,84,0,0,0,0,0,0,0,68,69,83,84,73,78,65,84,73,79,78,0,0,0,0,0,68,69,86,73,67,69,95,70,79,78,84,95,78,65,77,69,0,0,0,0,0,0,0,0,69,78,68,95,83,80,65,67,69,0,0,0,0,0,0,0,70,65,67,69,95,78,65,77,69,0,0,0,0,0,0,0,70,73,71,85,82,69,95,87,73,68,84,72,0,0,0,0,70,79,78,84,78,65,77,69,95,82,69,71,73,83,84,82,89,0,0,0,0,0,0,0,70,79,85,78,68,82,89,0,70,85,76,76,95,78,65,77,69,0,0,0,0,0,0,0,73,84,65,76,73,67,95,65,78,71,76,69,0,0,0,0,77,65,88,95,83,80,65,67,69,0,0,0,0,0,0,0,77,73,78,95,83,80,65,67,69,0,0,0,0,0,0,0,78,79,82,77,95,83,80,65,67,69,0,0,0,0,0,0,78,79,84,73,67,69,0,0,81,85,65,68,95,87,73,68,84,72,0,0,0,0,0,0,82,65,87,95,65,83,67,69,78,84,0,0,0,0,0,0,82,65,87,95,65,86,69,82,65,71,69,95,87,73,68,84,72,0,0,0,0,0,0,0,82,65,87,95,65,86,71,95,67,65,80,73,84,65,76,95,87,73,68,84,72,0,0,0,82,65,87,95,65,86,71,95,76,79,87,69,82,67,65,83,69,95,87,73,68,84,72,0,82,65,87,95,67,65,80,95,72,69,73,71,72,84,0,0,82,65,87,95,68,69,83,67,69,78,84,0,0,0,0,0,82,65,87,95,69,78,68,95,83,80,65,67,69,0,0,0,82,65,87,95,70,73,71,85,82,69,95,87,73,68,84,72,0,0,0,0,0,0,0,0,82,65,87,95,77,65,88,95,83,80,65,67,69,0,0,0,82,65,87,95,77,73,78,95,83,80,65,67,69,0,0,0,82,65,87,95,78,79,82,77,95,83,80,65,67,69,0,0,82,65,87,95,80,73,88,69,76,95,83,73,90,69,0,0,82,65,87,95,80,79,73,78,84,95,83,73,90,69,0,0,82,65,87,95,80,73,88,69,76,83,73,90,69,0,0,0,82,65,87,95,80,79,73,78,84,83,73,90,69,0,0,0,82,65,87,95,81,85,65,68,95,87,73,68,84,72,0,0,82,65,87,95,83,77,65,76,76,95,67,65,80,95,83,73,90,69,0,0,0,0,0,0,82,65,87,95,83,84,82,73,75,69,79,85,84,95,65,83,67,69,78,84,0,0,0,0,82,65,87,95,83,84,82,73,75,69,79,85,84,95,68,69,83,67,69,78,84,0,0,0,82,65,87,95,83,85,66,83,67,82,73,80,84,95,83,73,90,69,0,0,0,0,0,0,82,65,87,95,83,85,66,83,67,82,73,80,84,95,88,0,82,65,87,95,83,85,66,83,67,82,73,80,84,95,89,0,82,65,87,95,83,85,80,69,82,83,67,82,73,80,84,95,83,73,90,69,0,0,0,0,82,65,87,95,83,85,80,69,82,83,67,82,73,80,84,95,88,0,0,0,0,0,0,0,82,65,87,95,83,85,80,69,82,83,67,82,73,80,84,95,89,0,0,0,0,0,0,0,82,65,87,95,85,78,68,69,82,76,73,78,69,95,80,79,83,73,84,73,79,78,0,0,82,65,87,95,85,78,68,69,82,76,73,78,69,95,84,72,73,67,75,78,69,83,83,0,82,65,87,95,88,95,72,69,73,71,72,84,0,0,0,0,82,69,76,65,84,73,86,69,95,83,69,84,87,73,68,84,72,0,0,0,0,0,0,0,82,69,76,65,84,73,86,69,95,87,69,73,71,72,84,0,82,69,83,79,76,85,84,73,79,78,0,0,0,0,0,0,83,77,65,76,76,95,67,65,80,95,83,73,90,69,0,0,83,84,82,73,75,69,79,85,84,95,65,83,67,69,78,84,0,0,0,0,0,0,0,0,83,84,82,73,75,69,79,85,84,95,68,69,83,67,69,78,84,0,0,0,0,0,0,0,83,85,66,83,67,82,73,80,84,95,83,73,90,69,0,0,83,85,66,83,67,82,73,80,84,95,88,0,0,0,0,0,83,85,66,83,67,82,73,80,84,95,89,0,0,0,0,0,83,85,80,69,82,83,67,82,73,80,84,95,83,73,90,69,0,0,0,0,0,0,0,0,83,85,80,69,82,83,67,82,73,80,84,95,88,0,0,0,83,85,80,69,82,83,67,82,73,80,84,95,89,0,0,0,85,78,68,69,82,76,73,78,69,95,80,79,83,73,84,73,79,78,0,0,0,0,0,0,85,78,68,69,82,76,73,78,69,95,84,72,73,67,75,78,69,83,83,0,0,0,0,0,87,69,73,71,72,84,0,0,88,95,72,69,73,71,72,84,0,0,0,0,0,0,0,0,95,77,85,76,69,95,66,65,83,69,76,73,78,69,95,79,70,70,83,69,84], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+276600);
/* memory initializer */ allocate([95,77,85,76,69,95,82,69,76,65,84,73,86,69,95,67,79,77,80,79,83,69,0,0,72,83,4,0,176,96,4,0,184,96,4,0,208,96,4,0,0,0,0,0,0,0,0,0,68,0,0,0,69,0,0,0,120,102,56,54,45,100,114,105,118,101,114,45,110,97,109,101,0,0,0,0,0,0,0,0,66,68,70,0,0,0,0,0,99,102,102,0,0,0,0,0,1,5,0,0,44,0,0,0,216,96,4,0,0,0,1,0,0,0,2,0,0,0,0,0,240,0,0,0,60,1,0,0,169,0,0,0,56,3,0,0,48,0,0,0,172,0,0,0,37,0,0,0,61,1,0,0,241,0,0,0,62,1,0,0,242,0,0,0,63,1,0,0,17,0,0,0,26,0,0,0,36,0,0,0,37,0,0,0,0,0,0,0,38,0,0,0,170,0,0,0,171,0,0,0,20,0,0,0,172,0,0,0,64,1,0,0,173,0,0,0,174,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,175,0,0,0,65,1,0,0,176,0,0,0,177,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,102,110,116,0,0,0,0,112,111,115,116,115,99,114,105,112,116,45,99,109,97,112,115,0,0,0,0,0,0,0,0,112,115,104,105,110,116,101,114,0,0,0,0,0,0,0,0,82,101,103,117,108,97,114,0,66,111,108,100,0,0,0,0,66,108,97,99,107,0,0,0,4,0,4,0,8,1,16,0,8,1,17,0,8,1,18,0,8,1,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,84,0,85,0,86,0,87,0,88,0,89,0,90,0,91,0,92,0,93,0,94,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,97,0,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,107,0,108,0,109,0,110,0,0,0,111,0,112,0,113,0,114,0,0,0,115,0,116,0,117,0,118,0,119,0,120,0,121,0,122,0,0,0,123,0,0,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,0,0,132,0,133,0,0,0,134,0,135,0,136,0,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,138,0,0,0,139,0,0,0,0,0,0,0,0,0,140,0,141,0,142,0,143,0,0,0,0,0,0,0,0,0,0,0,144,0,0,0,0,0,0,0,145,0,0,0,0,0,146,0,147,0,148,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,229,0,230,0,0,0,231,0,232,0,233,0,234,0,235,0,236,0,237,0,238,0,13,0,14,0,15,0,99,0,239,0,240,0,241,0,242,0,243,0,244,0,245,0,246,0,247,0,248,0,27,0,28,0,249,0,250,0,251,0,252,0,0,0,253,0,254,0,255,0,0,1,1,1,0,0,0,0,0,0,2,1,0,0,0,0,3,1,4,1,5,1,6,1,0,0,0,0,7,1,8,1,9,1,0,0,10,1,109,0,110,0,11,1,12,1,13,1,0,0,14,1,15,1,16,1,17,1,18,1,19,1,20,1,21,1,22,1,23,1,24,1,25,1,26,1,27,1,28,1,29,1,30,1,31,1,32,1,33,1,34,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,45,1,46,1,47,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,1,49,1,50,1,0,0,0,0,51,1,52,1,53,1,54,1,55,1,0,0,56,1,0,0,0,0,56,1,0,0,0,0,58,1,59,1,0,0,0,0,60,1,61,1,62,1,0,0,0,0,0,0,158,0,155,0,163,0,63,1,64,1,65,1,66,1,67,1,68,1,69,1,0,0,0,0,70,1,150,0,164,0,169,0,71,1,72,1,73,1,74,1,75,1,76,1,77,1,78,1,79,1,80,1,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,94,1,95,1,96,1,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,107,1,108,1,109,1,110,1,111,1,112,1,113,1,114,1,115,1,116,1,117,1,118,1,119,1,120,1,121,1,122,1,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,27,0,28,0,29,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,40,0,41,0,42,0,43,0,44,0,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,61,0,62,0,63,0,64,0,65,0,66,0,67,0,68,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,84,0,85,0,86,0,87,0,88,0,89,0,90,0,91,0,92,0,93,0,94,0,95,0,96,0,97,0,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,107,0,108,0,109,0,110,0,111,0,112,0,113,0,114,0,115,0,116,0,117,0,118,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,145,0,146,0,147,0,148,0,149,0,150,0,151,0,152,0,153,0,154,0,155,0,156,0,157,0,158,0,159,0,160,0,161,0,162,0,163,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,173,0,174,0,175,0,176,0,177,0,178,0,179,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,190,0,191,0,192,0,193,0,194,0,195,0,196,0,197,0,198,0,199,0,200,0,201,0,202,0,203,0,204,0,205,0,206,0,207,0,208,0,209,0,210,0,211,0,212,0,213,0,214,0,215,0,216,0,217,0,218,0,219,0,220,0,221,0,222,0,223,0,224,0,225,0,226,0,227,0,228,0,0,0,0,0,0,0,0,0,1,0,229,0,230,0,231,0,232,0,233,0,234,0,235,0,236,0,237,0,238,0,13,0,14,0,15,0,99,0,239,0,240,0,241,0,242,0,243,0,244,0,245,0,246,0,247,0,248,0,27,0,28,0,249,0,250,0,251,0,252,0,253,0,254,0,255,0,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,109,0,110,0,11,1,12,1,13,1,14,1,15,1,16,1,17,1,18,1,19,1,20,1,21,1,22,1,23,1,24,1,25,1,26,1,27,1,28,1,29,1,30,1,31,1,32,1,33,1,34,1,35,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,45,1,46,1,47,1,48,1,49,1,50,1,51,1,52,1,53,1,54,1,55,1,56,1,57,1,58,1,59,1,60,1,61,1,62,1,158,0,155,0,163,0,63,1,64,1,65,1,66,1,67,1,68,1,69,1,70,1,150,0,164,0,169,0,71,1,72,1,73,1,74,1,75,1,76,1,77,1,78,1,79,1,80,1,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,94,1,95,1,96,1,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,107,1,108,1,109,1,110,1,111,1,112,1,113,1,114,1,115,1,116,1,117,1,118,1,119,1,120,1,121,1,122,1,0,0,0,0,0,0,1,0,231,0,232,0,235,0,236,0,237,0,238,0,13,0,14,0,15,0,99,0,239,0,240,0,241,0,242,0,243,0,244,0,245,0,246,0,247,0,248,0,27,0,28,0,249,0,250,0,251,0,253,0,254,0,255,0,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1,8,1,9,1,10,1,109,0,110,0,11,1,12,1,13,1,14,1,16,1,44,1,45,1,46,1,49,1,58,1,59,1,158,0,155,0,163,0,64,1,65,1,66,1,67,1,68,1,69,1,70,1,150,0,164,0,169,0,71,1,72,1,73,1,74,1,75,1,76,1,77,1,78,1,79,1,80,1,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,0,0,4,0,0,0,0,16,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,1,16,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,17,0,0,8,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,2,16,0,0,12,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,16,0,0,16,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,16,0,0,20,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,1,17,0,0,24,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,17,0,0,28,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,17,0,0,32,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,17,0,0,36,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,17,0,0,40,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,17,0,0,44,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,7,17,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,13,16,0,0,76,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,5,16,0,0,0,0,0,0,0,0,0,0,244,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,17,0,0,96,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,15,16,0,0,100,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,16,16,0,0,104,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,17,16,0,0,108,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,18,16,0,0,0,0,0,0,0,0,0,0,245,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,20,17,0,0,120,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,21,17,0,0,124,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,30,17,0,0,0,0,0,0,0,0,0,0,246,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,31,17,0,0,140,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,17,0,0,144,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,33,17,0,0,148,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,34,17,0,0,152,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,35,17,0,0,156,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,36,17,0,0,160,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,37,17,0,0,164,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,38,17,0,0,168,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,32,0,0,4,0,0,0,4,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,6,0,0,0,7,32,0,0,60,0,0,0,4,0,0,0,0,0,0,0,10,0,0,0,1,0,0,0,6,0,0,0,8,32,0,0,100,0,0,0,4,0,0,0,0,0,0,0,14,0,0,0,2,0,0,0,6,0,0,0,9,32,0,0,156,0,0,0,4,0,0,0,0,0,0,0,10,0,0,0,3,0,0,0,3,0,0,0,9,33,0,0,196,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,33,0,0,200,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,33,0,0,204,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,32,0,0,208,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,32,0,0,212,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,12,33,0,0,220,0,0,0,4,0,0,0,0,0,0,0,13,0,0,0,216,0,0,0,6,0,0,0,13,33,0,0,16,1,0,0,4,0,0,0,0,0,0,0,13,0,0,0,217,0,0,0,5,0,0,0,14,33,0,0,68,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,15,33,0,0,72,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,16,33,0,0,76,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,17,33,0,0,80,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,18,33,0,0,84,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,19,33,0,0,88,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,19,32,0,0,92,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,20,32,0,0,96,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,21,32,0,0,100,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,202,154,59,0,194,193,193,32,32,32,32,32,32,32,32,32,32,13,7,9,11,128,130,130,130,130,128,128,0,1,2,2,2,1,0,2,1,1,1,2,1,2,1,2,1,4,3,2,2,1,2,4,1,1,0,2,0,0,0,5,4,2,0,0,0,0,0,24,112,4,0,48,112,4,0,56,112,4,0,72,112,4,0,88,112,4,0,112,112,4,0,120,112,4,0,136,112,4,0,144,112,4,0,160,112,4,0,168,112,4,0,176,112,4,0,0,0,0,0,0,0,0,0,120,102,56,54,45,100,114,105,118,101,114,45,110,97,109,101,0,0,0,0,0,0,0,0,67,70,70,0,0,0,0,0,112,111,115,116,115,99,114,105,112,116,45,105,110,102,111,0,178,0,0,0,0,0,0,0,247,0,0,0,0,0,0,0,112,111,115,116,115,99,114,105,112,116,45,102,111,110,116,45,110,97,109,101,0,0,0,0,248,0,0,0,0,0,0,0,103,108,121,112,104,45,100,105,99,116,0,0,0,0,0,0,38,0,0,0,179,0,0,0,116,116,45,99,109,97,112,115,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,67,73,68,0,0,0,0,0,39,0,0,0,181,0,0,0,70,0,0,0,0,0,0,0,49,46,50,46,53,0,0,0,83,116,57,116,121,112,101,95,105,110,102,111,0,0,0,0,88,113,4,0,200,112,4,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,0,128,113,4,0,224,112,4,0,216,112,4,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,128,113,4,0,24,113,4,0,8,113,4,0,0,0,0,0,0,0,0,0,64,113,4,0,66,1,0,0,67,1,0,0,68,1,0,0,69,1,0,0,71,0,0,0,2,0,0,0,2,0,0,0,31,0,0,0,0,0,0,0,200,113,4,0,66,1,0,0,70,1,0,0,68,1,0,0,69,1,0,0,71,0,0,0,3,0,0,0,3,0,0,0,32,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,128,113,4,0,160,113,4,0,64,113,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,116,4,0,71,1,0,0,72,1,0,0,249,0,0,0,0,0,0,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,0,83,116,57,98,97,100,95,97,108,108,111,99,0,0,0,0,128,113,4,0,248,115,4,0,0,0,0,0,0,0,0,0,105,110,102,105,110,105,116,121,0,0,0,0,0,0,0,0,110,97,110,0,0,0,0,0,95,112,137,0,255,9,47,15,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+286840);
var tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8);
assert(tempDoublePtr % 8 == 0);
function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much
HEAP8[tempDoublePtr] = HEAP8[ptr];
HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
}
function copyTempDouble(ptr) {
HEAP8[tempDoublePtr] = HEAP8[ptr];
HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
HEAP8[tempDoublePtr+4] = HEAP8[ptr+4];
HEAP8[tempDoublePtr+5] = HEAP8[ptr+5];
HEAP8[tempDoublePtr+6] = HEAP8[ptr+6];
HEAP8[tempDoublePtr+7] = HEAP8[ptr+7];
}
Module["_tolower"] = _tolower;
Module["_strncasecmp"] = _strncasecmp;
function _FcPatternGetInteger() {
Module['printErr']('missing function: FcPatternGetInteger'); abort(-1);
}
var _DtoILow=true;
var _UItoD=true;
function _rand() {
return Math.floor(Math.random()*0x80000000);
}
var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};
var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};
var ___errno_state=0;function ___setErrNo(value) {
// For convenient setting and returning of errno.
HEAP32[((___errno_state)>>2)]=value;
return value;
}
var PATH={splitPath:function (filename) {
var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
return splitPathRe.exec(filename).slice(1);
},normalizeArray:function (parts, allowAboveRoot) {
// if the path tries to go above the root, `up` ends up > 0
var up = 0;
for (var i = parts.length - 1; i >= 0; i--) {
var last = parts[i];
if (last === '.') {
parts.splice(i, 1);
} else if (last === '..') {
parts.splice(i, 1);
up++;
} else if (up) {
parts.splice(i, 1);
up--;
}
}
// if the path is allowed to go above the root, restore leading ..s
if (allowAboveRoot) {
for (; up--; up) {
parts.unshift('..');
}
}
return parts;
},normalize:function (path) {
var isAbsolute = path.charAt(0) === '/',
trailingSlash = path.substr(-1) === '/';
// Normalize the path
path = PATH.normalizeArray(path.split('/').filter(function(p) {
return !!p;
}), !isAbsolute).join('/');
if (!path && !isAbsolute) {
path = '.';
}
if (path && trailingSlash) {
path += '/';
}
return (isAbsolute ? '/' : '') + path;
},dirname:function (path) {
var result = PATH.splitPath(path),
root = result[0],
dir = result[1];
if (!root && !dir) {
// No dirname whatsoever
return '.';
}
if (dir) {
// It has a dirname, strip trailing slash
dir = dir.substr(0, dir.length - 1);
}
return root + dir;
},basename:function (path) {
// EMSCRIPTEN return '/'' for '/', not an empty string
if (path === '/') return '/';
var lastSlash = path.lastIndexOf('/');
if (lastSlash === -1) return path;
return path.substr(lastSlash+1);
},extname:function (path) {
return PATH.splitPath(path)[3];
},join:function () {
var paths = Array.prototype.slice.call(arguments, 0);
return PATH.normalize(paths.join('/'));
},join2:function (l, r) {
return PATH.normalize(l + '/' + r);
},resolve:function () {
var resolvedPath = '',
resolvedAbsolute = false;
for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
var path = (i >= 0) ? arguments[i] : FS.cwd();
// Skip empty and invalid entries
if (typeof path !== 'string') {
throw new TypeError('Arguments to path.resolve must be strings');
} else if (!path) {
continue;
}
resolvedPath = path + '/' + resolvedPath;
resolvedAbsolute = path.charAt(0) === '/';
}
// At this point the path should be resolved to a full absolute path, but
// handle relative paths to be safe (might happen when process.cwd() fails)
resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter(function(p) {
return !!p;
}), !resolvedAbsolute).join('/');
return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
},relative:function (from, to) {
from = PATH.resolve(from).substr(1);
to = PATH.resolve(to).substr(1);
function trim(arr) {
var start = 0;
for (; start < arr.length; start++) {
if (arr[start] !== '') break;
}
var end = arr.length - 1;
for (; end >= 0; end--) {
if (arr[end] !== '') break;
}
if (start > end) return [];
return arr.slice(start, end - start + 1);
}
var fromParts = trim(from.split('/'));
var toParts = trim(to.split('/'));
var length = Math.min(fromParts.length, toParts.length);
var samePartsLength = length;
for (var i = 0; i < length; i++) {
if (fromParts[i] !== toParts[i]) {
samePartsLength = i;
break;
}
}
var outputParts = [];
for (var i = samePartsLength; i < fromParts.length; i++) {
outputParts.push('..');
}
outputParts = outputParts.concat(toParts.slice(samePartsLength));
return outputParts.join('/');
}};
var TTY={ttys:[],init:function () {
// https://github.com/kripken/emscripten/pull/1555
// if (ENVIRONMENT_IS_NODE) {
// // currently, FS.init does not distinguish if process.stdin is a file or TTY
// // device, it always assumes it's a TTY device. because of this, we're forcing
// // process.stdin to UTF8 encoding to at least make stdin reading compatible
// // with text files until FS.init can be refactored.
// process['stdin']['setEncoding']('utf8');
// }
},shutdown:function () {
// https://github.com/kripken/emscripten/pull/1555
// if (ENVIRONMENT_IS_NODE) {
// // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
// // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation
// // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists?
// // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle
// // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call
// process['stdin']['pause']();
// }
},register:function (dev, ops) {
TTY.ttys[dev] = { input: [], output: [], ops: ops };
FS.registerDevice(dev, TTY.stream_ops);
},stream_ops:{open:function (stream) {
var tty = TTY.ttys[stream.node.rdev];
if (!tty) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
stream.tty = tty;
stream.seekable = false;
},close:function (stream) {
// flush any pending line data
if (stream.tty.output.length) {
stream.tty.ops.put_char(stream.tty, 10);
}
},read:function (stream, buffer, offset, length, pos /* ignored */) {
if (!stream.tty || !stream.tty.ops.get_char) {
throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
}
var bytesRead = 0;
for (var i = 0; i < length; i++) {
var result;
try {
result = stream.tty.ops.get_char(stream.tty);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
if (result === undefined && bytesRead === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
}
if (result === null || result === undefined) break;
bytesRead++;
buffer[offset+i] = result;
}
if (bytesRead) {
stream.node.timestamp = Date.now();
}
return bytesRead;
},write:function (stream, buffer, offset, length, pos) {
if (!stream.tty || !stream.tty.ops.put_char) {
throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
}
for (var i = 0; i < length; i++) {
try {
stream.tty.ops.put_char(stream.tty, buffer[offset+i]);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
}
if (length) {
stream.node.timestamp = Date.now();
}
return i;
}},default_tty_ops:{get_char:function (tty) {
if (!tty.input.length) {
var result = null;
if (ENVIRONMENT_IS_NODE) {
result = process['stdin']['read']();
if (!result) {
if (process['stdin']['_readableState'] && process['stdin']['_readableState']['ended']) {
return null; // EOF
}
return undefined; // no data available
}
} else if (typeof window != 'undefined' &&
typeof window.prompt == 'function') {
// Browser.
result = window.prompt('Input: '); // returns null on cancel
if (result !== null) {
result += '\n';
}
} else if (typeof readline == 'function') {
// Command line.
result = readline();
if (result !== null) {
result += '\n';
}
}
if (!result) {
return null;
}
tty.input = intArrayFromString(result, true);
}
return tty.input.shift();
},put_char:function (tty, val) {
if (val === null || val === 10) {
Module['print'](tty.output.join(''));
tty.output = [];
} else {
tty.output.push(TTY.utf8.processCChar(val));
}
}},default_tty1_ops:{put_char:function (tty, val) {
if (val === null || val === 10) {
Module['printErr'](tty.output.join(''));
tty.output = [];
} else {
tty.output.push(TTY.utf8.processCChar(val));
}
}}};
var MEMFS={ops_table:null,CONTENT_OWNING:1,CONTENT_FLEXIBLE:2,CONTENT_FIXED:3,mount:function (mount) {
return MEMFS.createNode(null, '/', 16384 | 0777, 0);
},createNode:function (parent, name, mode, dev) {
if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
// no supported
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (!MEMFS.ops_table) {
MEMFS.ops_table = {
dir: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr,
lookup: MEMFS.node_ops.lookup,
mknod: MEMFS.node_ops.mknod,
mknod: MEMFS.node_ops.mknod,
rename: MEMFS.node_ops.rename,
unlink: MEMFS.node_ops.unlink,
rmdir: MEMFS.node_ops.rmdir,
readdir: MEMFS.node_ops.readdir,
symlink: MEMFS.node_ops.symlink
},
stream: {
llseek: MEMFS.stream_ops.llseek
}
},
file: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr
},
stream: {
llseek: MEMFS.stream_ops.llseek,
read: MEMFS.stream_ops.read,
write: MEMFS.stream_ops.write,
allocate: MEMFS.stream_ops.allocate,
mmap: MEMFS.stream_ops.mmap
}
},
link: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr,
readlink: MEMFS.node_ops.readlink
},
stream: {}
},
chrdev: {
node: {
getattr: MEMFS.node_ops.getattr,
setattr: MEMFS.node_ops.setattr
},
stream: FS.chrdev_stream_ops
},
};
}
var node = FS.createNode(parent, name, mode, dev);
if (FS.isDir(node.mode)) {
node.node_ops = MEMFS.ops_table.dir.node;
node.stream_ops = MEMFS.ops_table.dir.stream;
node.contents = {};
} else if (FS.isFile(node.mode)) {
node.node_ops = MEMFS.ops_table.file.node;
node.stream_ops = MEMFS.ops_table.file.stream;
node.contents = [];
node.contentMode = MEMFS.CONTENT_FLEXIBLE;
} else if (FS.isLink(node.mode)) {
node.node_ops = MEMFS.ops_table.link.node;
node.stream_ops = MEMFS.ops_table.link.stream;
} else if (FS.isChrdev(node.mode)) {
node.node_ops = MEMFS.ops_table.chrdev.node;
node.stream_ops = MEMFS.ops_table.chrdev.stream;
}
node.timestamp = Date.now();
// add the new node to the parent
if (parent) {
parent.contents[name] = node;
}
return node;
},ensureFlexible:function (node) {
if (node.contentMode !== MEMFS.CONTENT_FLEXIBLE) {
var contents = node.contents;
node.contents = Array.prototype.slice.call(contents);
node.contentMode = MEMFS.CONTENT_FLEXIBLE;
}
},node_ops:{getattr:function (node) {
var attr = {};
// device numbers reuse inode numbers.
attr.dev = FS.isChrdev(node.mode) ? node.id : 1;
attr.ino = node.id;
attr.mode = node.mode;
attr.nlink = 1;
attr.uid = 0;
attr.gid = 0;
attr.rdev = node.rdev;
if (FS.isDir(node.mode)) {
attr.size = 4096;
} else if (FS.isFile(node.mode)) {
attr.size = node.contents.length;
} else if (FS.isLink(node.mode)) {
attr.size = node.link.length;
} else {
attr.size = 0;
}
attr.atime = new Date(node.timestamp);
attr.mtime = new Date(node.timestamp);
attr.ctime = new Date(node.timestamp);
// NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize),
// but this is not required by the standard.
attr.blksize = 4096;
attr.blocks = Math.ceil(attr.size / attr.blksize);
return attr;
},setattr:function (node, attr) {
if (attr.mode !== undefined) {
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
node.timestamp = attr.timestamp;
}
if (attr.size !== undefined) {
MEMFS.ensureFlexible(node);
var contents = node.contents;
if (attr.size < contents.length) contents.length = attr.size;
else while (attr.size > contents.length) contents.push(0);
}
},lookup:function (parent, name) {
throw FS.genericErrors[ERRNO_CODES.ENOENT];
},mknod:function (parent, name, mode, dev) {
return MEMFS.createNode(parent, name, mode, dev);
},rename:function (old_node, new_dir, new_name) {
// if we're overwriting a directory at new_name, make sure it's empty.
if (FS.isDir(old_node.mode)) {
var new_node;
try {
new_node = FS.lookupNode(new_dir, new_name);
} catch (e) {
}
if (new_node) {
for (var i in new_node.contents) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
}
}
// do the internal rewiring
delete old_node.parent.contents[old_node.name];
old_node.name = new_name;
new_dir.contents[new_name] = old_node;
old_node.parent = new_dir;
},unlink:function (parent, name) {
delete parent.contents[name];
},rmdir:function (parent, name) {
var node = FS.lookupNode(parent, name);
for (var i in node.contents) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
delete parent.contents[name];
},readdir:function (node) {
var entries = ['.', '..']
for (var key in node.contents) {
if (!node.contents.hasOwnProperty(key)) {
continue;
}
entries.push(key);
}
return entries;
},symlink:function (parent, newname, oldpath) {
var node = MEMFS.createNode(parent, newname, 0777 | 40960, 0);
node.link = oldpath;
return node;
},readlink:function (node) {
if (!FS.isLink(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return node.link;
}},stream_ops:{read:function (stream, buffer, offset, length, position) {
var contents = stream.node.contents;
if (position >= contents.length)
return 0;
var size = Math.min(contents.length - position, length);
assert(size >= 0);
if (size > 8 && contents.subarray) { // non-trivial, and typed array
buffer.set(contents.subarray(position, position + size), offset);
} else
{
for (var i = 0; i < size; i++) {
buffer[offset + i] = contents[position + i];
}
}
return size;
},write:function (stream, buffer, offset, length, position, canOwn) {
var node = stream.node;
node.timestamp = Date.now();
var contents = node.contents;
if (length && contents.length === 0 && position === 0 && buffer.subarray) {
// just replace it with the new data
if (canOwn && offset === 0) {
node.contents = buffer; // this could be a subarray of Emscripten HEAP, or allocated from some other source.
node.contentMode = (buffer.buffer === HEAP8.buffer) ? MEMFS.CONTENT_OWNING : MEMFS.CONTENT_FIXED;
} else {
node.contents = new Uint8Array(buffer.subarray(offset, offset+length));
node.contentMode = MEMFS.CONTENT_FIXED;
}
return length;
}
MEMFS.ensureFlexible(node);
var contents = node.contents;
while (contents.length < position) contents.push(0);
for (var i = 0; i < length; i++) {
contents[position + i] = buffer[offset + i];
}
return length;
},llseek:function (stream, offset, whence) {
var position = offset;
if (whence === 1) { // SEEK_CUR.
position += stream.position;
} else if (whence === 2) { // SEEK_END.
if (FS.isFile(stream.node.mode)) {
position += stream.node.contents.length;
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
stream.ungotten = [];
stream.position = position;
return position;
},allocate:function (stream, offset, length) {
MEMFS.ensureFlexible(stream.node);
var contents = stream.node.contents;
var limit = offset + length;
while (limit > contents.length) contents.push(0);
},mmap:function (stream, buffer, offset, length, position, prot, flags) {
if (!FS.isFile(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
var ptr;
var allocated;
var contents = stream.node.contents;
// Only make a new copy when MAP_PRIVATE is specified.
if ( !(flags & 2) &&
(contents.buffer === buffer || contents.buffer === buffer.buffer) ) {
// We can't emulate MAP_SHARED when the file is not backed by the buffer
// we're mapping to (e.g. the HEAP buffer).
allocated = false;
ptr = contents.byteOffset;
} else {
// Try to avoid unnecessary slices.
if (position > 0 || position + length < contents.length) {
if (contents.subarray) {
contents = contents.subarray(position, position + length);
} else {
contents = Array.prototype.slice.call(contents, position, position + length);
}
}
allocated = true;
ptr = _malloc(length);
if (!ptr) {
throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
}
buffer.set(contents, ptr);
}
return { ptr: ptr, allocated: allocated };
}}};
var IDBFS={dbs:{},indexedDB:function () {
return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",mount:function (mount) {
return MEMFS.mount.apply(null, arguments);
},syncfs:function (mount, populate, callback) {
IDBFS.getLocalSet(mount, function(err, local) {
if (err) return callback(err);
IDBFS.getRemoteSet(mount, function(err, remote) {
if (err) return callback(err);
var src = populate ? remote : local;
var dst = populate ? local : remote;
IDBFS.reconcile(src, dst, callback);
});
});
},reconcile:function (src, dst, callback) {
var total = 0;
var create = {};
for (var key in src.files) {
if (!src.files.hasOwnProperty(key)) continue;
var e = src.files[key];
var e2 = dst.files[key];
if (!e2 || e.timestamp > e2.timestamp) {
create[key] = e;
total++;
}
}
var remove = {};
for (var key in dst.files) {
if (!dst.files.hasOwnProperty(key)) continue;
var e = dst.files[key];
var e2 = src.files[key];
if (!e2) {
remove[key] = e;
total++;
}
}
if (!total) {
// early out
return callback(null);
}
var completed = 0;
function done(err) {
if (err) return callback(err);
if (++completed >= total) {
return callback(null);
}
};
// create a single transaction to handle and IDB reads / writes we'll need to do
var db = src.type === 'remote' ? src.db : dst.db;
var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite');
transaction.onerror = function transaction_onerror() { callback(this.error); };
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
for (var path in create) {
if (!create.hasOwnProperty(path)) continue;
var entry = create[path];
if (dst.type === 'local') {
// save file to local
try {
if (FS.isDir(entry.mode)) {
FS.mkdir(path, entry.mode);
} else if (FS.isFile(entry.mode)) {
var stream = FS.open(path, 'w+', 0666);
FS.write(stream, entry.contents, 0, entry.contents.length, 0, true /* canOwn */);
FS.close(stream);
}
done(null);
} catch (e) {
return done(e);
}
} else {
// save file to IDB
var req = store.put(entry, path);
req.onsuccess = function req_onsuccess() { done(null); };
req.onerror = function req_onerror() { done(this.error); };
}
}
for (var path in remove) {
if (!remove.hasOwnProperty(path)) continue;
var entry = remove[path];
if (dst.type === 'local') {
// delete file from local
try {
if (FS.isDir(entry.mode)) {
// TODO recursive delete?
FS.rmdir(path);
} else if (FS.isFile(entry.mode)) {
FS.unlink(path);
}
done(null);
} catch (e) {
return done(e);
}
} else {
// delete file from IDB
var req = store.delete(path);
req.onsuccess = function req_onsuccess() { done(null); };
req.onerror = function req_onerror() { done(this.error); };
}
}
},getLocalSet:function (mount, callback) {
var files = {};
function isRealDir(p) {
return p !== '.' && p !== '..';
};
function toAbsolute(root) {
return function(p) {
return PATH.join2(root, p);
}
};
var check = FS.readdir(mount.mountpoint)
.filter(isRealDir)
.map(toAbsolute(mount.mountpoint));
while (check.length) {
var path = check.pop();
var stat, node;
try {
var lookup = FS.lookupPath(path);
node = lookup.node;
stat = FS.stat(path);
} catch (e) {
return callback(e);
}
if (FS.isDir(stat.mode)) {
check.push.apply(check, FS.readdir(path)
.filter(isRealDir)
.map(toAbsolute(path)));
files[path] = { mode: stat.mode, timestamp: stat.mtime };
} else if (FS.isFile(stat.mode)) {
files[path] = { contents: node.contents, mode: stat.mode, timestamp: stat.mtime };
} else {
return callback(new Error('node type not supported'));
}
}
return callback(null, { type: 'local', files: files });
},getDB:function (name, callback) {
// look it up in the cache
var db = IDBFS.dbs[name];
if (db) {
return callback(null, db);
}
var req;
try {
req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
} catch (e) {
return onerror(e);
}
req.onupgradeneeded = function req_onupgradeneeded() {
db = req.result;
db.createObjectStore(IDBFS.DB_STORE_NAME);
};
req.onsuccess = function req_onsuccess() {
db = req.result;
// add to the cache
IDBFS.dbs[name] = db;
callback(null, db);
};
req.onerror = function req_onerror() {
callback(this.error);
};
},getRemoteSet:function (mount, callback) {
var files = {};
IDBFS.getDB(mount.mountpoint, function(err, db) {
if (err) return callback(err);
var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly');
transaction.onerror = function transaction_onerror() { callback(this.error); };
var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
store.openCursor().onsuccess = function store_openCursor_onsuccess(event) {
var cursor = event.target.result;
if (!cursor) {
return callback(null, { type: 'remote', db: db, files: files });
}
files[cursor.key] = cursor.value;
cursor.continue();
};
});
}};
var NODEFS={isWindows:false,staticInit:function () {
NODEFS.isWindows = !!process.platform.match(/^win/);
},mount:function (mount) {
assert(ENVIRONMENT_IS_NODE);
return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0);
},createNode:function (parent, name, mode, dev) {
if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var node = FS.createNode(parent, name, mode);
node.node_ops = NODEFS.node_ops;
node.stream_ops = NODEFS.stream_ops;
return node;
},getMode:function (path) {
var stat;
try {
stat = fs.lstatSync(path);
if (NODEFS.isWindows) {
// On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so
// propagate write bits to execute bits.
stat.mode = stat.mode | ((stat.mode & 146) >> 1);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
return stat.mode;
},realPath:function (node) {
var parts = [];
while (node.parent !== node) {
parts.push(node.name);
node = node.parent;
}
parts.push(node.mount.opts.root);
parts.reverse();
return PATH.join.apply(null, parts);
},flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) {
if (flags in NODEFS.flagsToPermissionStringMap) {
return NODEFS.flagsToPermissionStringMap[flags];
} else {
return flags;
}
},node_ops:{getattr:function (node) {
var path = NODEFS.realPath(node);
var stat;
try {
stat = fs.lstatSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
// node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096.
// See http://support.microsoft.com/kb/140365
if (NODEFS.isWindows && !stat.blksize) {
stat.blksize = 4096;
}
if (NODEFS.isWindows && !stat.blocks) {
stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0;
}
return {
dev: stat.dev,
ino: stat.ino,
mode: stat.mode,
nlink: stat.nlink,
uid: stat.uid,
gid: stat.gid,
rdev: stat.rdev,
size: stat.size,
atime: stat.atime,
mtime: stat.mtime,
ctime: stat.ctime,
blksize: stat.blksize,
blocks: stat.blocks
};
},setattr:function (node, attr) {
var path = NODEFS.realPath(node);
try {
if (attr.mode !== undefined) {
fs.chmodSync(path, attr.mode);
// update the common node structure mode as well
node.mode = attr.mode;
}
if (attr.timestamp !== undefined) {
var date = new Date(attr.timestamp);
fs.utimesSync(path, date, date);
}
if (attr.size !== undefined) {
fs.truncateSync(path, attr.size);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},lookup:function (parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
var mode = NODEFS.getMode(path);
return NODEFS.createNode(parent, name, mode);
},mknod:function (parent, name, mode, dev) {
var node = NODEFS.createNode(parent, name, mode, dev);
// create the backing node for this in the fs root as well
var path = NODEFS.realPath(node);
try {
if (FS.isDir(node.mode)) {
fs.mkdirSync(path, node.mode);
} else {
fs.writeFileSync(path, '', { mode: node.mode });
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
return node;
},rename:function (oldNode, newDir, newName) {
var oldPath = NODEFS.realPath(oldNode);
var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
try {
fs.renameSync(oldPath, newPath);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},unlink:function (parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
try {
fs.unlinkSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},rmdir:function (parent, name) {
var path = PATH.join2(NODEFS.realPath(parent), name);
try {
fs.rmdirSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},readdir:function (node) {
var path = NODEFS.realPath(node);
try {
return fs.readdirSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},symlink:function (parent, newName, oldPath) {
var newPath = PATH.join2(NODEFS.realPath(parent), newName);
try {
fs.symlinkSync(oldPath, newPath);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},readlink:function (node) {
var path = NODEFS.realPath(node);
try {
return fs.readlinkSync(path);
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
}},stream_ops:{open:function (stream) {
var path = NODEFS.realPath(stream.node);
try {
if (FS.isFile(stream.node.mode)) {
stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags));
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},close:function (stream) {
try {
if (FS.isFile(stream.node.mode) && stream.nfd) {
fs.closeSync(stream.nfd);
}
} catch (e) {
if (!e.code) throw e;
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
},read:function (stream, buffer, offset, length, position) {
// FIXME this is terrible.
var nbuffer = new Buffer(length);
var res;
try {
res = fs.readSync(stream.nfd, nbuffer, 0, length, position);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
if (res > 0) {
for (var i = 0; i < res; i++) {
buffer[offset + i] = nbuffer[i];
}
}
return res;
},write:function (stream, buffer, offset, length, position) {
// FIXME this is terrible.
var nbuffer = new Buffer(buffer.subarray(offset, offset + length));
var res;
try {
res = fs.writeSync(stream.nfd, nbuffer, 0, length, position);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
return res;
},llseek:function (stream, offset, whence) {
var position = offset;
if (whence === 1) { // SEEK_CUR.
position += stream.position;
} else if (whence === 2) { // SEEK_END.
if (FS.isFile(stream.node.mode)) {
try {
var stat = fs.fstatSync(stream.nfd);
position += stat.size;
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES[e.code]);
}
}
}
if (position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
stream.position = position;
return position;
}}};
var _stdin=allocate(1, "i32*", ALLOC_STATIC);
var _stdout=allocate(1, "i32*", ALLOC_STATIC);
var _stderr=allocate(1, "i32*", ALLOC_STATIC);
function _fflush(stream) {
// int fflush(FILE *stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fflush.html
// we don't currently perform any user-space buffering of data
}var FS={root:null,mounts:[],devices:[null],streams:[null],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},handleFSError:function (e) {
if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace();
return ___setErrNo(e.errno);
},lookupPath:function (path, opts) {
path = PATH.resolve(FS.cwd(), path);
opts = opts || { recurse_count: 0 };
if (opts.recurse_count > 8) { // max recursive lookup of 8
throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
}
// split the path
var parts = PATH.normalizeArray(path.split('/').filter(function(p) {
return !!p;
}), false);
// start at the root
var current = FS.root;
var current_path = '/';
for (var i = 0; i < parts.length; i++) {
var islast = (i === parts.length-1);
if (islast && opts.parent) {
// stop resolving
break;
}
current = FS.lookupNode(current, parts[i]);
current_path = PATH.join2(current_path, parts[i]);
// jump to the mount's root node if this is a mountpoint
if (FS.isMountpoint(current)) {
current = current.mount.root;
}
// follow symlinks
// by default, lookupPath will not follow a symlink if it is the final path component.
// setting opts.follow = true will override this behavior.
if (!islast || opts.follow) {
var count = 0;
while (FS.isLink(current.mode)) {
var link = FS.readlink(current_path);
current_path = PATH.resolve(PATH.dirname(current_path), link);
var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count });
current = lookup.node;
if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX).
throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
}
}
}
}
return { path: current_path, node: current };
},getPath:function (node) {
var path;
while (true) {
if (FS.isRoot(node)) {
var mount = node.mount.mountpoint;
if (!path) return mount;
return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path;
}
path = path ? node.name + '/' + path : node.name;
node = node.parent;
}
},hashName:function (parentid, name) {
var hash = 0;
for (var i = 0; i < name.length; i++) {
hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;
}
return ((parentid + hash) >>> 0) % FS.nameTable.length;
},hashAddNode:function (node) {
var hash = FS.hashName(node.parent.id, node.name);
node.name_next = FS.nameTable[hash];
FS.nameTable[hash] = node;
},hashRemoveNode:function (node) {
var hash = FS.hashName(node.parent.id, node.name);
if (FS.nameTable[hash] === node) {
FS.nameTable[hash] = node.name_next;
} else {
var current = FS.nameTable[hash];
while (current) {
if (current.name_next === node) {
current.name_next = node.name_next;
break;
}
current = current.name_next;
}
}
},lookupNode:function (parent, name) {
var err = FS.mayLookup(parent);
if (err) {
throw new FS.ErrnoError(err);
}
var hash = FS.hashName(parent.id, name);
for (var node = FS.nameTable[hash]; node; node = node.name_next) {
var nodeName = node.name;
if (node.parent.id === parent.id && nodeName === name) {
return node;
}
}
// if we failed to find it in the cache, call into the VFS
return FS.lookup(parent, name);
},createNode:function (parent, name, mode, rdev) {
if (!FS.FSNode) {
FS.FSNode = function(parent, name, mode, rdev) {
this.id = FS.nextInode++;
this.name = name;
this.mode = mode;
this.node_ops = {};
this.stream_ops = {};
this.rdev = rdev;
this.parent = null;
this.mount = null;
if (!parent) {
parent = this; // root node sets parent to itself
}
this.parent = parent;
this.mount = parent.mount;
FS.hashAddNode(this);
};
// compatibility
var readMode = 292 | 73;
var writeMode = 146;
FS.FSNode.prototype = {};
// NOTE we must use Object.defineProperties instead of individual calls to
// Object.defineProperty in order to make closure compiler happy
Object.defineProperties(FS.FSNode.prototype, {
read: {
get: function() { return (this.mode & readMode) === readMode; },
set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; }
},
write: {
get: function() { return (this.mode & writeMode) === writeMode; },
set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; }
},
isFolder: {
get: function() { return FS.isDir(this.mode); },
},
isDevice: {
get: function() { return FS.isChrdev(this.mode); },
},
});
}
return new FS.FSNode(parent, name, mode, rdev);
},destroyNode:function (node) {
FS.hashRemoveNode(node);
},isRoot:function (node) {
return node === node.parent;
},isMountpoint:function (node) {
return node.mounted;
},isFile:function (mode) {
return (mode & 61440) === 32768;
},isDir:function (mode) {
return (mode & 61440) === 16384;
},isLink:function (mode) {
return (mode & 61440) === 40960;
},isChrdev:function (mode) {
return (mode & 61440) === 8192;
},isBlkdev:function (mode) {
return (mode & 61440) === 24576;
},isFIFO:function (mode) {
return (mode & 61440) === 4096;
},isSocket:function (mode) {
return (mode & 49152) === 49152;
},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) {
var flags = FS.flagModes[str];
if (typeof flags === 'undefined') {
throw new Error('Unknown file open mode: ' + str);
}
return flags;
},flagsToPermissionString:function (flag) {
var accmode = flag & 2097155;
var perms = ['r', 'w', 'rw'][accmode];
if ((flag & 512)) {
perms += 'w';
}
return perms;
},nodePermissions:function (node, perms) {
if (FS.ignorePermissions) {
return 0;
}
// return 0 if any user, group or owner bits are set.
if (perms.indexOf('r') !== -1 && !(node.mode & 292)) {
return ERRNO_CODES.EACCES;
} else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) {
return ERRNO_CODES.EACCES;
} else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) {
return ERRNO_CODES.EACCES;
}
return 0;
},mayLookup:function (dir) {
return FS.nodePermissions(dir, 'x');
},mayCreate:function (dir, name) {
try {
var node = FS.lookupNode(dir, name);
return ERRNO_CODES.EEXIST;
} catch (e) {
}
return FS.nodePermissions(dir, 'wx');
},mayDelete:function (dir, name, isdir) {
var node;
try {
node = FS.lookupNode(dir, name);
} catch (e) {
return e.errno;
}
var err = FS.nodePermissions(dir, 'wx');
if (err) {
return err;
}
if (isdir) {
if (!FS.isDir(node.mode)) {
return ERRNO_CODES.ENOTDIR;
}
if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
return ERRNO_CODES.EBUSY;
}
} else {
if (FS.isDir(node.mode)) {
return ERRNO_CODES.EISDIR;
}
}
return 0;
},mayOpen:function (node, flags) {
if (!node) {
return ERRNO_CODES.ENOENT;
}
if (FS.isLink(node.mode)) {
return ERRNO_CODES.ELOOP;
} else if (FS.isDir(node.mode)) {
if ((flags & 2097155) !== 0 || // opening for write
(flags & 512)) {
return ERRNO_CODES.EISDIR;
}
}
return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
},MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) {
fd_start = fd_start || 1;
fd_end = fd_end || FS.MAX_OPEN_FDS;
for (var fd = fd_start; fd <= fd_end; fd++) {
if (!FS.streams[fd]) {
return fd;
}
}
throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
},getStream:function (fd) {
return FS.streams[fd];
},createStream:function (stream, fd_start, fd_end) {
if (!FS.FSStream) {
FS.FSStream = function(){};
FS.FSStream.prototype = {};
// compatibility
Object.defineProperties(FS.FSStream.prototype, {
object: {
get: function() { return this.node; },
set: function(val) { this.node = val; }
},
isRead: {
get: function() { return (this.flags & 2097155) !== 1; }
},
isWrite: {
get: function() { return (this.flags & 2097155) !== 0; }
},
isAppend: {
get: function() { return (this.flags & 1024); }
}
});
}
if (0) {
// reuse the object
stream.__proto__ = FS.FSStream.prototype;
} else {
var newStream = new FS.FSStream();
for (var p in stream) {
newStream[p] = stream[p];
}
stream = newStream;
}
var fd = FS.nextfd(fd_start, fd_end);
stream.fd = fd;
FS.streams[fd] = stream;
return stream;
},closeStream:function (fd) {
FS.streams[fd] = null;
},chrdev_stream_ops:{open:function (stream) {
var device = FS.getDevice(stream.node.rdev);
// override node's stream ops with the device's
stream.stream_ops = device.stream_ops;
// forward the open call
if (stream.stream_ops.open) {
stream.stream_ops.open(stream);
}
},llseek:function () {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}},major:function (dev) {
return ((dev) >> 8);
},minor:function (dev) {
return ((dev) & 0xff);
},makedev:function (ma, mi) {
return ((ma) << 8 | (mi));
},registerDevice:function (dev, ops) {
FS.devices[dev] = { stream_ops: ops };
},getDevice:function (dev) {
return FS.devices[dev];
},syncfs:function (populate, callback) {
if (typeof(populate) === 'function') {
callback = populate;
populate = false;
}
var completed = 0;
var total = FS.mounts.length;
function done(err) {
if (err) {
return callback(err);
}
if (++completed >= total) {
callback(null);
}
};
// sync all mounts
for (var i = 0; i < FS.mounts.length; i++) {
var mount = FS.mounts[i];
if (!mount.type.syncfs) {
done(null);
continue;
}
mount.type.syncfs(mount, populate, done);
}
},mount:function (type, opts, mountpoint) {
var lookup;
if (mountpoint) {
lookup = FS.lookupPath(mountpoint, { follow: false });
mountpoint = lookup.path; // use the absolute path
}
var mount = {
type: type,
opts: opts,
mountpoint: mountpoint,
root: null
};
// create a root node for the fs
var root = type.mount(mount);
root.mount = mount;
mount.root = root;
// assign the mount info to the mountpoint's node
if (lookup) {
lookup.node.mount = mount;
lookup.node.mounted = true;
// compatibility update FS.root if we mount to /
if (mountpoint === '/') {
FS.root = mount.root;
}
}
// add to our cached list of mounts
FS.mounts.push(mount);
return root;
},lookup:function (parent, name) {
return parent.node_ops.lookup(parent, name);
},mknod:function (path, mode, dev) {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
var err = FS.mayCreate(parent, name);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.mknod) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
return parent.node_ops.mknod(parent, name, mode, dev);
},create:function (path, mode) {
mode = mode !== undefined ? mode : 0666;
mode &= 4095;
mode |= 32768;
return FS.mknod(path, mode, 0);
},mkdir:function (path, mode) {
mode = mode !== undefined ? mode : 0777;
mode &= 511 | 512;
mode |= 16384;
return FS.mknod(path, mode, 0);
},mkdev:function (path, mode, dev) {
if (typeof(dev) === 'undefined') {
dev = mode;
mode = 0666;
}
mode |= 8192;
return FS.mknod(path, mode, dev);
},symlink:function (oldpath, newpath) {
var lookup = FS.lookupPath(newpath, { parent: true });
var parent = lookup.node;
var newname = PATH.basename(newpath);
var err = FS.mayCreate(parent, newname);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.symlink) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
return parent.node_ops.symlink(parent, newname, oldpath);
},rename:function (old_path, new_path) {
var old_dirname = PATH.dirname(old_path);
var new_dirname = PATH.dirname(new_path);
var old_name = PATH.basename(old_path);
var new_name = PATH.basename(new_path);
// parents must exist
var lookup, old_dir, new_dir;
try {
lookup = FS.lookupPath(old_path, { parent: true });
old_dir = lookup.node;
lookup = FS.lookupPath(new_path, { parent: true });
new_dir = lookup.node;
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
// need to be part of the same mount
if (old_dir.mount !== new_dir.mount) {
throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
}
// source must exist
var old_node = FS.lookupNode(old_dir, old_name);
// old path should not be an ancestor of the new path
var relative = PATH.relative(old_path, new_dirname);
if (relative.charAt(0) !== '.') {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
// new path should not be an ancestor of the old path
relative = PATH.relative(new_path, old_dirname);
if (relative.charAt(0) !== '.') {
throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
}
// see if the new path already exists
var new_node;
try {
new_node = FS.lookupNode(new_dir, new_name);
} catch (e) {
// not fatal
}
// early out if nothing needs to change
if (old_node === new_node) {
return;
}
// we'll need to delete the old entry
var isdir = FS.isDir(old_node.mode);
var err = FS.mayDelete(old_dir, old_name, isdir);
if (err) {
throw new FS.ErrnoError(err);
}
// need delete permissions if we'll be overwriting.
// need create permissions if new doesn't already exist.
err = new_node ?
FS.mayDelete(new_dir, new_name, isdir) :
FS.mayCreate(new_dir, new_name);
if (err) {
throw new FS.ErrnoError(err);
}
if (!old_dir.node_ops.rename) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
// if we are going to change the parent, check write permissions
if (new_dir !== old_dir) {
err = FS.nodePermissions(old_dir, 'w');
if (err) {
throw new FS.ErrnoError(err);
}
}
// remove the node from the lookup hash
FS.hashRemoveNode(old_node);
// do the underlying fs rename
try {
old_dir.node_ops.rename(old_node, new_dir, new_name);
} catch (e) {
throw e;
} finally {
// add the node back to the hash (in case node_ops.rename
// changed its name)
FS.hashAddNode(old_node);
}
},rmdir:function (path) {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
var node = FS.lookupNode(parent, name);
var err = FS.mayDelete(parent, name, true);
if (err) {
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.rmdir) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
parent.node_ops.rmdir(parent, name);
FS.destroyNode(node);
},readdir:function (path) {
var lookup = FS.lookupPath(path, { follow: true });
var node = lookup.node;
if (!node.node_ops.readdir) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
return node.node_ops.readdir(node);
},unlink:function (path) {
var lookup = FS.lookupPath(path, { parent: true });
var parent = lookup.node;
var name = PATH.basename(path);
var node = FS.lookupNode(parent, name);
var err = FS.mayDelete(parent, name, false);
if (err) {
// POSIX says unlink should set EPERM, not EISDIR
if (err === ERRNO_CODES.EISDIR) err = ERRNO_CODES.EPERM;
throw new FS.ErrnoError(err);
}
if (!parent.node_ops.unlink) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isMountpoint(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
}
parent.node_ops.unlink(parent, name);
FS.destroyNode(node);
},readlink:function (path) {
var lookup = FS.lookupPath(path, { follow: false });
var link = lookup.node;
if (!link.node_ops.readlink) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
return link.node_ops.readlink(link);
},stat:function (path, dontFollow) {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
var node = lookup.node;
if (!node.node_ops.getattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
return node.node_ops.getattr(node);
},lstat:function (path) {
return FS.stat(path, true);
},chmod:function (path, mode, dontFollow) {
var node;
if (typeof path === 'string') {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
node.node_ops.setattr(node, {
mode: (mode & 4095) | (node.mode & ~4095),
timestamp: Date.now()
});
},lchmod:function (path, mode) {
FS.chmod(path, mode, true);
},fchmod:function (fd, mode) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
FS.chmod(stream.node, mode);
},chown:function (path, uid, gid, dontFollow) {
var node;
if (typeof path === 'string') {
var lookup = FS.lookupPath(path, { follow: !dontFollow });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
node.node_ops.setattr(node, {
timestamp: Date.now()
// we ignore the uid / gid for now
});
},lchown:function (path, uid, gid) {
FS.chown(path, uid, gid, true);
},fchown:function (fd, uid, gid) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
FS.chown(stream.node, uid, gid);
},truncate:function (path, len) {
if (len < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var node;
if (typeof path === 'string') {
var lookup = FS.lookupPath(path, { follow: true });
node = lookup.node;
} else {
node = path;
}
if (!node.node_ops.setattr) {
throw new FS.ErrnoError(ERRNO_CODES.EPERM);
}
if (FS.isDir(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
}
if (!FS.isFile(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var err = FS.nodePermissions(node, 'w');
if (err) {
throw new FS.ErrnoError(err);
}
node.node_ops.setattr(node, {
size: len,
timestamp: Date.now()
});
},ftruncate:function (fd, len) {
var stream = FS.getStream(fd);
if (!stream) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
FS.truncate(stream.node, len);
},utime:function (path, atime, mtime) {
var lookup = FS.lookupPath(path, { follow: true });
var node = lookup.node;
node.node_ops.setattr(node, {
timestamp: Math.max(atime, mtime)
});
},open:function (path, flags, mode, fd_start, fd_end) {
flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags;
mode = typeof mode === 'undefined' ? 0666 : mode;
if ((flags & 64)) {
mode = (mode & 4095) | 32768;
} else {
mode = 0;
}
var node;
if (typeof path === 'object') {
node = path;
} else {
path = PATH.normalize(path);
try {
var lookup = FS.lookupPath(path, {
follow: !(flags & 131072)
});
node = lookup.node;
} catch (e) {
// ignore
}
}
// perhaps we need to create the node
if ((flags & 64)) {
if (node) {
// if O_CREAT and O_EXCL are set, error out if the node already exists
if ((flags & 128)) {
throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
}
} else {
// node doesn't exist, try to create it
node = FS.mknod(path, mode, 0);
}
}
if (!node) {
throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
}
// can't truncate a device
if (FS.isChrdev(node.mode)) {
flags &= ~512;
}
// check permissions
var err = FS.mayOpen(node, flags);
if (err) {
throw new FS.ErrnoError(err);
}
// do truncation if necessary
if ((flags & 512)) {
FS.truncate(node, 0);
}
// we've already handled these, don't pass down to the underlying vfs
flags &= ~(128 | 512);
// register the stream with the filesystem
var stream = FS.createStream({
node: node,
path: FS.getPath(node), // we want the absolute path to the node
flags: flags,
seekable: true,
position: 0,
stream_ops: node.stream_ops,
// used by the file family libc calls (fopen, fwrite, ferror, etc.)
ungotten: [],
error: false
}, fd_start, fd_end);
// call the new stream's open function
if (stream.stream_ops.open) {
stream.stream_ops.open(stream);
}
if (Module['logReadFiles'] && !(flags & 1)) {
if (!FS.readFiles) FS.readFiles = {};
if (!(path in FS.readFiles)) {
FS.readFiles[path] = 1;
Module['printErr']('read file: ' + path);
}
}
return stream;
},close:function (stream) {
try {
if (stream.stream_ops.close) {
stream.stream_ops.close(stream);
}
} catch (e) {
throw e;
} finally {
FS.closeStream(stream.fd);
}
},llseek:function (stream, offset, whence) {
if (!stream.seekable || !stream.stream_ops.llseek) {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}
return stream.stream_ops.llseek(stream, offset, whence);
},read:function (stream, buffer, offset, length, position) {
if (length < 0 || position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if ((stream.flags & 2097155) === 1) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
}
if (!stream.stream_ops.read) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var seeking = true;
if (typeof position === 'undefined') {
position = stream.position;
seeking = false;
} else if (!stream.seekable) {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}
var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
if (!seeking) stream.position += bytesRead;
return bytesRead;
},write:function (stream, buffer, offset, length, position, canOwn) {
if (length < 0 || position < 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (FS.isDir(stream.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
}
if (!stream.stream_ops.write) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var seeking = true;
if (typeof position === 'undefined') {
position = stream.position;
seeking = false;
} else if (!stream.seekable) {
throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
}
if (stream.flags & 1024) {
// seek to the end before writing in append mode
FS.llseek(stream, 0, 2);
}
var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
if (!seeking) stream.position += bytesWritten;
return bytesWritten;
},allocate:function (stream, offset, length) {
if (offset < 0 || length <= 0) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
if ((stream.flags & 2097155) === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EBADF);
}
if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
if (!stream.stream_ops.allocate) {
throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
}
stream.stream_ops.allocate(stream, offset, length);
},mmap:function (stream, buffer, offset, length, position, prot, flags) {
// TODO if PROT is PROT_WRITE, make sure we have write access
if ((stream.flags & 2097155) === 1) {
throw new FS.ErrnoError(ERRNO_CODES.EACCES);
}
if (!stream.stream_ops.mmap) {
throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
}
return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);
},ioctl:function (stream, cmd, arg) {
if (!stream.stream_ops.ioctl) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
}
return stream.stream_ops.ioctl(stream, cmd, arg);
},readFile:function (path, opts) {
opts = opts || {};
opts.flags = opts.flags || 'r';
opts.encoding = opts.encoding || 'binary';
var ret;
var stream = FS.open(path, opts.flags);
var stat = FS.stat(path);
var length = stat.size;
var buf = new Uint8Array(length);
FS.read(stream, buf, 0, length, 0);
if (opts.encoding === 'utf8') {
ret = '';
var utf8 = new Runtime.UTF8Processor();
for (var i = 0; i < length; i++) {
ret += utf8.processCChar(buf[i]);
}
} else if (opts.encoding === 'binary') {
ret = buf;
} else {
throw new Error('Invalid encoding type "' + opts.encoding + '"');
}
FS.close(stream);
return ret;
},writeFile:function (path, data, opts) {
opts = opts || {};
opts.flags = opts.flags || 'w';
opts.encoding = opts.encoding || 'utf8';
var stream = FS.open(path, opts.flags, opts.mode);
if (opts.encoding === 'utf8') {
var utf8 = new Runtime.UTF8Processor();
var buf = new Uint8Array(utf8.processJSString(data));
FS.write(stream, buf, 0, buf.length, 0);
} else if (opts.encoding === 'binary') {
FS.write(stream, data, 0, data.length, 0);
} else {
throw new Error('Invalid encoding type "' + opts.encoding + '"');
}
FS.close(stream);
},cwd:function () {
return FS.currentPath;
},chdir:function (path) {
var lookup = FS.lookupPath(path, { follow: true });
if (!FS.isDir(lookup.node.mode)) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
}
var err = FS.nodePermissions(lookup.node, 'x');
if (err) {
throw new FS.ErrnoError(err);
}
FS.currentPath = lookup.path;
},createDefaultDirectories:function () {
FS.mkdir('/tmp');
},createDefaultDevices:function () {
// create /dev
FS.mkdir('/dev');
// setup /dev/null
FS.registerDevice(FS.makedev(1, 3), {
read: function() { return 0; },
write: function() { return 0; }
});
FS.mkdev('/dev/null', FS.makedev(1, 3));
// setup /dev/tty and /dev/tty1
// stderr needs to print output using Module['printErr']
// so we register a second tty just for it.
TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);
TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
FS.mkdev('/dev/tty', FS.makedev(5, 0));
FS.mkdev('/dev/tty1', FS.makedev(6, 0));
// we're not going to emulate the actual shm device,
// just create the tmp dirs that reside in it commonly
FS.mkdir('/dev/shm');
FS.mkdir('/dev/shm/tmp');
},createStandardStreams:function () {
// TODO deprecate the old functionality of a single
// input / output callback and that utilizes FS.createDevice
// and instead require a unique set of stream ops
// by default, we symlink the standard streams to the
// default tty devices. however, if the standard streams
// have been overwritten we create a unique device for
// them instead.
if (Module['stdin']) {
FS.createDevice('/dev', 'stdin', Module['stdin']);
} else {
FS.symlink('/dev/tty', '/dev/stdin');
}
if (Module['stdout']) {
FS.createDevice('/dev', 'stdout', null, Module['stdout']);
} else {
FS.symlink('/dev/tty', '/dev/stdout');
}
if (Module['stderr']) {
FS.createDevice('/dev', 'stderr', null, Module['stderr']);
} else {
FS.symlink('/dev/tty1', '/dev/stderr');
}
// open default streams for the stdin, stdout and stderr devices
var stdin = FS.open('/dev/stdin', 'r');
HEAP32[((_stdin)>>2)]=stdin.fd;
assert(stdin.fd === 1, 'invalid handle for stdin (' + stdin.fd + ')');
var stdout = FS.open('/dev/stdout', 'w');
HEAP32[((_stdout)>>2)]=stdout.fd;
assert(stdout.fd === 2, 'invalid handle for stdout (' + stdout.fd + ')');
var stderr = FS.open('/dev/stderr', 'w');
HEAP32[((_stderr)>>2)]=stderr.fd;
assert(stderr.fd === 3, 'invalid handle for stderr (' + stderr.fd + ')');
},ensureErrnoError:function () {
if (FS.ErrnoError) return;
FS.ErrnoError = function ErrnoError(errno) {
this.errno = errno;
for (var key in ERRNO_CODES) {
if (ERRNO_CODES[key] === errno) {
this.code = key;
break;
}
}
this.message = ERRNO_MESSAGES[errno];
};
FS.ErrnoError.prototype = new Error();
FS.ErrnoError.prototype.constructor = FS.ErrnoError;
// Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
[ERRNO_CODES.ENOENT].forEach(function(code) {
FS.genericErrors[code] = new FS.ErrnoError(code);
FS.genericErrors[code].stack = '<generic error, no stack>';
});
},staticInit:function () {
FS.ensureErrnoError();
FS.nameTable = new Array(4096);
FS.root = FS.createNode(null, '/', 16384 | 0777, 0);
FS.mount(MEMFS, {}, '/');
FS.createDefaultDirectories();
FS.createDefaultDevices();
},init:function (input, output, error) {
assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)');
FS.init.initialized = true;
FS.ensureErrnoError();
// Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here
Module['stdin'] = input || Module['stdin'];
Module['stdout'] = output || Module['stdout'];
Module['stderr'] = error || Module['stderr'];
FS.createStandardStreams();
},quit:function () {
FS.init.initialized = false;
for (var i = 0; i < FS.streams.length; i++) {
var stream = FS.streams[i];
if (!stream) {
continue;
}
FS.close(stream);
}
},getMode:function (canRead, canWrite) {
var mode = 0;
if (canRead) mode |= 292 | 73;
if (canWrite) mode |= 146;
return mode;
},joinPath:function (parts, forceRelative) {
var path = PATH.join.apply(null, parts);
if (forceRelative && path[0] == '/') path = path.substr(1);
return path;
},absolutePath:function (relative, base) {
return PATH.resolve(base, relative);
},standardizePath:function (path) {
return PATH.normalize(path);
},findObject:function (path, dontResolveLastLink) {
var ret = FS.analyzePath(path, dontResolveLastLink);
if (ret.exists) {
return ret.object;
} else {
___setErrNo(ret.error);
return null;
}
},analyzePath:function (path, dontResolveLastLink) {
// operate from within the context of the symlink's target
try {
var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
path = lookup.path;
} catch (e) {
}
var ret = {
isRoot: false, exists: false, error: 0, name: null, path: null, object: null,
parentExists: false, parentPath: null, parentObject: null
};
try {
var lookup = FS.lookupPath(path, { parent: true });
ret.parentExists = true;
ret.parentPath = lookup.path;
ret.parentObject = lookup.node;
ret.name = PATH.basename(path);
lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });
ret.exists = true;
ret.path = lookup.path;
ret.object = lookup.node;
ret.name = lookup.node.name;
ret.isRoot = lookup.path === '/';
} catch (e) {
ret.error = e.errno;
};
return ret;
},createFolder:function (parent, name, canRead, canWrite) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
var mode = FS.getMode(canRead, canWrite);
return FS.mkdir(path, mode);
},createPath:function (parent, path, canRead, canWrite) {
parent = typeof parent === 'string' ? parent : FS.getPath(parent);
var parts = path.split('/').reverse();
while (parts.length) {
var part = parts.pop();
if (!part) continue;
var current = PATH.join2(parent, part);
try {
FS.mkdir(current);
} catch (e) {
// ignore EEXIST
}
parent = current;
}
return current;
},createFile:function (parent, name, properties, canRead, canWrite) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
var mode = FS.getMode(canRead, canWrite);
return FS.create(path, mode);
},createDataFile:function (parent, name, data, canRead, canWrite, canOwn) {
var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent;
var mode = FS.getMode(canRead, canWrite);
var node = FS.create(path, mode);
if (data) {
if (typeof data === 'string') {
var arr = new Array(data.length);
for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i);
data = arr;
}
// make sure we can write to the file
FS.chmod(node, mode | 146);
var stream = FS.open(node, 'w');
FS.write(stream, data, 0, data.length, 0, canOwn);
FS.close(stream);
FS.chmod(node, mode);
}
return node;
},createDevice:function (parent, name, input, output) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
var mode = FS.getMode(!!input, !!output);
if (!FS.createDevice.major) FS.createDevice.major = 64;
var dev = FS.makedev(FS.createDevice.major++, 0);
// Create a fake device that a set of stream ops to emulate
// the old behavior.
FS.registerDevice(dev, {
open: function(stream) {
stream.seekable = false;
},
close: function(stream) {
// flush any pending line data
if (output && output.buffer && output.buffer.length) {
output(10);
}
},
read: function(stream, buffer, offset, length, pos /* ignored */) {
var bytesRead = 0;
for (var i = 0; i < length; i++) {
var result;
try {
result = input();
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
if (result === undefined && bytesRead === 0) {
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
}
if (result === null || result === undefined) break;
bytesRead++;
buffer[offset+i] = result;
}
if (bytesRead) {
stream.node.timestamp = Date.now();
}
return bytesRead;
},
write: function(stream, buffer, offset, length, pos) {
for (var i = 0; i < length; i++) {
try {
output(buffer[offset+i]);
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
}
if (length) {
stream.node.timestamp = Date.now();
}
return i;
}
});
return FS.mkdev(path, mode, dev);
},createLink:function (parent, name, target, canRead, canWrite) {
var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
return FS.symlink(target, path);
},forceLoadFile:function (obj) {
if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
var success = true;
if (typeof XMLHttpRequest !== 'undefined') {
throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
} else if (Module['read']) {
// Command-line.
try {
// WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
// read() will try to parse UTF8.
obj.contents = intArrayFromString(Module['read'](obj.url), true);
} catch (e) {
success = false;
}
} else {
throw new Error('Cannot load without read() or XMLHttpRequest.');
}
if (!success) ___setErrNo(ERRNO_CODES.EIO);
return success;
},createLazyFile:function (parent, name, url, canRead, canWrite) {
if (typeof XMLHttpRequest !== 'undefined') {
if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc';
// Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
function LazyUint8Array() {
this.lengthKnown = false;
this.chunks = []; // Loaded chunks. Index is the chunk number
}
LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
if (idx > this.length-1 || idx < 0) {
return undefined;
}
var chunkOffset = idx % this.chunkSize;
var chunkNum = Math.floor(idx / this.chunkSize);
return this.getter(chunkNum)[chunkOffset];
}
LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
this.getter = getter;
}
LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
// Find length
var xhr = new XMLHttpRequest();
xhr.open('HEAD', url, false);
xhr.send(null);
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
var datalength = Number(xhr.getResponseHeader("Content-length"));
var header;
var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";
var chunkSize = 1024*1024; // Chunk size in bytes
if (!hasByteServing) chunkSize = datalength;
// Function to get a range from the remote URL.
var doXHR = (function(from, to) {
if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!");
if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!");
// TODO: Use mozResponseArrayBuffer, responseStream, etc. if available.
var xhr = new XMLHttpRequest();
xhr.open('GET', url, false);
if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);
// Some hints to the browser that we want binary data.
if (typeof Uint8Array != 'undefined') xhr.responseType = 'arraybuffer';
if (xhr.overrideMimeType) {
xhr.overrideMimeType('text/plain; charset=x-user-defined');
}
xhr.send(null);
if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
if (xhr.response !== undefined) {
return new Uint8Array(xhr.response || []);
} else {
return intArrayFromString(xhr.responseText || '', true);
}
});
var lazyArray = this;
lazyArray.setDataGetter(function(chunkNum) {
var start = chunkNum * chunkSize;
var end = (chunkNum+1) * chunkSize - 1; // including this byte
end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block
if (typeof(lazyArray.chunks[chunkNum]) === "undefined") {
lazyArray.chunks[chunkNum] = doXHR(start, end);
}
if (typeof(lazyArray.chunks[chunkNum]) === "undefined") throw new Error("doXHR failed!");
return lazyArray.chunks[chunkNum];
});
this._length = datalength;
this._chunkSize = chunkSize;
this.lengthKnown = true;
}
var lazyArray = new LazyUint8Array();
Object.defineProperty(lazyArray, "length", {
get: function() {
if(!this.lengthKnown) {
this.cacheLength();
}
return this._length;
}
});
Object.defineProperty(lazyArray, "chunkSize", {
get: function() {
if(!this.lengthKnown) {
this.cacheLength();
}
return this._chunkSize;
}
});
var properties = { isDevice: false, contents: lazyArray };
} else {
var properties = { isDevice: false, url: url };
}
var node = FS.createFile(parent, name, properties, canRead, canWrite);
// This is a total hack, but I want to get this lazy file code out of the
// core of MEMFS. If we want to keep this lazy file concept I feel it should
// be its own thin LAZYFS proxying calls to MEMFS.
if (properties.contents) {
node.contents = properties.contents;
} else if (properties.url) {
node.contents = null;
node.url = properties.url;
}
// override each stream op with one that tries to force load the lazy file first
var stream_ops = {};
var keys = Object.keys(node.stream_ops);
keys.forEach(function(key) {
var fn = node.stream_ops[key];
stream_ops[key] = function forceLoadLazyFile() {
if (!FS.forceLoadFile(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
return fn.apply(null, arguments);
};
});
// use a custom read function
stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
if (!FS.forceLoadFile(node)) {
throw new FS.ErrnoError(ERRNO_CODES.EIO);
}
var contents = stream.node.contents;
if (position >= contents.length)
return 0;
var size = Math.min(contents.length - position, length);
assert(size >= 0);
if (contents.slice) { // normal array
for (var i = 0; i < size; i++) {
buffer[offset + i] = contents[position + i];
}
} else {
for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR
buffer[offset + i] = contents.get(position + i);
}
}
return size;
};
node.stream_ops = stream_ops;
return node;
},createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn) {
Browser.init();
// TODO we should allow people to just pass in a complete filename instead
// of parent and name being that we just join them anyways
var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
function processData(byteArray) {
function finish(byteArray) {
if (!dontCreateFile) {
FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);
}
if (onload) onload();
removeRunDependency('cp ' + fullname);
}
var handled = false;
Module['preloadPlugins'].forEach(function(plugin) {
if (handled) return;
if (plugin['canHandle'](fullname)) {
plugin['handle'](byteArray, fullname, finish, function() {
if (onerror) onerror();
removeRunDependency('cp ' + fullname);
});
handled = true;
}
});
if (!handled) finish(byteArray);
}
addRunDependency('cp ' + fullname);
if (typeof url == 'string') {
Browser.asyncLoad(url, function(byteArray) {
processData(byteArray);
}, onerror);
} else {
processData(url);
}
},indexedDB:function () {
return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
},DB_NAME:function () {
return 'EM_FS_' + window.location.pathname;
},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) {
onload = onload || function(){};
onerror = onerror || function(){};
var indexedDB = FS.indexedDB();
try {
var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
} catch (e) {
return onerror(e);
}
openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
console.log('creating db');
var db = openRequest.result;
db.createObjectStore(FS.DB_STORE_NAME);
};
openRequest.onsuccess = function openRequest_onsuccess() {
var db = openRequest.result;
var transaction = db.transaction([FS.DB_STORE_NAME], 'readwrite');
var files = transaction.objectStore(FS.DB_STORE_NAME);
var ok = 0, fail = 0, total = paths.length;
function finish() {
if (fail == 0) onload(); else onerror();
}
paths.forEach(function(path) {
var putRequest = files.put(FS.analyzePath(path).object.contents, path);
putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish() };
putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish() };
});
transaction.onerror = onerror;
};
openRequest.onerror = onerror;
},loadFilesFromDB:function (paths, onload, onerror) {
onload = onload || function(){};
onerror = onerror || function(){};
var indexedDB = FS.indexedDB();
try {
var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
} catch (e) {
return onerror(e);
}
openRequest.onupgradeneeded = onerror; // no database to load from
openRequest.onsuccess = function openRequest_onsuccess() {
var db = openRequest.result;
try {
var transaction = db.transaction([FS.DB_STORE_NAME], 'readonly');
} catch(e) {
onerror(e);
return;
}
var files = transaction.objectStore(FS.DB_STORE_NAME);
var ok = 0, fail = 0, total = paths.length;
function finish() {
if (fail == 0) onload(); else onerror();
}
paths.forEach(function(path) {
var getRequest = files.get(path);
getRequest.onsuccess = function getRequest_onsuccess() {
if (FS.analyzePath(path).exists) {
FS.unlink(path);
}
FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
ok++;
if (ok + fail == total) finish();
};
getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish() };
});
transaction.onerror = onerror;
};
openRequest.onerror = onerror;
}};function _close(fildes) {
// int close(int fildes);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/close.html
var stream = FS.getStream(fildes);
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
try {
FS.close(stream);
return 0;
} catch (e) {
FS.handleFSError(e);
return -1;
}
}
function _fsync(fildes) {
// int fsync(int fildes);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fsync.html
var stream = FS.getStream(fildes);
if (stream) {
// We write directly to the file system, so there's nothing to do here.
return 0;
} else {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
}function _fclose(stream) {
// int fclose(FILE *stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fclose.html
_fsync(stream);
return _close(stream);
}
function _pthread_mutex_lock() {}
function _FcPatternBuild() {
Module['printErr']('missing function: FcPatternBuild'); abort(-1);
}
var _UItoF=true;
var _emscripten_check_longjmp=true;
function _isspace(chr) {
return (chr == 32) || (chr >= 9 && chr <= 13);
}function __parseInt(str, endptr, base, min, max, bits, unsign) {
// Skip space.
while (_isspace(HEAP8[(str)])) str++;
// Check for a plus/minus sign.
var multiplier = 1;
if (HEAP8[(str)] == 45) {
multiplier = -1;
str++;
} else if (HEAP8[(str)] == 43) {
str++;
}
// Find base.
var finalBase = base;
if (!finalBase) {
if (HEAP8[(str)] == 48) {
if (HEAP8[((str+1)|0)] == 120 ||
HEAP8[((str+1)|0)] == 88) {
finalBase = 16;
str += 2;
} else {
finalBase = 8;
str++;
}
}
} else if (finalBase==16) {
if (HEAP8[(str)] == 48) {
if (HEAP8[((str+1)|0)] == 120 ||
HEAP8[((str+1)|0)] == 88) {
str += 2;
}
}
}
if (!finalBase) finalBase = 10;
// Get digits.
var chr;
var ret = 0;
while ((chr = HEAP8[(str)]) != 0) {
var digit = parseInt(String.fromCharCode(chr), finalBase);
if (isNaN(digit)) {
break;
} else {
ret = ret * finalBase + digit;
str++;
}
}
// Apply sign.
ret *= multiplier;
// Set end pointer.
if (endptr) {
HEAP32[((endptr)>>2)]=str;
}
// Unsign if needed.
if (unsign) {
if (Math.abs(ret) > max) {
ret = max;
___setErrNo(ERRNO_CODES.ERANGE);
} else {
ret = unSign(ret, bits);
}
}
// Validate range.
if (ret > max || ret < min) {
ret = ret > max ? max : min;
___setErrNo(ERRNO_CODES.ERANGE);
}
if (bits == 64) {
return ((asm["setTempRet0"]((tempDouble=ret,(+(Math_abs(tempDouble))) >= (+1) ? (tempDouble > (+0) ? ((Math_min((+(Math_floor((tempDouble)/(+4294967296)))), (+4294967295)))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/(+4294967296))))))>>>0) : 0)),ret>>>0)|0);
}
return ret;
}function _strtol(str, endptr, base) {
return __parseInt(str, endptr, base, -2147483648, 2147483647, 32); // LONG_MIN, LONG_MAX.
}
var _mkport=undefined;var SOCKFS={mount:function (mount) {
return FS.createNode(null, '/', 16384 | 0777, 0);
},createSocket:function (family, type, protocol) {
var streaming = type == 1;
if (protocol) {
assert(streaming == (protocol == 6)); // if SOCK_STREAM, must be tcp
}
// create our internal socket structure
var sock = {
family: family,
type: type,
protocol: protocol,
server: null,
peers: {},
pending: [],
recv_queue: [],
sock_ops: SOCKFS.websocket_sock_ops
};
// create the filesystem node to store the socket structure
var name = SOCKFS.nextname();
var node = FS.createNode(SOCKFS.root, name, 49152, 0);
node.sock = sock;
// and the wrapping stream that enables library functions such
// as read and write to indirectly interact with the socket
var stream = FS.createStream({
path: name,
node: node,
flags: FS.modeStringToFlags('r+'),
seekable: false,
stream_ops: SOCKFS.stream_ops
});
// map the new stream to the socket structure (sockets have a 1:1
// relationship with a stream)
sock.stream = stream;
return sock;
},getSocket:function (fd) {
var stream = FS.getStream(fd);
if (!stream || !FS.isSocket(stream.node.mode)) {
return null;
}
return stream.node.sock;
},stream_ops:{poll:function (stream) {
var sock = stream.node.sock;
return sock.sock_ops.poll(sock);
},ioctl:function (stream, request, varargs) {
var sock = stream.node.sock;
return sock.sock_ops.ioctl(sock, request, varargs);
},read:function (stream, buffer, offset, length, position /* ignored */) {
var sock = stream.node.sock;
var msg = sock.sock_ops.recvmsg(sock, length);
if (!msg) {
// socket is closed
return 0;
}
buffer.set(msg.buffer, offset);
return msg.buffer.length;
},write:function (stream, buffer, offset, length, position /* ignored */) {
var sock = stream.node.sock;
return sock.sock_ops.sendmsg(sock, buffer, offset, length);
},close:function (stream) {
var sock = stream.node.sock;
sock.sock_ops.close(sock);
}},nextname:function () {
if (!SOCKFS.nextname.current) {
SOCKFS.nextname.current = 0;
}
return 'socket[' + (SOCKFS.nextname.current++) + ']';
},websocket_sock_ops:{createPeer:function (sock, addr, port) {
var ws;
if (typeof addr === 'object') {
ws = addr;
addr = null;
port = null;
}
if (ws) {
// for sockets that've already connected (e.g. we're the server)
// we can inspect the _socket property for the address
if (ws._socket) {
addr = ws._socket.remoteAddress;
port = ws._socket.remotePort;
}
// if we're just now initializing a connection to the remote,
// inspect the url property
else {
var result = /ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);
if (!result) {
throw new Error('WebSocket URL must be in the format ws(s)://address:port');
}
addr = result[1];
port = parseInt(result[2], 10);
}
} else {
// create the actual websocket object and connect
try {
var url = 'ws://' + addr + ':' + port;
// the node ws library API is slightly different than the browser's
var opts = ENVIRONMENT_IS_NODE ? {headers: {'websocket-protocol': ['binary']}} : ['binary'];
// If node we use the ws library.
var WebSocket = ENVIRONMENT_IS_NODE ? require('ws') : window['WebSocket'];
ws = new WebSocket(url, opts);
ws.binaryType = 'arraybuffer';
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH);
}
}
var peer = {
addr: addr,
port: port,
socket: ws,
dgram_send_queue: []
};
SOCKFS.websocket_sock_ops.addPeer(sock, peer);
SOCKFS.websocket_sock_ops.handlePeerEvents(sock, peer);
// if this is a bound dgram socket, send the port number first to allow
// us to override the ephemeral port reported to us by remotePort on the
// remote end.
if (sock.type === 2 && typeof sock.sport !== 'undefined') {
peer.dgram_send_queue.push(new Uint8Array([
255, 255, 255, 255,
'p'.charCodeAt(0), 'o'.charCodeAt(0), 'r'.charCodeAt(0), 't'.charCodeAt(0),
((sock.sport & 0xff00) >> 8) , (sock.sport & 0xff)
]));
}
return peer;
},getPeer:function (sock, addr, port) {
return sock.peers[addr + ':' + port];
},addPeer:function (sock, peer) {
sock.peers[peer.addr + ':' + peer.port] = peer;
},removePeer:function (sock, peer) {
delete sock.peers[peer.addr + ':' + peer.port];
},handlePeerEvents:function (sock, peer) {
var first = true;
var handleOpen = function () {
try {
var queued = peer.dgram_send_queue.shift();
while (queued) {
peer.socket.send(queued);
queued = peer.dgram_send_queue.shift();
}
} catch (e) {
// not much we can do here in the way of proper error handling as we've already
// lied and said this data was sent. shut it down.
peer.socket.close();
}
};
function handleMessage(data) {
assert(typeof data !== 'string' && data.byteLength !== undefined); // must receive an ArrayBuffer
data = new Uint8Array(data); // make a typed array view on the array buffer
// if this is the port message, override the peer's port with it
var wasfirst = first;
first = false;
if (wasfirst &&
data.length === 10 &&
data[0] === 255 && data[1] === 255 && data[2] === 255 && data[3] === 255 &&
data[4] === 'p'.charCodeAt(0) && data[5] === 'o'.charCodeAt(0) && data[6] === 'r'.charCodeAt(0) && data[7] === 't'.charCodeAt(0)) {
// update the peer's port and it's key in the peer map
var newport = ((data[8] << 8) | data[9]);
SOCKFS.websocket_sock_ops.removePeer(sock, peer);
peer.port = newport;
SOCKFS.websocket_sock_ops.addPeer(sock, peer);
return;
}
sock.recv_queue.push({ addr: peer.addr, port: peer.port, data: data });
};
if (ENVIRONMENT_IS_NODE) {
peer.socket.on('open', handleOpen);
peer.socket.on('message', function(data, flags) {
if (!flags.binary) {
return;
}
handleMessage((new Uint8Array(data)).buffer); // copy from node Buffer -> ArrayBuffer
});
peer.socket.on('error', function() {
// don't throw
});
} else {
peer.socket.onopen = handleOpen;
peer.socket.onmessage = function peer_socket_onmessage(event) {
handleMessage(event.data);
};
}
},poll:function (sock) {
if (sock.type === 1 && sock.server) {
// listen sockets should only say they're available for reading
// if there are pending clients.
return sock.pending.length ? (64 | 1) : 0;
}
var mask = 0;
var dest = sock.type === 1 ? // we only care about the socket state for connection-based sockets
SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport) :
null;
if (sock.recv_queue.length ||
!dest || // connection-less sockets are always ready to read
(dest && dest.socket.readyState === dest.socket.CLOSING) ||
(dest && dest.socket.readyState === dest.socket.CLOSED)) { // let recv return 0 once closed
mask |= (64 | 1);
}
if (!dest || // connection-less sockets are always ready to write
(dest && dest.socket.readyState === dest.socket.OPEN)) {
mask |= 4;
}
if ((dest && dest.socket.readyState === dest.socket.CLOSING) ||
(dest && dest.socket.readyState === dest.socket.CLOSED)) {
mask |= 16;
}
return mask;
},ioctl:function (sock, request, arg) {
switch (request) {
case 21531:
var bytes = 0;
if (sock.recv_queue.length) {
bytes = sock.recv_queue[0].data.length;
}
HEAP32[((arg)>>2)]=bytes;
return 0;
default:
return ERRNO_CODES.EINVAL;
}
},close:function (sock) {
// if we've spawned a listen server, close it
if (sock.server) {
try {
sock.server.close();
} catch (e) {
}
sock.server = null;
}
// close any peer connections
var peers = Object.keys(sock.peers);
for (var i = 0; i < peers.length; i++) {
var peer = sock.peers[peers[i]];
try {
peer.socket.close();
} catch (e) {
}
SOCKFS.websocket_sock_ops.removePeer(sock, peer);
}
return 0;
},bind:function (sock, addr, port) {
if (typeof sock.saddr !== 'undefined' || typeof sock.sport !== 'undefined') {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already bound
}
sock.saddr = addr;
sock.sport = port || _mkport();
// in order to emulate dgram sockets, we need to launch a listen server when
// binding on a connection-less socket
// note: this is only required on the server side
if (sock.type === 2) {
// close the existing server if it exists
if (sock.server) {
sock.server.close();
sock.server = null;
}
// swallow error operation not supported error that occurs when binding in the
// browser where this isn't supported
try {
sock.sock_ops.listen(sock, 0);
} catch (e) {
if (!(e instanceof FS.ErrnoError)) throw e;
if (e.errno !== ERRNO_CODES.EOPNOTSUPP) throw e;
}
}
},connect:function (sock, addr, port) {
if (sock.server) {
throw new FS.ErrnoError(ERRNO_CODS.EOPNOTSUPP);
}
// TODO autobind
// if (!sock.addr && sock.type == 2) {
// }
// early out if we're already connected / in the middle of connecting
if (typeof sock.daddr !== 'undefined' && typeof sock.dport !== 'undefined') {
var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport);
if (dest) {
if (dest.socket.readyState === dest.socket.CONNECTING) {
throw new FS.ErrnoError(ERRNO_CODES.EALREADY);
} else {
throw new FS.ErrnoError(ERRNO_CODES.EISCONN);
}
}
}
// add the socket to our peer list and set our
// destination address / port to match
var peer = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port);
sock.daddr = peer.addr;
sock.dport = peer.port;
// always "fail" in non-blocking mode
throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS);
},listen:function (sock, backlog) {
if (!ENVIRONMENT_IS_NODE) {
throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
}
if (sock.server) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL); // already listening
}
var WebSocketServer = require('ws').Server;
var host = sock.saddr;
sock.server = new WebSocketServer({
host: host,
port: sock.sport
// TODO support backlog
});
sock.server.on('connection', function(ws) {
if (sock.type === 1) {
var newsock = SOCKFS.createSocket(sock.family, sock.type, sock.protocol);
// create a peer on the new socket
var peer = SOCKFS.websocket_sock_ops.createPeer(newsock, ws);
newsock.daddr = peer.addr;
newsock.dport = peer.port;
// push to queue for accept to pick up
sock.pending.push(newsock);
} else {
// create a peer on the listen socket so calling sendto
// with the listen socket and an address will resolve
// to the correct client
SOCKFS.websocket_sock_ops.createPeer(sock, ws);
}
});
sock.server.on('closed', function() {
sock.server = null;
});
sock.server.on('error', function() {
// don't throw
});
},accept:function (listensock) {
if (!listensock.server) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
var newsock = listensock.pending.shift();
newsock.stream.flags = listensock.stream.flags;
return newsock;
},getname:function (sock, peer) {
var addr, port;
if (peer) {
if (sock.daddr === undefined || sock.dport === undefined) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
}
addr = sock.daddr;
port = sock.dport;
} else {
// TODO saddr and sport will be set for bind()'d UDP sockets, but what
// should we be returning for TCP sockets that've been connect()'d?
addr = sock.saddr || 0;
port = sock.sport || 0;
}
return { addr: addr, port: port };
},sendmsg:function (sock, buffer, offset, length, addr, port) {
if (sock.type === 2) {
// connection-less sockets will honor the message address,
// and otherwise fall back to the bound destination address
if (addr === undefined || port === undefined) {
addr = sock.daddr;
port = sock.dport;
}
// if there was no address to fall back to, error out
if (addr === undefined || port === undefined) {
throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ);
}
} else {
// connection-based sockets will only use the bound
addr = sock.daddr;
port = sock.dport;
}
// find the peer for the destination address
var dest = SOCKFS.websocket_sock_ops.getPeer(sock, addr, port);
// early out if not connected with a connection-based socket
if (sock.type === 1) {
if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) {
throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
} else if (dest.socket.readyState === dest.socket.CONNECTING) {
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
}
}
// create a copy of the incoming data to send, as the WebSocket API
// doesn't work entirely with an ArrayBufferView, it'll just send
// the entire underlying buffer
var data;
if (buffer instanceof Array || buffer instanceof ArrayBuffer) {
data = buffer.slice(offset, offset + length);
} else { // ArrayBufferView
data = buffer.buffer.slice(buffer.byteOffset + offset, buffer.byteOffset + offset + length);
}
// if we're emulating a connection-less dgram socket and don't have
// a cached connection, queue the buffer to send upon connect and
// lie, saying the data was sent now.
if (sock.type === 2) {
if (!dest || dest.socket.readyState !== dest.socket.OPEN) {
// if we're not connected, open a new connection
if (!dest || dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) {
dest = SOCKFS.websocket_sock_ops.createPeer(sock, addr, port);
}
dest.dgram_send_queue.push(data);
return length;
}
}
try {
// send the actual data
dest.socket.send(data);
return length;
} catch (e) {
throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
}
},recvmsg:function (sock, length) {
// http://pubs.opengroup.org/onlinepubs/7908799/xns/recvmsg.html
if (sock.type === 1 && sock.server) {
// tcp servers should not be recv()'ing on the listen socket
throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
}
var queued = sock.recv_queue.shift();
if (!queued) {
if (sock.type === 1) {
var dest = SOCKFS.websocket_sock_ops.getPeer(sock, sock.daddr, sock.dport);
if (!dest) {
// if we have a destination address but are not connected, error out
throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN);
}
else if (dest.socket.readyState === dest.socket.CLOSING || dest.socket.readyState === dest.socket.CLOSED) {
// return null if the socket has closed
return null;
}
else {
// else, our socket is in a valid state but truly has nothing available
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
}
} else {
throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
}
}
// queued.data will be an ArrayBuffer if it's unadulterated, but if it's
// requeued TCP data it'll be an ArrayBufferView
var queuedLength = queued.data.byteLength || queued.data.length;
var queuedOffset = queued.data.byteOffset || 0;
var queuedBuffer = queued.data.buffer || queued.data;
var bytesRead = Math.min(length, queuedLength);
var res = {
buffer: new Uint8Array(queuedBuffer, queuedOffset, bytesRead),
addr: queued.addr,
port: queued.port
};
// push back any unread data for TCP connections
if (sock.type === 1 && bytesRead < queuedLength) {
var bytesRemaining = queuedLength - bytesRead;
queued.data = new Uint8Array(queuedBuffer, queuedOffset + bytesRead, bytesRemaining);
sock.recv_queue.unshift(queued);
}
return res;
}}};function _send(fd, buf, len, flags) {
var sock = SOCKFS.getSocket(fd);
if (!sock) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
// TODO honor flags
return _write(fd, buf, len);
}
function _pwrite(fildes, buf, nbyte, offset) {
// ssize_t pwrite(int fildes, const void *buf, size_t nbyte, off_t offset);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html
var stream = FS.getStream(fildes);
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
try {
var slab = HEAP8;
return FS.write(stream, slab, buf, nbyte, offset);
} catch (e) {
FS.handleFSError(e);
return -1;
}
}function _write(fildes, buf, nbyte) {
// ssize_t write(int fildes, const void *buf, size_t nbyte);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/write.html
var stream = FS.getStream(fildes);
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
try {
var slab = HEAP8;
return FS.write(stream, slab, buf, nbyte);
} catch (e) {
FS.handleFSError(e);
return -1;
}
}function _fputc(c, stream) {
// int fputc(int c, FILE *stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fputc.html
var chr = unSign(c & 0xFF);
HEAP8[((_fputc.ret)|0)]=chr;
var ret = _write(stream, _fputc.ret, 1);
if (ret == -1) {
var streamObj = FS.getStream(stream);
if (streamObj) streamObj.error = true;
return -1;
} else {
return chr;
}
}
function _fwrite(ptr, size, nitems, stream) {
// size_t fwrite(const void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fwrite.html
var bytesToWrite = nitems * size;
if (bytesToWrite == 0) return 0;
var bytesWritten = _write(stream, ptr, bytesToWrite);
if (bytesWritten == -1) {
var streamObj = FS.getStream(stream);
if (streamObj) streamObj.error = true;
return 0;
} else {
return Math.floor(bytesWritten / size);
}
}
function _FcPatternAddInteger() {
Module['printErr']('missing function: FcPatternAddInteger'); abort(-1);
}
function _pthread_mutex_init() {}
function _putchar(c) {
// int putchar(int c);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/putchar.html
return _fputc(c, HEAP32[((_stdout)>>2)]);
}
Module["_saveSetjmp"] = _saveSetjmp;
Module["_strlen"] = _strlen;function _fputs(s, stream) {
// int fputs(const char *restrict s, FILE *restrict stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fputs.html
return _write(stream, s, _strlen(s));
}
var Browser={mainLoop:{scheduler:null,shouldPause:false,paused:false,queue:[],pause:function () {
Browser.mainLoop.shouldPause = true;
},resume:function () {
if (Browser.mainLoop.paused) {
Browser.mainLoop.paused = false;
Browser.mainLoop.scheduler();
}
Browser.mainLoop.shouldPause = false;
},updateStatus:function () {
if (Module['setStatus']) {
var message = Module['statusMessage'] || 'Please wait...';
var remaining = Browser.mainLoop.remainingBlockers;
var expected = Browser.mainLoop.expectedBlockers;
if (remaining) {
if (remaining < expected) {
Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')');
} else {
Module['setStatus'](message);
}
} else {
Module['setStatus']('');
}
}
}},isFullScreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () {
if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers
if (Browser.initted || ENVIRONMENT_IS_WORKER) return;
Browser.initted = true;
try {
new Blob();
Browser.hasBlobConstructor = true;
} catch(e) {
Browser.hasBlobConstructor = false;
console.log("warning: no blob constructor, cannot create blobs with mimetypes");
}
Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null));
Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined;
if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') {
console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");
Module.noImageDecoding = true;
}
// Support for plugins that can process preloaded files. You can add more of these to
// your app by creating and appending to Module.preloadPlugins.
//
// Each plugin is asked if it can handle a file based on the file's name. If it can,
// it is given the file's raw data. When it is done, it calls a callback with the file's
// (possibly modified) data. For example, a plugin might decompress a file, or it
// might create some side data structure for use later (like an Image element, etc.).
var imagePlugin = {};
imagePlugin['canHandle'] = function imagePlugin_canHandle(name) {
return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name);
};
imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) {
var b = null;
if (Browser.hasBlobConstructor) {
try {
b = new Blob([byteArray], { type: Browser.getMimetype(name) });
if (b.size !== byteArray.length) { // Safari bug #118630
// Safari's Blob can only take an ArrayBuffer
b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) });
}
} catch(e) {
Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder');
}
}
if (!b) {
var bb = new Browser.BlobBuilder();
bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range
b = bb.getBlob();
}
var url = Browser.URLObject.createObjectURL(b);
var img = new Image();
img.onload = function img_onload() {
assert(img.complete, 'Image ' + name + ' could not be decoded');
var canvas = document.createElement('canvas');
canvas.width = img.width;
canvas.height = img.height;
var ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0);
Module["preloadedImages"][name] = canvas;
Browser.URLObject.revokeObjectURL(url);
if (onload) onload(byteArray);
};
img.onerror = function img_onerror(event) {
console.log('Image ' + url + ' could not be decoded');
if (onerror) onerror();
};
img.src = url;
};
Module['preloadPlugins'].push(imagePlugin);
var audioPlugin = {};
audioPlugin['canHandle'] = function audioPlugin_canHandle(name) {
return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 };
};
audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) {
var done = false;
function finish(audio) {
if (done) return;
done = true;
Module["preloadedAudios"][name] = audio;
if (onload) onload(byteArray);
}
function fail() {
if (done) return;
done = true;
Module["preloadedAudios"][name] = new Audio(); // empty shim
if (onerror) onerror();
}
if (Browser.hasBlobConstructor) {
try {
var b = new Blob([byteArray], { type: Browser.getMimetype(name) });
} catch(e) {
return fail();
}
var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this!
var audio = new Audio();
audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926
audio.onerror = function audio_onerror(event) {
if (done) return;
console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach');
function encode64(data) {
var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
var PAD = '=';
var ret = '';
var leftchar = 0;
var leftbits = 0;
for (var i = 0; i < data.length; i++) {
leftchar = (leftchar << 8) | data[i];
leftbits += 8;
while (leftbits >= 6) {
var curr = (leftchar >> (leftbits-6)) & 0x3f;
leftbits -= 6;
ret += BASE[curr];
}
}
if (leftbits == 2) {
ret += BASE[(leftchar&3) << 4];
ret += PAD + PAD;
} else if (leftbits == 4) {
ret += BASE[(leftchar&0xf) << 2];
ret += PAD;
}
return ret;
}
audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray);
finish(audio); // we don't wait for confirmation this worked - but it's worth trying
};
audio.src = url;
// workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror
Browser.safeSetTimeout(function() {
finish(audio); // try to use it even though it is not necessarily ready to play
}, 10000);
} else {
return fail();
}
};
Module['preloadPlugins'].push(audioPlugin);
// Canvas event setup
var canvas = Module['canvas'];
canvas.requestPointerLock = canvas['requestPointerLock'] ||
canvas['mozRequestPointerLock'] ||
canvas['webkitRequestPointerLock'];
canvas.exitPointerLock = document['exitPointerLock'] ||
document['mozExitPointerLock'] ||
document['webkitExitPointerLock'] ||
function(){}; // no-op if function does not exist
canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
function pointerLockChange() {
Browser.pointerLock = document['pointerLockElement'] === canvas ||
document['mozPointerLockElement'] === canvas ||
document['webkitPointerLockElement'] === canvas;
}
document.addEventListener('pointerlockchange', pointerLockChange, false);
document.addEventListener('mozpointerlockchange', pointerLockChange, false);
document.addEventListener('webkitpointerlockchange', pointerLockChange, false);
if (Module['elementPointerLock']) {
canvas.addEventListener("click", function(ev) {
if (!Browser.pointerLock && canvas.requestPointerLock) {
canvas.requestPointerLock();
ev.preventDefault();
}
}, false);
}
},createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) {
var ctx;
try {
if (useWebGL) {
var contextAttributes = {
antialias: false,
alpha: false
};
if (webGLContextAttributes) {
for (var attribute in webGLContextAttributes) {
contextAttributes[attribute] = webGLContextAttributes[attribute];
}
}
var errorInfo = '?';
function onContextCreationError(event) {
errorInfo = event.statusMessage || errorInfo;
}
canvas.addEventListener('webglcontextcreationerror', onContextCreationError, false);
try {
['experimental-webgl', 'webgl'].some(function(webglId) {
return ctx = canvas.getContext(webglId, contextAttributes);
});
} finally {
canvas.removeEventListener('webglcontextcreationerror', onContextCreationError, false);
}
} else {
ctx = canvas.getContext('2d');
}
if (!ctx) throw ':(';
} catch (e) {
Module.print('Could not create canvas: ' + [errorInfo, e]);
return null;
}
if (useWebGL) {
// Set the background of the WebGL canvas to black
canvas.style.backgroundColor = "black";
// Warn on context loss
canvas.addEventListener('webglcontextlost', function(event) {
alert('WebGL context lost. You will need to reload the page.');
}, false);
}
if (setInModule) {
GLctx = Module.ctx = ctx;
Module.useWebGL = useWebGL;
Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() });
Browser.init();
}
return ctx;
},destroyContext:function (canvas, useWebGL, setInModule) {},fullScreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullScreen:function (lockPointer, resizeCanvas) {
Browser.lockPointer = lockPointer;
Browser.resizeCanvas = resizeCanvas;
if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true;
if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false;
var canvas = Module['canvas'];
function fullScreenChange() {
Browser.isFullScreen = false;
if ((document['webkitFullScreenElement'] || document['webkitFullscreenElement'] ||
document['mozFullScreenElement'] || document['mozFullscreenElement'] ||
document['fullScreenElement'] || document['fullscreenElement']) === canvas) {
canvas.cancelFullScreen = document['cancelFullScreen'] ||
document['mozCancelFullScreen'] ||
document['webkitCancelFullScreen'];
canvas.cancelFullScreen = canvas.cancelFullScreen.bind(document);
if (Browser.lockPointer) canvas.requestPointerLock();
Browser.isFullScreen = true;
if (Browser.resizeCanvas) Browser.setFullScreenCanvasSize();
} else if (Browser.resizeCanvas){
Browser.setWindowedCanvasSize();
}
if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullScreen);
}
if (!Browser.fullScreenHandlersInstalled) {
Browser.fullScreenHandlersInstalled = true;
document.addEventListener('fullscreenchange', fullScreenChange, false);
document.addEventListener('mozfullscreenchange', fullScreenChange, false);
document.addEventListener('webkitfullscreenchange', fullScreenChange, false);
}
canvas.requestFullScreen = canvas['requestFullScreen'] ||
canvas['mozRequestFullScreen'] ||
(canvas['webkitRequestFullScreen'] ? function() { canvas['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null);
canvas.requestFullScreen();
},requestAnimationFrame:function requestAnimationFrame(func) {
if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js)
setTimeout(func, 1000/60);
} else {
if (!window.requestAnimationFrame) {
window.requestAnimationFrame = window['requestAnimationFrame'] ||
window['mozRequestAnimationFrame'] ||
window['webkitRequestAnimationFrame'] ||
window['msRequestAnimationFrame'] ||
window['oRequestAnimationFrame'] ||
window['setTimeout'];
}
window.requestAnimationFrame(func);
}
},safeCallback:function (func) {
return function() {
if (!ABORT) return func.apply(null, arguments);
};
},safeRequestAnimationFrame:function (func) {
return Browser.requestAnimationFrame(function() {
if (!ABORT) func();
});
},safeSetTimeout:function (func, timeout) {
return setTimeout(function() {
if (!ABORT) func();
}, timeout);
},safeSetInterval:function (func, timeout) {
return setInterval(function() {
if (!ABORT) func();
}, timeout);
},getMimetype:function (name) {
return {
'jpg': 'image/jpeg',
'jpeg': 'image/jpeg',
'png': 'image/png',
'bmp': 'image/bmp',
'ogg': 'audio/ogg',
'wav': 'audio/wav',
'mp3': 'audio/mpeg'
}[name.substr(name.lastIndexOf('.')+1)];
},getUserMedia:function (func) {
if(!window.getUserMedia) {
window.getUserMedia = navigator['getUserMedia'] ||
navigator['mozGetUserMedia'];
}
window.getUserMedia(func);
},getMovementX:function (event) {
return event['movementX'] ||
event['mozMovementX'] ||
event['webkitMovementX'] ||
0;
},getMovementY:function (event) {
return event['movementY'] ||
event['mozMovementY'] ||
event['webkitMovementY'] ||
0;
},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup
if (Browser.pointerLock) {
// When the pointer is locked, calculate the coordinates
// based on the movement of the mouse.
// Workaround for Firefox bug 764498
if (event.type != 'mousemove' &&
('mozMovementX' in event)) {
Browser.mouseMovementX = Browser.mouseMovementY = 0;
} else {
Browser.mouseMovementX = Browser.getMovementX(event);
Browser.mouseMovementY = Browser.getMovementY(event);
}
// check if SDL is available
if (typeof SDL != "undefined") {
Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
} else {
// just add the mouse delta to the current absolut mouse position
// FIXME: ideally this should be clamped against the canvas size and zero
Browser.mouseX += Browser.mouseMovementX;
Browser.mouseY += Browser.mouseMovementY;
}
} else {
// Otherwise, calculate the movement based on the changes
// in the coordinates.
var rect = Module["canvas"].getBoundingClientRect();
var x, y;
// Neither .scrollX or .pageXOffset are defined in a spec, but
// we prefer .scrollX because it is currently in a spec draft.
// (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/)
var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset);
var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset);
if (event.type == 'touchstart' ||
event.type == 'touchend' ||
event.type == 'touchmove') {
var t = event.touches.item(0);
if (t) {
x = t.pageX - (scrollX + rect.left);
y = t.pageY - (scrollY + rect.top);
} else {
return;
}
} else {
x = event.pageX - (scrollX + rect.left);
y = event.pageY - (scrollY + rect.top);
}
// the canvas might be CSS-scaled compared to its backbuffer;
// SDL-using content will want mouse coordinates in terms
// of backbuffer units.
var cw = Module["canvas"].width;
var ch = Module["canvas"].height;
x = x * (cw / rect.width);
y = y * (ch / rect.height);
Browser.mouseMovementX = x - Browser.mouseX;
Browser.mouseMovementY = y - Browser.mouseY;
Browser.mouseX = x;
Browser.mouseY = y;
}
},xhrLoad:function (url, onload, onerror) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'arraybuffer';
xhr.onload = function xhr_onload() {
if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
onload(xhr.response);
} else {
onerror();
}
};
xhr.onerror = onerror;
xhr.send(null);
},asyncLoad:function (url, onload, onerror, noRunDep) {
Browser.xhrLoad(url, function(arrayBuffer) {
assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');
onload(new Uint8Array(arrayBuffer));
if (!noRunDep) removeRunDependency('al ' + url);
}, function(event) {
if (onerror) {
onerror();
} else {
throw 'Loading data file "' + url + '" failed.';
}
});
if (!noRunDep) addRunDependency('al ' + url);
},resizeListeners:[],updateResizeListeners:function () {
var canvas = Module['canvas'];
Browser.resizeListeners.forEach(function(listener) {
listener(canvas.width, canvas.height);
});
},setCanvasSize:function (width, height, noUpdates) {
var canvas = Module['canvas'];
canvas.width = width;
canvas.height = height;
if (!noUpdates) Browser.updateResizeListeners();
},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function () {
var canvas = Module['canvas'];
this.windowedWidth = canvas.width;
this.windowedHeight = canvas.height;
canvas.width = screen.width;
canvas.height = screen.height;
// check if SDL is available
if (typeof SDL != "undefined") {
var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)];
flags = flags | 0x00800000; // set SDL_FULLSCREEN flag
HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags
}
Browser.updateResizeListeners();
},setWindowedCanvasSize:function () {
var canvas = Module['canvas'];
canvas.width = this.windowedWidth;
canvas.height = this.windowedHeight;
// check if SDL is available
if (typeof SDL != "undefined") {
var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)];
flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag
HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags
}
Browser.updateResizeListeners();
}};
Module["_bitshift64Ashr"] = _bitshift64Ashr;
function _recv(fd, buf, len, flags) {
var sock = SOCKFS.getSocket(fd);
if (!sock) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
// TODO honor flags
return _read(fd, buf, len);
}
function _pread(fildes, buf, nbyte, offset) {
// ssize_t pread(int fildes, void *buf, size_t nbyte, off_t offset);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html
var stream = FS.getStream(fildes);
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
try {
var slab = HEAP8;
return FS.read(stream, slab, buf, nbyte, offset);
} catch (e) {
FS.handleFSError(e);
return -1;
}
}function _read(fildes, buf, nbyte) {
// ssize_t read(int fildes, void *buf, size_t nbyte);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/read.html
var stream = FS.getStream(fildes);
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
try {
var slab = HEAP8;
return FS.read(stream, slab, buf, nbyte);
} catch (e) {
FS.handleFSError(e);
return -1;
}
}
function _FcFontSetDestroy() {
Module['printErr']('missing function: FcFontSetDestroy'); abort(-1);
}
var _ceil=Math_ceil;
function _FcDefaultSubstitute() {
Module['printErr']('missing function: FcDefaultSubstitute'); abort(-1);
}
function _getpwnam() { throw 'getpwnam: TODO' }
Module["_memcpy"] = _memcpy;
function _strstr(ptr1, ptr2) {
var check = 0, start;
do {
if (!check) {
start = ptr1;
check = ptr2;
}
var curr1 = HEAP8[((ptr1++)|0)];
var curr2 = HEAP8[((check++)|0)];
if (curr2 == 0) return start;
if (curr2 != curr1) {
// rewind to one character after start, to find ez in eeez
ptr1 = start + 1;
check = 0;
}
} while (curr1);
return 0;
}
Module["_memmove"] = _memmove;
function _inflateInit2_() {
Module['printErr']('dead function: inflateInit2_'); abort(-1);
}
var _emscripten_preinvoke=true;
function _open(path, oflag, varargs) {
// int open(const char *path, int oflag, ...);
// http://pubs.opengroup.org/onlinepubs/009695399/functions/open.html
var mode = HEAP32[((varargs)>>2)];
path = Pointer_stringify(path);
try {
var stream = FS.open(path, oflag, mode);
return stream.fd;
} catch (e) {
FS.handleFSError(e);
return -1;
}
}function _opendir(dirname) {
// DIR *opendir(const char *dirname);
// http://pubs.opengroup.org/onlinepubs/007908799/xsh/opendir.html
// NOTE: Calculating absolute path redundantly since we need to associate it
// with the opened stream.
var path = Pointer_stringify(dirname);
if (!path) {
___setErrNo(ERRNO_CODES.ENOENT);
return 0;
}
var node;
try {
var lookup = FS.lookupPath(path, { follow: true });
node = lookup.node;
} catch (e) {
FS.handleFSError(e);
return 0;
}
if (!FS.isDir(node.mode)) {
___setErrNo(ERRNO_CODES.ENOTDIR);
return 0;
}
var err = _open(dirname, 0, allocate([0, 0, 0, 0], 'i32', ALLOC_STACK));
// open returns 0 on failure, not -1
return err === -1 ? 0 : err;
}
function _fmod(x, y) {
return x % y;
}
function _strncmp(px, py, n) {
var i = 0;
while (i < n) {
var x = HEAPU8[(((px)+(i))|0)];
var y = HEAPU8[(((py)+(i))|0)];
if (x == y && x == 0) return 0;
if (x == 0) return -1;
if (y == 0) return 1;
if (x == y) {
i ++;
continue;
} else {
return x > y ? 1 : -1;
}
}
return 0;
}function _strcmp(px, py) {
return _strncmp(px, py, TOTAL_MEMORY);
}
function _memchr(ptr, chr, num) {
chr = unSign(chr);
for (var i = 0; i < num; i++) {
if (HEAP8[(ptr)] == chr) return ptr;
ptr++;
}
return 0;
}
function __reallyNegative(x) {
return x < 0 || (x === 0 && (1/x) === -Infinity);
}function __formatString(format, varargs) {
var textIndex = format;
var argIndex = 0;
function getNextArg(type) {
// NOTE: Explicitly ignoring type safety. Otherwise this fails:
// int x = 4; printf("%c\n", (char)x);
var ret;
if (type === 'double') {
ret = (HEAP32[((tempDoublePtr)>>2)]=HEAP32[(((varargs)+(argIndex))>>2)],HEAP32[(((tempDoublePtr)+(4))>>2)]=HEAP32[(((varargs)+((argIndex)+(4)))>>2)],(+(HEAPF64[(tempDoublePtr)>>3])));
} else if (type == 'i64') {
ret = [HEAP32[(((varargs)+(argIndex))>>2)],
HEAP32[(((varargs)+(argIndex+4))>>2)]];
} else {
type = 'i32'; // varargs are always i32, i64, or double
ret = HEAP32[(((varargs)+(argIndex))>>2)];
}
argIndex += Runtime.getNativeFieldSize(type);
return ret;
}
var ret = [];
var curr, next, currArg;
while(1) {
var startTextIndex = textIndex;
curr = HEAP8[(textIndex)];
if (curr === 0) break;
next = HEAP8[((textIndex+1)|0)];
if (curr == 37) {
// Handle flags.
var flagAlwaysSigned = false;
var flagLeftAlign = false;
var flagAlternative = false;
var flagZeroPad = false;
var flagPadSign = false;
flagsLoop: while (1) {
switch (next) {
case 43:
flagAlwaysSigned = true;
break;
case 45:
flagLeftAlign = true;
break;
case 35:
flagAlternative = true;
break;
case 48:
if (flagZeroPad) {
break flagsLoop;
} else {
flagZeroPad = true;
break;
}
case 32:
flagPadSign = true;
break;
default:
break flagsLoop;
}
textIndex++;
next = HEAP8[((textIndex+1)|0)];
}
// Handle width.
var width = 0;
if (next == 42) {
width = getNextArg('i32');
textIndex++;
next = HEAP8[((textIndex+1)|0)];
} else {
while (next >= 48 && next <= 57) {
width = width * 10 + (next - 48);
textIndex++;
next = HEAP8[((textIndex+1)|0)];
}
}
// Handle precision.
var precisionSet = false, precision = -1;
if (next == 46) {
precision = 0;
precisionSet = true;
textIndex++;
next = HEAP8[((textIndex+1)|0)];
if (next == 42) {
precision = getNextArg('i32');
textIndex++;
} else {
while(1) {
var precisionChr = HEAP8[((textIndex+1)|0)];
if (precisionChr < 48 ||
precisionChr > 57) break;
precision = precision * 10 + (precisionChr - 48);
textIndex++;
}
}
next = HEAP8[((textIndex+1)|0)];
}
if (precision === -1) {
precision = 6; // Standard default.
precisionSet = false;
}
// Handle integer sizes. WARNING: These assume a 32-bit architecture!
var argSize;
switch (String.fromCharCode(next)) {
case 'h':
var nextNext = HEAP8[((textIndex+2)|0)];
if (nextNext == 104) {
textIndex++;
argSize = 1; // char (actually i32 in varargs)
} else {
argSize = 2; // short (actually i32 in varargs)
}
break;
case 'l':
var nextNext = HEAP8[((textIndex+2)|0)];
if (nextNext == 108) {
textIndex++;
argSize = 8; // long long
} else {
argSize = 4; // long
}
break;
case 'L': // long long
case 'q': // int64_t
case 'j': // intmax_t
argSize = 8;
break;
case 'z': // size_t
case 't': // ptrdiff_t
case 'I': // signed ptrdiff_t or unsigned size_t
argSize = 4;
break;
default:
argSize = null;
}
if (argSize) textIndex++;
next = HEAP8[((textIndex+1)|0)];
// Handle type specifier.
switch (String.fromCharCode(next)) {
case 'd': case 'i': case 'u': case 'o': case 'x': case 'X': case 'p': {
// Integer.
var signed = next == 100 || next == 105;
argSize = argSize || 4;
var currArg = getNextArg('i' + (argSize * 8));
var origArg = currArg;
var argText;
// Flatten i64-1 [low, high] into a (slightly rounded) double
if (argSize == 8) {
currArg = Runtime.makeBigInt(currArg[0], currArg[1], next == 117);
}
// Truncate to requested size.
if (argSize <= 4) {
var limit = Math.pow(256, argSize) - 1;
currArg = (signed ? reSign : unSign)(currArg & limit, argSize * 8);
}
// Format the number.
var currAbsArg = Math.abs(currArg);
var prefix = '';
if (next == 100 || next == 105) {
if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1], null); else
argText = reSign(currArg, 8 * argSize, 1).toString(10);
} else if (next == 117) {
if (argSize == 8 && i64Math) argText = i64Math.stringify(origArg[0], origArg[1], true); else
argText = unSign(currArg, 8 * argSize, 1).toString(10);
currArg = Math.abs(currArg);
} else if (next == 111) {
argText = (flagAlternative ? '0' : '') + currAbsArg.toString(8);
} else if (next == 120 || next == 88) {
prefix = (flagAlternative && currArg != 0) ? '0x' : '';
if (argSize == 8 && i64Math) {
if (origArg[1]) {
argText = (origArg[1]>>>0).toString(16);
var lower = (origArg[0]>>>0).toString(16);
while (lower.length < 8) lower = '0' + lower;
argText += lower;
} else {
argText = (origArg[0]>>>0).toString(16);
}
} else
if (currArg < 0) {
// Represent negative numbers in hex as 2's complement.
currArg = -currArg;
argText = (currAbsArg - 1).toString(16);
var buffer = [];
for (var i = 0; i < argText.length; i++) {
buffer.push((0xF - parseInt(argText[i], 16)).toString(16));
}
argText = buffer.join('');
while (argText.length < argSize * 2) argText = 'f' + argText;
} else {
argText = currAbsArg.toString(16);
}
if (next == 88) {
prefix = prefix.toUpperCase();
argText = argText.toUpperCase();
}
} else if (next == 112) {
if (currAbsArg === 0) {
argText = '(nil)';
} else {
prefix = '0x';
argText = currAbsArg.toString(16);
}
}
if (precisionSet) {
while (argText.length < precision) {
argText = '0' + argText;
}
}
// Add sign if needed
if (currArg >= 0) {
if (flagAlwaysSigned) {
prefix = '+' + prefix;
} else if (flagPadSign) {
prefix = ' ' + prefix;
}
}
// Move sign to prefix so we zero-pad after the sign
if (argText.charAt(0) == '-') {
prefix = '-' + prefix;
argText = argText.substr(1);
}
// Add padding.
while (prefix.length + argText.length < width) {
if (flagLeftAlign) {
argText += ' ';
} else {
if (flagZeroPad) {
argText = '0' + argText;
} else {
prefix = ' ' + prefix;
}
}
}
// Insert the result into the buffer.
argText = prefix + argText;
argText.split('').forEach(function(chr) {
ret.push(chr.charCodeAt(0));
});
break;
}
case 'f': case 'F': case 'e': case 'E': case 'g': case 'G': {
// Float.
var currArg = getNextArg('double');
var argText;
if (isNaN(currArg)) {
argText = 'nan';
flagZeroPad = false;
} else if (!isFinite(currArg)) {
argText = (currArg < 0 ? '-' : '') + 'inf';
flagZeroPad = false;
} else {
var isGeneral = false;
var effectivePrecision = Math.min(precision, 20);
// Convert g/G to f/F or e/E, as per:
// http://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html
if (next == 103 || next == 71) {
isGeneral = true;
precision = precision || 1;
var exponent = parseInt(currArg.toExponential(effectivePrecision).split('e')[1], 10);
if (precision > exponent && exponent >= -4) {
next = ((next == 103) ? 'f' : 'F').charCodeAt(0);
precision -= exponent + 1;
} else {
next = ((next == 103) ? 'e' : 'E').charCodeAt(0);
precision--;
}
effectivePrecision = Math.min(precision, 20);
}
if (next == 101 || next == 69) {
argText = currArg.toExponential(effectivePrecision);
// Make sure the exponent has at least 2 digits.
if (/[eE][-+]\d$/.test(argText)) {
argText = argText.slice(0, -1) + '0' + argText.slice(-1);
}
} else if (next == 102 || next == 70) {
argText = currArg.toFixed(effectivePrecision);
if (currArg === 0 && __reallyNegative(currArg)) {
argText = '-' + argText;
}
}
var parts = argText.split('e');
if (isGeneral && !flagAlternative) {
// Discard trailing zeros and periods.
while (parts[0].length > 1 && parts[0].indexOf('.') != -1 &&
(parts[0].slice(-1) == '0' || parts[0].slice(-1) == '.')) {
parts[0] = parts[0].slice(0, -1);
}
} else {
// Make sure we have a period in alternative mode.
if (flagAlternative && argText.indexOf('.') == -1) parts[0] += '.';
// Zero pad until required precision.
while (precision > effectivePrecision++) parts[0] += '0';
}
argText = parts[0] + (parts.length > 1 ? 'e' + parts[1] : '');
// Capitalize 'E' if needed.
if (next == 69) argText = argText.toUpperCase();
// Add sign.
if (currArg >= 0) {
if (flagAlwaysSigned) {
argText = '+' + argText;
} else if (flagPadSign) {
argText = ' ' + argText;
}
}
}
// Add padding.
while (argText.length < width) {
if (flagLeftAlign) {
argText += ' ';
} else {
if (flagZeroPad && (argText[0] == '-' || argText[0] == '+')) {
argText = argText[0] + '0' + argText.slice(1);
} else {
argText = (flagZeroPad ? '0' : ' ') + argText;
}
}
}
// Adjust case.
if (next < 97) argText = argText.toUpperCase();
// Insert the result into the buffer.
argText.split('').forEach(function(chr) {
ret.push(chr.charCodeAt(0));
});
break;
}
case 's': {
// String.
var arg = getNextArg('i8*');
var argLength = arg ? _strlen(arg) : '(null)'.length;
if (precisionSet) argLength = Math.min(argLength, precision);
if (!flagLeftAlign) {
while (argLength < width--) {
ret.push(32);
}
}
if (arg) {
for (var i = 0; i < argLength; i++) {
ret.push(HEAPU8[((arg++)|0)]);
}
} else {
ret = ret.concat(intArrayFromString('(null)'.substr(0, argLength), true));
}
if (flagLeftAlign) {
while (argLength < width--) {
ret.push(32);
}
}
break;
}
case 'c': {
// Character.
if (flagLeftAlign) ret.push(getNextArg('i8'));
while (--width > 0) {
ret.push(32);
}
if (!flagLeftAlign) ret.push(getNextArg('i8'));
break;
}
case 'n': {
// Write the length written so far to the next parameter.
var ptr = getNextArg('i32*');
HEAP32[((ptr)>>2)]=ret.length;
break;
}
case '%': {
// Literal percent sign.
ret.push(curr);
break;
}
default: {
// Unknown specifiers remain untouched.
for (var i = startTextIndex; i < textIndex + 2; i++) {
ret.push(HEAP8[(i)]);
}
}
}
textIndex += 2;
// TODO: Support a/A (hex float) and m (last error) specifiers.
// TODO: Support %1${specifier} for arg selection.
} else {
ret.push(curr);
textIndex += 1;
}
}
return ret;
}function _snprintf(s, n, format, varargs) {
// int snprintf(char *restrict s, size_t n, const char *restrict format, ...);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
var result = __formatString(format, varargs);
var limit = (n === undefined) ? result.length
: Math.min(result.length, Math.max(n - 1, 0));
if (s < 0) {
s = -s;
var buf = _malloc(limit+1);
HEAP32[((s)>>2)]=buf;
s = buf;
}
for (var i = 0; i < limit; i++) {
HEAP8[(((s)+(i))|0)]=result[i];
}
if (limit < n || (n === undefined)) HEAP8[(((s)+(i))|0)]=0;
return result.length;
}
function _fread(ptr, size, nitems, stream) {
// size_t fread(void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fread.html
var bytesToRead = nitems * size;
if (bytesToRead == 0) {
return 0;
}
var bytesRead = 0;
var streamObj = FS.getStream(stream);
if (!streamObj) {
___setErrNo(ERRNO_CODES.EBADF);
return 0;
}
while (streamObj.ungotten.length && bytesToRead > 0) {
HEAP8[((ptr++)|0)]=streamObj.ungotten.pop();
bytesToRead--;
bytesRead++;
}
var err = _read(stream, ptr, bytesToRead);
if (err == -1) {
if (streamObj) streamObj.error = true;
return 0;
}
bytesRead += err;
if (bytesRead < bytesToRead) streamObj.eof = true;
return Math.floor(bytesRead / size);
}function _fgetc(stream) {
// int fgetc(FILE *stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fgetc.html
var streamObj = FS.getStream(stream);
if (!streamObj) return -1;
if (streamObj.eof || streamObj.error) return -1;
var ret = _fread(_fgetc.ret, 1, 1, stream);
if (ret == 0) {
return -1;
} else if (ret == -1) {
streamObj.error = true;
return -1;
} else {
return HEAPU8[((_fgetc.ret)|0)];
}
}
Module["_memset"] = _memset;
var _BDtoILow=true;
Module["_strcat"] = _strcat;
function _readdir_r(dirp, entry, result) {
// int readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);
// http://pubs.opengroup.org/onlinepubs/007908799/xsh/readdir_r.html
var stream = FS.getStream(dirp);
if (!stream) {
return ___setErrNo(ERRNO_CODES.EBADF);
}
var entries;
try {
entries = FS.readdir(stream.path);
} catch (e) {
return FS.handleFSError(e);
}
if (stream.position < 0 || stream.position >= entries.length) {
HEAP32[((result)>>2)]=0;
return 0;
}
var id;
var type;
var name = entries[stream.position];
var offset = stream.position + 1;
if (!name.indexOf('.')) {
id = 1;
type = 4;
} else {
var child = FS.lookupNode(stream.node, name);
id = child.id;
type = FS.isChrdev(child.mode) ? 2 : // DT_CHR, character device.
FS.isDir(child.mode) ? 4 : // DT_DIR, directory.
FS.isLink(child.mode) ? 10 : // DT_LNK, symbolic link.
8; // DT_REG, regular file.
}
HEAP32[((entry)>>2)]=id;
HEAP32[(((entry)+(4))>>2)]=offset;
HEAP32[(((entry)+(8))>>2)]=name.length + 1;
for (var i = 0; i < name.length; i++) {
HEAP8[(((entry + 11)+(i))|0)]=name.charCodeAt(i);
}
HEAP8[(((entry + 11)+(i))|0)]=0;
HEAP8[(((entry)+(10))|0)]=type;
HEAP32[((result)>>2)]=entry;
stream.position++;
return 0;
}function _readdir(dirp) {
// struct dirent *readdir(DIR *dirp);
// http://pubs.opengroup.org/onlinepubs/007908799/xsh/readdir_r.html
var stream = FS.getStream(dirp);
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return 0;
}
// TODO Is it supposed to be safe to execute multiple readdirs?
if (!_readdir.entry) _readdir.entry = _malloc(268);
if (!_readdir.result) _readdir.result = _malloc(4);
var err = _readdir_r(dirp, _readdir.entry, _readdir.result);
if (err) {
___setErrNo(err);
return 0;
}
return HEAP32[((_readdir.result)>>2)];
}
function _strerror_r(errnum, strerrbuf, buflen) {
if (errnum in ERRNO_MESSAGES) {
if (ERRNO_MESSAGES[errnum].length > buflen - 1) {
return ___setErrNo(ERRNO_CODES.ERANGE);
} else {
var msg = ERRNO_MESSAGES[errnum];
writeAsciiToMemory(msg, strerrbuf);
return 0;
}
} else {
return ___setErrNo(ERRNO_CODES.EINVAL);
}
}function _strerror(errnum) {
if (!_strerror.buffer) _strerror.buffer = _malloc(256);
_strerror_r(errnum, _strerror.buffer, 256);
return _strerror.buffer;
}
Module["_bitshift64Shl"] = _bitshift64Shl;
var _llvm_memcpy_p0i8_p0i8_i32=_memcpy;
function ___assert_fail(condition, filename, line, func) {
ABORT = true;
throw 'Assertion failed: ' + Pointer_stringify(condition) + ', at: ' + [filename ? Pointer_stringify(filename) : 'unknown filename', line, func ? Pointer_stringify(func) : 'unknown function'] + ' at ' + stackTrace();
}
function _getgid() {
// gid_t getgid(void);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/getgid.html
// We have just one process/group/user, all with ID 0.
return 0;
}
function _strchr(ptr, chr) {
ptr--;
do {
ptr++;
var val = HEAP8[(ptr)];
if (val == chr) return ptr;
} while (val);
return 0;
}
var _asin=Math_asin;
function _puts(s) {
// int puts(const char *s);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/puts.html
// NOTE: puts() always writes an extra newline.
var stdout = HEAP32[((_stdout)>>2)];
var ret = _fputs(s, stdout);
if (ret < 0) {
return ret;
} else {
var newlineRet = _fputc(10, stdout);
return (newlineRet < 0) ? -1 : ret + 1;
}
}
function _isxdigit(chr) {
return (chr >= 48 && chr <= 57) ||
(chr >= 97 && chr <= 102) ||
(chr >= 65 && chr <= 70);
}
function _ftell(stream) {
// long ftell(FILE *stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/ftell.html
stream = FS.getStream(stream);
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
if (FS.isChrdev(stream.node.mode)) {
___setErrNo(ERRNO_CODES.ESPIPE);
return -1;
} else {
return stream.position;
}
}
function __exit(status) {
// void _exit(int status);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html
Module['exit'](status);
}function _exit(status) {
__exit(status);
}
function _sprintf(s, format, varargs) {
// int sprintf(char *restrict s, const char *restrict format, ...);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
return _snprintf(s, undefined, format, varargs);
}
var _emscripten_get_longjmp_result=true;
function _strrchr(ptr, chr) {
var ptr2 = ptr + _strlen(ptr);
do {
if (HEAP8[(ptr2)] == chr) return ptr2;
ptr2--;
} while (ptr2 >= ptr);
return 0;
}
function _munmap(start, num) {
if (!_mmap.mappings) _mmap.mappings = {};
// TODO: support unmmap'ing parts of allocations
var info = _mmap.mappings[start];
if (!info) return 0;
if (num == info.num) {
_mmap.mappings[start] = null;
if (info.allocated) {
_free(info.malloc);
}
}
return 0;
}
function _fcntl(fildes, cmd, varargs, dup2) {
// int fcntl(int fildes, int cmd, ...);
// http://pubs.opengroup.org/onlinepubs/009695399/functions/fcntl.html
var stream = FS.getStream(fildes);
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
switch (cmd) {
case 0:
var arg = HEAP32[((varargs)>>2)];
if (arg < 0) {
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
}
var newStream;
try {
newStream = FS.open(stream.path, stream.flags, 0, arg);
} catch (e) {
FS.handleFSError(e);
return -1;
}
return newStream.fd;
case 1:
case 2:
return 0; // FD_CLOEXEC makes no sense for a single process.
case 3:
return stream.flags;
case 4:
var arg = HEAP32[((varargs)>>2)];
stream.flags |= arg;
return 0;
case 12:
case 12:
var arg = HEAP32[((varargs)>>2)];
var offset = 0;
// We're always unlocked.
HEAP16[(((arg)+(offset))>>1)]=2;
return 0;
case 13:
case 14:
case 13:
case 14:
// Pretend that the locking is successful.
return 0;
case 8:
case 9:
// These are for sockets. We don't have them fully implemented yet.
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
default:
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
}
// Should never be reached. Only to silence strict warnings.
return -1;
}
function _strcspn(pstr, pset) {
var str = pstr, set, strcurr, setcurr;
while (1) {
strcurr = HEAP8[(str)];
if (!strcurr) return str - pstr;
set = pset;
while (1) {
setcurr = HEAP8[(set)];
if (!setcurr || setcurr == strcurr) break;
set++;
}
if (setcurr) return str - pstr;
str++;
}
}
function _copysign(a, b) {
return __reallyNegative(a) === __reallyNegative(b) ? a : -a;
}
function _FcConfigSubstitute() {
Module['printErr']('missing function: FcConfigSubstitute'); abort(-1);
}
var _log=Math_log;
var _cos=Math_cos;
function _lseek(fildes, offset, whence) {
// off_t lseek(int fildes, off_t offset, int whence);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/lseek.html
var stream = FS.getStream(fildes);
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
try {
return FS.llseek(stream, offset, whence);
} catch (e) {
FS.handleFSError(e);
return -1;
}
}function _fseek(stream, offset, whence) {
// int fseek(FILE *stream, long offset, int whence);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fseek.html
var ret = _lseek(stream, offset, whence);
if (ret == -1) {
return -1;
}
stream = FS.getStream(stream);
stream.eof = false;
return 0;
}var _fseeko=_fseek;
function _FcFontSort() {
Module['printErr']('missing function: FcFontSort'); abort(-1);
}
function _isalnum(chr) {
return (chr >= 48 && chr <= 57) ||
(chr >= 97 && chr <= 122) ||
(chr >= 65 && chr <= 90);
}
function __ZNSt9exceptionD2Ev() {}
Module["_strcpy"] = _strcpy;
function _mmap(start, num, prot, flags, stream, offset) {
/* FIXME: Since mmap is normally implemented at the kernel level,
* this implementation simply uses malloc underneath the call to
* mmap.
*/
var MAP_PRIVATE = 2;
var ptr;
var allocated = false;
if (!_mmap.mappings) _mmap.mappings = {};
if (stream == -1) {
ptr = _malloc(num);
if (!ptr) return -1;
_memset(ptr, 0, num);
allocated = true;
} else {
var info = FS.getStream(stream);
if (!info) return -1;
try {
var res = FS.mmap(info, HEAPU8, start, num, offset, prot, flags);
ptr = res.ptr;
allocated = res.allocated;
} catch (e) {
FS.handleFSError(e);
return -1;
}
}
_mmap.mappings[ptr] = { malloc: ptr, num: num, allocated: allocated };
return ptr;
}
var _acos=Math_acos;
function _FcPatternDestroy() {
Module['printErr']('missing function: FcPatternDestroy'); abort(-1);
}
var _llvm_memset_p0i8_i32=_memset;
Module["_i64Subtract"] = _i64Subtract;
Module["_i64Add"] = _i64Add;
var _pow=Math_pow;
function __ZSt18uncaught_exceptionv() { // std::uncaught_exception()
return !!__ZSt18uncaught_exceptionv.uncaught_exception;
}
function ___cxa_is_number_type(type) {
var isNumber = false;
try { if (type == __ZTIi) isNumber = true } catch(e){}
try { if (type == __ZTIj) isNumber = true } catch(e){}
try { if (type == __ZTIl) isNumber = true } catch(e){}
try { if (type == __ZTIm) isNumber = true } catch(e){}
try { if (type == __ZTIx) isNumber = true } catch(e){}
try { if (type == __ZTIy) isNumber = true } catch(e){}
try { if (type == __ZTIf) isNumber = true } catch(e){}
try { if (type == __ZTId) isNumber = true } catch(e){}
try { if (type == __ZTIe) isNumber = true } catch(e){}
try { if (type == __ZTIc) isNumber = true } catch(e){}
try { if (type == __ZTIa) isNumber = true } catch(e){}
try { if (type == __ZTIh) isNumber = true } catch(e){}
try { if (type == __ZTIs) isNumber = true } catch(e){}
try { if (type == __ZTIt) isNumber = true } catch(e){}
return isNumber;
}function ___cxa_does_inherit(definiteType, possibilityType, possibility) {
if (possibility == 0) return false;
if (possibilityType == 0 || possibilityType == definiteType)
return true;
var possibility_type_info;
if (___cxa_is_number_type(possibilityType)) {
possibility_type_info = possibilityType;
} else {
var possibility_type_infoAddr = HEAP32[((possibilityType)>>2)] - 8;
possibility_type_info = HEAP32[((possibility_type_infoAddr)>>2)];
}
switch (possibility_type_info) {
case 0: // possibility is a pointer
// See if definite type is a pointer
var definite_type_infoAddr = HEAP32[((definiteType)>>2)] - 8;
var definite_type_info = HEAP32[((definite_type_infoAddr)>>2)];
if (definite_type_info == 0) {
// Also a pointer; compare base types of pointers
var defPointerBaseAddr = definiteType+8;
var defPointerBaseType = HEAP32[((defPointerBaseAddr)>>2)];
var possPointerBaseAddr = possibilityType+8;
var possPointerBaseType = HEAP32[((possPointerBaseAddr)>>2)];
return ___cxa_does_inherit(defPointerBaseType, possPointerBaseType, possibility);
} else
return false; // one pointer and one non-pointer
case 1: // class with no base class
return false;
case 2: // class with base class
var parentTypeAddr = possibilityType + 8;
var parentType = HEAP32[((parentTypeAddr)>>2)];
return ___cxa_does_inherit(definiteType, parentType, possibility);
default:
return false; // some unencountered type
}
}
function ___resumeException(ptr) {
if (!___cxa_last_thrown_exception) { ___cxa_last_thrown_exception = ptr; }
throw ptr + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";
}
var ___cxa_last_thrown_exception=0;
var ___cxa_exception_header_size=8;function ___cxa_find_matching_catch(thrown, throwntype) {
if (thrown == -1) thrown = ___cxa_last_thrown_exception;
header = thrown - ___cxa_exception_header_size;
if (throwntype == -1) throwntype = HEAP32[((header)>>2)];
var typeArray = Array.prototype.slice.call(arguments, 2);
// If throwntype is a pointer, this means a pointer has been
// thrown. When a pointer is thrown, actually what's thrown
// is a pointer to the pointer. We'll dereference it.
if (throwntype != 0 && !___cxa_is_number_type(throwntype)) {
var throwntypeInfoAddr= HEAP32[((throwntype)>>2)] - 8;
var throwntypeInfo= HEAP32[((throwntypeInfoAddr)>>2)];
if (throwntypeInfo == 0)
thrown = HEAP32[((thrown)>>2)];
}
// The different catch blocks are denoted by different types.
// Due to inheritance, those types may not precisely match the
// type of the thrown object. Find one which matches, and
// return the type of the catch block which should be called.
for (var i = 0; i < typeArray.length; i++) {
if (___cxa_does_inherit(typeArray[i], throwntype, thrown))
return ((asm["setTempRet0"](typeArray[i]),thrown)|0);
}
// Shouldn't happen unless we have bogus data in typeArray
// or encounter a type for which emscripten doesn't have suitable
// typeinfo defined. Best-efforts match just in case.
return ((asm["setTempRet0"](throwntype),thrown)|0);
}function ___cxa_throw(ptr, type, destructor) {
if (!___cxa_throw.initialized) {
try {
HEAP32[((__ZTVN10__cxxabiv119__pointer_type_infoE)>>2)]=0; // Workaround for libcxxabi integration bug
} catch(e){}
try {
HEAP32[((__ZTVN10__cxxabiv117__class_type_infoE)>>2)]=1; // Workaround for libcxxabi integration bug
} catch(e){}
try {
HEAP32[((__ZTVN10__cxxabiv120__si_class_type_infoE)>>2)]=2; // Workaround for libcxxabi integration bug
} catch(e){}
___cxa_throw.initialized = true;
}
var header = ptr - ___cxa_exception_header_size;
HEAP32[((header)>>2)]=type
HEAP32[(((header)+(4))>>2)]=destructor
___cxa_last_thrown_exception = ptr;
if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) {
__ZSt18uncaught_exceptionv.uncaught_exception = 1;
} else {
__ZSt18uncaught_exceptionv.uncaught_exception++;
}
throw ptr + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch.";
}
var _FtoIHigh=true;
function _fprintf(stream, format, varargs) {
// int fprintf(FILE *restrict stream, const char *restrict format, ...);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
var result = __formatString(format, varargs);
var stack = Runtime.stackSave();
var ret = _fwrite(allocate(result, 'i8', ALLOC_STACK), 1, result.length, stream);
Runtime.stackRestore(stack);
return ret;
}function _printf(format, varargs) {
// int printf(const char *restrict format, ...);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/printf.html
var stdout = HEAP32[((_stdout)>>2)];
return _fprintf(stdout, format, varargs);
}
function _fopen(filename, mode) {
// FILE *fopen(const char *restrict filename, const char *restrict mode);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/fopen.html
var flags;
mode = Pointer_stringify(mode);
if (mode[0] == 'r') {
if (mode.indexOf('+') != -1) {
flags = 2;
} else {
flags = 0;
}
} else if (mode[0] == 'w') {
if (mode.indexOf('+') != -1) {
flags = 2;
} else {
flags = 1;
}
flags |= 64;
flags |= 512;
} else if (mode[0] == 'a') {
if (mode.indexOf('+') != -1) {
flags = 2;
} else {
flags = 1;
}
flags |= 64;
flags |= 1024;
} else {
___setErrNo(ERRNO_CODES.EINVAL);
return 0;
}
var ret = _open(filename, flags, allocate([0x1FF, 0, 0, 0], 'i32', ALLOC_STACK)); // All creation permissions.
return (ret == -1) ? 0 : ret;
}
Module["_strncpy"] = _strncpy;
function _inflateEnd() {
Module['printErr']('dead function: inflateEnd'); abort(-1);
}
var _emscripten_postinvoke=true;
var _copysignl=_copysign;
function _FcPatternGetString() {
Module['printErr']('missing function: FcPatternGetString'); abort(-1);
}
function _qsort(base, num, size, cmp) {
if (num == 0 || size == 0) return;
// forward calls to the JavaScript sort method
// first, sort the items logically
var keys = [];
for (var i = 0; i < num; i++) keys.push(i);
keys.sort(function(a, b) {
return Module['dynCall_iii'](cmp, base+a*size, base+b*size);
});
// apply the sort
var temp = _malloc(num*size);
_memcpy(temp, base, num*size);
for (var i = 0; i < num; i++) {
if (keys[i] == i) continue; // already in place
_memcpy(base+i*size, temp+keys[i]*size, size);
}
_free(temp);
}
function _isalpha(chr) {
return (chr >= 97 && chr <= 122) ||
(chr >= 65 && chr <= 90);
}
Module["_memcmp"] = _memcmp;
function _strdup(ptr) {
var len = _strlen(ptr);
var newStr = _malloc(len + 1);
(_memcpy(newStr, ptr, len)|0);
HEAP8[(((newStr)+(len))|0)]=0;
return newStr;
}
function _log10(x) {
return Math.log(x) / Math.LN10;
}
Module["_bitshift64Lshr"] = _bitshift64Lshr;
function _srand(seed) {}
var _emscripten_prep_setjmp=true;
var _BDtoIHigh=true;
Module["_testSetjmp"] = _testSetjmp;function _longjmp(env, value) {
asm['setThrew'](env, value || 1);
throw 'longjmp';
}function _emscripten_longjmp(env, value) {
_longjmp(env, value);
}
var _environ=allocate(1, "i32*", ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env) {
// WARNING: Arbitrary limit!
var MAX_ENV_VALUES = 64;
var TOTAL_ENV_SIZE = 1024;
// Statically allocate memory for the environment.
var poolPtr;
var envPtr;
if (!___buildEnvironment.called) {
___buildEnvironment.called = true;
// Set default values. Use string keys for Closure Compiler compatibility.
ENV['USER'] = 'root';
ENV['PATH'] = '/';
ENV['PWD'] = '/';
ENV['HOME'] = '/home/emscripten';
ENV['LANG'] = 'en_US.UTF-8';
ENV['_'] = './this.program';
// Allocate memory.
poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC);
envPtr = allocate(MAX_ENV_VALUES * 4,
'i8*', ALLOC_STATIC);
HEAP32[((envPtr)>>2)]=poolPtr;
HEAP32[((_environ)>>2)]=envPtr;
} else {
envPtr = HEAP32[((_environ)>>2)];
poolPtr = HEAP32[((envPtr)>>2)];
}
// Collect key=value lines.
var strings = [];
var totalSize = 0;
for (var key in env) {
if (typeof env[key] === 'string') {
var line = key + '=' + env[key];
strings.push(line);
totalSize += line.length;
}
}
if (totalSize > TOTAL_ENV_SIZE) {
throw new Error('Environment size exceeded TOTAL_ENV_SIZE!');
}
// Make new.
var ptrSize = 4;
for (var i = 0; i < strings.length; i++) {
var line = strings[i];
writeAsciiToMemory(line, poolPtr);
HEAP32[(((envPtr)+(i * ptrSize))>>2)]=poolPtr;
poolPtr += line.length + 1;
}
HEAP32[(((envPtr)+(strings.length * ptrSize))>>2)]=0;
}var ENV={};function _getenv(name) {
// char *getenv(const char *name);
// http://pubs.opengroup.org/onlinepubs/009695399/functions/getenv.html
if (name === 0) return 0;
name = Pointer_stringify(name);
if (!ENV.hasOwnProperty(name)) return 0;
if (_getenv.ret) _free(_getenv.ret);
_getenv.ret = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL);
return _getenv.ret;
}
function _gettimeofday(ptr) {
var now = Date.now();
HEAP32[((ptr)>>2)]=Math.floor(now/1000); // seconds
HEAP32[(((ptr)+(4))>>2)]=Math.floor((now-1000*Math.floor(now/1000))*1000); // microseconds
return 0;
}
function _atoi(ptr) {
return _strtol(ptr, null, 10);
}
function _vfprintf(s, f, va_arg) {
return _fprintf(s, f, HEAP32[((va_arg)>>2)]);
}
var _atol=_atoi;
function _pthread_mutex_unlock() {}
function _inflate() {
Module['printErr']('dead function: inflate'); abort(-1);
}
function _sbrk(bytes) {
// Implement a Linux-like 'memory area' for our 'process'.
// Changes the size of the memory area by |bytes|; returns the
// address of the previous top ('break') of the memory area
// We control the "dynamic" memory - DYNAMIC_BASE to DYNAMICTOP
var self = _sbrk;
if (!self.called) {
DYNAMICTOP = alignMemoryPage(DYNAMICTOP); // make sure we start out aligned
self.called = true;
assert(Runtime.dynamicAlloc);
self.alloc = Runtime.dynamicAlloc;
Runtime.dynamicAlloc = function() { abort('cannot dynamically allocate, sbrk now has control') };
}
var ret = DYNAMICTOP;
if (bytes != 0) self.alloc(bytes);
return ret; // Previous break location.
}
function _localeconv() {
// %struct.timeval = type { char* decimal point, other stuff... }
// var indexes = Runtime.calculateStructAlignment({ fields: ['i32', 'i32'] });
var me = _localeconv;
if (!me.ret) {
me.ret = allocate([allocate(intArrayFromString('.'), 'i8', ALLOC_NORMAL)], 'i8*', ALLOC_NORMAL); // just decimal point, for now
}
return me.ret;
}
function ___errno_location() {
return ___errno_state;
}
var _BItoD=true;
function _pthread_mutex_destroy() {}
function _stat(path, buf, dontResolveLastLink) {
// http://pubs.opengroup.org/onlinepubs/7908799/xsh/stat.html
// int stat(const char *path, struct stat *buf);
// NOTE: dontResolveLastLink is a shortcut for lstat(). It should never be
// used in client code.
path = typeof path !== 'string' ? Pointer_stringify(path) : path;
try {
var stat = dontResolveLastLink ? FS.lstat(path) : FS.stat(path);
HEAP32[((buf)>>2)]=stat.dev;
HEAP32[(((buf)+(4))>>2)]=0;
HEAP32[(((buf)+(8))>>2)]=stat.ino;
HEAP32[(((buf)+(12))>>2)]=stat.mode;
HEAP32[(((buf)+(16))>>2)]=stat.nlink;
HEAP32[(((buf)+(20))>>2)]=stat.uid;
HEAP32[(((buf)+(24))>>2)]=stat.gid;
HEAP32[(((buf)+(28))>>2)]=stat.rdev;
HEAP32[(((buf)+(32))>>2)]=0;
HEAP32[(((buf)+(36))>>2)]=stat.size;
HEAP32[(((buf)+(40))>>2)]=4096;
HEAP32[(((buf)+(44))>>2)]=stat.blocks;
HEAP32[(((buf)+(48))>>2)]=Math.floor(stat.atime.getTime() / 1000);
HEAP32[(((buf)+(52))>>2)]=0;
HEAP32[(((buf)+(56))>>2)]=Math.floor(stat.mtime.getTime() / 1000);
HEAP32[(((buf)+(60))>>2)]=0;
HEAP32[(((buf)+(64))>>2)]=Math.floor(stat.ctime.getTime() / 1000);
HEAP32[(((buf)+(68))>>2)]=0;
HEAP32[(((buf)+(72))>>2)]=stat.ino;
return 0;
} catch (e) {
FS.handleFSError(e);
return -1;
}
}function _fstat(fildes, buf) {
// int fstat(int fildes, struct stat *buf);
// http://pubs.opengroup.org/onlinepubs/7908799/xsh/fstat.html
var stream = FS.getStream(fildes);
if (!stream) {
___setErrNo(ERRNO_CODES.EBADF);
return -1;
}
return _stat(stream.path, buf);
}
function _ungetc(c, stream) {
// int ungetc(int c, FILE *stream);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/ungetc.html
stream = FS.getStream(stream);
if (!stream) {
return -1;
}
if (c === -1) {
// do nothing for EOF character
return c;
}
c = unSign(c & 0xFF);
stream.ungotten.push(c);
stream.eof = false;
return c;
}
function _getpwuid(uid) {
return 0; // NULL
}
function __getFloat(text) {
return /^[+-]?[0-9]*\.?[0-9]+([eE][+-]?[0-9]+)?/.exec(text);
}function __scanString(format, get, unget, varargs) {
if (!__scanString.whiteSpace) {
__scanString.whiteSpace = {};
__scanString.whiteSpace[32] = 1;
__scanString.whiteSpace[9] = 1;
__scanString.whiteSpace[10] = 1;
__scanString.whiteSpace[11] = 1;
__scanString.whiteSpace[12] = 1;
__scanString.whiteSpace[13] = 1;
}
// Supports %x, %4x, %d.%d, %lld, %s, %f, %lf.
// TODO: Support all format specifiers.
format = Pointer_stringify(format);
var soFar = 0;
if (format.indexOf('%n') >= 0) {
// need to track soFar
var _get = get;
get = function get() {
soFar++;
return _get();
}
var _unget = unget;
unget = function unget() {
soFar--;
return _unget();
}
}
var formatIndex = 0;
var argsi = 0;
var fields = 0;
var argIndex = 0;
var next;
mainLoop:
for (var formatIndex = 0; formatIndex < format.length;) {
if (format[formatIndex] === '%' && format[formatIndex+1] == 'n') {
var argPtr = HEAP32[(((varargs)+(argIndex))>>2)];
argIndex += Runtime.getAlignSize('void*', null, true);
HEAP32[((argPtr)>>2)]=soFar;
formatIndex += 2;
continue;
}
if (format[formatIndex] === '%') {
var nextC = format.indexOf('c', formatIndex+1);
if (nextC > 0) {
var maxx = 1;
if (nextC > formatIndex+1) {
var sub = format.substring(formatIndex+1, nextC);
maxx = parseInt(sub);
if (maxx != sub) maxx = 0;
}
if (maxx) {
var argPtr = HEAP32[(((varargs)+(argIndex))>>2)];
argIndex += Runtime.getAlignSize('void*', null, true);
fields++;
for (var i = 0; i < maxx; i++) {
next = get();
HEAP8[((argPtr++)|0)]=next;
}
formatIndex += nextC - formatIndex + 1;
continue;
}
}
}
// handle %[...]
if (format[formatIndex] === '%' && format.indexOf('[', formatIndex+1) > 0) {
var match = /\%([0-9]*)\[(\^)?(\]?[^\]]*)\]/.exec(format.substring(formatIndex));
if (match) {
var maxNumCharacters = parseInt(match[1]) || Infinity;
var negateScanList = (match[2] === '^');
var scanList = match[3];
// expand "middle" dashs into character sets
var middleDashMatch;
while ((middleDashMatch = /([^\-])\-([^\-])/.exec(scanList))) {
var rangeStartCharCode = middleDashMatch[1].charCodeAt(0);
var rangeEndCharCode = middleDashMatch[2].charCodeAt(0);
for (var expanded = ''; rangeStartCharCode <= rangeEndCharCode; expanded += String.fromCharCode(rangeStartCharCode++));
scanList = scanList.replace(middleDashMatch[1] + '-' + middleDashMatch[2], expanded);
}
var argPtr = HEAP32[(((varargs)+(argIndex))>>2)];
argIndex += Runtime.getAlignSize('void*', null, true);
fields++;
for (var i = 0; i < maxNumCharacters; i++) {
next = get();
if (negateScanList) {
if (scanList.indexOf(String.fromCharCode(next)) < 0) {
HEAP8[((argPtr++)|0)]=next;
} else {
unget();
break;
}
} else {
if (scanList.indexOf(String.fromCharCode(next)) >= 0) {
HEAP8[((argPtr++)|0)]=next;
} else {
unget();
break;
}
}
}
// write out null-terminating character
HEAP8[((argPtr++)|0)]=0;
formatIndex += match[0].length;
continue;
}
}
// remove whitespace
while (1) {
next = get();
if (next == 0) return fields;
if (!(next in __scanString.whiteSpace)) break;
}
unget();
if (format[formatIndex] === '%') {
formatIndex++;
var suppressAssignment = false;
if (format[formatIndex] == '*') {
suppressAssignment = true;
formatIndex++;
}
var maxSpecifierStart = formatIndex;
while (format[formatIndex].charCodeAt(0) >= 48 &&
format[formatIndex].charCodeAt(0) <= 57) {
formatIndex++;
}
var max_;
if (formatIndex != maxSpecifierStart) {
max_ = parseInt(format.slice(maxSpecifierStart, formatIndex), 10);
}
var long_ = false;
var half = false;
var longLong = false;
if (format[formatIndex] == 'l') {
long_ = true;
formatIndex++;
if (format[formatIndex] == 'l') {
longLong = true;
formatIndex++;
}
} else if (format[formatIndex] == 'h') {
half = true;
formatIndex++;
}
var type = format[formatIndex];
formatIndex++;
var curr = 0;
var buffer = [];
// Read characters according to the format. floats are trickier, they may be in an unfloat state in the middle, then be a valid float later
if (type == 'f' || type == 'e' || type == 'g' ||
type == 'F' || type == 'E' || type == 'G') {
next = get();
while (next > 0 && (!(next in __scanString.whiteSpace))) {
buffer.push(String.fromCharCode(next));
next = get();
}
var m = __getFloat(buffer.join(''));
var last = m ? m[0].length : 0;
for (var i = 0; i < buffer.length - last + 1; i++) {
unget();
}
buffer.length = last;
} else {
next = get();
var first = true;
// Strip the optional 0x prefix for %x.
if ((type == 'x' || type == 'X') && (next == 48)) {
var peek = get();
if (peek == 120 || peek == 88) {
next = get();
} else {
unget();
}
}
while ((curr < max_ || isNaN(max_)) && next > 0) {
if (!(next in __scanString.whiteSpace) && // stop on whitespace
(type == 's' ||
((type === 'd' || type == 'u' || type == 'i') && ((next >= 48 && next <= 57) ||
(first && next == 45))) ||
((type === 'x' || type === 'X') && (next >= 48 && next <= 57 ||
next >= 97 && next <= 102 ||
next >= 65 && next <= 70))) &&
(formatIndex >= format.length || next !== format[formatIndex].charCodeAt(0))) { // Stop when we read something that is coming up
buffer.push(String.fromCharCode(next));
next = get();
curr++;
first = false;
} else {
break;
}
}
unget();
}
if (buffer.length === 0) return 0; // Failure.
if (suppressAssignment) continue;
var text = buffer.join('');
var argPtr = HEAP32[(((varargs)+(argIndex))>>2)];
argIndex += Runtime.getAlignSize('void*', null, true);
switch (type) {
case 'd': case 'u': case 'i':
if (half) {
HEAP16[((argPtr)>>1)]=parseInt(text, 10);
} else if (longLong) {
(tempI64 = [parseInt(text, 10)>>>0,(tempDouble=parseInt(text, 10),(+(Math_abs(tempDouble))) >= (+1) ? (tempDouble > (+0) ? ((Math_min((+(Math_floor((tempDouble)/(+4294967296)))), (+4294967295)))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/(+4294967296))))))>>>0) : 0)],HEAP32[((argPtr)>>2)]=tempI64[0],HEAP32[(((argPtr)+(4))>>2)]=tempI64[1]);
} else {
HEAP32[((argPtr)>>2)]=parseInt(text, 10);
}
break;
case 'X':
case 'x':
HEAP32[((argPtr)>>2)]=parseInt(text, 16);
break;
case 'F':
case 'f':
case 'E':
case 'e':
case 'G':
case 'g':
case 'E':
// fallthrough intended
if (long_) {
HEAPF64[((argPtr)>>3)]=parseFloat(text);
} else {
HEAPF32[((argPtr)>>2)]=parseFloat(text);
}
break;
case 's':
var array = intArrayFromString(text);
for (var j = 0; j < array.length; j++) {
HEAP8[(((argPtr)+(j))|0)]=array[j];
}
break;
}
fields++;
} else if (format[formatIndex].charCodeAt(0) in __scanString.whiteSpace) {
next = get();
while (next in __scanString.whiteSpace) {
if (next <= 0) break mainLoop; // End of input.
next = get();
}
unget(next);
formatIndex++;
} else {
// Not a specifier.
next = get();
if (format[formatIndex].charCodeAt(0) !== next) {
unget(next);
break mainLoop;
}
formatIndex++;
}
}
return fields;
}function _sscanf(s, format, varargs) {
// int sscanf(const char *restrict s, const char *restrict format, ... );
// http://pubs.opengroup.org/onlinepubs/000095399/functions/scanf.html
var index = 0;
function get() { return HEAP8[(((s)+(index++))|0)]; };
function unget() { index--; };
return __scanString(format, get, unget, varargs);
}
function _sysconf(name) {
// long sysconf(int name);
// http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html
switch(name) {
case 30: return PAGE_SIZE;
case 132:
case 133:
case 12:
case 137:
case 138:
case 15:
case 235:
case 16:
case 17:
case 18:
case 19:
case 20:
case 149:
case 13:
case 10:
case 236:
case 153:
case 9:
case 21:
case 22:
case 159:
case 154:
case 14:
case 77:
case 78:
case 139:
case 80:
case 81:
case 79:
case 82:
case 68:
case 67:
case 164:
case 11:
case 29:
case 47:
case 48:
case 95:
case 52:
case 51:
case 46:
return 200809;
case 27:
case 246:
case 127:
case 128:
case 23:
case 24:
case 160:
case 161:
case 181:
case 182:
case 242:
case 183:
case 184:
case 243:
case 244:
case 245:
case 165:
case 178:
case 179:
case 49:
case 50:
case 168:
case 169:
case 175:
case 170:
case 171:
case 172:
case 97:
case 76:
case 32:
case 173:
case 35:
return -1;
case 176:
case 177:
case 7:
case 155:
case 8:
case 157:
case 125:
case 126:
case 92:
case 93:
case 129:
case 130:
case 131:
case 94:
case 91:
return 1;
case 74:
case 60:
case 69:
case 70:
case 4:
return 1024;
case 31:
case 42:
case 72:
return 32;
case 87:
case 26:
case 33:
return 2147483647;
case 34:
case 1:
return 47839;
case 38:
case 36:
return 99;
case 43:
case 37:
return 2048;
case 0: return 2097152;
case 3: return 65536;
case 28: return 32768;
case 44: return 32767;
case 75: return 16384;
case 39: return 1000;
case 89: return 700;
case 71: return 256;
case 40: return 255;
case 2: return 100;
case 180: return 64;
case 25: return 20;
case 5: return 16;
case 6: return 6;
case 73: return 4;
case 84: return 1;
}
___setErrNo(ERRNO_CODES.EINVAL);
return -1;
}
var _SItoD=true;
var _SItoF=true;
var _llvm_memmove_p0i8_p0i8_i32=_memmove;
var _ftello=_ftell;
function _strtok_r(s, delim, lasts) {
var skip_leading_delim = 1;
var spanp;
var c, sc;
var tok;
if (s == 0 && (s = getValue(lasts, 'i8*')) == 0) {
return 0;
}
cont: while (1) {
c = getValue(s++, 'i8');
for (spanp = delim; (sc = getValue(spanp++, 'i8')) != 0;) {
if (c == sc) {
if (skip_leading_delim) {
continue cont;
} else {
setValue(lasts, s, 'i8*');
setValue(s - 1, 0, 'i8');
return s - 1;
}
}
}
break;
}
if (c == 0) {
setValue(lasts, 0, 'i8*');
return 0;
}
tok = s - 1;
for (;;) {
c = getValue(s++, 'i8');
spanp = delim;
do {
if ((sc = getValue(spanp++, 'i8')) == c) {
if (c == 0) {
s = 0;
} else {
setValue(s - 1, 0, 'i8');
}
setValue(lasts, s, 'i8*');
return tok;
}
} while (sc != 0);
}
abort('strtok_r error!');
}
var _DtoIHigh=true;
function _abort() {
Module['abort']();
}
var _fabs=Math_abs;
var _floor=Math_floor;
var _sqrt=Math_sqrt;
function _inflateReset() {
Module['printErr']('dead function: inflateReset'); abort(-1);
}
function ___cxa_allocate_exception(size) {
var ptr = _malloc(size + ___cxa_exception_header_size);
return ptr + ___cxa_exception_header_size;
}
var _sin=Math_sin;
var _fmodl=_fmod;
function ___cxa_pure_virtual() {
ABORT = true;
throw 'Pure virtual function called!';
}
function _time(ptr) {
var ret = Math.floor(Date.now()/1000);
if (ptr) {
HEAP32[((ptr)>>2)]=ret;
}
return ret;
}
function _closedir(dirp) {
// int closedir(DIR *dirp);
// http://pubs.opengroup.org/onlinepubs/007908799/xsh/closedir.html
return _close(dirp);
}
function _unlink(path) {
// int unlink(const char *path);
// http://pubs.opengroup.org/onlinepubs/000095399/functions/unlink.html
path = Pointer_stringify(path);
try {
FS.unlink(path);
return 0;
} catch (e) {
FS.handleFSError(e);
return -1;
}
}
var _emscripten_setjmp=true;
var _getuid=_getgid;
var _atan2=Math_atan2;
var _FtoILow=true;
function __ZTISt9exception() {
Module['printErr']('missing function: _ZTISt9exception'); abort(-1);
}
FS.staticInit();__ATINIT__.unshift({ func: function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() } });__ATMAIN__.push({ func: function() { FS.ignorePermissions = false } });__ATEXIT__.push({ func: function() { FS.quit() } });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;
___errno_state = Runtime.staticAlloc(4); HEAP32[((___errno_state)>>2)]=0;
__ATINIT__.unshift({ func: function() { TTY.init() } });__ATEXIT__.push({ func: function() { TTY.shutdown() } });TTY.utf8 = new Runtime.UTF8Processor();
if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); NODEFS.staticInit(); }
_fputc.ret = allocate([0], "i8", ALLOC_STATIC);
__ATINIT__.push({ func: function() { SOCKFS.root = FS.mount(SOCKFS, {}, null); } });
Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas) { Browser.requestFullScreen(lockPointer, resizeCanvas) };
Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) };
Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) };
Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause() };
Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume() };
Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() }
_fgetc.ret = allocate([0], "i8", ALLOC_STATIC);
___buildEnvironment(ENV);
STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP);
staticSealed = true; // seal the static portion of memory
STACK_MAX = STACK_BASE + 5242880;
DYNAMIC_BASE = DYNAMICTOP = Runtime.alignMemory(STACK_MAX);
assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack");
var ctlz_i8 = allocate([8,7,6,6,5,5,5,5,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], "i8", ALLOC_DYNAMIC);
var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_DYNAMIC);
var Math_min = Math.min;
function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7) {
try {
return Module["dynCall_iiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viiiii(index,a1,a2,a3,a4,a5) {
try {
Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_vi(index,a1) {
try {
Module["dynCall_vi"](index,a1);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iiiidd(index,a1,a2,a3,a4,a5) {
try {
return Module["dynCall_iiiidd"](index,a1,a2,a3,a4,a5);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_vii(index,a1,a2) {
try {
Module["dynCall_vii"](index,a1,a2);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6) {
try {
return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_ii(index,a1) {
try {
return Module["dynCall_ii"](index,a1);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viidd(index,a1,a2,a3,a4) {
try {
Module["dynCall_viidd"](index,a1,a2,a3,a4);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viddii(index,a1,a2,a3,a4,a5) {
try {
Module["dynCall_viddii"](index,a1,a2,a3,a4,a5);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viiddddddiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12) {
try {
Module["dynCall_viiddddddiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iiiiiiiiiiiidd(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) {
try {
return Module["dynCall_iiiiiiiiiiiidd"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_vidii(index,a1,a2,a3,a4) {
try {
Module["dynCall_vidii"](index,a1,a2,a3,a4);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iiiii(index,a1,a2,a3,a4) {
try {
return Module["dynCall_iiiii"](index,a1,a2,a3,a4);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iiiddddiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) {
try {
return Module["dynCall_iiiddddiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11) {
try {
Module["dynCall_viiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iiii(index,a1,a2,a3) {
try {
return Module["dynCall_iiii"](index,a1,a2,a3);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iiiddiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15) {
try {
return Module["dynCall_iiiddiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) {
try {
Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13) {
try {
Module["dynCall_viiiiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_di(index,a1) {
try {
return Module["dynCall_di"](index,a1);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) {
try {
return Module["dynCall_iiiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) {
try {
Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) {
try {
Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) {
try {
Module["dynCall_viiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iii(index,a1,a2) {
try {
return Module["dynCall_iii"](index,a1,a2);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iiiiii(index,a1,a2,a3,a4,a5) {
try {
return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_dii(index,a1,a2) {
try {
return Module["dynCall_dii"](index,a1,a2);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viidddddd(index,a1,a2,a3,a4,a5,a6,a7,a8) {
try {
Module["dynCall_viidddddd"](index,a1,a2,a3,a4,a5,a6,a7,a8);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9) {
try {
return Module["dynCall_iiiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viii(index,a1,a2,a3) {
try {
Module["dynCall_viii"](index,a1,a2,a3);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_v(index) {
try {
Module["dynCall_v"](index);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viid(index,a1,a2,a3) {
try {
Module["dynCall_viid"](index,a1,a2,a3);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function invoke_viiii(index,a1,a2,a3,a4) {
try {
Module["dynCall_viiii"](index,a1,a2,a3,a4);
} catch(e) {
if (typeof e !== 'number' && e !== 'longjmp') throw e;
asm["setThrew"](1, 0);
}
}
function asmPrintInt(x, y) {
Module.print('int ' + x + ',' + y);// + ' ' + new Error().stack);
}
function asmPrintFloat(x, y) {
Module.print('float ' + x + ',' + y);// + ' ' + new Error().stack);
}
// EMSCRIPTEN_START_ASM
var asm=(function(global,env,buffer){"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=env.ctlz_i8|0;var o=env.__ZTISt9exception|0;var p=env._stderr|0;var q=env._stdin|0;var r=env._stdout|0;var s=0;var t=0;var u=0;var v=0;var w=+env.NaN,x=+env.Infinity;var y=0,z=0,A=0,B=0,C=0.0,D=0,E=0,F=0,G=0.0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=0;var N=0;var O=0;var P=0;var Q=0;var R=global.Math.floor;var S=global.Math.abs;var T=global.Math.sqrt;var U=global.Math.pow;var V=global.Math.cos;var W=global.Math.sin;var X=global.Math.tan;var Y=global.Math.acos;var Z=global.Math.asin;var _=global.Math.atan;var $=global.Math.atan2;var aa=global.Math.exp;var ba=global.Math.log;var ca=global.Math.ceil;var da=global.Math.imul;var ea=env.abort;var fa=env.assert;var ga=env.asmPrintInt;var ha=env.asmPrintFloat;var ia=env.min;var ja=env.invoke_iiiiiiii;var ka=env.invoke_viiiii;var la=env.invoke_vi;var ma=env.invoke_iiiidd;var na=env.invoke_vii;var oa=env.invoke_iiiiiii;var pa=env.invoke_ii;var qa=env.invoke_viidd;var ra=env.invoke_viddii;var sa=env.invoke_viiddddddiiii;var ta=env.invoke_iiiiiiiiiiiidd;var ua=env.invoke_vidii;var va=env.invoke_iiiii;var wa=env.invoke_iiiddddiii;var xa=env.invoke_viiiiiiiiiii;var ya=env.invoke_iiii;var za=env.invoke_iiiddiiiiiiiiiii;var Aa=env.invoke_viiiiii;var Ba=env.invoke_viiiiiiiiiiiii;var Ca=env.invoke_di;var Da=env.invoke_iiiiiiiiiii;var Ea=env.invoke_viiiiiii;var Fa=env.invoke_viiiiiiiii;var Ga=env.invoke_viiiiiiiiii;var Ha=env.invoke_iii;var Ia=env.invoke_iiiiii;var Ja=env.invoke_dii;var Ka=env.invoke_viidddddd;var La=env.invoke_iiiiiiiiii;var Ma=env.invoke_viii;var Na=env.invoke_v;var Oa=env.invoke_viid;var Pa=env.invoke_viiii;var Qa=env._isalnum;var Ra=env._fabs;var Sa=env._strrchr;var Ta=env._fread;var Ua=env._memchr;var Va=env._inflateReset;var Wa=env.__reallyNegative;var Xa=env._fstat;var Ya=env.___assert_fail;var Za=env.__ZSt18uncaught_exceptionv;var _a=env._longjmp;var $a=env._fsync;var ab=env._sbrk;var bb=env._sysconf;var cb=env._close;var db=env._cos;var eb=env._readdir;var fb=env._puts;var gb=env._FcPatternBuild;var hb=env._unlink;var ib=env._write;var jb=env._ftell;var kb=env._rand;var lb=env.__ZNSt9exceptionD2Ev;var mb=env.___cxa_does_inherit;var nb=env._strstr;var ob=env._FcPatternDestroy;var pb=env._qsort;var qb=env._closedir;var rb=env._FcPatternGetInteger;var sb=env._send;var tb=env._pow;var ub=env._atan2;var vb=env.___cxa_is_number_type;var wb=env._FcConfigSubstitute;var xb=env._fcntl;var yb=env.___cxa_find_matching_catch;var zb=env._opendir;var Ab=env._isalpha;var Bb=env._strtol;var Cb=env.___setErrNo;var Db=env.___resumeException;var Eb=env._srand;var Fb=env._strchr;var Gb=env._ceil;var Hb=env._putchar;var Ib=env.___buildEnvironment;var Jb=env._localeconv;var Kb=env._printf;var Lb=env._sprintf;var Mb=env._strtok_r;var Nb=env._stat;var Ob=env._FcPatternAddInteger;var Pb=env._getpwnam;var Qb=env._read;var Rb=env._fwrite;var Sb=env._FcPatternGetString;var Tb=env._time;var Ub=env._pthread_mutex_lock;var Vb=env._gettimeofday;var Wb=env._munmap;var Xb=env._mmap;var Yb=env._exit;var Zb=env._readdir_r;var _b=env._inflate;var $b=env._fmod;var ac=env._lseek;var bc=env._vfprintf;var cc=env.___cxa_allocate_exception;var dc=env._asin;var ec=env._atoi;var fc=env._pwrite;var gc=env._open;var hc=env._snprintf;var ic=env._FcFontSort;var jc=env._fseek;var kc=env._pthread_mutex_destroy;var lc=env._isxdigit;var mc=env._fclose;var nc=env.__parseInt;var oc=env._log;var pc=env._recv;var qc=env._fgetc;var rc=env.__getFloat;var sc=env._fputc;var tc=env._abort;var uc=env.___cxa_throw;var vc=env._strncmp;var wc=env._inflateInit2_;var xc=env._isspace;var yc=env._fopen;var zc=env._floor;var Ac=env._getgid;var Bc=env._sin;var Cc=env._acos;var Dc=env.___cxa_pure_virtual;var Ec=env._ungetc;var Fc=env._fflush;var Gc=env._fprintf;var Hc=env._sscanf;var Ic=env._strdup;var Jc=env.__exit;var Kc=env._strcspn;var Lc=env._log10;var Mc=env._pthread_mutex_unlock;var Nc=env._pread;var Oc=env._FcDefaultSubstitute;var Pc=env.___errno_location;var Qc=env._strcmp;var Rc=env._getpwuid;var Sc=env._copysign;var Tc=env._getenv;var Uc=env.__scanString;var Vc=env._FcFontSetDestroy;var Wc=env._inflateEnd;var Xc=env._strerror;var Yc=env._emscripten_longjmp;var Zc=env.__formatString;var _c=env._fputs;var $c=env._sqrt;var ad=env._pthread_mutex_init;var bd=env._strerror_r;var cd=0.0;
// EMSCRIPTEN_START_FUNCS
function Kd(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+7&-8;return b|0}function Ld(){return i|0}function Md(a){a=a|0;i=a}function Nd(a,b){a=a|0;b=b|0;if((s|0)==0){s=a;t=b}}function Od(b){b=b|0;a[k]=a[b];a[k+1|0]=a[b+1|0];a[k+2|0]=a[b+2|0];a[k+3|0]=a[b+3|0]}function Pd(b){b=b|0;a[k]=a[b];a[k+1|0]=a[b+1|0];a[k+2|0]=a[b+2|0];a[k+3|0]=a[b+3|0];a[k+4|0]=a[b+4|0];a[k+5|0]=a[b+5|0];a[k+6|0]=a[b+6|0];a[k+7|0]=a[b+7|0]}function Qd(a){a=a|0;H=a}function Rd(a){a=a|0;I=a}function Sd(a){a=a|0;J=a}function Td(a){a=a|0;K=a}function Ud(a){a=a|0;L=a}function Vd(a){a=a|0;M=a}function Wd(a){a=a|0;N=a}function Xd(a){a=a|0;O=a}function Yd(a){a=a|0;P=a}function Zd(a){a=a|0;Q=a}function _d(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0;e=i;j=i;i=i+24|0;g=j;v=i;i=i+8|0;u=v;r=i;i=i+8|0;q=r;t=i;i=i+8|0;s=t;l=i;i=i+8|0;f=i;i=i+512|0;m=i;i=i+8|0;n=m;o=i;i=i+8|0;c[l>>2]=b;b=ae(8,l,d)|0;if((a[608]&1)!=0){b=(a[616]&1)==0&b}w=+h[78];do{if(w!=0.0){if(!(+h[79]==150.0|+h[80]==150.0)){break}h[79]=w;h[80]=w}}while(0);do{if(b){b=c[l>>2]|0;if((b|0)>3){break}if((a[648]&1)!=0){break}if((a[656]&1)!=0){break}do{if((b|0)>1){q=FW(32)|0;fe(q,c[d+4>>2]|0);if((c[l>>2]|0)!=3){l=q;d=0;break}l=q;d=c[d+8>>2]|0}else{l=0;d=0}}while(0);q=FW(232)|0;Ue(q,0);c[834]=q;do{if((a[872]|0)!=0){if(Af(q,872)|0){break}Rb(888,38,1,c[p>>2]|0)|0}}while(0);do{if((a[928]|0)!=0){if(Bf(c[834]|0,928)|0){break}Rb(944,32,1,c[p>>2]|0)|0}}while(0);do{if((a[984]|0)!=0){if(Cf(c[834]|0,984)|0){break}Rb(1e3,38,1,c[p>>2]|0)|0}}while(0);if((a[1040]&1)!=0){Df(c[834]|0,1)}if((a[1048]|0)==0){q=0}else{q=FW(32)|0;fe(q,1048)}if((a[1088]|0)==0){r=0}else{r=FW(32)|0;fe(r,1088)}if((l|0)==0){l=FW(32)|0;fe(l,1128)}if((te(l,1136)|0)==0){if((l|0)!=0){ke(l);HW(l)}s=FW(32)|0;fe(s,1128)}else{s=l}eg(o,0);l=gg(o,s,q,r,0)|0;fg(o);if((s|0)!=0){ke(s);HW(s)}if((r|0)!=0){ke(r);HW(r)}if((q|0)!=0){ke(q);HW(q)}do{if((a[l+52|0]&1)==0){f=1}else{if((c[286]|0)<1){c[286]=1}o=c[288]|0;if((o|0)<1){k=50}else{if((o|0)>(_f(l)|0)){k=50}}if((k|0)==50){c[288]=_f(l)|0}a[m]=-1;a[n+1|0]=-1;a[n+2|0]=-1;m=FW(256)|0;if((a[608]&1)==0){o=(a[616]&1)!=0?1:2}else{o=0}Mg(m,o,4,0,n,1,1);Qg(m,c[l+28>>2]|0);n=c[290]|0;if((n|0)!=0){c[292]=n;c[294]=n}n=_f(l)|0;if(n>>>0>9){o=1;while(1){o=o+1|0;if(n>>>0>99){n=(n>>>0)/10|0}else{break}}}else{o=1}q=c[286]|0;a:do{if((q|0)<=(c[288]|0)){n=(d|0)==0;while(1){if((a[1184]&1)==0){k=61}else{if((q&1|0)!=0){k=61}}do{if((k|0)==61){k=0;if((a[1192]&1)!=0){if(((q|0)%2|0|0)==1){break}}b=(a[1200]&1)==0;k=($f(l,q)|0)==0;do{if(b){if(k){x=0.0}else{b=c[($f(l,q)|0)+36>>2]|0;x=+h[b+16>>3]- +h[b>>3]}if(($f(l,q)|0)==0){w=0.0;break}b=c[($f(l,q)|0)+36>>2]|0;w=+h[b+24>>3]- +h[b+8>>3]}else{if(k){x=0.0}else{b=c[($f(l,q)|0)+36>>2]|0;x=+h[b+48>>3]- +h[b+32>>3]}if(($f(l,q)|0)==0){w=0.0;break}b=c[($f(l,q)|0)+36>>2]|0;w=+h[b+56>>3]- +h[b+40>>3]}}while(0);k=c[302]|0;do{if((k|0)==0){k=c[304]|0;if((k|0)!=0){h[79]=+(k|0)*72.0/x}k=c[306]|0;if((k|0)==0){y=+h[80];break}else{y=+(k|0)*72.0/w;h[80]=y;break}}else{y=+(k|0)*72.0/(x>w?x:w);h[78]=y;h[80]=y;h[79]=y}}while(0);x=x*(+h[79]/72.0);y=w*(y/72.0);if(($f(l,q)|0)==0){k=81}else{if((c[(c[($f(l,q)|0)+36>>2]|0)+168>>2]|0)==90){k=83}else{k=81}}do{if((k|0)==81){k=0;if(($f(l,q)|0)==0){w=y;break}if((c[(c[($f(l,q)|0)+36>>2]|0)+168>>2]|0)==270){k=83}else{w=y}}}while(0);if((k|0)==83){k=0;w=x;x=y}if(n){$d(l,m,q,c[318]|0,c[320]|0,c[294]|0,c[292]|0,x,w,0);break}if((a[608]&1)==0){r=(a[616]&1)!=0?1256:1264}else{r=1248}c[j>>2]=480;c[g+4>>2]=d;c[g+8>>2]=o;c[g+12>>2]=q;c[g+16>>2]=r;hc(f|0,512,1232,g|0)|0;$d(l,m,q,c[318]|0,c[320]|0,c[294]|0,c[292]|0,x,w,f)}}while(0);if((q|0)>=(c[288]|0)){break a}q=q+1|0}}}while(0);if((m|0)==0){f=0;break}fd[c[(c[m>>2]|0)+4>>2]&511](m);f=0}}while(0);if((l|0)!=0){Zf(l);HW(l)}g=c[834]|0;if((g|0)==0){b=f;i=e;return b|0}af(g);HW(g);b=f;i=e;return b|0}}while(0);f=c[p>>2]|0;c[t>>2]=688;Gc(f|0,664,s|0)|0;c[r>>2]=704;Gc(f|0,696,q|0)|0;c[v>>2]=784;Gc(f|0,696,u|0)|0;f=a[648]|0;if((f&1)==0){be(824,840,8);f=a[648]|0}do{if((f&1)==0){if((a[656]&1)==0){f=99}else{break}i=e;return f|0}}while(0);b=0;i=e;return b|0}function $d(b,d,e,f,g,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=+l;m=+m;n=n|0;var o=0;o=i;if((j|0)==0){j=~~+ca(+l)}if((k|0)==0){k=~~+ca(+m)}if(+(j+f|0)>l){j=~~+ca(+(l- +(f|0)))}if(+(k+g|0)>m){k=~~+ca(+(m- +(g|0)))}ag(b,d,e,+h[79],+h[80],0,(a[1200]&1)==0,0,0,f,g,j,k,0,0,0,0);if((n|0)==0){fb(2624)|0;i=o;return}else{Me(c[d+180>>2]|0,n)|0;i=o;return}}function ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0.0;f=i;q=c[d>>2]|0;if((q|0)<=1){t=1;i=f;return t|0}j=c[p>>2]|0;g=1;k=1;a:while(1){n=e+(g<<2)|0;l=g+1|0;m=e+(l<<2)|0;b:while(1){r=c[n>>2]|0;if((Qc(r|0,2656)|0)==0){j=5;break a}s=c[b>>2]|0;if((s|0)==0){break}else{o=b}while(1){t=c[o+4>>2]|0;if((t|0)<4){if((Qc(s|0,r|0)|0)==0){break}}o=o+20|0;s=c[o>>2]|0;if((s|0)==0){break b}}if((o|0)==0){break}c:do{if((t|0)==3){if((l|0)>=(q|0)){r=1;o=0;break}t=o+8|0;r=o+12|0;hX(c[t>>2]|0,c[m>>2]|0,(c[r>>2]|0)+ -1|0)|0;a[(c[t>>2]|0)+((c[r>>2]|0)+ -1)|0]=0;r=2;o=1}else if((t|0)==1){if((l|0)>=(q|0)){r=1;o=0;break}q=c[m>>2]|0;t=a[q]|0;if(t<<24>>24==43|t<<24>>24==45){r=q+1|0}else{r=q}while(1){s=a[r]|0;if(((s<<24>>24)+ -48|0)>>>0>=10){break}r=r+1|0}if(s<<24>>24!=0){r=1;o=0;break}r=ec(q|0)|0;c[c[o+8>>2]>>2]=r;r=2;o=1}else if((t|0)==0){a[c[o+8>>2]|0]=1;r=1;o=1}else if((t|0)==2){if((l|0)>=(q|0)){r=1;o=0;break}q=c[m>>2]|0;t=a[q]|0;if(t<<24>>24==43|t<<24>>24==45){s=q+1|0;t=a[s]|0}else{s=q}if(((t<<24>>24)+ -48|0)>>>0<10){r=0;while(1){s=s+1|0;r=r+1|0;t=a[s]|0;if(((t<<24>>24)+ -48|0)>>>0<10){}else{break}}}else{r=0}t=t<<24>>24==46?s+1|0:s;s=a[t]|0;if(((s<<24>>24)+ -48|0)>>>0<10){while(1){t=t+1|0;r=r+1|0;s=a[t]|0;if(((s<<24>>24)+ -48|0)>>>0<10){}else{break}}}do{if((r|0)>0){if(!(s<<24>>24==69|s<<24>>24==101)){break}r=t+1|0;s=a[r]|0;if(s<<24>>24==43|s<<24>>24==45){r=t+2|0;s=a[r]|0}if(((s<<24>>24)+ -48|0)>>>0>=10){r=1;o=0;break c}while(1){r=r+1|0;s=a[r]|0;if(((s<<24>>24)+ -48|0)>>>0<10){}else{break}}}}while(0);if(s<<24>>24!=0){r=1;o=0;break}u=+Ie(q);h[c[o+8>>2]>>3]=u;r=2;o=1}else{Rb(2760,28,1,j|0)|0;r=1;o=1}}while(0);q=(c[d>>2]|0)-r|0;c[d>>2]=q;if((q|0)>(g|0)){s=g;while(1){c[e+(s<<2)>>2]=c[e+(s+r<<2)>>2];s=s+1|0;q=c[d>>2]|0;if((s|0)<(q|0)){}else{break}}}k=o&k;if((g|0)>=(q|0)){j=43;break a}}if((l|0)<(q|0)){g=l}else{j=43;break}}if((j|0)==5){t=q+ -1|0;c[d>>2]=t;if((g|0)>=(t|0)){t=k;i=f;return t|0}while(1){j=g+1|0;c[e+(g<<2)>>2]=c[e+(j<<2)>>2];if((j|0)<(c[d>>2]|0)){g=j}else{break}}i=f;return k|0}else if((j|0)==43){i=f;return k|0}return 0}function be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0;l=i;e=i;i=i+8|0;f=e;g=i;i=i+8|0;h=g;j=i;i=i+8|0;k=j;r=i;i=i+8|0;s=r;o=i;i=i+8|0;q=o;t=c[d>>2]|0;if((t|0)==0){n=9}else{m=d;n=0;do{t=ZW(t|0)|0;n=(t|0)>(n|0)?t:n;m=m+20|0;t=c[m>>2]|0;}while((t|0)!=0);n=n+9|0}m=c[p>>2]|0;c[o>>2]=a;Gc(m|0,2664,q|0)|0;if((b|0)!=0){c[r>>2]=b;Gc(m|0,2688,s|0)|0}sc(10,m|0)|0;o=c[d>>2]|0;if((o|0)==0){i=l;return}do{c[j>>2]=o;Gc(m|0,2696,k|0)|0;o=n-(ZW(c[d>>2]|0)|0)|0;switch(c[d+4>>2]|0){case 7:case 3:{q=2720;break};case 5:case 1:{q=2704;break};case 6:case 2:{q=2712;break};default:{q=2736}}c[g>>2]=o;c[h+4>>2]=q;Gc(m|0,2744,h|0)|0;o=c[d+16>>2]|0;if((o|0)!=0){c[e>>2]=o;Gc(m|0,2752,f|0)|0}sc(10,m|0)|0;d=d+20|0;o=c[d>>2]|0;}while((o|0)!=0);i=l;return}function ce(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;j=(b|0)!=0;do{if(j){if((d|0)==-1){k=ZW(b|0)|0;h=k;break}if((d|0)>-1){h=d;k=d;break}Ya(2792,2808,150,2824)}else{h=d;k=0}}while(0);d=(e|0)!=0;if(d){do{if((f|0)==-1){l=ZW(e|0)|0}else{if((f|0)>-1){l=f;break}Ya(2832,2808,158,2824)}}while(0);f=l;k=l+k|0}de(a,k);k=c[a+28>>2]|0;if(j){$W(k|0,b|0,h|0)|0;k=k+h|0}if(!d){i=g;return a|0}$W(k|0,e|0,f|0)|0;i=g;return a|0}function de(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=b+28|0;g=c[f>>2]|0;if((g|0)==0){h=7}else{j=b+24|0;k=c[j>>2]|0;if((k|0)<24){k=24}else{l=(k|0)<256?7:255;k=k+1+l&~l}if((d|0)<24){l=24}else{l=(d|0)<256?7:255;l=d+1+l&~l}if((k|0)!=(l|0)){h=7}}a:do{if((h|0)==7){do{if((d|0)<24){h=g;g=b}else{h=(d|0)<256?7:255;h=d+1+h&~h;if((g|0)==(b|0)){g=we(h)|0}else{g=xe(g,h)|0}h=c[f>>2]|0;if((h|0)==(b|0)|(g|0)==(b|0)){break}j=b+24|0;break a}}while(0);j=b+24|0;b=c[j>>2]|0;if((b|0)>(d|0)){$W(g|0,h|0,d|0)|0;break}else{$W(g|0,h|0,b|0)|0;break}}}while(0);c[f>>2]=g;c[j>>2]=d;a[g+d|0]=0;i=e;return}function ee(b){b=b|0;c[b+28>>2]=b;c[b+24>>2]=0;a[b]=0;i=i;return}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=a+28|0;c[e>>2]=0;c[a+24>>2]=0;if((b|0)==0){de(a,0);i=d;return}else{f=ZW(b|0)|0;de(a,f);$W(c[e>>2]|0,b|0,f|0)|0;i=d;return}}function ge(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=a+28|0;c[f>>2]=0;c[a+24>>2]=0;if((b|0)==0){de(a,0);i=e;return}do{if((d|0)==-1){g=ZW(b|0)|0;de(a,g)}else{if((d|0)>-1){de(a,d);g=d;break}else{Ya(2792,2808,150,2824)}}}while(0);$W(c[f>>2]|0,b|0,g|0)|0;i=e;return}function he(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;g=a+28|0;c[g>>2]=0;c[a+24>>2]=0;if((e+d|0)>(c[b+24>>2]|0)){Ya(2848,2808,196,2880)}b=(c[b+28>>2]|0)+d|0;if((b|0)==0){de(a,0);i=f;return}do{if((e|0)==-1){h=ZW(b|0)|0;de(a,h)}else{if((e|0)>-1){de(a,e);h=e;break}else{Ya(2792,2808,150,2824)}}}while(0);$W(c[g>>2]|0,b|0,h|0)|0;i=f;return}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;e=a+28|0;c[e>>2]=0;c[a+24>>2]=0;f=c[b+28>>2]|0;b=c[b+24>>2]|0;if((f|0)==0){de(a,0);i=d;return}do{if((b|0)==-1){g=ZW(f|0)|0;de(a,g)}else{if((b|0)>-1){de(a,b);g=b;break}else{Ya(2792,2808,150,2824)}}}while(0);$W(c[e>>2]|0,f|0,g|0)|0;i=d;return}function je(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0,F=0,G=0,H=0.0;q=i;g=i;i=i+72|0;r=g;l=i;i=i+8|0;f=l;j=i;i=i+8|0;p=j;n=b+24|0;o=b+28|0;m=r+64|0;u=0;v=8;w=ye(8,8)|0;a:while(1){while(1){t=a[d]|0;if(t<<24>>24==123){s=a[d+1|0]|0;t=s<<24>>24;if(s<<24>>24!=123){break}G=c[n>>2]|0;de(b,G+1|0);a[(c[o>>2]|0)+G|0]=123;d=d+2|0;continue}else if(t<<24>>24==0){t=226;break a}s=d+1|0;if(t<<24>>24==125){d=(a[s]|0)==125?d+2|0:s;G=c[n>>2]|0;de(b,G+1|0);a[(c[o>>2]|0)+G|0]=125;continue}while(1){G=a[s]|0;if(G<<24>>24==125|G<<24>>24==123|G<<24>>24==0){break}s=s+1|0}x=s-d|0;t=c[n>>2]|0;if((x|0)==-1){x=ZW(d|0)|0}de(b,x+t|0);$W((c[o>>2]|0)+t|0,d|0,x|0)|0;d=s}if((s+ -48<<24>>24&255)>=10){t=226;break}z=t+ -48|0;s=d+2|0;t=a[s]|0;if((t+ -48<<24>>24&255)<10){while(1){z=(z*10|0)+ -48+(t<<24>>24)|0;s=s+1|0;t=a[s]|0;if((t+ -48<<24>>24&255)<10){}else{break}}}if(t<<24>>24!=58){t=226;break}d=s+1|0;t=(a[d]|0)==45;d=t?s+2|0:d;A=a[d]|0;x=A<<24>>24==48;if((A+ -48<<24>>24&255)<10){y=0;do{y=(y*10|0)+ -48+(A<<24>>24)|0;d=d+1|0;A=a[d]|0;}while((A+ -48<<24>>24&255)<10);s=y;y=65-y|0}else{s=0;y=65}do{if(A<<24>>24==46){d=d+1|0;B=a[d]|0;if((B+ -48<<24>>24&255)<10){A=0}else{A=0;break}while(1){A=(A*10|0)+ -48+(B<<24>>24)|0;d=d+1|0;B=a[d]|0;if((B+ -48<<24>>24&255)<10){}else{break}}}else{A=0}}while(0);F=3016;B=0;while(1){E=ZW(F|0)|0;D=B+1|0;if((vc(d|0,F|0,E|0)|0)==0){break}if((D|0)==23){t=226;break a}else{F=c[2896+(D<<2)>>2]|0;B=D}}if((a[d+E|0]|0)!=125){t=226;break}d=d+(E+1)|0;if((z|0)>(u|0)){t=226;break}if((z|0)==(u|0)){if((u|0)==(v|0)){G=u<<1;v=G;w=Ce(w,G,8)|0}switch(B|0){case 22:case 3:case 2:case 1:case 0:{F=c[e>>2]|0;G=c[F>>2]|0;c[e>>2]=F+4;c[w+(u<<3)>>2]=G;break};case 7:case 6:case 5:case 4:{F=c[e>>2]|0;G=c[F>>2]|0;c[e>>2]=F+4;c[w+(u<<3)>>2]=G;break};case 11:case 10:case 9:case 8:{F=c[e>>2]|0;G=c[F>>2]|0;c[e>>2]=F+4;c[w+(u<<3)>>2]=G;break};case 15:case 14:case 13:case 12:{F=c[e>>2]|0;G=c[F>>2]|0;c[e>>2]=F+4;c[w+(u<<3)>>2]=G;break};case 17:case 18:case 16:{G=c[e>>2]|0;H=+h[G>>3];c[e>>2]=G+8;h[w+(u<<3)>>3]=H;break};case 19:{F=c[e>>2]|0;G=c[F>>2]|0;c[e>>2]=F+4;a[w+(u<<3)|0]=G;break};case 20:{F=c[e>>2]|0;G=c[F>>2]|0;c[e>>2]=F+4;c[w+(u<<3)>>2]=G;break};case 21:{F=c[e>>2]|0;G=c[F>>2]|0;c[e>>2]=F+4;c[w+(u<<3)>>2]=G;break};default:{}}u=u+1|0}C=+h[w+(z<<3)>>3];h[k>>3]=C;z=c[k>>2]|0;b:do{switch(B|0){case 1:{A=(z|0)<0;D=A?0-z|0:z;z=z>>>31;if((D|0)==0){a[m]=48;B=64}else{B=65;while(1){B=B+ -1|0;a[r+B|0]=a[2992+((D|0)%16|0)|0]|0;if((B|0)<=(z|0)|(D+15|0)>>>0<31){break}else{D=(D|0)/16|0}}}do{if(x){E=65-B|0;x=s-z|0;if(!((B|0)>(z|0)&(E|0)<(x|0))){break}D=z-B|0;F=y+z-B|0;y=D>>>0>F>>>0;G=B;do{G=G+ -1|0;a[r+G|0]=48;E=E+1|0;}while((G|0)>(z|0)&(E|0)<(x|0));B=(y?D:F)+B|0}}while(0);if(A){B=B+ -1|0;a[r+B|0]=45}z=r+B|0;c[j>>2]=z;A=65-B|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 2:{A=(z|0)<0;D=A?0-z|0:z;z=z>>>31;if((D|0)==0){a[m]=48;B=64}else{B=65;while(1){B=B+ -1|0;a[r+B|0]=a[2992+((D|0)%8|0)|0]|0;if((B|0)<=(z|0)|(D+7|0)>>>0<15){break}else{D=(D|0)/8|0}}}do{if(x){E=65-B|0;x=s-z|0;if(!((B|0)>(z|0)&(E|0)<(x|0))){break}D=z-B|0;y=y+z-B|0;F=D>>>0>y>>>0;G=B;do{G=G+ -1|0;a[r+G|0]=48;E=E+1|0;}while((G|0)>(z|0)&(E|0)<(x|0));B=(F?D:y)+B|0}}while(0);if(A){B=B+ -1|0;a[r+B|0]=45}z=r+B|0;c[j>>2]=z;A=65-B|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 5:{if((z|0)==0){a[m]=48;y=64}else{A=65;while(1){y=A+ -1|0;a[r+y|0]=a[2992+(z&15)|0]|0;z=z>>>4;if((A|0)<2|(z|0)==0){break}else{A=y}}}do{if(x){D=65-y|0;if(!((y|0)>0&(D|0)<(s|0))){break}x=0-y|0;z=D-s|0;A=z>>>0<x>>>0;B=y;do{B=B+ -1|0;a[r+B|0]=48;D=D+1|0;}while((B|0)>0&(D|0)<(s|0));y=(A?x:z)+y|0}}while(0);z=r+y|0;c[j>>2]=z;A=65-y|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 3:{A=(z|0)<0;D=A?0-z|0:z;z=z>>>31;if((D|0)==0){a[m]=48;B=64}else{B=65;while(1){B=B+ -1|0;a[r+B|0]=a[2992+((D|0)%2|0)|0]|0;if((B|0)<=(z|0)|(D+1|0)>>>0<3){break}else{D=(D|0)/2|0}}}do{if(x){E=65-B|0;D=s-z|0;if(!((B|0)>(z|0)&(E|0)<(D|0))){break}x=z-B|0;y=y+z-B|0;F=x>>>0>y>>>0;G=B;do{G=G+ -1|0;a[r+G|0]=48;E=E+1|0;}while((G|0)>(z|0)&(E|0)<(D|0));B=(F?x:y)+B|0}}while(0);if(A){B=B+ -1|0;a[r+B|0]=45}z=r+B|0;c[j>>2]=z;A=65-B|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 7:{if((z|0)==0){a[m]=48;y=64}else{A=65;while(1){y=A+ -1|0;a[r+y|0]=a[2992+(z&1)|0]|0;z=z>>>1;if((A|0)<2|(z|0)==0){break}else{A=y}}}do{if(x){D=65-y|0;if(!((y|0)>0&(D|0)<(s|0))){break}x=0-y|0;z=D-s|0;A=z>>>0<x>>>0;B=y;do{B=B+ -1|0;a[r+B|0]=48;D=D+1|0;}while((B|0)>0&(D|0)<(s|0));y=(A?x:z)+y|0}}while(0);z=r+y|0;c[j>>2]=z;A=65-y|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 4:{if((z|0)==0){a[m]=48;y=64}else{A=65;while(1){y=A+ -1|0;a[r+y|0]=a[2992+((z>>>0)%10|0)|0]|0;if((A|0)<2|z>>>0<10){break}else{A=y;z=(z>>>0)/10|0}}}do{if(x){D=65-y|0;if(!((y|0)>0&(D|0)<(s|0))){break}x=0-y|0;z=D-s|0;A=z>>>0<x>>>0;B=y;do{B=B+ -1|0;a[r+B|0]=48;D=D+1|0;}while((B|0)>0&(D|0)<(s|0));y=(A?x:z)+y|0}}while(0);z=r+y|0;c[j>>2]=z;A=65-y|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 0:{A=(z|0)<0;D=A?0-z|0:z;z=z>>>31;if((D|0)==0){a[m]=48;B=64}else{B=65;while(1){B=B+ -1|0;a[r+B|0]=a[2992+((D|0)%10|0)|0]|0;if((B|0)<=(z|0)|(D+9|0)>>>0<19){break}else{D=(D|0)/10|0}}}do{if(x){E=65-B|0;x=s-z|0;if(!((B|0)>(z|0)&(E|0)<(x|0))){break}D=z-B|0;F=y+z-B|0;G=D>>>0>F>>>0;y=B;do{y=y+ -1|0;a[r+y|0]=48;E=E+1|0;}while((y|0)>(z|0)&(E|0)<(x|0));B=(G?D:F)+B|0}}while(0);if(A){B=B+ -1|0;a[r+B|0]=45}z=r+B|0;c[j>>2]=z;A=65-B|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 6:{if((z|0)==0){a[m]=48;y=64}else{A=65;while(1){y=A+ -1|0;a[r+y|0]=a[2992+(z&7)|0]|0;z=z>>>3;if((A|0)<2|(z|0)==0){break}else{A=y}}}do{if(x){D=65-y|0;if(!((y|0)>0&(D|0)<(s|0))){break}B=0-y|0;A=D-s|0;z=A>>>0<B>>>0;x=y;do{x=x+ -1|0;a[r+x|0]=48;D=D+1|0;}while((x|0)>0&(D|0)<(s|0));y=(z?B:A)+y|0}}while(0);z=r+y|0;c[j>>2]=z;A=65-y|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 8:{A=(z|0)<0;D=A?0-z|0:z;z=z>>>31;if((D|0)==0){a[m]=48;B=64}else{B=65;while(1){B=B+ -1|0;a[r+B|0]=a[2992+((D|0)%10|0)|0]|0;if((B|0)<=(z|0)|(D+9|0)>>>0<19){break}else{D=(D|0)/10|0}}}do{if(x){E=65-B|0;x=s-z|0;if(!((B|0)>(z|0)&(E|0)<(x|0))){break}D=z-B|0;y=y+z-B|0;F=D>>>0>y>>>0;G=B;do{G=G+ -1|0;a[r+G|0]=48;E=E+1|0;}while((G|0)>(z|0)&(E|0)<(x|0));B=(F?D:y)+B|0}}while(0);if(A){B=B+ -1|0;a[r+B|0]=45}z=r+B|0;c[j>>2]=z;A=65-B|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 12:{if((z|0)==0){a[m]=48;y=64}else{A=65;while(1){y=A+ -1|0;a[r+y|0]=a[2992+((z>>>0)%10|0)|0]|0;if((A|0)<2|z>>>0<10){break}else{A=y;z=(z>>>0)/10|0}}}do{if(x){D=65-y|0;if(!((y|0)>0&(D|0)<(s|0))){break}A=0-y|0;z=D-s|0;x=z>>>0<A>>>0;B=y;do{B=B+ -1|0;a[r+B|0]=48;D=D+1|0;}while((B|0)>0&(D|0)<(s|0));y=(x?A:z)+y|0}}while(0);z=r+y|0;c[j>>2]=z;A=65-y|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 9:{A=(z|0)<0;D=A?0-z|0:z;z=z>>>31;if((D|0)==0){a[m]=48;B=64}else{B=65;while(1){B=B+ -1|0;a[r+B|0]=a[2992+((D|0)%16|0)|0]|0;if((B|0)<=(z|0)|(D+15|0)>>>0<31){break}else{D=(D|0)/16|0}}}do{if(x){G=65-B|0;D=s-z|0;if(!((B|0)>(z|0)&(G|0)<(D|0))){break}x=z-B|0;F=y+z-B|0;E=x>>>0>F>>>0;y=B;do{y=y+ -1|0;a[r+y|0]=48;G=G+1|0;}while((y|0)>(z|0)&(G|0)<(D|0));B=(E?x:F)+B|0}}while(0);if(A){B=B+ -1|0;a[r+B|0]=45}z=r+B|0;c[j>>2]=z;A=65-B|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 10:{A=(z|0)<0;D=A?0-z|0:z;z=z>>>31;if((D|0)==0){a[m]=48;B=64}else{B=65;while(1){B=B+ -1|0;a[r+B|0]=a[2992+((D|0)%8|0)|0]|0;if((B|0)<=(z|0)|(D+7|0)>>>0<15){break}else{D=(D|0)/8|0}}}do{if(x){G=65-B|0;x=s-z|0;if(!((B|0)>(z|0)&(G|0)<(x|0))){break}D=z-B|0;F=y+z-B|0;E=D>>>0>F>>>0;y=B;do{y=y+ -1|0;a[r+y|0]=48;G=G+1|0;}while((y|0)>(z|0)&(G|0)<(x|0));B=(E?D:F)+B|0}}while(0);if(A){B=B+ -1|0;a[r+B|0]=45}z=r+B|0;c[j>>2]=z;A=65-B|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 11:{A=(z|0)<0;D=A?0-z|0:z;z=z>>>31;if((D|0)==0){a[m]=48;B=64}else{B=65;while(1){B=B+ -1|0;a[r+B|0]=a[2992+((D|0)%2|0)|0]|0;if((B|0)<=(z|0)|(D+1|0)>>>0<3){break}else{D=(D|0)/2|0}}}do{if(x){G=65-B|0;x=s-z|0;if(!((B|0)>(z|0)&(G|0)<(x|0))){break}D=z-B|0;F=y+z-B|0;E=D>>>0>F>>>0;y=B;do{y=y+ -1|0;a[r+y|0]=48;G=G+1|0;}while((y|0)>(z|0)&(G|0)<(x|0));B=(E?D:F)+B|0}}while(0);if(A){B=B+ -1|0;a[r+B|0]=45}z=r+B|0;c[j>>2]=z;A=65-B|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 13:{if((z|0)==0){a[m]=48;y=64}else{A=65;while(1){y=A+ -1|0;a[r+y|0]=a[2992+(z&15)|0]|0;z=z>>>4;if((A|0)<2|(z|0)==0){break}else{A=y}}}do{if(x){D=65-y|0;if(!((y|0)>0&(D|0)<(s|0))){break}B=0-y|0;A=D-s|0;z=A>>>0<B>>>0;x=y;do{x=x+ -1|0;a[r+x|0]=48;D=D+1|0;}while((x|0)>0&(D|0)<(s|0));y=(z?B:A)+y|0}}while(0);z=r+y|0;c[j>>2]=z;A=65-y|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 15:{if((z|0)==0){a[m]=48;y=64}else{A=65;while(1){y=A+ -1|0;a[r+y|0]=a[2992+(z&1)|0]|0;z=z>>>1;if((A|0)<2|(z|0)==0){break}else{A=y}}}do{if(x){D=65-y|0;if(!((y|0)>0&(D|0)<(s|0))){break}B=0-y|0;A=D-s|0;z=A>>>0<B>>>0;x=y;do{x=x+ -1|0;a[r+x|0]=48;D=D+1|0;}while((x|0)>0&(D|0)<(s|0));y=(z?B:A)+y|0}}while(0);z=r+y|0;c[j>>2]=z;A=65-y|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 14:{if((z|0)==0){a[m]=48;y=64}else{A=65;while(1){y=A+ -1|0;a[r+y|0]=a[2992+(z&7)|0]|0;z=z>>>3;if((A|0)<2|(z|0)==0){break}else{A=y}}}do{if(x){D=65-y|0;if(!((y|0)>0&(D|0)<(s|0))){break}B=0-y|0;A=D-s|0;z=A>>>0<B>>>0;x=y;do{x=x+ -1|0;a[r+x|0]=48;D=D+1|0;}while((x|0)>0&(D|0)<(s|0));y=(z?B:A)+y|0}}while(0);z=r+y|0;c[j>>2]=z;A=65-y|0;c[l>>2]=A;if(t){t=215}else{t=207}break};case 16:{qe(C,r,65,A,0,p,f);if(t){t=213}else{t=207}break};case 18:{qe(C,r,65,A,1,p,f);if(t){t=213}else{t=207}break};case 17:{H=+S(+C);if(H>=.1){qe(C,r,65,A,1,p,f);if(t){t=213;break b}else{t=207;break b}}if(H<.1&(A|0)<16){while(1){H=H*10.0;A=A+1|0;if(H<.1&(A|0)<16){}else{break}}}qe(C,r,65,A,1,p,f);if(t){t=213}else{t=207}break};case 19:{a[g]=z;c[j>>2]=r;c[l>>2]=1;if(t){t=207}else{A=1;t=214}break};case 20:{c[j>>2]=z;A=ZW(z|0)|0;c[l>>2]=A;if(t){t=207}else{t=215}break};case 21:{x=c[z+28>>2]|0;c[j>>2]=x;A=c[z+24>>2]|0;c[l>>2]=A;if(t){t=207}else{z=x;t=215}break};case 22:{c[j>>2]=r;c[l>>2]=0;if(t){A=0;s=z;t=214}else{s=z;t=207}break};default:{if(t){t=213}else{t=207}}}}while(0);if((t|0)==207){x=c[l>>2]|0;if((x|0)<(s|0)){do{G=c[n>>2]|0;de(b,G+1|0);a[(c[o>>2]|0)+G|0]=32;x=x+1|0;}while((x|0)<(s|0));x=c[l>>2]|0}s=c[j>>2]|0;t=c[n>>2]|0;if((x|0)==-1){x=ZW(s|0)|0}de(b,x+t|0);$W((c[o>>2]|0)+t|0,s|0,x|0)|0;continue}else if((t|0)==213){z=c[j>>2]|0;A=c[l>>2]|0;t=215}else if((t|0)==214){t=0;y=c[n>>2]|0;x=r}do{if((t|0)==215){y=c[n>>2]|0;if((A|0)!=-1){x=z;break}x=z;A=ZW(z|0)|0}}while(0);de(b,A+y|0);$W((c[o>>2]|0)+y|0,x|0,A|0)|0;t=c[l>>2]|0;if((t|0)>=(s|0)){continue}while(1){G=c[n>>2]|0;de(b,G+1|0);a[(c[o>>2]|0)+G|0]=32;t=t+1|0;if((t|0)<(s|0)){}else{continue a}}}if((t|0)==226){Fe(w);i=q;return b|0}return 0}function ke(a){a=a|0;var b=0,d=0;b=i;d=c[a+28>>2]|0;if((d|0)==(a|0)){i=b;return}Fe(d);i=b;return}function le(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=b+28|0;f=c[e>>2]|0;h=b+24|0;g=c[h>>2]|0;do{if((f|0)==0){h=b+24|0;if((g|0)>0){f=b;break}$W(b|0,f|0,g|0)|0;f=b}else{if((g|0)<24){break}j=(g|0)<256?7:255;if((g+1+j&~j|0)==24){break}h=b+24|0;f=b}}while(0);c[e>>2]=f;c[h>>2]=0;a[f]=0;i=d;return b|0}function me(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;f=c[b+24>>2]|0;de(b,f+1|0);a[(c[b+28>>2]|0)+f|0]=d;i=e;return b|0}function ne(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;f=c[a+24>>2]|0;if((d|0)==-1){d=ZW(b|0)|0}de(a,f+d|0);$W((c[a+28>>2]|0)+f|0,b|0,d|0)|0;i=e;return a|0}function oe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=c[b+28>>2]|0;f=c[b+24>>2]|0;b=c[a+24>>2]|0;if((f|0)==-1){f=ZW(e|0)|0}de(a,f+b|0);$W((c[a+28>>2]|0)+b|0,e|0,f|0)|0;i=d;return a|0}function pe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;f=i;i=i+16|0;c[f>>2]=d;je(a,b,f)|0;i=e;return a|0}function qe(b,d,e,f,g,h,j){b=+b;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0.0,p=0;k=i;l=b<0.0;if(l){b=-0.0-b}b=+R(+(b*+U(10.0,+(+(f|0)))+.5));g=g^1;p=(e|0)>1;if((f|0)>0&p){o=b;n=e;m=0;while(1){b=+R(+((o+.5)*.1));p=~~+R(+(o-b*10.0+.5));if(!((p|0)==0&(g^1))){n=n+ -1|0;a[d+n|0]=p+48;g=1}m=m+1|0;p=(n|0)>1;if((m|0)<(f|0)&p){o=b}else{break}}}else{n=e}if(p&g){n=n+ -1|0;a[d+n|0]=46}if((n|0)>1){while(1){o=+R(+((b+.5)*.1));n=n+ -1|0;a[d+n|0]=~~+R(+(b-o*10.0+.5))+48;if((n|0)>1&o!=0.0){b=o}else{break}}}if(!l){m=d+n|0;p=h;c[p>>2]=m;n=e-n|0;p=j;c[p>>2]=n;i=k;return}n=n+ -1|0;a[d+n|0]=45;m=d+n|0;p=h;c[p>>2]=m;n=e-n|0;p=j;c[p>>2]=n;i=k;return}function re(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;if((e|0)<=0){i=f;return b|0}g=b+24|0;h=c[g>>2]|0;e=(e+d|0)>(h|0)?h-d|0:e;j=h-e|0;if((j|0)>=(d|0)){h=b+28|0;while(1){j=c[h>>2]|0;a[j+d|0]=a[j+(d+e)|0]|0;j=(c[g>>2]|0)-e|0;if((d|0)<(j|0)){d=d+1|0}else{break}}}de(b,j);i=f;return b|0}function se(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;g=i;e=c[b+24>>2]|0;f=c[d+24>>2]|0;a:do{if((e|0)>0&(f|0)>0){h=0;b=c[b+28>>2]|0;d=c[d+28>>2]|0;while(1){j=a[b]|0;k=a[d]|0;if(j<<24>>24!=k<<24>>24){break}h=h+1|0;if((h|0)<(e|0)&(h|0)<(f|0)){b=b+1|0;d=d+1|0}else{break a}}k=(j<<24>>24)-(k<<24>>24)|0;i=g;return k|0}}while(0);k=e-f|0;i=g;return k|0}function te(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;g=c[b+24>>2]|0;j=a[d]|0;h=j<<24>>24==0;a:do{if((g|0)>0){k=0;b=c[b+28>>2]|0;while(1){if(h){g=1;f=8;break}h=a[b]|0;if(h<<24>>24!=j<<24>>24){break}k=k+1|0;d=d+1|0;j=a[d]|0;h=j<<24>>24==0;if((k|0)<(g|0)){b=b+1|0}else{break a}}if((f|0)==8){i=e;return g|0}d=(h<<24>>24)-(j<<24>>24)|0;i=e;return d|0}}while(0);d=(h^1)<<31>>31;i=e;return d|0}function ue(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;h=c[b+24>>2]|0;a:do{if((h|0)>0){g=0;b=c[b+28>>2]|0;while(1){k=a[d]|0;if(!(k<<24>>24!=0&(g|0)<(e|0))){h=4;break}j=a[b]|0;if(j<<24>>24!=k<<24>>24){h=6;break}g=g+1|0;d=d+1|0;if((g|0)<(h|0)){b=b+1|0}else{break a}}if((h|0)==4){k=(g|0)!=(e|0)|0;i=f;return k|0}else if((h|0)==6){k=(j<<24>>24)-(k<<24>>24)|0;i=f;return k|0}}else{g=0}}while(0);e=(g|0)==(e|0);if(e){k=e&1^1;i=f;return k|0}k=((a[d]|0)!=0)<<31>>31;i=f;return k|0}function ve(b){b=b|0;var d=0;d=i;b=c[b+28>>2]|0;if((a[b]|0)!=-2){b=0;i=d;return b|0}b=(a[b+1|0]|0)==-1;i=d;return b|0}function we(a){a=a|0;var b=0;b=i;if((a|0)==0){a=0;i=b;return a|0}a=AW(a)|0;if((a|0)==0){Rb(3232,14,1,c[p>>2]|0)|0;Yb(1)}else{i=b;return a|0}return 0}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;f=(a|0)!=0;do{if((b|0)==0){if(!f){e=0;break}BW(a);e=0}else{if(f){a=CW(a,b)|0}else{a=AW(b)|0}if((a|0)!=0){e=a;break}Rb(3232,14,1,c[p>>2]|0)|0;Yb(1)}}while(0);i=d;return e|0}function ye(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;if((a|0)==0){e=0;i=d;return e|0}e=da(b,a)|0;do{if(!((b|0)<1|(a|0)<0)){if((2147483647/(b|0)|0|0)<=(a|0)){break}if((e|0)==0){e=0;i=d;return e|0}b=AW(e)|0;if((b|0)==0){Rb(3232,14,1,c[p>>2]|0)|0;Yb(1)}else{e=b;i=d;return e|0}}}while(0);Rb(3200,29,1,c[p>>2]|0)|0;Yb(1);return 0}function ze(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;a:do{if((a|0)==0){b=0}else{e=da(b,a)|0;do{if(!((b|0)<1|(a|0)<0)){if((2147483647/(b|0)|0|0)<=(a|0)){break}if((e|0)==0){b=0;break a}b=AW(e)|0;if((b|0)!=0){break a}Rb(3232,14,1,c[p>>2]|0)|0;b=0;break a}}while(0);Rb(3200,29,1,c[p>>2]|0)|0;b=0}}while(0);i=d;return b|0}function Ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;a=Be(a,b,c,0)|0;i=d;return a|0}function Be(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;g=da(b,a)|0;do{if(!((b|0)<1|(a|0)<0)){if((2147483647/(b|0)|0|0)<=(a|0)){break}if((g|0)==0){a=0;i=f;return a|0}b=da(g,d)|0;do{if(!((d|0)<1|(g|0)<0)){if((2147483647/(d|0)|0|0)<=(g|0)){break}if((b|0)==0){a=0;i=f;return a|0}g=AW(b)|0;if((g|0)!=0){a=g;i=f;return a|0}Rb(3232,14,1,c[p>>2]|0)|0;if(e){a=0;i=f;return a|0}else{Yb(1)}}}while(0);Rb(3200,29,1,c[p>>2]|0)|0;if(e){a=0;i=f;return a|0}else{Yb(1)}}}while(0);Rb(3200,29,1,c[p>>2]|0)|0;if(e){a=0;i=f;return a|0}else{Yb(1)}return 0}function Ce(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;a=De(a,b,c,0)|0;i=d;return a|0}function De(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;a:do{if((b|0)==0){if((a|0)==0){g=0;break}BW(a);g=0}else{g=da(d,b)|0;do{if(!((d|0)<1|(b|0)<0)){if((2147483647/(d|0)|0|0)<=(b|0)){break}d=(a|0)!=0;if((g|0)==0){if(!d){g=0;break a}BW(a);g=0;break a}if(d){g=CW(a,g)|0}else{g=AW(g)|0}if((g|0)!=0){break a}Rb(3232,14,1,c[p>>2]|0)|0;if(e){g=0;break a}Yb(1)}}while(0);Rb(3200,29,1,c[p>>2]|0)|0;if(!e){Yb(1)}if((a|0)==0){g=0;break}BW(a);g=0}}while(0);i=f;return g|0}function Ee(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;a=De(a,b,c,1)|0;i=d;return a|0}function Fe(a){a=a|0;var b=0;b=i;if((a|0)!=0){BW(a)}i=b;return}function Ge(a){a=a|0;var b=0,d=0,e=0;b=i;e=(ZW(a|0)|0)+1|0;do{if((e|0)==0){d=0}else{e=AW(e)|0;if((e|0)!=0){d=e;break}Rb(3232,14,1,c[p>>2]|0)|0;Yb(1)}}while(0);eX(d|0,a|0)|0;i=b;return d|0}function He(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=d+1|0;do{if((g|0)==0){f=0}else{g=AW(g)|0;if((g|0)!=0){f=g;break}Rb(3232,14,1,c[p>>2]|0)|0;Yb(1)}}while(0);a[f+d|0]=0;$W(f|0,b|0,d|0)|0;i=e;return f|0}function Ie(a){a=a|0;var b=0.0,c=0;c=i;b=+Je(a,0);i=c;return+b}function Je(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0;f=i;g=i;i=i+8|0;j=g;c[g>>2]=0;k=c[(Jb()|0)>>2]|0;h=ZW(k|0)|0;if((a[k]|0)==46){if((a[k+1|0]|0)==0){e=27}else{l=b;e=3}}else{l=b;e=3}do{if((e|0)==3){a:while(1){e=0;n=a[l]|0;switch(n<<24>>24){case 11:case 9:case 13:case 10:case 12:case 32:{break};case 45:case 43:{e=5;break a};default:{break a}}l=l+1|0;e=3}if((e|0)==5){l=l+1|0;n=a[l]|0}if(!((n+ -48<<24>>24&255)<10|n<<24>>24==46)){e=27;break}while(1){m=l+1|0;if((n+ -48<<24>>24&255)>=10){break}n=a[m]|0;l=m}o=n<<24>>24==46;n=o?m:l;while(1){p=a[n]|0;m=n+1|0;if((p+ -48<<24>>24&255)<10){n=m}else{break}}l=o?l:0;if(p<<24>>24==69|p<<24>>24==101){p=a[m]|0}else{m=n}if(p<<24>>24==45|p<<24>>24==43){o=m+1|0}else{o=m}while(1){if(((a[o]|0)+ -48<<24>>24&255)>=10){break}o=o+1|0}if((l|0)==0){if((o|0)==0){e=27;break}k=o-b|0;h=AW(k+1|0)|0;$W(h|0,b|0,k|0)|0;a[h+k|0]=0;k=Pc()|0;c[k>>2]=0;q=+UW(h,j);j=c[k>>2]|0;k=c[g>>2]|0;if((k|0)!=0){c[g>>2]=b+(k-h)}BW(h);break}n=AW(1-b+h+o|0)|0;m=l-b|0;$W(n|0,b|0,m|0)|0;$W(n+m|0,k|0,h|0)|0;k=m+h|0;l=l+1|0;p=o-l|0;$W(n+k|0,l|0,p|0)|0;a[n+(p+k)|0]=0;k=Pc()|0;c[k>>2]=0;q=+UW(n,j);j=c[k>>2]|0;k=c[g>>2]|0;do{if((k|0)!=0){k=k-n|0;if((k|0)>(m|0)){c[g>>2]=b+(1-h+k);break}else{c[g>>2]=b+k;break}}}while(0);BW(n)}}while(0);if((e|0)==27){p=Pc()|0;c[p>>2]=0;q=+UW(b,j);j=c[p>>2]|0}if((d|0)==0){p=Pc()|0;c[p>>2]=j;i=f;return+q}c[d>>2]=c[g>>2];p=Pc()|0;c[p>>2]=j;i=f;return+q}function Ke(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;j=i;c[a>>2]=b;k=a+4|0;c[k>>2]=d;c[a+16>>2]=f;c[a+8>>2]=e;a:do{switch(f|0){case 4:{if((b+ -1|0)>>>0<536870911){b=b<<2;c[a+12>>2]=b;f=16;break a}else{c[a+12>>2]=-1;f=15;break a}break};case 0:{if((b|0)>0){b=b+7>>3;c[a+12>>2]=b;f=16;break a}else{c[a+12>>2]=-1;f=15;break a}break};case 3:case 2:{if((b+ -1|0)>>>0<715827882){b=b*3|0;c[a+12>>2]=b;f=16;break a}else{c[a+12>>2]=-1;f=15;break a}break};case 1:{f=a+12|0;if((b|0)>0){c[f>>2]=b;f=16;break a}else{c[f>>2]=-1;f=15;break a}break};default:{b=c[a+12>>2]|0;f=16}}}while(0);do{if((f|0)==15){e=a+12|0;b=-1}else if((f|0)==16){f=a+12|0;if((b|0)<=0){e=f;break}b=b+ -1+e|0;b=b-((b|0)%(e|0)|0)|0;c[f>>2]=b;e=f}}while(0);f=ye(b,d)|0;d=a+20|0;c[d>>2]=f;if(!h){b=c[e>>2]|0;c[d>>2]=f+(da((c[k>>2]|0)+ -1|0,b)|0);c[e>>2]=0-b}if(g){c[a+24>>2]=ye(c[a>>2]|0,c[k>>2]|0)|0;i=j;return}else{c[a+24>>2]=0;i=j;return}}function Le(a){a=a|0;var b=0,d=0,e=0;b=i;d=c[a+12>>2]|0;e=c[a+20>>2]|0;if((d|0)<0){Fe(e+(da((c[a+4>>2]|0)+ -1|0,d)|0)|0)}else{Fe(e)}Fe(c[a+24>>2]|0);i=b;return}function Me(a,b){a=a|0;b=b|0;var c=0;c=i;b=yc(b|0,3248)|0;if((b|0)==0){b=5;i=c;return b|0}Ne(a,b)|0;mc(b|0)|0;b=0;i=c;return b|0}function Ne(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;p=i;i=i+8|0;n=p;j=i;i=i+8|0;k=j;q=i;i=i+8|0;h=q;l=i;i=i+8|0;m=l;g=i;i=i+8|0;o=g;switch(c[a+16>>2]|0){case 1:{f=a+4|0;k=c[f>>2]|0;c[l>>2]=c[a>>2];c[m+4>>2]=k;Gc(b|0,3272,m|0)|0;k=c[f>>2]|0;if((k|0)<=0){i=e;return 0}g=a+12|0;l=c[a>>2]|0;h=c[a+20>>2]|0;j=0;while(1){if((l|0)>0){k=h;m=0;while(1){sc(d[k]|0|0,b|0)|0;m=m+1|0;l=c[a>>2]|0;if((m|0)<(l|0)){k=k+1|0}else{break}}k=c[f>>2]|0}j=j+1|0;if((j|0)<(k|0)){h=h+(c[g>>2]|0)|0}else{break}}i=e;return 0};case 3:{f=a+4|0;k=c[f>>2]|0;c[p>>2]=c[a>>2];c[n+4>>2]=k;Gc(b|0,3288,n|0)|0;k=c[f>>2]|0;if((k|0)<=0){i=e;return 0}g=a+12|0;l=c[a>>2]|0;h=c[a+20>>2]|0;j=0;while(1){if((l|0)>0){k=h;m=0;while(1){sc(d[k+2|0]|0|0,b|0)|0;sc(d[k+1|0]|0|0,b|0)|0;sc(d[k]|0|0,b|0)|0;m=m+1|0;l=c[a>>2]|0;if((m|0)<(l|0)){k=k+3|0}else{break}}k=c[f>>2]|0}j=j+1|0;if((j|0)<(k|0)){h=h+(c[g>>2]|0)|0}else{break}}i=e;return 0};case 0:{f=a+4|0;k=c[f>>2]|0;c[g>>2]=c[a>>2];c[o+4>>2]=k;Gc(b|0,3256,o|0)|0;k=c[f>>2]|0;if((k|0)<=0){i=e;return 0}g=a+12|0;l=c[a>>2]|0;h=c[a+20>>2]|0;j=0;while(1){if((l|0)>0){k=h;m=0;while(1){sc((d[k]|0)^255|0,b|0)|0;m=m+8|0;l=c[a>>2]|0;if((m|0)<(l|0)){k=k+1|0}else{break}}k=c[f>>2]|0}j=j+1|0;if((j|0)<(k|0)){h=h+(c[g>>2]|0)|0}else{break}}i=e;return 0};case 4:{f=a+4|0;q=c[f>>2]|0;c[j>>2]=c[a>>2];c[k+4>>2]=q;Gc(b|0,3288,k|0)|0;k=c[f>>2]|0;if((k|0)<=0){i=e;return 0}g=a+12|0;l=c[a>>2]|0;h=c[a+20>>2]|0;j=0;while(1){if((l|0)>0){k=h;m=0;while(1){sc(d[k+2|0]|0|0,b|0)|0;sc(d[k+1|0]|0|0,b|0)|0;sc(d[k]|0|0,b|0)|0;m=m+1|0;l=c[a>>2]|0;if((m|0)<(l|0)){k=k+4|0}else{break}}k=c[f>>2]|0}j=j+1|0;if((j|0)<(k|0)){h=h+(c[g>>2]|0)|0}else{break}}i=e;return 0};case 2:{f=a+4|0;k=c[f>>2]|0;c[q>>2]=c[a>>2];c[h+4>>2]=k;Gc(b|0,3288,h|0)|0;k=c[f>>2]|0;if((k|0)<=0){i=e;return 0}g=a+12|0;l=c[a>>2]|0;h=c[a+20>>2]|0;j=0;while(1){if((l|0)>0){k=h;m=0;while(1){sc(d[k]|0|0,b|0)|0;sc(d[k+1|0]|0|0,b|0)|0;sc(d[k+2|0]|0|0,b|0)|0;m=m+1|0;l=c[a>>2]|0;if((m|0)<(l|0)){k=k+3|0}else{break}}k=c[f>>2]|0}j=j+1|0;if((j|0)<(k|0)){h=h+(c[g>>2]|0)|0}else{break}}i=e;return 0};default:{i=e;return 0}}return 0}function Oe(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;if((f|0)<0){i=h;return}if((c[b+4>>2]|0)<=(f|0)|(e|0)<0){i=h;return}if((c[b>>2]|0)<=(e|0)){i=h;return}switch(c[b+16>>2]|0){case 1:{a[g]=a[(da(c[b+12>>2]|0,f)|0)+e+(c[b+20>>2]|0)|0]|0;i=h;return};case 2:{e=(da(c[b+12>>2]|0,f)|0)+(e*3|0)|0;f=c[b+20>>2]|0;a[g]=a[f+e|0]|0;a[g+1|0]=a[f+(e+1)|0]|0;a[g+2|0]=a[f+(e+2)|0]|0;i=h;return};case 4:{e=(da(c[b+12>>2]|0,f)|0)+(e<<2)|0;f=c[b+20>>2]|0;a[g]=a[f+(e+2)|0]|0;a[g+1|0]=a[f+(e+1)|0]|0;a[g+2|0]=a[f+e|0]|0;a[g+3|0]=a[f+(e+3)|0]|0;i=h;return};case 3:{e=(da(c[b+12>>2]|0,f)|0)+(e*3|0)|0;f=c[b+20>>2]|0;a[g]=a[f+(e+2)|0]|0;a[g+1|0]=a[f+(e+1)|0]|0;a[g+2|0]=a[f+e|0]|0;i=h;return};case 0:{a[g]=(((d[(da(c[b+12>>2]|0,f)|0)+(e>>3)+(c[b+20>>2]|0)|0]|0)&128>>>(e&7)|0)!=0)<<31>>31;i=h;return};default:{i=h;return}}}function Pe(b,d,e){b=b|0;d=d|0;e=e|0;e=(da(c[b>>2]|0,e)|0)+d|0;i=i;return a[(c[b+24>>2]|0)+e|0]|0}function Qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;e=i;i=i+16|0;f=e;h=c[834]|0;do{if((h|0)!=0){if(!(wf(h)|0)){break}i=g;return}}while(0);c[e>>2]=d;Gd[c[826]&255](a,b,f);i=g;return}function Re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=i;i=i+8|0;f=c[p>>2]|0;if((a|0)>-1){c[g>>2]=a;Gc(f|0,3312,g|0)|0}else{Rb(3328,7,1,f|0)|0}bc(f|0,b|0,d|0)|0;sc(10,f|0)|0;Fc(f|0)|0;i=e;return}function Se(a){a=a|0;var b=0;b=i;Te(a);HW(a);i=b;return}function Te(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=3352;d=c[a+4>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+8>>2]|0;if((d|0)==0){a=c[a+12>>2]|0;if((a|0)==0){i=b;return}ke(a);HW(a);i=b;return}else if((d|0)==1){a=c[a+12>>2]|0;if((a|0)==0){i=b;return}ke(a);HW(a);i=b;return}else{i=b;return}}function Ue(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0;e=i;c[b+224>>2]=d;ad(b+152|0,0)|0;ad(b+176|0,0)|0;ad(b+200|0,0)|0;wt();d=FW(12)|0;Ef(d);c[b>>2]=d;d=255;while(1){f=c[134928+(d<<2)>>2]|0;if((f|0)!=0){Gf(c[b>>2]|0,f,d)}if((d|0)>0){d=d+ -1|0}else{break}}c[b+4>>2]=Co(Bo()|0,3360)|0;j=FW(12)|0;Ef(j);f=b+8|0;c[f>>2]=j;j=FW(16)|0;jo(j,1);c[b+12>>2]=j;j=FW(16)|0;jo(j,1);c[b+16>>2]=j;j=FW(16)|0;jo(j,0);d=b+20|0;c[d>>2]=j;j=FW(16)|0;jo(j,1);c[b+24>>2]=j;j=FW(16)|0;jo(j,1);c[b+28>>2]=j;j=FW(16)|0;wo(j);c[b+32>>2]=j;j=FW(16)|0;jo(j,0);c[b+36>>2]=j;a[b+40|0]=0;a[b+41|0]=1;a[b+42|0]=1;c[b+44>>2]=2;j=FW(16)|0;jo(j,0);c[b+48>>2]=j;j=FW(16)|0;wo(j);c[b+52>>2]=j;j=FW(16)|0;wo(j);c[b+56>>2]=j;bX(b+60|0,1,5)|0;a[b+65|0]=0;a[b+66|0]=0;a[b+67|0]=0;j=FW(32)|0;fe(j,3368);c[b+68>>2]=j;c[b+72>>2]=0;a[b+76|0]=1;a[b+77|0]=0;j=FW(16)|0;wo(j);c[b+80>>2]=j;j=b+84|0;a[j]=16843009;a[j+1|0]=65793;a[j+2|0]=257;a[j+3|0]=1;c[b+88>>2]=0;c[b+92>>2]=-1;c[b+96>>2]=-1;h[b+104>>3]=1.0;h[b+112>>3]=0.0;h[b+120>>3]=1.0;a[b+128|0]=1;j=b+129|0;a[j]=0;a[j+1|0]=0;a[j+2|0]=0;a[j+3|0]=0;j=FW(8)|0;yu(j,4);c[b+136>>2]=j;j=FW(8)|0;yu(j,4);c[b+140>>2]=j;j=FW(16)|0;Xm(j);c[b+144>>2]=j;j=FW(16)|0;Lt(j);c[b+148>>2]=j;j=18144;g=0;do{Gf(c[f>>2]|0,j,c[3376+(g<<3)>>2]|0);g=g+1|0;j=c[3380+(g<<3)>>2]|0;}while((j|0)!=0);j=FW(56)|0;Tm(j,12048,0,12056,58);lo(c[d>>2]|0,c[j>>2]|0,j);j=FW(56)|0;Tm(j,12984,0,12992,129);lo(c[d>>2]|0,c[j>>2]|0,j);j=FW(56)|0;Tm(j,15056,0,15064,121);lo(c[d>>2]|0,c[j>>2]|0,j);j=FW(56)|0;Tm(j,17e3,0,17016,30);lo(c[d>>2]|0,c[j>>2]|0,j);j=FW(56)|0;Um(j,3368,1,72);lo(c[d>>2]|0,c[j>>2]|0,j);j=FW(56)|0;Um(j,17496,1,73);lo(c[d>>2]|0,c[j>>2]|0,j);Xe(b);i=e;return}function Ve(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=i;if(b>>>0<128){if((d|0)<1){d=0;i=e;return d|0}a[c]=b;d=1;i=e;return d|0}if(b>>>0<2048){if((d|0)<2){d=0;i=e;return d|0}a[c]=(b>>>6)+192;a[c+1|0]=b&63|128;d=2;i=e;return d|0}if(b>>>0<65536){if((d|0)<3){d=0;i=e;return d|0}a[c]=(b>>>12)+224;a[c+1|0]=b>>>6&63|128;a[c+2|0]=b&63|128;d=3;i=e;return d|0}else{if(b>>>0>1114111|(d|0)<4){d=0;i=e;return d|0}a[c]=(b>>>18)+240;a[c+1|0]=b>>>12&63|128;a[c+2|0]=b>>>6&63|128;a[c+3|0]=b&63|128;d=4;i=e;return d|0}return 0}function We(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;e=i;if(b>>>0<65536){if((d|0)<2){d=0;i=e;return d|0}a[c]=b>>>8;a[c+1|0]=b;d=2;i=e;return d|0}else{if(b>>>0>1114111|(d|0)<4){d=0;i=e;return d|0}d=((b+ -65536|0)>>>10)+55296|0;a[c]=d>>>8;a[c+1|0]=d;a[c+2|0]=b>>>8&3|220;a[c+3|0]=b;d=4;i=e;return d|0}return 0}function Xe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;g=i;i=i+8|0;f=g;l=i;i=i+8|0;k=l;m=i;i=i+8|0;n=m;o=i;i=i+8|0;e=c[b+224>>2]|0;j=(e|0)==0?17504:e;h=(ZW(j|0)|0)+15|0;e=GW(h)|0;c[o>>2]=j;hc(e|0,h|0,17536,o|0)|0;o=FW(12)|0;Go(o,e,1);p=Io(o)|0;if((p|0)!=0){do{if((a[p+8|0]&1)==0){Ye(b,c[p+4>>2]|0)}Fo(p);HW(p);p=Io(o)|0;}while((p|0)!=0)}if((o|0)!=0){Ho(o);HW(o)}c[m>>2]=j;hc(e|0,h|0,17560,n|0)|0;m=FW(12)|0;Go(m,e,0);n=Io(m)|0;if((n|0)!=0){do{Ze(b,c[n>>2]|0,c[n+4>>2]|0);Fo(n);HW(n);n=Io(m)|0;}while((n|0)!=0)}if((m|0)!=0){Ho(m);HW(m)}c[l>>2]=j;hc(e|0,h|0,17576,k|0)|0;k=FW(12)|0;Go(k,e,0);l=Io(k)|0;if((l|0)!=0){do{_e(b,c[l>>2]|0,c[l+4>>2]|0);Fo(l);HW(l);l=Io(k)|0;}while((l|0)!=0)}if((k|0)!=0){Ho(k);HW(k)}c[g>>2]=j;hc(e|0,h|0,17592,f|0)|0;f=FW(12)|0;Go(f,e,0);h=Io(f)|0;if((h|0)!=0){g=b+32|0;do{n=h+4|0;$e(b,c[h>>2]|0,c[n>>2]|0);o=c[g>>2]|0;n=c[n>>2]|0;p=FW(32)|0;ie(p,n);yo(o,p);Fo(h);HW(h);h=Io(f)|0;}while((h|0)!=0)}if((f|0)!=0){Ho(f);HW(f)}if((e|0)==0){i=d;return}IW(e);i=d;return}function Ye(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=i;h=i;i=i+8|0;d=h;e=i;i=i+8|0;j=e;o=i;i=i+8|0;f=i;i=i+256|0;g=i;i=i+8|0;k=g;m=i;i=i+8|0;b=b+28|0;n=yc(c[b>>2]|0,17600)|0;if((n|0)==0){c[o>>2]=c[b>>2];Qe(-1,17608,o);i=l;return}if((Do(f,256,n)|0)!=0){q=a+8|0;p=1;while(1){o=Mb(f|0,17648,m|0)|0;a=Mb(0,17648,m|0)|0;if((o|0)==0|(a|0)==0){c[h>>2]=c[b>>2];c[d+4>>2]=p;Qe(-1,17664,d)}else{c[e>>2]=k;Hc(o|0,17656,j|0)|0;Gf(c[q>>2]|0,a,c[g>>2]|0)}if((Do(f,256,n)|0)==0){break}else{p=p+1|0}}}mc(n|0)|0;i=l;return}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;a=a+12|0;f=qo(c[a>>2]|0,b)|0;if((f|0)!=0){ke(f);HW(f)}g=c[a>>2]|0;a=FW(32)|0;ie(a,b);f=FW(32)|0;ie(f,d);lo(g,a,f);i=e;return}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;a=a+24|0;f=qo(c[a>>2]|0,b)|0;if((f|0)!=0){ke(f);HW(f)}g=c[a>>2]|0;a=FW(32)|0;ie(a,b);f=FW(32)|0;ie(f,d);lo(g,a,f);i=e;return}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;a=a+28|0;f=oo(c[a>>2]|0,b)|0;if((f|0)==0){f=FW(16)|0;wo(f);g=c[a>>2]|0;a=FW(32)|0;ie(a,b);lo(g,a,f)}g=FW(32)|0;ie(g,d);yo(f,g);i=e;return}function af(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=i;E=i;i=i+8|0;F=i;i=i+8|0;D=i;i=i+8|0;C=D;A=i;i=i+8|0;z=i;i=i+8|0;y=i;i=i+8|0;B=y;x=i;i=i+8|0;w=i;i=i+8|0;u=i;i=i+8|0;v=u;r=i;i=i+8|0;s=i;i=i+8|0;q=i;i=i+8|0;t=q;n=i;i=i+8|0;m=i;i=i+8|0;o=i;i=i+8|0;p=o;h=i;i=i+8|0;j=i;i=i+8|0;l=i;i=i+8|0;k=l;g=i;i=i+8|0;f=i;i=i+8|0;d=i;i=i+8|0;e=d;xt();G=c[a>>2]|0;if((G|0)!=0){Ff(G);HW(G)}G=c[a+4>>2]|0;if((G|0)!=0){ke(G);HW(G)}G=c[a+8>>2]|0;if((G|0)!=0){Ff(G);HW(G)}G=c[a+12>>2]|0;to(G,E);if(uo(G,E,F,C)|0){do{H=c[D>>2]|0;if((H|0)!=0){ke(H);HW(H)}}while(uo(G,E,F,C)|0)}if((G|0)!=0){ko(G);HW(G)}C=c[a+16>>2]|0;to(C,A);if(uo(C,A,z,B)|0){do{D=c[y>>2]|0;if((D|0)!=0){ke(D);HW(D)}}while(uo(C,A,z,B)|0)}if((C|0)!=0){ko(C);HW(C)}y=c[a+20>>2]|0;to(y,x);if(uo(y,x,w,v)|0){do{z=c[u>>2]|0;if((z|0)!=0){Vm(z);HW(z)}}while(uo(y,x,w,v)|0)}if((y|0)!=0){ko(y);HW(y)}v=c[a+24>>2]|0;to(v,r);if(uo(v,r,s,t)|0){do{u=c[q>>2]|0;if((u|0)!=0){ke(u);HW(u)}}while(uo(v,r,s,t)|0)}if((v|0)!=0){ko(v);HW(v)}q=c[a+32>>2]|0;r=q+8|0;t=c[r>>2]|0;if((t|0)>0){s=0;do{u=c[(c[q>>2]|0)+(s<<2)>>2]|0;if((u|0)!=0){ke(u);HW(u);t=c[r>>2]|0}s=s+1|0;}while((s|0)<(t|0))}if((q|0)!=0){xo(q);HW(q)}q=c[a+36>>2]|0;to(q,n);if(uo(q,n,m,p)|0){do{r=c[o>>2]|0;if((r|0)!=0){fd[c[(c[r>>2]|0)+4>>2]&511](r)}}while(uo(q,n,m,p)|0)}if((q|0)!=0){ko(q);HW(q)}m=c[a+48>>2]|0;to(m,h);if(uo(m,h,j,k)|0){do{n=c[l>>2]|0;if((n|0)!=0){o=c[n>>2]|0;if((o|0)!=0){ke(o);HW(o)}o=c[n+8>>2]|0;if((o|0)!=0){ke(o);HW(o)}o=c[n+12>>2]|0;if((o|0)!=0){ke(o);HW(o)}HW(n)}}while(uo(m,h,j,k)|0)}if((m|0)!=0){ko(m);HW(m)}h=c[a+52>>2]|0;j=h+8|0;m=c[j>>2]|0;if((m|0)>0){k=0;do{l=c[(c[h>>2]|0)+(k<<2)>>2]|0;if((l|0)!=0){m=c[l>>2]|0;if((m|0)!=0){ke(m);HW(m)}m=c[l+8>>2]|0;if((m|0)!=0){ke(m);HW(m)}m=c[l+12>>2]|0;if((m|0)!=0){ke(m);HW(m)}HW(l);m=c[j>>2]|0}k=k+1|0;}while((k|0)<(m|0))}if((h|0)!=0){xo(h);HW(h)}h=c[a+56>>2]|0;j=h+8|0;m=c[j>>2]|0;if((m|0)>0){k=0;do{l=c[(c[h>>2]|0)+(k<<2)>>2]|0;if((l|0)!=0){m=c[l>>2]|0;if((m|0)!=0){ke(m);HW(m)}m=c[l+8>>2]|0;if((m|0)!=0){ke(m);HW(m)}m=c[l+12>>2]|0;if((m|0)!=0){ke(m);HW(m)}HW(l);m=c[j>>2]|0}k=k+1|0;}while((k|0)<(m|0))}if((h|0)!=0){xo(h);HW(h)}h=c[a+68>>2]|0;if((h|0)!=0){ke(h);HW(h)}h=c[a+80>>2]|0;j=h+8|0;k=c[j>>2]|0;if((k|0)>0){l=0;do{m=c[(c[h>>2]|0)+(l<<2)>>2]|0;if((m|0)!=0){ke(m);HW(m);k=c[j>>2]|0}l=l+1|0;}while((l|0)<(k|0))}if((h|0)!=0){xo(h);HW(h)}k=a+28|0;to(c[k>>2]|0,g);if(uo(c[k>>2]|0,g,f,e)|0){do{h=c[d>>2]|0;j=h+8|0;l=c[j>>2]|0;if((l|0)>0){m=0;do{n=c[(c[h>>2]|0)+(m<<2)>>2]|0;if((n|0)!=0){ke(n);HW(n);l=c[j>>2]|0}m=m+1|0;}while((m|0)<(l|0))}if((h|0)!=0){xo(h);HW(h)}}while(uo(c[k>>2]|0,g,f,e)|0)}d=c[k>>2]|0;if((d|0)!=0){ko(d);HW(d)}d=c[a+136>>2]|0;if((d|0)!=0){zu(d);HW(d)}d=c[a+140>>2]|0;if((d|0)!=0){zu(d);HW(d)}d=c[a+144>>2]|0;if((d|0)!=0){Ym(d);HW(d)}d=c[a+148>>2]|0;if((d|0)==0){H=a+152|0;kc(H|0)|0;H=a+176|0;kc(H|0)|0;H=a+200|0;kc(H|0)|0;i=b;return}Mt(d);HW(d);H=a+152|0;kc(H|0)|0;H=a+176|0;kc(H|0)|0;H=a+200|0;kc(H|0)|0;i=b;return}function bf(a,b){a=a|0;b=b|0;var d=0;d=i;a=Hf(c[a>>2]|0,b)|0;i=d;return a|0}function cf(a,b){a=a|0;b=b|0;var d=0;d=i;a=Hf(c[a+8>>2]|0,b)|0;i=d;return a|0}function df(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;e=a+152|0;Ub(e|0)|0;b=oo(c[a+28>>2]|0,b)|0;if((b|0)==0){Mc(e|0)|0;j=0;i=f;return j|0}a=b+8|0;a:do{if((c[a>>2]|0)>0){h=d+28|0;j=0;while(1){g=c[(c[b>>2]|0)+(j<<2)>>2]|0;d=FW(32)|0;ie(d,g);d=Co(d,c[h>>2]|0)|0;g=yc(c[d+28>>2]|0,17600)|0;if((d|0)!=0){ke(d);HW(d)}j=j+1|0;if((g|0)!=0){break}if((j|0)>=(c[a>>2]|0)){break a}}Mc(e|0)|0;j=g;i=f;return j|0}}while(0);Mc(e|0)|0;j=0;i=f;return j|0}function ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=a+152|0;Ub(e|0)|0;a=a+32|0;g=c[a>>2]|0;a:do{if((c[g+8>>2]|0)>0){b=b+28|0;f=0;while(1){h=c[(c[g>>2]|0)+(f<<2)>>2]|0;g=FW(32)|0;ie(g,h);g=Co(g,c[b>>2]|0)|0;h=yc(c[g+28>>2]|0,17600)|0;if((g|0)!=0){ke(g);HW(g)}f=f+1|0;if((h|0)!=0){break}g=c[a>>2]|0;if((f|0)>=(c[g+8>>2]|0)){break a}}Mc(e|0)|0;i=d;return h|0}}while(0);Mc(e|0)|0;h=0;i=d;return h|0}function ff(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=i;m=i;i=i+32|0;n=m;o=i;i=i+8|0;j=i;i=i+8|0;f=j;g=i;i=i+8|0;l=g;q=d+20|0;k=c[q>>2]|0;if((k|0)==0){x=0;i=e;return x|0}b=b+152|0;Ub(b|0)|0;h=d+4|0;r=c[h>>2]|0;do{if((r|0)==0){q=c[(c[q>>2]|0)+28>>2]|0;r=Fb(q|0,44)|0;if((r|0)==0){r=Fb(q|0,45)|0}s=ZW(q|0)|0;if((s|0)>0){t=0;do{v=q+t|0;u=a[v]|0;a[v]=u<<24>>24==45?32:u;t=t+1|0;}while((t|0)<(s|0))}do{if((r|0)==0){s=-1;v=0;t=-1;u=-1}else{v=nb(r|0,17816)|0;t=nb(r|0,17824)|0;if((t|0)!=0){v=(v|0)==0|t>>>0<v>>>0?t:v}u=nb(r|0,17832)|0;if((u|0)==0){t=-1}else{t=110;v=(v|0)==0|u>>>0<v>>>0?u:v}u=nb(r|0,17840)|0;if((u|0)!=0){t=100;v=(v|0)==0|u>>>0<v>>>0?u:v}w=nb(r|0,17848)|0;if((w|0)==0){u=-1}else{u=200;v=(v|0)==0|w>>>0<v>>>0?w:v}w=nb(r|0,17856)|0;if((w|0)!=0){u=50;v=(v|0)==0|w>>>0<v>>>0?w:v}w=nb(r|0,17864)|0;if((w|0)==0){w=-1;p=20}else{if((v|0)==0|w>>>0<v>>>0){v=75}else{w=75;p=20}}if((p|0)==20){if((v|0)==0){s=w;v=0;break}else{v=w}}p=s+1|0;x=GW((p|0)>-1?p:-1)|0;eX(x|0,q|0)|0;a[x+(r-q)|0]=0;s=v;v=1;q=x}}while(0);x=c[d+44>>2]|0;r=(x&1|0)!=0;p=r?100:-1;w=(x&262144|0)!=0?200:u;t=(x&64|0)!=0?100:t;u=d+24|0;x=c[u>>2]|0;if((x|0)==0){u=v}else{if(!((q|0)==0|v^1)){IW(q);x=c[u>>2]|0}u=0;q=c[x+28>>2]|0}switch(c[d+32>>2]|0){case 2:{w=50;break};case 3:{w=75;break};case 4:{w=80;break};case 5:{w=100;break};case 6:{w=180;break};case 7:{w=200;break};case 8:{w=205;break};case 9:{w=210;break};case 1:{w=40;break};default:{}}switch(c[d+28>>2]|0){case 1:{s=50;break};case 2:{s=63;break};case 3:{s=75;break};case 4:{s=87;break};case 5:{s=100;break};case 6:{s=113;break};case 7:{s=125;break};case 8:{s=150;break};case 9:{s=200;break};default:{}}v=18008;do{if(jd[c[c[d>>2]>>2]&511](d)|0){d=sy(d)|0;if((d|0)==0){v=18008;break}d=c[d+28>>2]|0;if((Qc(d|0,17880)|0)==0){v=17896;break}if((Qc(d|0,17904)|0)==0){v=17920;break}if((Qc(d|0,17928)|0)==0){v=17944;break}if((Qc(d|0,17952)|0)==0){v=17944;break}if((Qc(d|0,17968)|0)==0){v=17984;break}if((Qc(d|0,17992)|0)==0){v=18008;break}if((Qc(d|0,18016)|0)==0){v=18008;break}Qe(-1,18032,o);v=18008}}while(0);c[m>>2]=18096;c[n+4>>2]=3;c[n+8>>2]=q;c[n+12>>2]=18104;c[n+16>>2]=3;c[n+20>>2]=v;c[n+24>>2]=0;m=gb(0,n|0)|0;if((t|0)!=-1){Ob(m|0,18112,t|0)|0}if((w|0)!=-1){Ob(m|0,18120,w|0)|0}if((s|0)!=-1){Ob(m|0,18128,s|0)|0}if(r){Ob(m|0,18136,p|0)|0}if(!((q|0)==0|u^1)){IW(q)}if((m|0)==0){r=0;break}wb(0,m|0,0)|0;Oc(m|0);l=ic(0,m|0,0,0,l|0)|0;if((l|0)==0){r=0}else{a:do{if((c[l>>2]|0)>0){n=l+8|0;o=0;b:while(1){x=Sb(c[(c[n>>2]|0)+(o<<2)>>2]|0,17728,0,f|0)|0;c[g>>2]=x;do{if((x|0)==0){d=c[j>>2]|0;if((d|0)==0){break}d=Sa(d|0,46)|0;if((d|0)==0){break}if((XW(d|0,17736,4)|0)==0){p=75;break b}if((XW(d|0,17744,4)|0)==0){p=75;break b}if((XW(d|0,17760,4)|0)==0){p=78;break b}if((XW(d|0,17768,4)|0)==0){p=78;break b}}}while(0);o=o+1|0;if((o|0)>=(c[l>>2]|0)){r=0;break a}}if((p|0)==75){r=FW(20)|0;x=FW(32)|0;ie(x,k);c[r>>2]=3352;c[r+4>>2]=x;c[r+8>>2]=1;x=r+12|0;c[x>>2]=0;w=FW(32)|0;fe(w,c[j>>2]|0);c[x>>2]=w;rb(c[(c[n>>2]|0)+(o<<2)>>2]|0,17752,0,r+16|0)|0}else if((p|0)==78){r=FW(20)|0;x=FW(32)|0;ie(x,k);c[r>>2]=3352;c[r+4>>2]=x;c[r+8>>2]=0;x=r+12|0;c[x>>2]=0;w=FW(32)|0;fe(w,c[j>>2]|0);c[x>>2]=w}c[h>>2]=r}else{r=0}}while(0);Vc(l|0)}ob(m|0)}}while(0);Mc(b|0)|0;x=r;i=e;return x|0}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=a+152|0;Ub(f|0)|0;a=a+80|0;j=c[a>>2]|0;a:do{if((c[j+8>>2]|0)>0){b=b+28|0;g=0;b:while(1){h=c[(c[j>>2]|0)+(g<<2)>>2]|0;if((c[d>>2]|0)!=0){l=d;do{j=FW(32)|0;ie(j,h);j=Co(j,c[b>>2]|0)|0;ne(j,c[l>>2]|0,-1)|0;k=yc(c[j+28>>2]|0,17776)|0;if((k|0)!=0){break b}if((j|0)!=0){ke(j);HW(j)}l=l+4|0;}while((c[l>>2]|0)!=0);j=c[a>>2]|0}g=g+1|0;if((g|0)>=(c[j+8>>2]|0)){break a}}mc(k|0)|0;Mc(f|0)|0;l=j;i=e;return l|0}}while(0);Mc(f|0)|0;l=0;i=e;return l|0}function hf(b){b=b|0;var c=0,d=0;c=i;d=b+152|0;Ub(d|0)|0;b=(a[b+84|0]&1)!=0;Mc(d|0)|0;i=c;return b|0}function jf(b){b=b|0;var c=0,d=0;c=i;d=b+152|0;Ub(d|0)|0;b=(a[b+85|0]&1)!=0;Mc(d|0)|0;i=c;return b|0}function kf(b){b=b|0;var c=0,d=0;c=i;d=b+152|0;Ub(d|0)|0;b=(a[b+86|0]&1)!=0;Mc(d|0)|0;i=c;return b|0}function lf(b){b=b|0;var c=0,d=0;c=i;d=b+152|0;Ub(d|0)|0;b=(a[b+87|0]&1)!=0;Mc(d|0)|0;i=c;return b|0}function mf(a){a=a|0;var b=0,d=0;b=i;d=a+152|0;Ub(d|0)|0;a=c[a+88>>2]|0;Mc(d|0)|0;i=b;return a|0}function nf(a){a=a|0;var b=0,d=0;b=i;d=a+152|0;Ub(d|0)|0;a=c[a+92>>2]|0;Mc(d|0)|0;i=b;return a|0}function of(a){a=a|0;var b=0,d=0;b=i;d=a+152|0;Ub(d|0)|0;a=c[a+96>>2]|0;Mc(d|0)|0;i=b;return a|0}function pf(a){a=a|0;var b=0.0,c=0,d=0;c=i;d=a+152|0;Ub(d|0)|0;b=+h[a+104>>3];Mc(d|0)|0;i=c;return+b}function qf(a){a=a|0;var b=0.0,c=0,d=0;c=i;d=a+152|0;Ub(d|0)|0;b=+h[a+112>>3];Mc(d|0)|0;i=c;return+b}function rf(a){a=a|0;var b=0.0,c=0,d=0;c=i;d=a+152|0;Ub(d|0)|0;b=+h[a+120>>3];Mc(d|0)|0;i=c;return+b}function sf(b){b=b|0;var c=0,d=0;c=i;d=b+152|0;Ub(d|0)|0;b=(a[b+128|0]&1)!=0;Mc(d|0)|0;i=c;return b|0}function tf(b){b=b|0;var c=0,d=0;c=i;d=b+152|0;Ub(d|0)|0;b=(a[b+129|0]&1)!=0;Mc(d|0)|0;i=c;return b|0}function uf(b){b=b|0;var c=0,d=0;c=i;d=b+152|0;Ub(d|0)|0;b=(a[b+130|0]&1)!=0;Mc(d|0)|0;i=c;return b|0}function vf(b){b=b|0;var c=0,d=0;c=i;d=b+152|0;Ub(d|0)|0;b=(a[b+131|0]&1)!=0;Mc(d|0)|0;i=c;return b|0}function wf(b){b=b|0;i=i;return(a[b+132|0]&1)!=0|0}function xf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;d=a+152|0;Ub(d|0)|0;f=a+136|0;g=Au(c[f>>2]|0,b)|0;do{if((g|0)==0){g=oo(c[a+12>>2]|0,b)|0;if((g|0)==0){g=0;break}g=iu(g,b)|0;if((g|0)==0){g=0;break}Bu(c[f>>2]|0,g)}}while(0);Mc(d|0)|0;i=e;return g|0}function yf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;j=i;i=i+8|0;g=i;i=i+8|0;k=g;m=i;i=i+8|0;l=m;e=a+152|0;Ub(e|0)|0;h=a+16|0;to(c[h>>2]|0,j);n=b+28|0;while(1){if(!(uo(c[h>>2]|0,j,k,l)|0)){b=0;f=8;break}if((nb(c[n>>2]|0,c[(c[g>>2]|0)+28>>2]|0)|0)==0){continue}vo(c[h>>2]|0,j);b=c[m>>2]|0;if((b|0)!=0){break}}if((f|0)==8){Mc(e|0)|0;i=d;return b|0}f=a+140|0;g=Au(c[f>>2]|0,b)|0;if((g|0)!=0){n=g;Mc(e|0)|0;i=d;return n|0}b=ju(b)|0;if((b|0)==0){n=0;Mc(e|0)|0;i=d;return n|0}Bu(c[f>>2]|0,b);n=b;Mc(e|0)|0;i=d;return n|0}function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;g=a+200|0;Ub(g|0)|0;a=Et(c[a+148>>2]|0,b,d,e)|0;Mc(g|0)|0;i=f;return a|0}function Af(b,c){b=b|0;c=c|0;var d=0,e=0;e=i;d=b+152|0;Ub(d|0)|0;b=b+84|0;do{if((Qc(c|0,17712)|0)==0){c=1}else{if((Qc(c|0,17720)|0)==0){c=0;break}else{c=0}Mc(d|0)|0;i=e;return c|0}}while(0);a[b]=c;b=1;Mc(d|0)|0;i=e;return b|0}function Bf(b,c){b=b|0;c=c|0;var d=0,e=0;e=i;d=b+152|0;Ub(d|0)|0;b=b+85|0;do{if((Qc(c|0,17712)|0)==0){c=1}else{if((Qc(c|0,17720)|0)==0){c=0;break}else{c=0}Mc(d|0)|0;i=e;return c|0}}while(0);a[b]=c;b=1;Mc(d|0)|0;i=e;return b|0}function Cf(b,c){b=b|0;c=c|0;var d=0,e=0;e=i;d=b+152|0;Ub(d|0)|0;b=b+86|0;do{if((Qc(c|0,17712)|0)==0){c=1}else{if((Qc(c|0,17720)|0)==0){c=0;break}else{c=0}Mc(d|0)|0;i=e;return c|0}}while(0);a[b]=c;b=1;Mc(d|0)|0;i=e;return b|0}function Df(b,c){b=b|0;c=c|0;var d=0,e=0;d=i;e=b+152|0;Ub(e|0)|0;a[b+132|0]=c&1;Mc(e|0)|0;i=d;return}function Ef(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=a+4|0;c[d>>2]=31;c[a+8>>2]=0;e=ye(31,8)|0;c[a>>2]=e;if((c[d>>2]|0)>0){f=0}else{i=b;return}while(1){c[e+(f<<3)>>2]=0;f=f+1|0;if((f|0)>=(c[d>>2]|0)){break}e=c[a>>2]|0}i=b;return}function Ff(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;d=a+4|0;e=c[d>>2]|0;g=c[a>>2]|0;if((e|0)>0){f=0}else{h=g;Fe(h);i=b;return}do{h=c[g+(f<<3)>>2]|0;if((h|0)!=0){Fe(h);g=c[a>>2]|0;e=c[d>>2]|0}f=f+1|0;}while((f|0)<(e|0));Fe(g);i=b;return}function Gf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;f=b+8|0;h=b+4|0;k=c[h>>2]|0;if((c[f>>2]|0)>=((k|0)/2|0|0)){j=c[b>>2]|0;l=k<<1|1;c[h>>2]=l;l=ye(l,8)|0;c[b>>2]=l;a:do{if((c[h>>2]|0)>0){m=0;while(1){c[l+(m<<3)>>2]=0;m=m+1|0;if((m|0)>=(c[h>>2]|0)){break a}l=c[b>>2]|0}}}while(0);if((k|0)>0){m=0;do{l=j+(m<<3)|0;n=c[l>>2]|0;if((n|0)!=0){p=a[n]|0;if(p<<24>>24==0){o=0}else{o=0;while(1){o=(o*17|0)+(p&255)|0;n=n+1|0;p=a[n]|0;if(p<<24>>24==0){break}else{}}}n=c[h>>2]|0;q=(o>>>0)%(n>>>0)|0;o=c[b>>2]|0;p=o+(q<<3)|0;if((c[p>>2]|0)!=0){while(1){p=q+1|0;q=(p|0)==(n|0)?0:p;p=o+(q<<3)|0;if((c[p>>2]|0)==0){break}else{}}}n=l;o=c[n+4>>2]|0;q=p;c[q>>2]=c[n>>2];c[q+4>>2]=o}m=m+1|0;}while((m|0)<(k|0))}Fe(j)}k=a[d]|0;if(k<<24>>24==0){l=0}else{l=0;j=d;while(1){l=(l*17|0)+(k&255)|0;j=j+1|0;k=a[j]|0;if(k<<24>>24==0){break}else{}}}h=c[h>>2]|0;l=(l>>>0)%(h>>>0)|0;j=c[b>>2]|0;k=c[j+(l<<3)>>2]|0;b:do{if((k|0)!=0){while(1){if((Qc(k|0,d|0)|0)==0){break}k=l+1|0;l=(k|0)==(h|0)?0:k;k=c[j+(l<<3)>>2]|0;if((k|0)==0){break b}}p=l<<3;p=j+p|0;p=p+4|0;c[p>>2]=e;p=f;p=c[p>>2]|0;p=p+1|0;q=f;c[q>>2]=p;i=g;return}}while(0);q=Ge(d)|0;c[(c[b>>2]|0)+(l<<3)>>2]=q;q=c[b>>2]|0;p=l;p=p<<3;p=q+p|0;p=p+4|0;c[p>>2]=e;p=f;p=c[p>>2]|0;p=p+1|0;q=f;c[q>>2]=p;i=g;return}function Hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;h=a[d]|0;if(h<<24>>24==0){j=0}else{j=0;g=d;while(1){j=(j*17|0)+(h&255)|0;g=g+1|0;h=a[g]|0;if(h<<24>>24==0){break}else{}}}g=c[b+4>>2]|0;h=(j>>>0)%(g>>>0)|0;b=c[b>>2]|0;j=c[b+(h<<3)>>2]|0;if((j|0)==0){j=0;i=f;return j|0}while(1){if((Qc(j|0,d|0)|0)==0){break}h=h+1|0;h=(h|0)==(g|0)?0:h;j=c[b+(h<<3)>>2]|0;if((j|0)==0){d=0;e=7;break}}if((e|0)==7){i=f;return d|0}j=c[b+(h<<3)+4>>2]|0;i=f;return j|0}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=a+8|0;c[e>>2]=0;c[e+4>>2]=0;c[a>>2]=6;f=FW(20)|0;rt(f,b);c[e>>2]=f;i=d;return a|0}function Jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=a+8|0;c[e>>2]=0;c[e+4>>2]=0;c[a>>2]=7;f=FW(24)|0;Qu(f,b);c[e>>2]=f;i=d;return a|0}function Kf(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;c[d+4>>2]=0;c[a>>2]=7;c[d>>2]=b;b=b+20|0;c[b>>2]=(c[b>>2]|0)+1;i=i;return a|0}function Lf(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;c[d+4>>2]=0;c[a>>2]=8;c[d>>2]=b;i=i;return a|0}function Mf(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;$W(b|0,a|0,16)|0;switch(c[a>>2]|0){case 3:{e=c[a+8>>2]|0;a=FW(32)|0;ie(a,e);c[b+8>>2]=a;i=d;return b|0};case 10:{c[b+8>>2]=Ge(c[a+8>>2]|0)|0;i=d;return b|0};case 4:{c[b+8>>2]=Ge(c[a+8>>2]|0)|0;i=d;return b|0};case 6:{e=(c[a+8>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+1;i=d;return b|0};case 8:{e=(c[a+8>>2]|0)+4|0;c[e>>2]=(c[e>>2]|0)+1;i=d;return b|0};case 7:{e=(c[a+8>>2]|0)+20|0;c[e>>2]=(c[e>>2]|0)+1;i=d;return b|0};default:{i=d;return b|0}}return 0}function Nf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;if(!((c[a>>2]|0)!=9|(b|0)==0)){a=a+8|0;a=_m(b,c[a>>2]|0,c[a+4>>2]|0,d,e)|0;i=f;return a|0}$W(d|0,a|0,16)|0;switch(c[a>>2]|0){case 10:{c[d+8>>2]=Ge(c[a+8>>2]|0)|0;a=d;i=f;return a|0};case 3:{b=c[a+8>>2]|0;a=FW(32)|0;ie(a,b);c[d+8>>2]=a;a=d;i=f;return a|0};case 6:{a=(c[a+8>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+1;a=d;i=f;return a|0};case 4:{c[d+8>>2]=Ge(c[a+8>>2]|0)|0;a=d;i=f;return a|0};case 7:{a=(c[a+8>>2]|0)+20|0;c[a>>2]=(c[a>>2]|0)+1;a=d;i=f;return a|0};case 8:{a=(c[a+8>>2]|0)+4|0;c[a>>2]=(c[a>>2]|0)+1;a=d;i=f;return a|0};default:{a=d;i=f;return a|0}}return 0}function Of(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;a:do{switch(c[a>>2]|0){case 6:{d=a+8|0;f=(c[d>>2]|0)+16|0;e=(c[f>>2]|0)+ -1|0;c[f>>2]=e;if((e|0)!=0){break a}d=c[d>>2]|0;if((d|0)==0){break a}st(d);HW(d);break};case 3:{d=c[a+8>>2]|0;if((d|0)==0){break a}ke(d);HW(d);break};case 7:{d=a+8|0;e=(c[d>>2]|0)+20|0;f=(c[e>>2]|0)+ -1|0;c[e>>2]=f;if((f|0)!=0){break a}d=c[d>>2]|0;if((d|0)==0){break a}Su(d);HW(d);break};case 10:{Fe(c[a+8>>2]|0);break};case 8:{d=a+8|0;e=(c[d>>2]|0)+4|0;f=(c[e>>2]|0)+ -1|0;c[e>>2]=f;if((f|0)!=0){break a}d=c[d>>2]|0;if((d|0)==0){break a}fd[c[(c[d>>2]|0)+4>>2]&511](d);break};case 4:{Fe(c[a+8>>2]|0);break};default:{}}}while(0);c[a>>2]=13;i=b;return}function Pf(a){a=a|0;i=i;return c[32256+(c[a>>2]<<2)>>2]|0}function Qf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=i;z=i;i=i+8|0;y=z;x=i;i=i+8|0;w=x;n=i;i=i+8|0;o=n;q=i;i=i+8|0;r=q;g=i;i=i+8|0;j=g;p=i;i=i+8|0;s=p;l=i;i=i+8|0;m=l;u=i;i=i+8|0;t=u;A=i;i=i+8|0;v=i;i=i+8|0;B=i;i=i+16|0;f=B;c[B>>2]=13;B=f+8|0;c[B>>2]=0;c[B+4>>2]=0;switch(c[b>>2]|0){case 0:{_c(((a[b+8|0]&1)!=0?32320:32328)|0,d|0)|0;i=e;return};case 2:{B=A;h[k>>3]=+h[b+8>>3];c[B>>2]=c[k>>2];c[B+4>>2]=c[k+4>>2];Gc(d|0,32344,A|0)|0;i=e;return};case 3:{sc(40,d|0)|0;B=c[b+8>>2]|0;Rb(c[B+28>>2]|0,1,c[B+24>>2]|0,d|0)|0;sc(41,d|0)|0;i=e;return};case 1:{c[v>>2]=c[b+8>>2];Gc(d|0,32336,v|0)|0;i=e;return};case 6:{sc(91,d|0)|0;g=c[b>>2]|0;if((g|0)!=6){A=g;B=l;c[B>>2]=A;B=m+4|0;c[B>>2]=6;B=32448;Qe(0,B,m);tc()}n=b+8|0;g=0;while(1){if((g|0)>=(c[(c[n>>2]|0)+12>>2]|0)){b=16;break}if((g|0)>0){sc(32,d|0)|0;j=c[b>>2]|0;if((j|0)!=6){b=14;break}}vt(c[n>>2]|0,g,f)|0;Qf(f,d);Of(f);j=c[b>>2]|0;if((j|0)==6){g=g+1|0}else{b=10;break}}if((b|0)==10){B=l;c[B>>2]=j;B=m+4|0;c[B>>2]=6;B=32448;Qe(0,B,m);tc()}else if((b|0)==14){c[p>>2]=j;c[s+4>>2]=6;Qe(0,32448,s);tc()}else if((b|0)==16){sc(93,d|0)|0;i=e;return}break};case 5:{Rb(32360,4,1,d|0)|0;i=e;return};case 4:{c[u>>2]=c[b+8>>2];Gc(d|0,32352,t|0)|0;i=e;return};case 7:{Rb(32368,2,1,d|0)|0;l=c[b>>2]|0;if((l|0)!=7){A=l;B=g;c[B>>2]=A;B=j+4|0;c[B>>2]=7;B=32448;Qe(0,B,j);tc()}l=b+8|0;m=0;while(1){p=c[l>>2]|0;if((m|0)>=(c[p+16>>2]|0)){b=24;break}c[q>>2]=$u(p,m)|0;Gc(d|0,32376,r|0)|0;p=c[b>>2]|0;if((p|0)!=7){b=22;break}bv(c[l>>2]|0,m,f)|0;Qf(f,d);Of(f);p=c[b>>2]|0;if((p|0)==7){m=m+1|0}else{b=19;break}}if((b|0)==19){B=g;c[B>>2]=p;B=j+4|0;c[B>>2]=7;B=32448;Qe(0,B,j);tc()}else if((b|0)==22){c[n>>2]=p;c[o+4>>2]=7;Qe(0,32448,o);tc()}else if((b|0)==24){Rb(32384,3,1,d|0)|0;i=e;return}break};case 8:{Rb(32392,8,1,d|0)|0;i=e;return};case 11:{Rb(32416,7,1,d|0)|0;i=e;return};case 10:{_c(c[b+8>>2]|0,d|0)|0;i=e;return};case 12:{Rb(32424,5,1,d|0)|0;i=e;return};case 13:{Rb(32432,6,1,d|0)|0;i=e;return};case 9:{A=b+8|0;B=c[A+4>>2]|0;c[x>>2]=c[A>>2];c[w+4>>2]=B;Gc(d|0,32408,w|0)|0;i=e;return};case 14:{c[z>>2]=c[b+8>>2];Gc(d|0,32440,y|0)|0;i=e;return};default:{i=e;return}}}function Rf(a){a=a|0;i=i;return}function Sf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;l=i;q=i;i=i+8|0;j=q;o=i;i=i+16|0;p=o;t=i;i=i+80|0;c[o>>2]=13;m=p+8|0;c[m>>2]=0;n=m+4|0;c[n>>2]=0;r=b+52|0;a[r]=0;k=b+56|0;c[k>>2]=0;s=b+4|0;c[s>>2]=0;h=b+8|0;c[h>>2]=0;c[b+28>>2]=0;c[b+24>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;c[b+44>>2]=0;c[b+64>>2]=-1;c[b+32>>2]=0;c[b+48>>2]=0;c[b>>2]=d;c[b+12>>2]=g;if((Nb(c[d+28>>2]|0,t|0)|0)==0){t=c[t+36>>2]|0}else{t=0}d=yc(c[(c[b>>2]|0)+28>>2]|0,32632)|0;c[s>>2]=d;if((d|0)==0){g=Pc()|0;c[b+60>>2]=c[g>>2];d=c[(c[b>>2]|0)+28>>2]|0;g=Xc(c[g>>2]|0)|0;c[q>>2]=d;c[j+4>>2]=g;Qe(-1,32640,j);c[k>>2]=1;i=l;return}else{c[m>>2]=0;c[n>>2]=0;c[o>>2]=5;g=FW(320)|0;Dj(g,d,0,0,t,p);c[h>>2]=g;a[r]=(Tf(b,e,f)|0)&1;i=l;return}}function Tf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;f=i;i=i+8|0;l=i;i=i+8|0;j=i;i=i+8|0;k=i;i=i+8|0;h=b+8|0;m=c[h>>2]|0;Gd[c[(c[m>>2]|0)+52>>2]&255](m,0,-1);m=c[h>>2]|0;if((jd[c[(c[m>>2]|0)+48>>2]&511](m)|0)<0){Qe(-1,32672,j);m=0;i=g;return m|0}m=c[h>>2]|0;fd[c[(c[m>>2]|0)+12>>2]&511](m);Vf(b);a[k]=0;m=FW(128)|0;n=c[h>>2]|0;j=Wf(b)|0;an(m,n,j,Xf(b)|0,k,0);j=b+28|0;c[j>>2]=m;if((a[m+28|0]&1)==0){Qe(-1,32712,l);c[b+56>>2]=c[(c[j>>2]|0)+32>>2];n=0;i=g;return n|0}if(!(Yf(b,d,e)|0)){c[b+56>>2]=4;n=0;i=g;return n|0}l=FW(184)|0;Zt(l,c[j>>2]|0);d=b+36|0;c[d>>2]=l;if((l|0)==0){n=1;i=g;return n|0}if((a[l+164|0]&1)!=0){n=1;i=g;return n|0}if((a[k]&1)==0){$t(l);HW(l);k=c[j>>2]|0;if((k|0)!=0){en(k);HW(k)}n=FW(128)|0;an(n,c[h>>2]|0,0,0,0,1);c[j>>2]=n;l=FW(184)|0;Zt(l,n);c[d>>2]=l}if((l|0)==0){n=1;i=g;return n|0}if((a[l+164|0]&1)!=0){n=1;i=g;return n|0}Qe(-1,32744,f);c[b+56>>2]=2;n=0;i=g;return n|0}function Uf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;j=b+52|0;a[j]=0;c[b+56>>2]=0;c[b>>2]=0;c[b+4>>2]=0;k=b+8|0;c[k>>2]=0;c[b+28>>2]=0;c[b+24>>2]=0;c[b+36>>2]=0;c[b+40>>2]=0;c[b+44>>2]=0;c[b+64>>2]=-1;c[b+32>>2]=0;c[b+48>>2]=0;c[b+12>>2]=g;if((jd[c[(c[d>>2]|0)+100>>2]&511](d)|0)==0){l=0;g=b;c[g>>2]=l;g=k;c[g>>2]=d;d=Tf(b,e,f)|0;d=d&1;g=j;a[g]=d;i=h;return}g=jd[c[(c[d>>2]|0)+100>>2]&511](d)|0;l=FW(32)|0;ie(l,g);g=b;c[g>>2]=l;g=k;c[g>>2]=d;g=Tf(b,e,f)|0;g=g&1;l=j;a[l]=g;i=h;return}function Vf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;g=i;i=i+8|0;j=g;e=i;i=i+8|0;l=i;i=i+8|0;m=i;i=i+1032|0;n=i;i=i+8|0;f=b+16|0;c[f>>2]=0;h=b+20|0;c[h>>2]=0;b=b+8|0;o=0;do{p=c[b>>2]|0;a[m+o|0]=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;o=o+1|0;}while((o|0)<1024);a[m+1024|0]=0;o=0;while(1){p=o+1|0;if((vc(m+o|0,32776,5)|0)==0){k=6;break}if((p|0)<1019){o=p}else{break}}do{if((k|0)==6){if((o|0)>1018){break}k=c[b>>2]|0;hd[c[(c[k>>2]|0)+112>>2]&127](k,o);k=Mb(m+(o+5)|0,32832,n|0)|0;if((k|0)==0){Qe(-1,32784,e);i=d;return}else{c[g>>2]=f;c[j+4>>2]=h;Hc(k|0,32840,j|0)|0;i=d;return}}}while(0);Qe(-1,32784,l);i=d;return}function Wf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;h=i;i=i+1032|0;g=i;i=i+1032|0;e=b+64|0;j=c[e>>2]|0;if((j|0)!=-1){k=j;i=d;return k|0}j=b+8|0;k=c[j>>2]|0;do{if((jd[c[(c[k>>2]|0)+104>>2]&511](k)|0)!=0){k=b+24|0;b=c[k>>2]|0;if((b|0)==0){b=FW(16)|0;iE(b,c[j>>2]|0);c[k>>2]=b}b=kE(b)|0;k=c[j>>2]|0;if((b|0)!=(jd[c[(c[k>>2]|0)+104>>2]&511](k)|0)){break}g=c[j>>2]|0;Gd[c[(c[g>>2]|0)+52>>2]&255](g,0,0);g=0;while(1){f=c[j>>2]|0;f=jd[c[(c[f>>2]|0)+20>>2]&511](f)|0;if((f|0)==-1){f=10;break}a[h+g|0]=f;g=g+1|0;if((g|0)>=1024){f=9;break}}do{if((f|0)==9){a[h+g|0]=0;c[e>>2]=0}else if((f|0)==10){a[h+g|0]=0;c[e>>2]=0;if((g|0)>0){break}else{e=0}i=d;return e|0}}while(0);j=0;while(1){b=j+1|0;if((vc(32856,h+j|0,6)|0)==0){break}if((b|0)<(g|0)){j=b}else{e=0;f=29;break}}if((f|0)==29){i=d;return e|0}k=j+6|0;c[e>>2]=k;i=d;return k|0}}while(0);h=c[j>>2]|0;Gd[c[(c[h>>2]|0)+52>>2]&255](h,1024,-1);h=0;do{b=c[j>>2]|0;b=jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;if((b|0)==-1){break}a[g+h|0]=b;h=h+1|0;}while((h|0)<1024);a[g+h|0]=0;h=h+ -9|0;a:do{if((h|0)>-1){j=h;while(1){h=j+ -1|0;if((vc(g+j|0,32864,9)|0)==0){break}if((j|0)>0){j=h}else{f=22;break a}}if((j|0)<0){h=j;f=22}else{h=j}}else{f=22}}while(0);if((f|0)==22){c[e>>2]=0}j=g+(h+9)|0;while(1){if((xc(a[j]|0)|0)==0){break}else{j=j+1|0}}g=a[j]|0;b:do{if(g<<24>>24==0){h=0}else{f=0;h=0;while(1){g=(g<<24>>24)+ -48|0;if(!(g>>>0<10&(f|0)<10)){break b}h=g+(h*10|0)|0;j=j+1|0;g=a[j]|0;if(g<<24>>24==0){break}else{f=f+1|0}}}}while(0);c[e>>2]=h;k=h;i=d;return k|0}function Xf(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=a+8|0;e=c[d>>2]|0;if((jd[c[(c[e>>2]|0)+104>>2]&511](e)|0)==0){e=0;i=b;return e|0}a=a+24|0;e=c[a>>2]|0;if((e|0)==0){e=FW(16)|0;iE(e,c[d>>2]|0);c[a>>2]=e}f=kE(e)|0;e=c[d>>2]|0;if((f|0)!=(jd[c[(c[e>>2]|0)+104>>2]&511](e)|0)){f=0;i=b;return f|0}e=c[a>>2]|0;if((e|0)==0){e=FW(16)|0;iE(e,c[d>>2]|0);c[a>>2]=e}f=sE(e)|0;i=b;return f|0}function Yf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;j=i;i=i+8|0;h=j;m=i;i=i+16|0;g=m;c[m>>2]=13;f=g+8|0;c[f>>2]=0;c[f+4>>2]=0;f=a+28|0;l=c[f>>2]|0;k=c[l+40>>2]|0;if((k|0)!=7){c[j>>2]=k;c[h+4>>2]=7;Qe(0,33064,h);tc()}Yu(c[l+48>>2]|0,32848,g,0)|0;if((c[m>>2]|0)!=7){m=1;Of(g);i=e;return m|0}h=pg(a,g)|0;a=a+32|0;c[a>>2]=h;if((h|0)==0){m=0;Of(g);i=e;return m|0}if(!(qg(h,b,d)|0)){m=0;Of(g);i=e;return m|0}b=c[f>>2]|0;f=c[a>>2]|0;f=jd[c[(c[f>>2]|0)+24>>2]&511](f)|0;d=c[a>>2]|0;d=jd[c[(c[d>>2]|0)+28>>2]&511](d)|0;h=c[a>>2]|0;h=jd[c[(c[h>>2]|0)+32>>2]&511](h)|0;j=c[a>>2]|0;j=jd[c[(c[j>>2]|0)+36>>2]&511](j)|0;k=c[a>>2]|0;k=jd[c[(c[k>>2]|0)+40>>2]&511](k)|0;l=c[a>>2]|0;l=jd[c[(c[l>>2]|0)+44>>2]&511](l)|0;m=c[a>>2]|0;jn(b,f,d,h,j,k,l,jd[c[(c[m>>2]|0)+48>>2]&511](m)|0);m=1;Of(g);i=e;return m|0}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=a+48|0;if((c[d>>2]|0)!=0){e=(_f(a)|0)>0;f=c[d>>2]|0;if(e){e=0;do{f=c[f+(e<<2)>>2]|0;if((f|0)!=0){lg(f);HW(f)}e=e+1|0;g=(e|0)<(_f(a)|0);f=c[d>>2]|0}while(g)}Fe(f)}d=c[a+32>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+44>>2]|0;if((d|0)!=0){LF(d);HW(d)}d=c[a+36>>2]|0;if((d|0)!=0){$t(d);HW(d)}d=c[a+28>>2]|0;if((d|0)!=0){en(d);HW(d)}d=c[a+40>>2]|0;if((d|0)!=0){IC(d);HW(d)}d=c[a+24>>2]|0;if((d|0)!=0){jE(d);HW(d)}d=c[a+8>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+4>>2]|0;if((d|0)!=0){mc(d|0)|0}a=c[a>>2]|0;if((a|0)==0){i=b;return}ke(a);HW(a);i=b;return}function _f(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=a+8|0;f=c[d>>2]|0;do{if((jd[c[(c[f>>2]|0)+104>>2]&511](f)|0)!=0){e=a+24|0;f=c[e>>2]|0;if((f|0)==0){f=FW(16)|0;iE(f,c[d>>2]|0);c[e>>2]=f}g=kE(f)|0;f=c[d>>2]|0;if((g|0)!=(jd[c[(c[f>>2]|0)+104>>2]&511](f)|0)){break}f=c[e>>2]|0;if((f|0)==0){f=FW(16)|0;iE(f,c[d>>2]|0);c[e>>2]=f}d=rE(f)|0;if((d|0)==0){break}i=b;return d|0}}while(0);g=cu(c[a+36>>2]|0)|0;i=b;return g|0}function $f(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;e=i;i=i+8|0;d=e;if((b|0)<1){j=0;i=f;return j|0}if((_f(a)|0)<(b|0)){j=0;i=f;return j|0}g=a+8|0;j=c[g>>2]|0;do{if((jd[c[(c[j>>2]|0)+104>>2]&511](j)|0)!=0){h=a+24|0;j=c[h>>2]|0;if((j|0)==0){j=FW(16)|0;iE(j,c[g>>2]|0);c[h>>2]=j}h=kE(j)|0;j=c[g>>2]|0;if((h|0)!=(jd[c[(c[j>>2]|0)+104>>2]&511](j)|0)){break}g=a+48|0;j=c[g>>2]|0;if((j|0)==0){c[g>>2]=ye(_f(a)|0,4)|0;if((_f(a)|0)>0){h=0;do{c[(c[g>>2]|0)+(h<<2)>>2]=0;h=h+1|0;}while((h|0)<(_f(a)|0))}j=c[g>>2]|0}h=b+ -1|0;j=c[j+(h<<2)>>2]|0;if((j|0)!=0){i=f;return j|0}j=dg(a,b)|0;c[(c[g>>2]|0)+(h<<2)>>2]=j;g=c[(c[g>>2]|0)+(h<<2)>>2]|0;if((g|0)==0){c[e>>2]=b;Qe(-1,33016,d);break}else{j=g;i=f;return j|0}}}while(0);j=au(c[a+36>>2]|0,b)|0;i=f;return j|0}function ag(a,b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0;t=i;if(($f(a,d)|0)==0){i=t;return}d=$f(a,d)|0;mg(d,b,e,f,g,h,j,l,m,n,o,k,c[a+36>>2]|0,p,q,r,s);i=t;return}function bg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=i;b=a+40|0;if((c[b>>2]|0)!=0){h=b;h=c[h>>2]|0;i=d;return h|0}g=a+8|0;h=c[g>>2]|0;if((jd[c[(c[h>>2]|0)+104>>2]&511](h)|0)==0){h=b;h=c[h>>2]|0;i=d;return h|0}e=a+24|0;f=c[e>>2]|0;if((f|0)==0){f=FW(16)|0;iE(f,c[g>>2]|0);c[e>>2]=f}f=kE(f)|0;h=c[g>>2]|0;if((f|0)!=(jd[c[(c[h>>2]|0)+104>>2]&511](h)|0)){h=b;h=c[h>>2]|0;i=d;return h|0}f=FW(156)|0;g=c[g>>2]|0;h=c[e>>2]|0;if((h|0)==0){h=FW(16)|0;iE(h,g);c[e>>2]=h}GC(f,g,h,c[a+28>>2]|0,c[a+32>>2]|0);c[b>>2]=f;h=b;h=c[h>>2]|0;i=d;return h|0}function cg(b,d){b=b|0;d=d|0;var e=0,f=0;f=i;e=FW(68)|0;a[e+52|0]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+28>>2]=0;c[e+24>>2]=0;c[e+36>>2]=0;c[e+40>>2]=0;c[e+44>>2]=0;c[e+64>>2]=-1;c[e+32>>2]=0;c[e+48>>2]=0;c[e+56>>2]=b;c[e>>2]=d;i=f;return e|0}function dg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=i;d=i;i=i+8|0;m=d;o=i;i=i+8|0;g=o;q=i;i=i+8|0;p=q;r=i;i=i+8|0;f=i;i=i+16|0;n=f;j=i;i=i+8|0;k=j;c[f>>2]=13;h=n+8|0;c[h>>2]=0;c[h+4>>2]=0;e=MC(bg(a)|0,b)|0;if((e|0)==0){c[r>>2]=b;Qe(-1,32880,r);s=0;i=l;return s|0}do{if((e|0)>=0){r=a+28|0;s=c[r>>2]|0;if((e|0)>=(c[s+16>>2]|0)){break}p=c[(kn(s,e)|0)+4>>2]|0;_m(c[r>>2]|0,e,p,n,0)|0;if((c[f>>2]|0)==7){o=c[h>>2]|0;s=FW(144)|0;h=c[r>>2]|0;c[j>>2]=e;c[k+4>>2]=p;q=FW(288)|0;hg(q,0,o);r=_t(c[a+36>>2]|0)|0;$W(d|0,j|0,8)|0;kg(s,h,b,o,m,q,r);Of(n);i=l;return s|0}else{Of(n);c[o>>2]=e;c[g+4>>2]=p;Qe(-1,32976,g);s=0;i=l;return s|0}}}while(0);c[q>>2]=e;c[p+4>>2]=b;Qe(-1,32936,p);s=0;i=l;return s|0}function eg(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;if((b|0)==0){b=FW(16)|0;wo(b);c[a>>2]=b}else{c[a>>2]=b}e=FW(4)|0;c[e>>2]=36008;zo(b,0,e);a=c[a>>2]|0;b=FW(4)|0;c[b>>2]=188624;zo(a,0,b);i=d;return}function fg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;a=c[a>>2]|0;if((a|0)==0){i=b;return}d=a+8|0;f=c[d>>2]|0;if((f|0)>0){e=0;do{g=c[(c[a>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0))}xo(a);HW(a);i=b;return}function gg(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;j=i;i=i+8|0;g=j;l=c[(c[a>>2]|0)+8>>2]|0;while(1){k=l+ -1|0;if((l|0)<=0){a=5;break}l=c[(c[c[a>>2]>>2]|0)+(k<<2)>>2]|0;if(Bd[c[(c[l>>2]|0)+12>>2]&255](l,b)|0){a=4;break}else{l=k}}if((a|0)==4){l=Cd[c[(c[l>>2]|0)+8>>2]&63](l,b,d,e,f)|0;i=h;return l|0}else if((a|0)==5){c[j>>2]=c[b+28>>2];Qe(-1,33136,g);l=FW(32)|0;ie(l,b);l=cg(1,l)|0;i=h;return l|0}return 0}function hg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0;p=i;f=i;i=i+16|0;n=f;B=i;i=i+32|0;z=b+32|0;y=b+72|0;x=b+104|0;s=b+136|0;o=b+176|0;bX(b|0,0,64)|0;bX(y|0,0,96)|0;c[o>>2]=13;m=b+184|0;c[m>>2]=0;c[m+4>>2]=0;m=b+192|0;c[m>>2]=13;l=b+200|0;c[l>>2]=0;c[l+4>>2]=0;l=b+208|0;c[l>>2]=13;g=b+216|0;c[g>>2]=0;c[g+4>>2]=0;g=b+224|0;c[g>>2]=13;j=b+232|0;c[j>>2]=0;c[j+4>>2]=0;j=b+240|0;c[j>>2]=13;k=b+248|0;c[k>>2]=0;c[k+4>>2]=0;k=b+256|0;c[k>>2]=13;q=b+264|0;c[q>>2]=0;c[q+4>>2]=0;q=b+272|0;c[q>>2]=13;u=b+280|0;c[u>>2]=0;A=u+4|0;c[A>>2]=0;c[f>>2]=13;r=n+8|0;c[r>>2]=0;c[r+4>>2]=0;bX(B|0,0,32)|0;t=Xu(e,33160)|0;if((d|0)==0){bX(b|0,0,16)|0;h[b+16>>3]=612.0;h[b+24>>3]=792.0;c[b+168>>2]=0;c[u>>2]=0;bX(z|0,0,33)|0;c[A>>2]=0;c[q>>2]=5}else{$W(b|0,d|0,32)|0;$W(z|0,d+32|0,32)|0;a[b+64|0]=a[d+64|0]&1;c[b+168>>2]=c[d+168>>2];Mf(d+272|0,q)|0}if(ig(0,e,33168,B)|0){$W(b|0,B|0,32)|0}u=b+64|0;do{if(ig(0,e,33184,z)|0){a[u]=1}else{if((a[u]&1)!=0){break}$W(z|0,b|0,32)|0}}while(0);do{if(t){d=b+48|0;u=b+16|0;w=+h[u>>3];v=+h[b>>3];if(+h[d>>3]- +h[z>>3]>w-v){h[z>>3]=v;h[d>>3]=w}A=b+56|0;B=b+40|0;t=b+24|0;w=+h[t>>3];C=b+8|0;v=+h[C>>3];if(+h[A>>3]- +h[B>>3]>w-v){h[B>>3]=v;h[A>>3]=w}$W(y|0,z|0,32)|0;ig(0,e,33192,y)|0;$W(x|0,z|0,32)|0;ig(0,e,33208,x)|0;$W(s|0,z|0,32)|0;ig(0,e,33216,s)|0;w=+h[z>>3];v=+h[b>>3];do{if(w<v){h[z>>3]=v}else{D=+h[u>>3];if(w<=D){break}h[z>>3]=D}}while(0);D=+h[d>>3];do{if(D<v){h[d>>3]=v}else{w=+h[u>>3];if(D<=w){break}h[d>>3]=w}}while(0);D=+h[B>>3];w=+h[C>>3];do{if(D<w){h[B>>3]=w}else{E=+h[t>>3];if(D<=E){break}h[B>>3]=E}}while(0);D=+h[A>>3];do{if(D<w){h[A>>3]=w}else{E=+h[t>>3];if(D<=E){break}h[A>>3]=E}}while(0);D=+h[y>>3];do{if(D<v){h[y>>3]=v}else{E=+h[u>>3];if(D<=E){break}h[y>>3]=E}}while(0);y=b+88|0;D=+h[y>>3];do{if(D<v){h[y>>3]=v}else{E=+h[u>>3];if(D<=E){break}h[y>>3]=E}}while(0);y=b+80|0;D=+h[y>>3];do{if(D<w){h[y>>3]=w}else{E=+h[t>>3];if(D<=E){break}h[y>>3]=E}}while(0);y=b+96|0;E=+h[y>>3];do{if(E<w){h[y>>3]=w}else{D=+h[t>>3];if(E<=D){break}h[y>>3]=D}}while(0);D=+h[x>>3];do{if(D<v){h[x>>3]=v}else{E=+h[u>>3];if(D<=E){break}h[x>>3]=E}}while(0);x=b+120|0;D=+h[x>>3];do{if(D<v){h[x>>3]=v}else{E=+h[u>>3];if(D<=E){break}h[x>>3]=E}}while(0);x=b+112|0;D=+h[x>>3];do{if(D<w){h[x>>3]=w}else{E=+h[t>>3];if(D<=E){break}h[x>>3]=E}}while(0);x=b+128|0;E=+h[x>>3];do{if(E<w){h[x>>3]=w}else{D=+h[t>>3];if(E<=D){break}h[x>>3]=D}}while(0);D=+h[s>>3];do{if(D<v){h[s>>3]=v}else{E=+h[u>>3];if(D<=E){break}h[s>>3]=E}}while(0);s=b+152|0;D=+h[s>>3];do{if(D<v){h[s>>3]=v}else{v=+h[u>>3];if(D<=v){break}h[s>>3]=v}}while(0);s=b+144|0;v=+h[s>>3];do{if(v<w){h[s>>3]=w}else{D=+h[t>>3];if(v<=D){break}h[s>>3]=D}}while(0);s=b+160|0;v=+h[s>>3];if(v<w){h[s>>3]=w;break}w=+h[t>>3];if(v<=w){break}h[s>>3]=w}else{$W(y|0,z|0,32)|0;ig(0,e,33192,y)|0;$W(x|0,z|0,32)|0;ig(0,e,33208,x)|0;$W(s|0,z|0,32)|0;ig(0,e,33216,s)|0}}while(0);Yu(e,33224,n,0)|0;if((c[f>>2]|0)==1){C=b+168|0;c[C>>2]=c[r>>2];r=C}else{r=b+168|0}Of(n);b=c[r>>2]|0;if((b|0)<0){C=~b;b=b+(C-((C>>>0)%360|0))+360|0;c[r>>2]=b}if((b|0)>359){c[r>>2]=((b+ -360|0)>>>0)%360|0}Yu(e,33232,o,0)|0;Yu(e,33248,m,0)|0;Yu(e,33264,l,0)|0;Yu(e,33272,g,0)|0;Yu(e,33288,j,0)|0;Yu(e,33304,k,0)|0;Yu(e,33320,n,0)|0;if((c[f>>2]|0)!=7){Of(n);i=p;return}Of(q);Mf(n,q)|0;Of(n);i=p;return}function ig(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0.0,u=0,v=0,w=0.0;a=i;n=i;i=i+8|0;o=n;s=i;i=i+8|0;r=s;u=i;i=i+8|0;v=u;p=i;i=i+16|0;f=p;l=i;i=i+16|0;g=l;c[p>>2]=13;m=f+8|0;c[m>>2]=0;c[m+4>>2]=0;c[l>>2]=13;k=g+8|0;c[k>>2]=0;c[k+4>>2]=0;Yu(b,d,f,0)|0;if((c[p>>2]|0)!=6){d=0;Of(f);i=a;return d|0}b=c[m>>2]|0;if((c[b+12>>2]|0)!=4){d=0;Of(f);i=a;return d|0}ut(b,0,g)|0;b=c[l>>2]|0;do{if((b+ -1|0)>>>0<2){if((b|0)==1){j=+(c[k>>2]|0);b=1;break}else{j=+h[k>>3];b=1;break}}else{j=0.0;b=0}}while(0);Of(g);d=c[p>>2]|0;if((d|0)!=6){c[u>>2]=d;c[v+4>>2]=6;Qe(0,33832,v);tc()}ut(c[m>>2]|0,1,g)|0;u=c[l>>2]|0;do{if((u+ -1|0)>>>0<2){if((u|0)==1){q=+(c[k>>2]|0);break}else{q=+h[k>>3];break}}else{q=0.0;b=0}}while(0);Of(g);u=c[p>>2]|0;if((u|0)!=6){c[s>>2]=u;c[r+4>>2]=6;Qe(0,33832,r);tc()}ut(c[m>>2]|0,2,g)|0;r=c[l>>2]|0;do{if((r+ -1|0)>>>0<2){if((r|0)==1){t=+(c[k>>2]|0);break}else{t=+h[k>>3];break}}else{t=0.0;b=0}}while(0);Of(g);p=c[p>>2]|0;if((p|0)!=6){c[n>>2]=p;c[o+4>>2]=6;Qe(0,33832,o);tc()}ut(c[m>>2]|0,3,g)|0;l=c[l>>2]|0;do{if((l+ -1|0)>>>0<2){if((l|0)==1){w=+(c[k>>2]|0);break}else{w=+h[k>>3];break}}else{w=0.0;b=0}}while(0);Of(g);if(j==0.0&t==0.0&q==0.0&w==0.0){d=0;Of(f);i=a;return d|0}g=b&1;if(g<<24>>24==0){d=g<<24>>24!=0;Of(f);i=a;return d|0}k=j>t;g=q>w;h[e>>3]=k?t:j;h[e+8>>3]=g?w:q;h[e+16>>3]=k?j:t;h[e+24>>3]=g?q:w;d=1;Of(f);i=a;return d|0}function jg(a){a=a|0;var b=0;b=i;Of(a+176|0);Of(a+192|0);Of(a+208|0);Of(a+224|0);Of(a+240|0);Of(a+256|0);Of(a+272|0);i=b;return}function kg(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0;o=i;t=i;i=i+8|0;u=t;l=i;i=i+8|0;z=l;q=i;i=i+8|0;r=q;F=i;i=i+8|0;G=F;J=i;i=i+8|0;K=J;N=i;i=i+8|0;O=N;Q=i;i=i+16|0;D=Q;T=b+8|0;c[T>>2]=13;C=b+16|0;c[C>>2]=0;c[C+4>>2]=0;C=b+40|0;c[C>>2]=13;H=b+48|0;c[H>>2]=0;I=H+4|0;c[I>>2]=0;m=b+56|0;c[m>>2]=13;E=b+64|0;c[E>>2]=0;y=E+4|0;c[y>>2]=0;x=b+80|0;c[x>>2]=13;A=b+88|0;c[A>>2]=0;B=A+4|0;c[B>>2]=0;P=b+96|0;c[P>>2]=13;s=b+104|0;c[s>>2]=0;c[s+4>>2]=0;s=b+112|0;c[s>>2]=13;v=b+120|0;c[v>>2]=0;w=v+4|0;c[w>>2]=0;c[Q>>2]=13;M=D+8|0;c[M>>2]=0;c[M+4>>2]=0;n=b+136|0;a[n]=1;c[b>>2]=d;p=b+32|0;c[p>>2]=e;L=b+128|0;h[L>>3]=-1.0;e=b+72|0;c[e>>2]=0;Kf(T,f)|0;T=g;S=c[T+4>>2]|0;g=b+24|0;c[g>>2]=c[T>>2];c[g+4>>2]=S;c[b+36>>2]=j;Zu(f,33336,P)|0;g=c[P>>2]|0;if(!((g|0)==5|(g|0)==7|(g|0)==9)){S=c[p>>2]|0;T=Pf(P)|0;c[N>>2]=S;c[O+4>>2]=T;Qe(-1,33344,O);Of(P)}Zu(f,33400,D)|0;N=c[Q>>2]|0;do{if((N+ -1|0)>>>0<2){if((N|0)==1){R=+(c[M>>2]|0)}else{R=+h[M>>3]}h[L>>3]=R}else{if((N|0)==5){break}S=c[p>>2]|0;T=Pf(D)|0;c[J>>2]=S;c[K+4>>2]=T;Qe(-1,33408,K)}}while(0);Of(D);Zu(f,33464,C)|0;T=c[C>>2]|0;do{if((T|0)==5|(T|0)==6|(T|0)==9){T=FW(20)|0;S=Nf(C,c[b>>2]|0,D,0)|0;Qv(T,d,S,c[p>>2]|0,k);c[e>>2]=T;Of(D);Zu(f,33528,m)|0;T=c[m>>2]|0;if(!((T|0)==5|(T|0)==6|(T|0)==9)){S=c[p>>2]|0;T=Pf(m)|0;c[q>>2]=S;c[r+4>>2]=T;Qe(-1,33544,r);Of(m);break}Zu(f,33600,x)|0;T=c[x>>2]|0;if(!((T|0)==9|(T|0)==5|(T|0)==8)){S=c[p>>2]|0;T=Pf(x)|0;c[l>>2]=S;c[z+4>>2]=T;Qe(-1,33608,z);c[A>>2]=0;c[B>>2]=0;c[x>>2]=5}Zu(f,33656,s)|0;T=c[s>>2]|0;if((T|0)==5|(T|0)==7){i=o;return}S=c[p>>2]|0;T=Pf(s)|0;c[t>>2]=S;c[u+4>>2]=T;Qe(-1,33664,u);c[v>>2]=0;c[w>>2]=0;c[s>>2]=5;i=o;return}else{S=c[p>>2]|0;T=Pf(C)|0;c[F>>2]=S;c[G+4>>2]=T;Qe(-1,33472,G);Of(C);c[H>>2]=0;c[I>>2]=0;c[C>>2]=5}}while(0);c[E>>2]=0;c[y>>2]=0;c[m>>2]=5;a[n]=0;i=o;return}function lg(a){a=a|0;var b=0,d=0;b=i;d=c[a+72>>2]|0;if((d|0)!=0){Rv(d);HW(d)}d=c[a+36>>2]|0;if((d|0)!=0){Of(d+176|0);Of(d+192|0);Of(d+208|0);Of(d+224|0);Of(d+240|0);Of(d+256|0);Of(d+272|0);HW(d)}Of(a+8|0);Of(a+40|0);Of(a+56|0);Of(a+96|0);Of(a+80|0);Of(a+112|0);i=b;return}function mg(a,b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=+d;e=+e;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0;t=i;v=i;i=i+16|0;u=v;c[v>>2]=13;w=u+8|0;c[w>>2]=0;c[w+4>>2]=0;if(!(td[c[(c[b>>2]|0)+56>>2]&1](b,a,d,e,f,g,h,j,k,l,m,n,o,p,q)|0)){i=t;return}f=ng(a,b,d,e,f,g,h,j,k,l,m,0,o,p,q,0,0)|0;Nf(a+56|0,c[a>>2]|0,u,0)|0;if((c[v>>2]|0)!=5){yx(f);vx(f,u,1);tx(f)}Of(u);v=FW(8)|0;w=c[a>>2]|0;bt(v,w,o,Nf(a+40|0,w,u,0)|0);Of(u);u=v+4|0;if((c[u>>2]|0)>0){if(uf(c[834]|0)|0){fb(33904)|0}a:do{if((c[u>>2]|0)>0){if((r|0)==0){r=0;while(1){w=c[(c[v>>2]|0)+(r<<2)>>2]|0;Gd[c[(c[w>>2]|0)+8>>2]&255](w,f,n);r=r+1|0;if((r|0)>=(c[u>>2]|0)){break a}}}else{a=0}do{if(Bd[r&255](c[(c[v>>2]|0)+(a<<2)>>2]|0,s)|0){w=c[(c[v>>2]|0)+(a<<2)>>2]|0;Gd[c[(c[w>>2]|0)+8>>2]&255](w,f,n)}a=a+1|0;}while((a|0)<(c[u>>2]|0))}}while(0);fd[c[(c[b>>2]|0)+68>>2]&511](b)}if((v|0)!=0){dt(v);HW(v)}if((f|0)==0){i=t;return}sx(f);HW(f);i=t;return}function ng(b,d,e,f,g,j,l,m,n,o,p,q,r,s,t,u,v){b=b|0;d=d|0;e=+e;f=+f;g=g|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;var w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0;v=i;w=i;i=i+8|0;x=i;i=i+32|0;z=x;A=i;i=i+32|0;y=A;u=i;i=i+8|0;B=i;i=i+32|0;q=B;a[u]=l&1;bX(B|0,0,32)|0;l=b+36|0;g=(c[(c[l>>2]|0)+168>>2]|0)+g|0;if((g|0)>359){g=g+ -360|0}else{g=(g|0)<0?g+360|0:g}og(b,e,f,g,j,jd[c[(c[d>>2]|0)+8>>2]&511](d)|0,+(m|0),+(n|0),+(o|0),+(p|0),q,u);n=c[l>>2]|0;o=n+32|0;if(uf(c[834]|0)|0){C=+h[n+8>>3];D=+h[n+16>>3];E=+h[n+24>>3];B=A;h[k>>3]=+h[n>>3];c[B>>2]=c[k>>2];c[B+4>>2]=c[k+4>>2];B=y+8|0;h[k>>3]=C;c[B>>2]=c[k>>2];c[B+4>>2]=c[k+4>>2];B=y+16|0;h[k>>3]=D;c[B>>2]=c[k>>2];c[B+4>>2]=c[k+4>>2];B=y+24|0;h[k>>3]=E;c[B>>2]=c[k>>2];c[B+4>>2]=c[k+4>>2];Kb(33728,y|0)|0;E=+h[n+40>>3];D=+h[n+48>>3];C=+h[n+56>>3];B=x;h[k>>3]=+h[o>>3];c[B>>2]=c[k>>2];c[B+4>>2]=c[k+4>>2];B=z+8|0;h[k>>3]=E;c[B>>2]=c[k>>2];c[B+4>>2]=c[k+4>>2];B=z+16|0;h[k>>3]=D;c[B>>2]=c[k>>2];c[B+4>>2]=c[k+4>>2];B=z+24|0;h[k>>3]=C;c[B>>2]=c[k>>2];c[B+4>>2]=c[k+4>>2];Kb(33768,z|0)|0;c[w>>2]=c[(c[l>>2]|0)+168>>2];Kb(33808,w|0)|0}n=FW(136)|0;m=c[b>>2]|0;b=c[b+32>>2]|0;l=c[l>>2]|0;if((c[l+272>>2]|0)!=7){l=0;B=a[u]|0;B=B&1;B=B<<24>>24!=0;B=B?o:0;rx(n,m,d,b,l,r,e,f,q,B,g,s,t);i=v;return n|0}l=c[l+280>>2]|0;B=a[u]|0;B=B&1;B=B<<24>>24!=0;B=B?o:0;rx(n,m,d,b,l,r,e,f,q,B,g,s,t);i=v;return n|0}function og(b,d,e,f,g,j,k,l,m,n,o,p){b=b|0;d=+d;e=+e;f=f|0;g=g|0;j=j|0;k=+k;l=+l;m=+m;n=+n;o=o|0;p=p|0;var q=0,r=0;q=i;r=c[b+36>>2]|0;b=r+32|0;if(m<0.0|n<0.0){if(g){$W(o|0,r|0,32)|0;i=q;return}else{$W(o|0,b|0,32)|0;a[p]=0;i=q;return}}g=g?r:b;d=72.0/d;e=72.0/e;if((f|0)==180){r=g+16|0;h[o>>3]=+h[r>>3]-(k+m)*d;h[o+16>>3]=+h[r>>3]-d*k;if(j){r=g+8|0;h[o+8>>3]=e*l+ +h[r>>3];h[o+24>>3]=(l+n)*e+ +h[r>>3];i=q;return}else{r=g+24|0;h[o+8>>3]=+h[r>>3]-(l+n)*e;h[o+24>>3]=+h[r>>3]-e*l;i=q;return}}else if((f|0)==270){if(j){r=g+16|0;h[o>>3]=+h[r>>3]-(l+n)*e;h[o+16>>3]=+h[r>>3]-e*l}else{h[o>>3]=e*l+ +h[g>>3];h[o+16>>3]=(l+n)*e+ +h[g>>3]}r=g+24|0;h[o+8>>3]=+h[r>>3]-(k+m)*d;h[o+24>>3]=+h[r>>3]-d*k;i=q;return}else if((f|0)==90){if(j){h[o>>3]=e*l+ +h[g>>3];h[o+16>>3]=(l+n)*e+ +h[g>>3]}else{r=g+16|0;h[o>>3]=+h[r>>3]-(l+n)*e;h[o+16>>3]=+h[r>>3]-e*l}r=g+8|0;h[o+8>>3]=d*k+ +h[r>>3];h[o+24>>3]=(k+m)*d+ +h[r>>3];i=q;return}else{h[o>>3]=d*k+ +h[g>>3];h[o+16>>3]=(k+m)*d+ +h[g>>3];if(j){r=g+24|0;h[o+8>>3]=+h[r>>3]-(l+n)*e;h[o+24>>3]=+h[r>>3]-e*l;i=q;return}else{r=g+8|0;h[o+8>>3]=e*l+ +h[r>>3];h[o+24>>3]=(l+n)*e+ +h[r>>3];i=q;return}}}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;h=i;i=i+8|0;f=i;i=i+8|0;k=i;i=i+8|0;j=k;m=i;i=i+16|0;d=m;c[m>>2]=13;g=d+8|0;c[g>>2]=0;c[g+4>>2]=0;l=c[b>>2]|0;if((l|0)!=7){c[k>>2]=l;c[j+4>>2]=7;Qe(0,34440,j);tc()}Yu(c[b+8>>2]|0,33928,d,0)|0;if((c[m>>2]|0)!=4){Qe(-1,33992,h);m=0;Of(d);i=e;return m|0}g=c[g>>2]|0;if((Qc(g|0,33936)|0)==0){m=FW(68)|0;rg(m,a,b);Of(d);i=e;return m|0}else{c[f>>2]=g;Qe(-1,33952,f);m=0;Of(d);i=e;return m|0}return 0}function qg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;e=i;i=i+8|0;if((b|0)==0&(d|0)==0){b=0}else{b=sd[c[(c[a>>2]|0)+8>>2]&127](a,b,d)|0}d=Bd[c[(c[a>>2]|0)+20>>2]&255](a,b)|0;if((b|0)!=0){hd[c[(c[a>>2]|0)+16>>2]&127](a,b)}if(d){g=1;i=f;return g|0}b=0;g=0;do{d=jd[c[(c[a>>2]|0)+12>>2]&511](a)|0;if((d|0)==0){break}g=Bd[c[(c[a>>2]|0)+20>>2]&255](a,d)|0;hd[c[(c[a>>2]|0)+16>>2]&127](a,d);b=b+1|0;}while((b|0)<3&(g^1));if(g){g=1;i=f;return g|0}Qe(-1,34056,e);g=0;i=f;return g|0}function rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0;g=i;Ia=i;i=i+8|0;x=i;i=i+8|0;t=x;r=i;i=i+8|0;s=r;A=i;i=i+8|0;B=A;F=i;i=i+8|0;E=F;I=i;i=i+8|0;H=I;Q=i;i=i+8|0;N=Q;S=i;i=i+8|0;T=S;da=i;i=i+8|0;ca=da;ka=i;i=i+8|0;ja=ka;ba=i;i=i+8|0;aa=ba;ha=i;i=i+8|0;ia=ha;oa=i;i=i+8|0;ma=oa;qa=i;i=i+8|0;va=qa;za=i;i=i+8|0;ya=za;Ba=i;i=i+8|0;Aa=Ba;Ga=i;i=i+8|0;Ja=Ga;Ma=i;i=i+8|0;Na=Ma;Qa=i;i=i+8|0;Oa=Qa;Sa=i;i=i+8|0;Ra=Sa;Ua=i;i=i+8|0;Ta=Ua;Wa=i;i=i+8|0;Va=Wa;fa=i;i=i+8|0;Xa=fa;Fa=i;i=i+16|0;h=Fa;Ha=i;i=i+16|0;j=Ha;Ca=i;i=i+16|0;k=Ca;J=i;i=i+16|0;l=J;G=i;i=i+16|0;m=G;M=i;i=i+16|0;f=M;w=i;i=i+16|0;n=w;v=i;i=i+16|0;q=v;ra=i;i=i+16|0;_=ra;sa=i;i=i+16|0;Y=sa;ta=i;i=i+16|0;W=ta;la=i;i=i+16|0;Z=la;na=i;i=i+16|0;V=na;ea=i;i=i+16|0;X=ea;R=i;i=i+16|0;P=R;La=b+4|0;c[La>>2]=d;c[b>>2]=34088;c[Fa>>2]=13;Ka=h+8|0;c[Ka>>2]=0;c[Ka+4>>2]=0;c[Ha>>2]=13;Ea=j+8|0;c[Ea>>2]=0;c[Ea+4>>2]=0;c[Ca>>2]=13;Da=k+8|0;c[Da>>2]=0;c[Da+4>>2]=0;c[J>>2]=13;K=l+8|0;c[K>>2]=0;c[K+4>>2]=0;c[G>>2]=13;D=m+8|0;c[D>>2]=0;c[D+4>>2]=0;c[M>>2]=13;O=f+8|0;c[O>>2]=0;Pa=O+4|0;c[Pa>>2]=0;c[w>>2]=13;z=n+8|0;c[z>>2]=0;c[z+4>>2]=0;c[v>>2]=13;u=q+8|0;c[u>>2]=0;c[u+4>>2]=0;c[ra>>2]=13;wa=_+8|0;c[wa>>2]=0;c[wa+4>>2]=0;c[sa>>2]=13;xa=Y+8|0;c[xa>>2]=0;c[xa+4>>2]=0;c[ta>>2]=13;ua=W+8|0;c[ua>>2]=0;c[ua+4>>2]=0;c[la>>2]=13;ga=Z+8|0;c[ga>>2]=0;c[ga+4>>2]=0;c[na>>2]=13;pa=V+8|0;c[pa>>2]=0;c[pa+4>>2]=0;c[ea>>2]=13;$=X+8|0;c[$>>2]=0;c[$+4>>2]=0;c[R>>2]=13;U=P+8|0;c[U>>2]=0;c[U+4>>2]=0;y=b+64|0;d=b+60|0;L=b+52|0;C=b+56|0;bX(L|0,0,13)|0;Ya=c[e>>2]|0;if((Ya|0)!=7){c[fa>>2]=Ya;c[Xa+4>>2]=7;Qe(0,34440,Xa);tc()}fa=e+8|0;Yu(c[fa>>2]|0,34144,h,0)|0;Xa=c[e>>2]|0;if((Xa|0)!=7){c[Wa>>2]=Xa;c[Va+4>>2]=7;Qe(0,34440,Va);tc()}Yu(c[fa>>2]|0,34152,j,0)|0;Va=c[e>>2]|0;if((Va|0)!=7){c[Ua>>2]=Va;c[Ta+4>>2]=7;Qe(0,34440,Ta);tc()}Yu(c[fa>>2]|0,34160,k,0)|0;Ta=c[e>>2]|0;if((Ta|0)!=7){c[Sa>>2]=Ta;c[Ra+4>>2]=7;Qe(0,34440,Ra);tc()}Yu(c[fa>>2]|0,34168,l,0)|0;Ra=c[e>>2]|0;if((Ra|0)!=7){c[Qa>>2]=Ra;c[Oa+4>>2]=7;Qe(0,34440,Oa);tc()}Yu(c[fa>>2]|0,34176,m,0)|0;Oa=c[e>>2]|0;if((Oa|0)!=7){c[Ma>>2]=Oa;c[Na+4>>2]=7;Qe(0,34440,Na);tc()}Yu(c[fa>>2]|0,34184,f,0)|0;if((c[M>>2]|0)==14){Ya=c[O>>2]|0;Of(f);c[Pa>>2]=0;c[M>>2]=1;c[O>>2]=Ya}Ma=c[(c[La>>2]|0)+28>>2]|0;La=c[Ma+40>>2]|0;if((La|0)!=7){c[Ga>>2]=La;c[Ja+4>>2]=7;Qe(0,34440,Ja);tc()}Yu(c[Ma+48>>2]|0,34192,n,0)|0;a:do{if((c[Fa>>2]|0)==1){if((c[Ha>>2]|0)!=1){o=85;break}if((c[J>>2]|0)!=3){o=85;break}if((c[(c[K>>2]|0)+24>>2]|0)!=32){o=85;break}if((c[G>>2]|0)!=3){o=85;break}if((c[(c[D>>2]|0)+24>>2]|0)!=32){o=85;break}if((c[M>>2]|0)!=1){o=85;break}Ha=c[Ka>>2]|0;Fa=b+36|0;c[Fa>>2]=Ha;Ia=c[Ea>>2]|0;Ea=b+40|0;c[Ea>>2]=Ia;Ga=b+48|0;c[Ga>>2]=0;do{if((Ia|0)==2){o=26}else{if((c[Ca>>2]|0)!=1){o=26;break}c[b+32>>2]=(c[Da>>2]|0)/8|0}}while(0);if((o|0)==26){c[b+32>>2]=5}Ca=b+44|0;a[Ca]=1;do{if((Ha|0)==4&(Ia|0)==4){Da=c[e>>2]|0;if((Da|0)!=7){c[Ba>>2]=Da;c[Aa+4>>2]=7;Qe(0,34440,Aa);tc()}Yu(c[fa>>2]|0,34200,_,0)|0;Aa=c[e>>2]|0;if((Aa|0)!=7){c[za>>2]=Aa;c[ya+4>>2]=7;Qe(0,34440,ya);tc()}Yu(c[fa>>2]|0,34208,Y,0)|0;ya=c[e>>2]|0;if((ya|0)!=7){c[qa>>2]=ya;c[va+4>>2]=7;Qe(0,34440,va);tc()}Yu(c[fa>>2]|0,34216,W,0)|0;do{if((c[ra>>2]|0)==7){if((c[sa>>2]|0)!=4){break}if((c[ta>>2]|0)!=4){break}qa=c[xa>>2]|0;if((Qc(qa|0,c[ua>>2]|0)|0)!=0){break}if((c[(Yu(c[wa>>2]|0,qa,Z,0)|0)>>2]|0)==7){qa=c[la>>2]|0;if((qa|0)!=7){c[oa>>2]=qa;c[ma+4>>2]=7;Qe(0,34440,ma);tc()}Yu(c[ga>>2]|0,34224,V,0)|0;do{if((c[na>>2]|0)==4){ma=c[pa>>2]|0;if((Qc(ma|0,34232)|0)==0){c[Fa>>2]=2;c[Ea>>2]=3;ca=c[la>>2]|0;if((ca|0)!=7){c[ha>>2]=ca;c[ia+4>>2]=7;Qe(0,34440,ia);tc()}do{if((c[(Yu(c[ga>>2]|0,34160,X,0)|0)>>2]|0)==1){ca=c[ea>>2]|0;if((ca|0)==1){c[b+32>>2]=c[$>>2];break}else{c[ba>>2]=ca;c[aa+4>>2]=1;Qe(0,34440,aa);tc()}}}while(0);Of(X);break}if((Qc(ma|0,34240)|0)!=0){break}c[Fa>>2]=2;c[Ea>>2]=3;c[Ga>>2]=1;aa=c[la>>2]|0;if((aa|0)!=7){c[ka>>2]=aa;c[ja+4>>2]=7;Qe(0,34440,ja);tc()}do{if((c[(Yu(c[ga>>2]|0,34160,X,0)|0)>>2]|0)==1){aa=c[ea>>2]|0;if((aa|0)==1){c[b+32>>2]=c[$>>2];break}else{c[da>>2]=aa;c[ca+4>>2]=1;Qe(0,34440,ca);tc()}}}while(0);Of(X)}}while(0);Of(V)}Of(Z)}}while(0);Of(W);Of(Y);Of(_);V=c[e>>2]|0;if((V|0)!=7){c[S>>2]=V;c[T+4>>2]=7;Qe(0,34440,T);tc()}do{if((c[(Yu(c[fa>>2]|0,34248,P,0)|0)>>2]|0)==0){R=c[R>>2]|0;if((R|0)==0){a[Ca]=a[U]&1;break}else{c[Q>>2]=R;c[N+4>>2]=0;Qe(0,34440,N);tc()}}}while(0);Of(P);M=c[M>>2]|0;if((M|0)==1){break}c[I>>2]=M;c[H+4>>2]=1;Qe(0,34440,H);tc()}}while(0);c[b+8>>2]=c[O>>2];H=c[J>>2]|0;if((H|0)!=3){c[F>>2]=H;c[E+4>>2]=3;Qe(0,34440,E);tc()}Ya=c[K>>2]|0;E=FW(32)|0;ie(E,Ya);c[L>>2]=E;E=c[G>>2]|0;if((E|0)!=3){c[A>>2]=E;c[B+4>>2]=3;Qe(0,34440,B);tc()}B=c[D>>2]|0;A=FW(32)|0;ie(A,B);c[C>>2]=A;A=c[Fa>>2]|0;B=c[Ea>>2]|0;do{if((A+ -1|0)>>>0<2){if((B+ -2|0)>>>0>=2){break}if((c[w>>2]|0)==6){do{if((c[(ut(c[z>>2]|0,0,q)|0)>>2]|0)==3){t=c[v>>2]|0;if((t|0)==3){Ya=c[u>>2]|0;p=FW(32)|0;ie(p,Ya);break}else{c[r>>2]=t;c[s+4>>2]=3;Qe(0,34440,s);tc()}}else{p=FW(32)|0;ee(p)}}while(0);c[d>>2]=p;Of(q)}else{Ya=FW(32)|0;ee(Ya);c[d>>2]=Ya}a[y]=1;break a}}while(0);c[x>>2]=A;c[t+4>>2]=B;Qe(-1,34264,t)}else{o=85}}while(0);if((o|0)==85){Qe(-1,34336,Ia)}o=b+32|0;if((c[o>>2]|0)<=16){Of(n);Of(f);Of(m);Of(l);Of(k);Of(j);Of(h);i=g;return}c[o>>2]=16;Of(n);Of(f);Of(m);Of(l);Of(k);Of(j);Of(h);i=g;return}function sg(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=34088;d=c[a+60>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+52>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+56>>2]|0;if((d|0)==0){HW(a);i=b;return}ke(d);HW(d);HW(a);i=b;return}function tg(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=34088;d=c[a+60>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+52>>2]|0;if((d|0)!=0){ke(d);HW(d)}a=c[a+56>>2]|0;if((a|0)==0){i=b;return}ke(a);HW(a);i=b;return}function ug(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;a=FW(8)|0;if((b|0)==0){b=0}else{f=FW(32)|0;ie(f,b);b=f}if((d|0)==0){d=0}else{f=FW(32)|0;ie(f,d);d=f}c[a>>2]=b;c[a+4>>2]=d;i=e;return a|0}function vg(a){a=a|0;i=i;return 0}function wg(a,b){a=a|0;b=b|0;var d=0;a=i;if((b|0)==0){i=a;return}d=c[b>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[b+4>>2]|0;if((d|0)!=0){ke(d);HW(d)}HW(b);i=a;return}function xg(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;if((a[b+64|0]&1)==0){d=0;i=e;return d|0}if((d|0)==0){f=0;d=0}else{f=c[d>>2]|0;d=c[d+4>>2]|0}d=Cu(c[b+36>>2]|0,c[b+40>>2]|0,c[b+32>>2]|0,c[b+52>>2]|0,c[b+56>>2]|0,c[b+8>>2]|0,c[b+60>>2]|0,f,d,b+13|0,(a[b+44|0]&1)!=0,b+12|0)|0;i=e;return d|0}function yg(a){a=a|0;i=i;return c[a+8>>2]|0}function zg(b){b=b|0;i=i;return(a[b+12|0]&1)!=0|0}function Ag(a){a=a|0;i=i;return a+13|0}function Bg(a){a=a|0;i=i;return c[a+32>>2]|0}function Cg(a){a=a|0;i=i;return c[a+36>>2]|0}function Dg(a){a=a|0;i=i;return c[a+40>>2]|0}function Eg(a){a=a|0;i=i;return c[a+48>>2]|0}function Fg(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function Gg(a){a=a|0;i=i;return}function Hg(b,d,e,f){b=b|0;d=+d;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;j=i;i=i+8|0;h=i;i=i+16|0;k=h;m=i;i=i+128|0;n=m;o=c[b+4>>2]|0;l=c[o+8>>2]|0;fB(o,d,n);if((a[b+12|0]&1)!=0){a[f]=(((c[m>>2]|0)*255|0)+32768|0)>>>16;a[f+1|0]=(((c[n+4>>2]|0)*255|0)+32768|0)>>>16;a[f+2|0]=(((c[n+8>>2]|0)*255|0)+32768|0)>>>16;i=g;return}switch(e|0){case 1:case 0:{Gd[c[(c[l>>2]|0)+16>>2]&255](l,n,j);l=0;k=0;h=(((c[j>>2]|0)*255|0)+32768|0)>>>16&255;break};case 2:case 3:case 4:{Gd[c[(c[l>>2]|0)+20>>2]&255](l,n,k);l=(((c[k+8>>2]|0)*255|0)+32768|0)>>>16&255;k=(((c[k+4>>2]|0)*255|0)+32768|0)>>>16&255;h=(((c[h>>2]|0)*255|0)+32768|0)>>>16&255;break};default:{l=0;k=0;h=0}}a[f]=h;a[f+1|0]=k;a[f+2|0]=l;i=g;return}function Ig(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function Jg(a){a=a|0;i=i;return}function Kg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0.0;g=i;k=i;i=i+8|0;m=k;j=i;i=i+16|0;l=j;o=i;i=i+128|0;n=o;s=i;i=i+8|0;r=i;i=i+8|0;Hy(b+8|0,+(d|0),+(e|0),s,r);q=+h[b+104>>3]*((+h[s>>3]- +h[b+56>>3])*+h[b+88>>3]+(+h[r>>3]- +h[b+64>>3])*+h[b+96>>3]);do{if(q<0.0){d=c[b+128>>2]|0;if((a[d+364|0]&1)==0){p=4;break}q=+h[b+112>>3]}else{p=4}}while(0);a:do{if((p|0)==4){do{if(q>1.0){d=c[b+128>>2]|0;if((a[d+365|0]&1)==0){break}q=+h[b+120>>3];break a}}while(0);if(q>=0.0&q<=1.0){t=+h[b+112>>3];d=c[b+128>>2]|0;q=t+q*(+h[b+120>>3]-t);break}else{s=0;i=g;return s|0}}}while(0);WA(d,q,n);n=b+132|0;$W((c[n>>2]|0)+124|0,o|0,128)|0;n=c[n>>2]|0;o=c[n+116>>2]|0;n=n+124|0;switch(c[b+136>>2]|0){case 2:case 3:case 4:{Gd[c[(c[o>>2]|0)+20>>2]&255](o,n,l);m=(((c[l+8>>2]|0)*255|0)+32768|0)>>>16&255;l=(((c[l+4>>2]|0)*255|0)+32768|0)>>>16&255;j=(((c[j>>2]|0)*255|0)+32768|0)>>>16&255;break};case 1:case 0:{Gd[c[(c[o>>2]|0)+16>>2]&255](o,n,m);m=0;l=0;j=(((c[k>>2]|0)*255|0)+32768|0)>>>16&255;break};default:{m=0;l=0;j=0}}a[f]=j;a[f+1|0]=l;a[f+2|0]=m;s=1;i=g;return s|0}function Lg(d,e,f,g,j,k,l,m,n,o,p,q){d=d|0;e=e|0;f=+f;g=+g;j=+j;k=+k;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0;r=i;s=i;i=i+8|0;u=e;t=c[u+4>>2]|0;e=d;c[e>>2]=c[u>>2];c[e+4>>2]=t;h[d+8>>3]=f;h[d+16>>3]=g;h[d+24>>3]=j;h[d+32>>3]=k;c[d+40>>2]=l;c[d+44>>2]=m;c[d+48>>2]=n;c[d+52>>2]=o;a[d+56|0]=p&1;if(q){m=da(o,n)|0;c[d+60>>2]=m}else{m=da(n+7>>3,o)|0;c[d+60>>2]=m}p=d+68|0;c[p>>2]=8;do{if((m|0)<257){c[d+64>>2]=8;e=8;l=8}else{if((m|0)<513){c[d+64>>2]=4;e=4;l=8;break}if((m|0)<1025){c[d+64>>2]=2;e=2;l=8;break}if((m|0)<2049){c[d+64>>2]=1;c[p>>2]=4;e=1;l=4;break}c[d+64>>2]=1;if((m|0)<4097){c[p>>2]=2;e=1;l=2;break}else{c[p>>2]=1;e=1;l=1;break}}}while(0);q=d+64|0;do{if((m|0)<(((10485760/(l>>>0)|0)>>>0)/(e>>>0)|0|0)){u=ze(da(e,l)|0,m)|0;c[d+72>>2]=u;if((u|0)==0){break}s=ye(da(c[p>>2]|0,c[q>>2]|0)|0,4)|0;d=d+76|0;c[d>>2]=s;m=c[p>>2]|0;if((da(m,c[q>>2]|0)|0)>0){l=0}else{i=r;return}while(1){b[s+(l<<2)+2>>1]=m+65535&l;l=l+1|0;m=c[p>>2]|0;if((l|0)>=(da(m,c[q>>2]|0)|0)){break}s=c[d>>2]|0}i=r;return}else{Qe(-1,34592,s);c[d+72>>2]=0}}while(0);c[d+76>>2]=0;i=r;return}function Mg(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0;k=i;c[b+104>>2]=0;c[b>>2]=34864;l=b+112|0;c[l>>2]=d;d=b+116|0;c[d>>2]=e;e=b+120|0;a[e]=h&1;a[b+121|0]=j&1;do{if(j){if(!(kf(c[834]|0)|0)){h=0;break}h=(c[l>>2]|0)!=0|0}else{h=0}}while(0);j=b+122|0;a[j]=h;a[b+123|0]=0;Ng(b,72.0,72.0);a[b+124|0]=f&1;h=(g|0)==0;f=b+125|0;if(h){a[f]=0;a[b+126|0]=0;a[b+127|0]=0}else{a[f]=a[g]|0;a[b+126|0]=a[g+1|0]|0;a[b+127|0]=a[g+2|0]|0}a[b+109|0]=h&1;c[b+176>>2]=0;g=FW(28)|0;h=c[l>>2]|0;Ke(g,1,1,c[d>>2]|0,h,(h|0)!=0,(a[e]&1)!=0);c[b+180>>2]=g;h=FW(192)|0;Jo(h,g,(a[j]&1)!=0,b+136|0);c[b+184>>2]=h;ep(h,f,0);c[b+188>>2]=0;c[b+240>>2]=0;a[b+108|0]=0;c[b+244>>2]=0;bX(b+224|0,0,13)|0;i=k;return}function Ng(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,j=0;e=i;g=a+136|0;f=a+140|0;c[f>>2]=nf(c[834]|0)|0;j=a+144|0;c[j>>2]=of(c[834]|0)|0;h[a+152>>3]=+pf(c[834]|0);h[a+160>>3]=+qf(c[834]|0);h[a+168>>3]=+rf(c[834]|0);a=mf(c[834]|0)|0;if((a|0)==2){c[g>>2]=1;if((c[f>>2]|0)>=0){i=e;return}c[f>>2]=10;i=e;return}else if((a|0)==1){c[g>>2]=0;if((c[f>>2]|0)>=0){i=e;return}c[f>>2]=4;i=e;return}else if((a|0)==3){c[g>>2]=2;if((c[f>>2]|0)<0){c[f>>2]=100}if((c[j>>2]|0)>=0){i=e;return}c[j>>2]=2;i=e;return}else{if(!(b>299.9&d>299.9)){c[g>>2]=0;if((c[f>>2]|0)>=0){i=e;return}c[f>>2]=4;i=e;return}c[g>>2]=2;if((c[f>>2]|0)<0){c[f>>2]=100}if((c[j>>2]|0)>=0){i=e;return}c[j>>2]=2;i=e;return}}function Og(a){a=a|0;var b=0;b=i;Pg(a);HW(a);i=b;return}function Pg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[a>>2]=34864;d=a+224|0;f=c[d>>2]|0;if((f|0)>0){e=0;do{g=c[a+192+(e<<2)>>2]|0;if((g|0)!=0){Fe(c[g+72>>2]|0);Fe(c[g+76>>2]|0);HW(g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0))}d=c[a+188>>2]|0;if((d|0)!=0){Np(d);HW(d)}d=c[a+184>>2]|0;if((d|0)!=0){Lo(d);HW(d)}a=c[a+180>>2]|0;if((a|0)==0){i=b;return}Le(a);HW(a);i=b;return}function Qg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;c[b+176>>2]=d;d=b+188|0;f=c[d>>2]|0;if((f|0)!=0){Np(f);HW(f)}f=FW(68)|0;g=hf(c[834]|0)|0;h=(a[b+123|0]&1)!=0;do{if((a[b+121|0]&1)==0){j=0}else{if(!(jf(c[834]|0)|0)){j=0;break}j=(c[b+112>>2]|0)!=0}}while(0);Mp(f,g,h,j);c[d>>2]=f;d=b+224|0;g=c[d>>2]|0;if((g|0)>0){f=0}else{j=d;c[j>>2]=0;i=e;return}do{h=c[b+192+(f<<2)>>2]|0;if((h|0)!=0){Fe(c[h+72>>2]|0);Fe(c[h+76>>2]|0);HW(h);g=c[d>>2]|0}f=f+1|0;}while((f|0)<(g|0));j=d;c[j>>2]=0;i=e;return}function Rg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=i;j=i;i=i+48|0;g=j;k=i;i=i+8|0;l=k;m=(e|0)!=0;if(m){Ng(b,+h[e>>3],+h[e+8>>3]);n=~~(+h[e+96>>3]+.5);o=~~(+h[e+104>>3]+.5);o=(o|0)<1?1:o;p=(n|0)<1?1:n}else{o=1;p=1}n=b+184|0;q=c[n>>2]|0;if((q|0)!=0){Lo(q);HW(q)}q=b+180|0;r=c[q>>2]|0;do{if((r|0)==0){f=9}else{if((p|0)==(c[r>>2]|0)){if((o|0)==(c[r+4>>2]|0)){break}}Le(r);HW(r);f=9}}while(0);if((f|0)==9){r=FW(28)|0;s=c[b+112>>2]|0;Ke(r,p,o,c[b+116>>2]|0,s,(s|0)!=0,(a[b+120|0]&1)!=0);c[q>>2]=r}o=FW(192)|0;Jo(o,r,(a[b+122|0]&1)!=0,b+136|0);c[n>>2]=o;if(m){h[j>>3]=+h[e+16>>3];h[g+8>>3]=+h[e+24>>3];h[g+16>>3]=+h[e+32>>3];h[g+24>>3]=+h[e+40>>3];h[g+32>>3]=+h[e+48>>3];h[g+40>>3]=+h[e+56>>3];Po(o,g)}switch(c[b+112>>2]|0){case 1:case 0:{a[k]=0;break};case 4:{a[l+3|0]=-1;f=16;break};case 3:case 2:{f=16;break};default:{}}if((f|0)==16){a[l+2|0]=0;a[l+1|0]=0;a[k]=0}s=c[n>>2]|0;r=FW(8)|0;tq(r,l);Qo(s,r);r=c[n>>2]|0;s=FW(8)|0;tq(s,l);Ro(r,s);Wo(c[n>>2]|0,0);Xo(c[n>>2]|0,0);_o(c[n>>2]|0,0,0,0.0);Yo(c[n>>2]|0,10.0);Zo(c[n>>2]|0,1.0);s=c[n>>2]|0;$o(s,lf(c[834]|0)|0);ep(c[n>>2]|0,b+125|0,0);i=d;return}function Sg(b){b=b|0;var d=0;d=i;if((c[b+112>>2]|0)==0){i=d;return}if((a[b+109|0]&1)!=0){i=d;return}Ap(c[b+184>>2]|0,b+125|0);i=d;return}function Tg(a,b){a=a|0;b=b|0;b=i;dp(c[a+184>>2]|0);i=b;return}function Ug(b,d){b=b|0;d=d|0;d=i;Mo(c[b+184>>2]|0)|0;a[b+236|0]=1;i=d;return}function Vg(b,d){b=b|0;d=d|0;var e=0;e=i;hd[c[(c[b>>2]|0)+96>>2]&127](b,d);hd[c[(c[b>>2]|0)+104>>2]&127](b,d);hd[c[(c[b>>2]|0)+108>>2]&127](b,d);hd[c[(c[b>>2]|0)+116>>2]&127](b,d);hd[c[(c[b>>2]|0)+100>>2]&127](b,d);hd[c[(c[b>>2]|0)+112>>2]&127](b,d);hd[c[(c[b>>2]|0)+120>>2]&127](b,d);hd[c[(c[b>>2]|0)+140>>2]&127](b,d);hd[c[(c[b>>2]|0)+144>>2]&127](b,d);a[b+236|0]=1;i=e;return}function Wg(a,b,d,e,f,g,j,k){a=a|0;b=b|0;d=+d;e=+e;f=+f;g=+g;j=+j;k=+k;var l=0,m=0,n=0;l=i;n=i;i=i+48|0;m=n;h[n>>3]=+h[b+16>>3];h[m+8>>3]=+h[b+24>>3];h[m+16>>3]=+h[b+32>>3];h[m+24>>3]=+h[b+40>>3];h[m+32>>3]=+h[b+48>>3];h[m+40>>3]=+h[b+56>>3];Po(c[a+184>>2]|0,m);i=l;return}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,j=0,k=0.0;f=i;e=i;i=i+160|0;d=c[b+440>>2]|0;j=c[b+444>>2]|0;g=+h[b+448>>3];j=(j|0)>20?20:j;if((j|0)>0){b=0}else{b=a+184|0;b=c[b>>2]|0;_o(b,e,j,g);i=f;return}do{k=+h[d+(b<<3)>>3];h[e+(b<<3)>>3]=k<0.0?0.0:k;b=b+1|0;}while((b|0)<(j|0));b=a+184|0;b=c[b>>2]|0;_o(b,e,j,g);i=f;return}function Yg(a,b){a=a|0;b=b|0;var d=0;d=i;Zo(c[a+184>>2]|0,+(c[b+456>>2]|0));i=d;return}function Zg(a,b){a=a|0;b=b|0;var d=0;d=i;Xo(c[a+184>>2]|0,c[b+460>>2]|0);i=d;return}function _g(a,b){a=a|0;b=b|0;var d=0;d=i;Wo(c[a+184>>2]|0,c[b+464>>2]|0);i=d;return}function $g(a,b){a=a|0;b=b|0;var d=0;d=i;Yo(c[a+184>>2]|0,+h[b+472>>3]);i=d;return}function ah(a,b){a=a|0;b=b|0;var d=0;d=i;Vo(c[a+184>>2]|0,+h[b+432>>3]);i=d;return}function bh(a,b){a=a|0;b=b|0;i=i;return}function ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;f=i;i=i+8|0;e=i;i=i+16|0;g=b+116|0;h=c[g>>2]|0;b=b+124|0;Gd[c[(c[h>>2]|0)+16>>2]&255](h,b,f);g=c[g>>2]|0;Gd[c[(c[g>>2]|0)+20>>2]&255](g,b,e);b=c[a+184>>2]|0;Ro(b,dh(a,c[f>>2]|0,e)|0);i=d;return}function dh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;f=i;i=i+8|0;g=f;if((a[b+124|0]&1)==0){k=c[e+8>>2]|0;j=c[e+4>>2]|0;e=c[e>>2]|0}else{d=65536-d|0;k=65536-(c[e+8>>2]|0)|0;j=65536-(c[e+4>>2]|0)|0;e=65536-(c[e>>2]|0)|0}switch(c[b+112>>2]|0){case 4:{a[g+3|0]=-1;break};case 1:case 0:{a[f]=((d*255|0)+32768|0)>>>16;d=FW(8)|0;tq(d,g);i=h;return d|0};case 3:case 2:{break};default:{d=0;i=h;return d|0}}a[f]=((e*255|0)+32768|0)>>>16;a[g+1|0]=((j*255|0)+32768|0)>>>16;a[g+2|0]=((k*255|0)+32768|0)>>>16;d=FW(8)|0;tq(d,g);i=h;return d|0}function eh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;f=i;i=i+8|0;e=i;i=i+16|0;g=b+120|0;h=c[g>>2]|0;b=b+252|0;Gd[c[(c[h>>2]|0)+16>>2]&255](h,b,f);g=c[g>>2]|0;Gd[c[(c[g>>2]|0)+20>>2]&255](g,b,e);b=c[a+184>>2]|0;Qo(b,dh(a,c[f>>2]|0,e)|0);i=d;return}function fh(a,b){a=a|0;b=b|0;var d=0;d=i;So(c[a+184>>2]|0,c[35280+(c[b+388>>2]<<2)>>2]|0);i=d;return}function gh(a,b){a=a|0;b=b|0;var d=0;d=i;Uo(c[a+184>>2]|0,+h[b+392>>3]);i=d;return}function hh(a,b){a=a|0;b=b|0;var d=0;d=i;To(c[a+184>>2]|0,+h[b+400>>3]);i=d;return}function ih(b,c){b=b|0;c=c|0;a[b+236|0]=1;i=i;return}function jh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0,S=0.0;e=i;q=i;i=i+8|0;p=q;u=i;i=i+8|0;v=u;E=i;i=i+8|0;D=E;y=i;i=i+8|0;F=y;s=i;i=i+8|0;r=s;z=i;i=i+8|0;A=z;C=i;i=i+8|0;x=C;B=i;i=i+8|0;w=B;J=i;i=i+8|0;o=J;H=i;i=i+8|0;L=H;g=i;i=i+32|0;j=g;t=i;i=i+8|0;G=t;a[b+236|0]=0;k=b+232|0;c[k>>2]=0;m=c[d+484>>2]|0;if((m|0)==0){i=e;return}n=c[m+40>>2]|0;if((n|0)==4){i=e;return}f=FW(12)|0;dq(f);c[f>>2]=35936;M=m+12|0;K=c[M+4>>2]|0;l=f+4|0;c[l>>2]=c[M>>2];c[l+4>>2]=K;l=b+188|0;K=Op(c[l>>2]|0,f)|0;a:do{if((K|0)==0){b:do{if((c[m+52>>2]|0)>-1){M=$x(m,c[b+176>>2]|0,L)|0;if((M|0)==0){n=0}else{o=0;J=0;K=0;L=n;I=17}}else{K=c[m+60>>2]|0;if((K|0)!=0){o=0;J=0;L=n;M=0;I=17;break}L=m+20|0;do{if((c[L>>2]|0)==0){g=35376}else{K=ff(c[834]|0,m)|0;if((K|0)==0){g=c[L>>2]|0;if((g|0)==0){g=35376;break}g=c[g+28>>2]|0;break}o=c[K+8>>2]|0;if((o|0)==0){K=c[K+12>>2]|0;M=jd[c[c[m>>2]>>2]&511](m)|0;o=1;J=0;L=M?7:1;M=0;I=17;break b}else if((o|0)==1){L=c[K+12>>2]|0;M=jd[c[c[m>>2]>>2]&511](m)|0;o=1;J=c[K+16>>2]|0;K=L;L=M?10:5;M=0;I=17;break b}else{o=1;J=0;K=0;L=n;M=0;I=17;break b}}}while(0);c[J>>2]=g;Qe(-1,35344,o);n=0}}while(0);c:do{if((I|0)==17){n=FW(24)|0;aq(n);I=(K|0)!=0;if(I){bq(n,K,0)}else{cq(n,M,c[H>>2]|0,1)}d:do{switch(L|0){case 8:case 7:{K=Sp(c[l>>2]|0,f,n)|0;if((K|0)!=0){break d}g=c[m+20>>2]|0;if((g|0)==0){g=35376}else{g=c[g+28>>2]|0}c[y>>2]=g;Qe(-1,35392,F);break c};case 9:{K=Tp(c[l>>2]|0,f,n)|0;if((K|0)!=0){break d}g=c[m+20>>2]|0;if((g|0)==0){g=35376}else{g=c[g+28>>2]|0}c[E>>2]=g;Qe(-1,35392,D);break c};case 11:case 10:{c[t>>2]=0;r=m+224|0;do{if((c[r>>2]|0)==0){if(I){r=Dn(c[K+28>>2]|0,0)|0}else{r=Cn(M,c[H>>2]|0,0)|0}if((r|0)!=0){M=ty(m,r,G)|0;fd[c[(c[r>>2]|0)+4>>2]&511](r);r=M;break}g=c[m+20>>2]|0;if((g|0)==0){g=35376}else{g=c[g+28>>2]|0}c[u>>2]=g;Qe(-1,35392,v);break c}else{s=c[m+228>>2]|0;c[t>>2]=s;if((s|0)==0){r=0;break}M=ye(s,2)|0;$W(M|0,c[r>>2]|0,c[t>>2]<<1|0)|0;r=M}}while(0);K=Up(c[l>>2]|0,f,n,r,c[t>>2]|0,J)|0;if((K|0)!=0){break d}g=c[m+20>>2]|0;if((g|0)==0){g=35376}else{g=c[g+28>>2]|0}c[q>>2]=g;Qe(-1,35392,p);break c};case 6:case 5:{if(I){p=Dn(c[K+28>>2]|0,0)|0}else{p=Cn(M,c[H>>2]|0,0)|0}if((p|0)==0){c[t>>2]=0;p=0;q=0}else{q=hy(m,p)|0;c[t>>2]=256;fd[c[(c[p>>2]|0)+4>>2]&511](p);p=c[t>>2]|0}K=Up(c[l>>2]|0,f,n,q,p,0)|0;if((K|0)!=0){break d}g=c[m+20>>2]|0;if((g|0)==0){g=35376}else{g=c[g+28>>2]|0}c[s>>2]=g;Qe(-1,35392,r);break c};case 2:{K=Qp(c[l>>2]|0,f,n,m+176|0)|0;if((K|0)!=0){break d}g=c[m+20>>2]|0;if((g|0)==0){g=35376}else{g=c[g+28>>2]|0}c[C>>2]=g;Qe(-1,35392,x);break c};case 3:{K=Rp(c[l>>2]|0,f,n,m+176|0)|0;if((K|0)!=0){break d}g=c[m+20>>2]|0;if((g|0)==0){g=35376}else{g=c[g+28>>2]|0}c[z>>2]=g;Qe(-1,35392,A);break c};case 1:{K=Pp(c[l>>2]|0,f,n,m+176|0)|0;if((K|0)!=0){break d}g=c[m+20>>2]|0;if((g|0)==0){g=35376}else{g=c[g+28>>2]|0}c[B>>2]=g;Qe(-1,35392,w);break c};default:{break c}}}while(0);a[K+4|0]=o;break a}}while(0);if((f|0)!=0){fd[c[(c[f>>2]|0)+4>>2]&511](f)}if((n|0)==0){i=e;return}if((a[n]&1)!=0){i=e;return}Zp(n);i=e;return}else{if((f|0)==0){n=0;break}fd[c[(c[f>>2]|0)+4>>2]&511](f);n=0}}while(0);Q=+h[d+488>>3];P=+h[d+560>>3];O=Q*+h[d+496>>3]*P;P=P*Q*+h[d+504>>3];N=Q*+h[d+512>>3];Q=Q*+h[d+520>>3];h[g>>3]=O;o=j+8|0;h[o>>3]=P;d=j+16|0;h[d>>3]=N;f=j+24|0;h[f>>3]=Q;M=c[l>>2]|0;b=b+184|0;c[k>>2]=Vp(M,K,j,No(c[b>>2]|0)|0)|0;e:do{if((a[K+4|0]&1)!=0){if(jd[c[c[m>>2]>>2]&511](m)|0){break}p=0;f:while(1){q=c[m+176+(p<<2)>>2]|0;do{if((q|0)!=0){if((a[q]|0)!=109){break}if((a[q+1|0]|0)==0){break f}}}while(0);p=p+1|0;if(p>>>0>=256){break e}}R=+h[m+1464+((p&255)<<3)>>3];M=c[k>>2]|0;S=+Dd[c[(c[M>>2]|0)+20>>2]&3](M,p);if(!((c[m+44>>2]&4|0)==0&S>0.0&R>.01&R<S*.9)){break}S=R/S;h[g>>3]=O*S;h[o>>3]=P;h[d>>3]=N*S;h[f>>3]=Q;M=c[l>>2]|0;c[k>>2]=Vp(M,K,j,No(c[b>>2]|0)|0)|0}}while(0);if((n|0)==0){i=e;return}if((a[n]&1)!=0){i=e;return}Zp(n);i=e;return}function kh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[b+120>>2]|0;if(jd[c[(c[e>>2]|0)+56>>2]&511](e)|0){i=d;return}b=lh(0,0,c[b+588>>2]|0)|0;fp(c[a+184>>2]|0,b)|0;if((b|0)==0){i=d;return}hq(b);HW(b);i=d;return}function lh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0;b=i;f=FW(32)|0;gq(f);d=e+28|0;if((c[d>>2]|0)<=0){i=b;return f|0}k=e+24|0;j=0;do{l=c[(c[k>>2]|0)+(j<<2)>>2]|0;e=l+12|0;do{if((c[e>>2]|0)>0){g=l+4|0;jq(f,+h[c[l>>2]>>3],+h[c[g>>2]>>3])|0;if((c[e>>2]|0)>1){m=l+8|0;p=1;do{o=c[l>>2]|0;r=+h[o+(p<<3)>>3];n=c[g>>2]|0;q=+h[n+(p<<3)>>3];if((a[(c[m>>2]|0)+p|0]&1)==0){kq(f,r,q)|0;p=p+1|0}else{t=p+1|0;s=p+2|0;lq(f,r,q,+h[o+(t<<3)>>3],+h[n+(t<<3)>>3],+h[o+(s<<3)>>3],+h[n+(s<<3)>>3])|0;p=p+3|0}}while((p|0)<(c[e>>2]|0))}if((a[l+20|0]&1)==0){break}mq(f)|0}}while(0);j=j+1|0;}while((j|0)<(c[d>>2]|0));i=b;return f|0}function mh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[b+116>>2]|0;if(jd[c[(c[e>>2]|0)+56>>2]&511](e)|0){i=d;return}b=lh(0,0,c[b+588>>2]|0)|0;op(c[a+184>>2]|0,b,0)|0;if((b|0)==0){i=d;return}hq(b);HW(b);i=d;return}function nh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[b+116>>2]|0;if(jd[c[(c[e>>2]|0)+56>>2]&511](e)|0){i=d;return}b=lh(0,0,c[b+588>>2]|0)|0;op(c[a+184>>2]|0,b,1)|0;if((b|0)==0){i=d;return}hq(b);HW(b);i=d;return}function oh(a,b){a=a|0;b=b|0;var d=0;d=i;b=lh(0,0,c[b+588>>2]|0)|0;ap(c[a+184>>2]|0,b,0)|0;if((b|0)==0){i=d;return}hq(b);HW(b);i=d;return}function ph(a,b){a=a|0;b=b|0;var d=0;d=i;b=lh(0,0,c[b+588>>2]|0)|0;ap(c[a+184>>2]|0,b,1)|0;if((b|0)==0){i=d;return}hq(b);HW(b);i=d;return}function qh(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;b=lh(0,0,c[b+588>>2]|0)|0;e=a+184|0;a=lp(c[e>>2]|0,b,1)|0;if((b|0)!=0){hq(b);HW(b)}ap(c[e>>2]|0,a,0)|0;if((a|0)==0){i=d;return}hq(a);HW(a);i=d;return}function rh(b,d,e,f,g,h,j,k,l,m,n,o){b=b|0;d=d|0;e=+e;f=+f;g=+g;h=+h;j=+j;k=+k;l=l|0;m=m|0;n=n|0;o=o|0;var p=0;m=i;n=c[d+584>>2]|0;if((n|0)==3){i=m;return}if((a[b+236|0]&1)!=0){jh(b,d)}o=b+232|0;if((c[o>>2]|0)==0){i=m;return}e=e-j;f=f-k;do{if((n&1|0)==0){if((a[b+108|0]&1)!=0){break}p=c[d+116>>2]|0;if(jd[c[(c[p>>2]|0)+56>>2]&511](p)|0){break}qp(c[b+184>>2]|0,e,f,l,c[o>>2]|0)|0}}while(0);do{if(((n&3)+ -1|0)>>>0<2){p=c[d+120>>2]|0;if(jd[c[(c[p>>2]|0)+56>>2]&511](p)|0){break}d=c[o>>2]|0;d=Bd[c[(c[d>>2]|0)+16>>2]&255](d,l)|0;if((d|0)==0){break}oq(d,e,f);fp(c[b+184>>2]|0,d)|0;hq(d);HW(d)}}while(0);do{if((a[b+108|0]&1)==0){if((n&4|0)!=0){break}i=m;return}}while(0);p=c[o>>2]|0;l=Bd[c[(c[p>>2]|0)+16>>2]&255](p,l)|0;if((l|0)==0){i=m;return}oq(l,e,f);b=b+240|0;d=c[b>>2]|0;if((d|0)==0){c[b>>2]=l;i=m;return}else{iq(d,l);hq(l);HW(l);i=m;return}}function sh(d,f,g,j,k,l,m,n,o){d=d|0;f=f|0;g=+g;j=+j;k=+k;l=+l;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0,O=0,P=0.0,Q=0,S=0;n=i;p=i;i=i+32|0;o=p;r=c[f+484>>2]|0;if((r|0)==0){S=0;i=n;return S|0}q=r+12|0;x=f+16|0;z=+h[x>>3];y=f+32|0;k=+h[y>>3];v=f+48|0;l=+h[v>>3]+(z*0.0+k*0.0);t=f+24|0;g=+h[t>>3];u=f+40|0;w=+h[u>>3];f=f+56|0;j=+h[f>>3]+(g*0.0+w*0.0);B=d+224|0;N=c[B>>2]|0;a:do{if((N|0)>0){O=c[d+192>>2]|0;do{if((c[O>>2]|0)==(c[q>>2]|0)){if((c[O+4>>2]|0)!=(c[r+16>>2]|0)){break}if(+h[O+8>>3]!=z){break}if(+h[O+16>>3]!=g){break}if(+h[O+24>>3]!=k){break}if(+h[O+32>>3]==w){break a}}}while(0);if((N|0)<=1){O=1;s=22;break}S=c[q>>2]|0;Q=r+16|0;s=1;b:while(1){O=c[d+192+(s<<2)>>2]|0;do{if((c[O>>2]|0)==(S|0)){if((c[O+4>>2]|0)!=(c[Q>>2]|0)){break}if(+h[O+8>>3]!=z){break}if(+h[O+16>>3]!=g){break}if(+h[O+24>>3]!=k){break}if(+h[O+32>>3]==w){break b}}}while(0);s=s+1|0;if((s|0)>=(N|0)){O=s;s=22;break a}}if((s|0)>0){Q=s;while(1){N=Q+ -1|0;c[d+192+(Q<<2)>>2]=c[d+192+(N<<2)>>2];if((N|0)>0){Q=N}else{break}}N=c[B>>2]|0}c[d+192>>2]=O;O=s;s=22}else{O=1;s=22}}while(0);do{if((s|0)==22){if((O|0)<(N|0)){O=c[d+192>>2]|0;break}if((N|0)==8){O=c[d+220>>2]|0;if((O|0)!=0){Fe(c[O+72>>2]|0);Fe(c[O+76>>2]|0);HW(O);N=c[B>>2]|0}N=N+ -1|0;c[B>>2]=N}if((N|0)>0){while(1){O=N+ -1|0;c[d+192+(N<<2)>>2]=c[d+192+(O<<2)>>2];if((O|0)>0){N=O}else{break}}N=c[B>>2]|0}c[B>>2]=N+1;z=+h[r+112>>3];C=+h[r+120>>3];do{if(z==0.0&C==0.0){if(+h[r+128>>3]!=0.0){s=35;break}if(+h[r+136>>3]!=0.0){s=35;break}J=l+-5.0;G=j+15.0;z=+h[u>>3];k=+h[y>>3];w=+h[t>>3];g=+h[x>>3];r=0;H=J+30.0;F=G;G=G+-45.0}else{s=35}}while(0);do{if((s|0)==35){g=+h[x>>3];J=z*g;k=+h[y>>3];G=C*k;A=+h[v>>3];F=A+(J+G);w=+h[t>>3];M=z*w;z=+h[u>>3];I=C*z;D=+h[f>>3];K=D+(M+I);C=+h[r+136>>3];E=k*C;J=A+(J+E);C=z*C;M=D+(M+C);do{if(J<F){H=F}else{if(J<=F){H=F;J=F;break}H=J;J=F}}while(0);do{if(M<K){F=K}else{if(M<=K){F=K;M=K;break}F=M;M=K}}while(0);K=+h[r+128>>3];L=K*g;P=A+(L+G);K=K*w;G=D+(K+I);do{if(P<J){J=P}else{if(P<=H){break}H=P}}while(0);do{if(G>=M){if(G<=F){G=M;break}F=G;G=M}}while(0);E=A+(L+E);A=D+(K+C);do{if(E<J){J=E}else{if(E<=H){break}H=E}}while(0);if(A<G){r=1;G=A;break}if(A<=F){r=1;break}r=1;F=A}}while(0);O=FW(80)|0;B=~~+R(+(J-l));N=~~+R(+(G-j));Q=~~+ca(+H)+3-~~+R(+J)|0;S=~~+ca(+F)+3-~~+R(+G)|0;Lg(O,q,g,w,k,z,B,N,Q,S,r,(c[d+112>>2]|0)!=0);c[d+192>>2]=O}}while(0);q=c[O+68>>2]|0;r=da((c[O+64>>2]|0)+ -1&m,q)|0;c:do{if((q|0)>0){t=c[O+76>>2]|0;if((t|0)==0){o=0;while(1){o=o+1|0;if((o|0)>=(q|0)){break c}}}else{s=0}while(1){f=s+r|0;if((b[t+(f<<2)+2>>1]|0)<0){if((e[t+(f<<2)>>1]|0)==(m|0)){break}}s=s+1|0;if((s|0)>=(q|0)){break c}}S=(c[O+72>>2]|0)+(da(c[O+60>>2]|0,f)|0)|0;c[p>>2]=0-(c[O+40>>2]|0);c[o+4>>2]=0-(c[O+44>>2]|0);c[o+8>>2]=c[O+48>>2];c[o+12>>2]=c[O+52>>2];a[o+16|0]=(c[d+112>>2]|0)!=0|0;c[o+20>>2]=S;a[o+24|0]=0;sp(c[d+184>>2]|0,0.0,0.0,o);S=1;i=n;return S|0}}while(0);S=FW(48)|0;bX(S|0,0,48)|0;Q=d+228|0;c[S+40>>2]=c[Q>>2];c[Q>>2]=S;b[S>>1]=m;c[S+4>>2]=O;c[S+8>>2]=0;c[S+12>>2]=0;S=0;i=n;return S|0}function th(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;f=i;j=i;i=i+32|0;k=j;e=b+228|0;l=c[e>>2]|0;if((c[l+8>>2]|0)!=0){g=b+180|0;$W(c[l+12>>2]|0,c[(c[g>>2]|0)+20>>2]|0,c[(c[l+4>>2]|0)+60>>2]|0)|0;l=c[g>>2]|0;if((l|0)!=0){Le(l);HW(l)}l=b+184|0;m=c[l>>2]|0;if((m|0)!=0){Lo(m);HW(m)}m=c[e>>2]|0;c[g>>2]=c[m+16>>2];c[l>>2]=c[m+20>>2];IB(d,+h[d+16>>3],+h[d+24>>3],+h[d+32>>3],+h[d+40>>3],+h[m+24>>3],+h[m+32>>3]);Ed[c[(c[b>>2]|0)+92>>2]&3](b,d,0.0,0.0,0.0,0.0,0.0,0.0);m=c[e>>2]|0;d=c[m+4>>2]|0;m=c[m+12>>2]|0;c[j>>2]=0-(c[d+40>>2]|0);c[k+4>>2]=0-(c[d+44>>2]|0);c[k+8>>2]=c[d+48>>2];c[k+12>>2]=c[d+52>>2];a[k+16|0]=(c[b+112>>2]|0)!=0|0;c[k+20>>2]=m;a[k+24|0]=0;sp(c[l>>2]|0,0.0,0.0,k);l=c[e>>2]|0}c[e>>2]=c[l+40>>2];if((l|0)==0){i=f;return}HW(l);i=f;return}function uh(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;i=i;return}function vh(d,f,g,j,k,l,m,n){d=d|0;f=f|0;g=+g;j=+j;k=+k;l=+l;m=+m;n=+n;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0.0;r=i;A=i;i=i+8|0;t=i;i=i+8|0;u=i;i=i+8|0;s=i;i=i+8|0;p=i;i=i+8|0;q=p;o=d+228|0;y=c[o>>2]|0;if((y|0)==0){Qe(-1,35424,s);i=r;return}if((c[y+16>>2]|0)!=0){Qe(-1,35480,u);i=r;return}if((c[y+20>>2]|0)!=0){Qe(-1,35552,t);i=r;return}z=c[y+4>>2]|0;v=f+16|0;L=+h[v>>3];t=f+32|0;W=+h[t>>3];w=f+48|0;E=+h[w>>3];j=E+(L*0.0+W*0.0);u=f+24|0;H=+h[u>>3];s=f+40|0;J=+h[s>>3];x=f+56|0;D=+h[x>>3];g=D+(H*0.0+J*0.0);M=L*k;K=W*l;I=E+(M+K);N=H*k;k=J*l;O=D+(N+k);l=W*n;M=E+(M+l);n=J*n;N=D+(N+n);do{if(M<I){J=I}else{if(M<=I){J=I;M=I;break}J=M;M=I}}while(0);do{if(N<O){I=O}else{if(N<=O){I=O;N=O;break}I=N;N=O}}while(0);L=L*m;K=E+(L+K);m=H*m;H=D+(m+k);do{if(K<M){M=K}else{if(K<=J){break}J=K}}while(0);do{if(H<N){N=H}else{if(H<=I){break}I=H}}while(0);E=E+(L+l);D=D+(m+n);do{if(E<M){M=E}else{if(E<=J){break}J=E}}while(0);do{if(D<N){N=D}else{if(D<=I){break}I=D}}while(0);B=z+40|0;G=c[B>>2]|0;do{if(M-j>=+(G|0)){C=z+44|0;P=c[C>>2]|0;if(N-g<+(P|0)){break}F=z+48|0;if(J-j>+((c[F>>2]|0)+G|0)){break}G=z+52|0;if(I-g>+((c[G>>2]|0)+P|0)){break}Q=z+76|0;R=c[Q>>2]|0;if((R|0)==0){i=r;return}P=z+68|0;S=c[P>>2]|0;A=da((c[z+64>>2]|0)+65535&(e[y>>1]|0),S)|0;if((S|0)>0){y=z+72|0;z=z+60|0;U=0;while(1){T=U+A|0;R=R+(T<<2)+2|0;V=b[R>>1]|0;if((V&32767|0)==(S+ -1|0)){b[R>>1]=-32768;b[(c[Q>>2]|0)+(T<<2)>>1]=b[c[o>>2]>>1]|0;c[(c[o>>2]|0)+8>>2]=(c[Q>>2]|0)+(T<<2);V=(c[y>>2]|0)+(da(c[z>>2]|0,T)|0)|0;c[(c[o>>2]|0)+12>>2]=V}else{b[R>>1]=V+1<<16>>16}U=U+1|0;S=c[P>>2]|0;if((U|0)>=(S|0)){break}R=c[Q>>2]|0}y=c[o>>2]|0}z=d+180|0;c[y+16>>2]=c[z>>2];y=d+184|0;c[(c[o>>2]|0)+20>>2]=c[y>>2];h[(c[o>>2]|0)+24>>3]=+h[w>>3];h[(c[o>>2]|0)+32>>3]=+h[x>>3];V=(c[d+112>>2]|0)==0;w=FW(28)|0;x=c[F>>2]|0;A=c[G>>2]|0;if(V){Ke(w,x,A,1,0,0,1);c[z>>2]=w;V=FW(192)|0;Ko(V,w,0,Oo(c[(c[o>>2]|0)+20>>2]|0)|0);c[y>>2]=V;a[p]=0;ep(V,q,0);a[p]=1}else{Ke(w,x,A,1,1,0,1);c[z>>2]=w;V=FW(192)|0;U=(a[d+122|0]&1)!=0;Ko(V,w,U,Oo(c[(c[o>>2]|0)+20>>2]|0)|0);c[y>>2]=V;a[p]=0;ep(V,q,0);a[p]=-1}V=c[y>>2]|0;U=FW(8)|0;tq(U,q);Ro(V,U);U=c[y>>2]|0;V=FW(8)|0;tq(V,q);Qo(U,V);IB(f,+h[v>>3],+h[u>>3],+h[t>>3],+h[s>>3],+(0-(c[B>>2]|0)|0),+(0-(c[C>>2]|0)|0));Ed[c[(c[d>>2]|0)+92>>2]&3](d,f,0.0,0.0,0.0,0.0,0.0,0.0);i=r;return}}while(0);if((a[z+56|0]&1)==0){i=r;return}Qe(-1,35624,A);i=r;return}function wh(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;if((c[d+584>>2]&4|0)!=0){i=e;return}f=c[d+116>>2]|0;if((jd[c[(c[f>>2]|0)+12>>2]&511](f)|0)!=10){i=e;return}a[b+108|0]=1;hd[c[(c[b>>2]|0)+80>>2]&127](b,d);i=e;return}function xh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=b+108|0;do{if((a[f]&1)!=0){a[f]=0;g=c[d+116>>2]|0;if((jd[c[(c[g>>2]|0)+12>>2]&511](g)|0)==10){break}f=b+240|0;g=c[f>>2]|0;if((g|0)!=0){op(c[b+184>>2]|0,g,1)|0;g=c[f>>2]|0;if((g|0)!=0){hq(g);HW(g)}c[f>>2]=0}hd[c[(c[b>>2]|0)+84>>2]&127](b,d);hd[c[(c[b>>2]|0)+140>>2]&127](b,d)}}while(0);d=b+240|0;f=c[d>>2]|0;if((f|0)==0){i=e;return}ap(c[b+184>>2]|0,f,0)|0;b=c[d>>2]|0;if((b|0)!=0){hq(b);HW(b)}c[d>>2]=0;i=e;return}function yh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;e=b+16|0;if((c[e>>2]|0)==(c[b+12>>2]|0)){j=0;i=g;return j|0}h=Bj(c[b>>2]|0)|0;f=b+8|0;if((c[f>>2]|0)>0){b=b+4|0;j=0;while(1){a[d]=a[b]&1^a[h];j=j+1|0;if((j|0)<(c[f>>2]|0)){d=d+1|0;h=h+1|0}else{break}}}c[e>>2]=(c[e>>2]|0)+1;j=1;i=g;return j|0}function zh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;h=i;i=i+32|0;f=h;$W(h|0,35664,32)|0;h=c[(c[b+180>>2]|0)+24>>2]|0;e=b+248|0;k=c[e>>2]|0;j=c[k+20>>2]|0;if((da(c[k+4>>2]|0,c[k+12>>2]|0)|0)>0){l=0;while(1){a[h+l|0]=a[j+l|0]|0;l=l+1|0;k=c[e>>2]|0;if((l|0)<(da(c[k+4>>2]|0,c[k+12>>2]|0)|0)){}else{break}}}if((k|0)!=0){Le(k);HW(k)}c[e>>2]=0;hd[c[(c[b>>2]|0)+384>>2]&127](b,d);Gd[c[(c[b>>2]|0)+388>>2]&255](b,d,f);i=g;return}function Ah(b,d,e,f,g,j,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;e=i;u=i;i=i+48|0;r=u;p=i;i=i+24|0;s=p;m=i;i=i+8|0;q=m;t=d+116|0;w=c[t>>2]|0;if(jd[c[(c[w>>2]|0)+56>>2]&511](w)|0){i=e;return}v=d+16|0;w=0;do{h[k>>3]=+h[d+16+(w<<3)>>3];x=c[k+4>>2]&2146435072;w=w+1|0;if(!(x>>>0<2146435072|(x|0)==2146435072&(c[k>>2]&0)>>>0<0)){o=14;break}}while((w|0)<6);if((o|0)==14){i=e;return}h[u>>3]=+h[v>>3];h[r+8>>3]=+h[d+24>>3];z=+h[d+32>>3];h[r+16>>3]=-0.0-z;y=+h[d+40>>3];h[r+24>>3]=-0.0-y;h[r+32>>3]=z+ +h[d+48>>3];h[r+40>>3]=y+ +h[d+56>>3];d=FW(28)|0;yj(d,f,g,1,1);c[p>>2]=d;Aj(d);a[s+4|0]=l&1^1;c[s+8>>2]=g;c[s+12>>2]=j;d=s+16|0;c[d>>2]=0;x=c[t>>2]|0;do{if((jd[c[(c[x>>2]|0)+12>>2]&511](x)|0)==10){w=FW(32)|0;bX(w|0,0,24)|0;c[w>>2]=0;c[w+4>>2]=0;c[w+12>>2]=0;a[w+16|0]=0;n=b+244|0;c[w+28>>2]=c[n>>2];c[n>>2]=w;n=b+180|0;l=c[n>>2]|0;v=w+20|0;c[v>>2]=l;u=b+184|0;t=w+24|0;c[t>>2]=c[u>>2];d=FW(28)|0;Ke(d,c[l>>2]|0,c[l+4>>2]|0,c[b+116>>2]|0,c[b+112>>2]|0,1,(a[b+120|0]&1)!=0);c[n>>2]=d;l=FW(192)|0;x=b+122|0;o=(a[x]&1)!=0;Ko(l,d,o,Oo(c[t>>2]|0)|0);c[u>>2]=l;t=c[n>>2]|0;Cp(l,c[v>>2]|0,0,0,0,0,c[t>>2]|0,c[t+4>>2]|0)|0;cp(c[u>>2]|0,c[v>>2]|0,0,0);n=c[n>>2]|0;c[w+8>>2]=n;w=FW(28)|0;Ke(w,c[n>>2]|0,c[n+4>>2]|0,1,1,0,1);c[b+248>>2]=w;n=FW(192)|0;Jo(n,w,(a[x]&1)!=0,0);a[m]=0;ep(n,q,0);a[m]=-1;x=FW(8)|0;tq(x,q);Ro(n,x);wp(n,182,s,g,j,r,(c[b+228>>2]|0)!=0)|0;if((n|0)==0){break}Lo(n);HW(n)}else{wp(c[b+184>>2]|0,182,s,g,j,r,(c[b+228>>2]|0)!=0)|0;if(!n){break}if((c[d>>2]|0)>=(j|0)){break}do{Bj(c[p>>2]|0)|0;x=(c[d>>2]|0)+1|0;c[d>>2]=x;}while((x|0)<(j|0))}}while(0);b=c[p>>2]|0;if((b|0)!=0){zj(b);HW(b)}fd[c[(c[f>>2]|0)+16>>2]&511](f);i=e;return}function Bh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;p=i;i=i+8|0;o=p;n=i;i=i+16|0;m=n;g=b+28|0;if((c[g>>2]|0)==(c[b+24>>2]|0)){r=0;i=f;return r|0}h=b+4|0;q=c[h>>2]|0;k=c[q+8>>2]|0;l=b+8|0;j=b+16|0;r=c[j>>2]|0;a:do{if((c[l>>2]|0)==0){switch(r|0){case 3:case 2:case 4:{break};case 1:case 0:{l=Bj(c[b>>2]|0)|0;j=b+20|0;if((c[j>>2]|0)>0){m=0}else{break a}while(1){oB(c[h>>2]|0,l,o);a[e]=(((c[p>>2]|0)*255|0)+32768|0)>>>16;m=m+1|0;if((m|0)<(c[j>>2]|0)){e=e+1|0;l=l+k|0}else{break a}}break};default:{break a}}o=q+12|0;l=c[o>>2]|0;do{if((l|0)==0){l=18}else{if(jd[c[(c[l>>2]|0)+36>>2]&511](l)|0){p=Bj(c[b>>2]|0)|0;l=24;break}if((c[o>>2]|0)==0){l=18;break}p=Bj(c[b>>2]|0)|0;l=19}}while(0);if((l|0)==18){r=c[q>>2]|0;r=jd[c[(c[r>>2]|0)+36>>2]&511](r)|0;p=Bj(c[b>>2]|0)|0;if(r){l=24}else{l=19}}if((l|0)==19){o=b+20|0;if((c[o>>2]|0)<=0){break}b=m+4|0;l=m+8|0;q=0;while(1){pB(c[h>>2]|0,p,m);a[e]=(((c[n>>2]|0)*255|0)+32768|0)>>>16;a[e+1|0]=(((c[b>>2]|0)*255|0)+32768|0)>>>16;r=e+3|0;a[e+2|0]=(((c[l>>2]|0)*255|0)+32768|0)>>>16;if((c[j>>2]|0)==4){a[r]=-1;e=e+4|0}else{e=r}q=q+1|0;if((q|0)<(c[o>>2]|0)){p=p+k|0}else{break}}}else if((l|0)==24){k=b+20|0;l=ye(c[k>>2]|0,4)|0;qB(c[h>>2]|0,p,l,c[k>>2]|0);if((c[k>>2]|0)>0){h=0;do{r=l+(h<<2)|0;a[e]=(c[r>>2]|0)>>>16;a[e+1|0]=(c[r>>2]|0)>>>8;m=e+3|0;a[e+2|0]=c[r>>2];if((c[j>>2]|0)==4){a[m]=-1;e=e+4|0}else{e=m}h=h+1|0;}while((h|0)<(c[k>>2]|0))}Fe(l);break}}else{switch(r|0){case 1:case 0:{j=Bj(c[b>>2]|0)|0;h=b+20|0;if((c[h>>2]|0)>0){k=0}else{break a}while(1){a[e]=a[(c[l>>2]|0)+(d[j]|0)|0]|0;k=k+1|0;if((k|0)<(c[h>>2]|0)){e=e+1|0;j=j+1|0}else{break}}break};case 4:{j=Bj(c[b>>2]|0)|0;h=b+20|0;if((c[h>>2]|0)>0){k=0}else{break a}while(1){r=(d[j]|0)<<2;q=c[l>>2]|0;a[e]=a[q+r|0]|0;a[e+1|0]=a[q+(r|1)|0]|0;a[e+2|0]=a[q+(r|2)|0]|0;a[e+3|0]=a[q+(r|3)|0]|0;k=k+1|0;if((k|0)<(c[h>>2]|0)){e=e+4|0;j=j+1|0}else{break}}break};case 3:case 2:{j=Bj(c[b>>2]|0)|0;h=b+20|0;if((c[h>>2]|0)>0){k=0}else{break a}while(1){r=(d[j]|0)*3|0;q=c[l>>2]|0;a[e]=a[q+r|0]|0;a[e+1|0]=a[q+(r+1)|0]|0;a[e+2|0]=a[q+(r+2)|0]|0;k=k+1|0;if((k|0)<(c[h>>2]|0)){e=e+3|0;j=j+1|0}else{break}}break};default:{break a}}}}while(0);c[g>>2]=(c[g>>2]|0)+1;r=1;i=f;return r|0}function Ch(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;g=i;l=i;i=i+16|0;k=l;j=i;i=i+8|0;s=j;m=b+28|0;if((c[m>>2]|0)==(c[b+24>>2]|0)){A=0;i=g;return A|0}p=b+4|0;n=c[(c[p>>2]|0)+8>>2]|0;v=Bj(c[b>>2]|0)|0;o=b+20|0;if((c[o>>2]|0)>0){h=(n|0)>0;q=b+8|0;r=b+16|0;t=k+4|0;u=k+8|0;b=b+12|0;w=0;while(1){a:do{if(h){z=c[b>>2]|0;A=0;while(1){y=d[v+A|0]|0;x=A<<1;if((y|0)<(c[z+(x<<2)>>2]|0)){x=-1;break a}A=A+1|0;if((y|0)>(c[z+((x|1)<<2)>>2]|0)){x=-1;break a}if((A|0)>=(n|0)){x=0;break}}}else{x=0}}while(0);y=c[q>>2]|0;z=c[r>>2]|0;b:do{if((y|0)==0){switch(z|0){case 1:case 0:{oB(c[p>>2]|0,v,s);a[e]=(((c[j>>2]|0)*255|0)+32768|0)>>>16;a[f]=x;f=f+1|0;e=e+1|0;break b};case 3:case 2:case 4:{break};default:{break b}}pB(c[p>>2]|0,v,k);a[e]=(((c[l>>2]|0)*255|0)+32768|0)>>>16;a[e+1|0]=(((c[t>>2]|0)*255|0)+32768|0)>>>16;y=e+3|0;a[e+2|0]=(((c[u>>2]|0)*255|0)+32768|0)>>>16;if((c[r>>2]|0)==4){a[y]=-1;e=e+4|0}else{e=y}a[f]=x;f=f+1|0}else{switch(z|0){case 3:case 2:{A=(d[v]|0)*3|0;a[e]=a[y+A|0]|0;a[e+1|0]=a[y+(A+1)|0]|0;a[e+2|0]=a[y+(A+2)|0]|0;a[f]=x;f=f+1|0;e=e+3|0;break b};case 4:{A=(d[v]|0)<<2;a[e]=a[y+A|0]|0;a[e+1|0]=a[y+(A|1)|0]|0;a[e+2|0]=a[y+(A|2)|0]|0;a[e+3|0]=-1;a[f]=x;f=f+1|0;e=e+4|0;break b};case 1:case 0:{a[e]=a[y+(d[v]|0)|0]|0;a[f]=x;f=f+1|0;e=e+1|0;break b};default:{break b}}}}while(0);w=w+1|0;if((w|0)<(c[o>>2]|0)){v=v+n|0}else{break}}}c[m>>2]=(c[m>>2]|0)+1;A=1;i=g;return A|0}function Dh(b,d,e,f,g,j,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0;e=i;w=i;i=i+48|0;m=w;p=i;i=i+32|0;q=p;x=i;i=i+8|0;y=x;u=i;i=i+16|0;t=u;s=i;i=i+8|0;r=s;z=d+16|0;A=0;do{h[k>>3]=+h[d+16+(A<<3)>>3];B=c[k+4>>2]&2146435072;A=A+1|0;if(!(B>>>0<2146435072|(B|0)==2146435072&(c[k>>2]&0)>>>0<0)){v=20;break}}while((A|0)<6);if((v|0)==20){i=e;return}h[w>>3]=+h[z>>3];h[m+8>>3]=+h[d+24>>3];D=+h[d+32>>3];h[m+16>>3]=-0.0-D;C=+h[d+40>>3];h[m+24>>3]=-0.0-C;h[m+32>>3]=D+ +h[d+48>>3];h[m+40>>3]=C+ +h[d+56>>3];w=FW(28)|0;B=l+8|0;z=l+4|0;yj(w,f,g,c[B>>2]|0,c[z>>2]|0);c[p>>2]=w;Aj(w);c[q+4>>2]=l;c[q+12>>2]=n;w=b+112|0;A=c[w>>2]|0;c[q+16>>2]=A;c[q+20>>2]=g;c[q+24>>2]=j;d=q+28|0;c[d>>2]=0;v=q+8|0;c[v>>2]=0;a:do{if((c[B>>2]|0)==1){z=1<<c[z>>2];switch(A|0){case 4:{c[v>>2]=ye(z,4)|0;if((z|0)<=0){break a}x=t+4|0;y=t+8|0;A=0;do{a[s]=A;pB(l,r,t);B=A<<2;a[(c[v>>2]|0)+B|0]=(((c[u>>2]|0)*255|0)+32768|0)>>>16;a[(c[v>>2]|0)+(B|1)|0]=(((c[x>>2]|0)*255|0)+32768|0)>>>16;a[(c[v>>2]|0)+(B|2)|0]=(((c[y>>2]|0)*255|0)+32768|0)>>>16;a[(c[v>>2]|0)+(B|3)|0]=-1;A=A+1|0;}while((A|0)<(z|0));break};case 1:case 0:{c[v>>2]=we(z)|0;if((z|0)>0){t=0}else{break a}do{a[s]=t;oB(l,r,y);a[(c[v>>2]|0)+t|0]=(((c[x>>2]|0)*255|0)+32768|0)>>>16;t=t+1|0;}while((t|0)<(z|0));break};case 3:case 2:{c[v>>2]=ye(z,3)|0;if((z|0)<=0){break a}y=t+4|0;x=t+8|0;A=0;do{a[s]=A;pB(l,r,t);B=A*3|0;a[(c[v>>2]|0)+B|0]=(((c[u>>2]|0)*255|0)+32768|0)>>>16;a[(c[v>>2]|0)+(B+1)|0]=(((c[y>>2]|0)*255|0)+32768|0)>>>16;a[(c[v>>2]|0)+(B+2)|0]=(((c[x>>2]|0)*255|0)+32768|0)>>>16;A=A+1|0;}while((A|0)<(z|0));break};default:{break a}}}}while(0);l=c[w>>2]|0;n=(n|0)!=0;yp(c[b+184>>2]|0,n?74:75,q,(l|0)==0?1:l,n,g,j,m)|0;do{if(o){if((c[d>>2]|0)>=(j|0)){break}do{Bj(c[p>>2]|0)|0;B=(c[d>>2]|0)+1|0;c[d>>2]=B;}while((B|0)<(j|0))}}while(0);Fe(c[v>>2]|0);j=c[p>>2]|0;if((j|0)!=0){zj(j);HW(j)}fd[c[(c[f>>2]|0)+16>>2]&511](f);i=e;return}function Eh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;h=i;g=i;i=i+8|0;m=g;k=i;i=i+16|0;j=k;n=i;i=i+8|0;r=n;l=b+28|0;if((c[l>>2]|0)==(c[b+24>>2]|0)){A=0;i=h;return A|0}p=b+4|0;q=c[(c[p>>2]|0)+8>>2]|0;w=Bj(c[b>>2]|0)|0;o=b+20|0;if((c[o>>2]|0)>0){s=b+8|0;t=b+12|0;b=b+16|0;u=j+4|0;v=j+8|0;x=0;while(1){Oe(c[s>>2]|0,x,c[l>>2]|0,m);y=((a[g]|0)!=0)<<31>>31;A=c[t>>2]|0;z=c[b>>2]|0;a:do{if((A|0)==0){switch(z|0){case 1:case 0:{oB(c[p>>2]|0,w,r);a[e]=(((c[n>>2]|0)*255|0)+32768|0)>>>16;a[f]=y;f=f+1|0;e=e+1|0;break a};case 3:case 2:case 4:{break};default:{break a}}pB(c[p>>2]|0,w,j);a[e]=(((c[k>>2]|0)*255|0)+32768|0)>>>16;a[e+1|0]=(((c[u>>2]|0)*255|0)+32768|0)>>>16;z=e+3|0;a[e+2|0]=(((c[v>>2]|0)*255|0)+32768|0)>>>16;if((c[b>>2]|0)==4){a[z]=-1;e=e+4|0}else{e=z}a[f]=y;f=f+1|0}else{switch(z|0){case 3:case 2:{z=(d[w]|0)*3|0;a[e]=a[A+z|0]|0;a[e+1|0]=a[A+(z+1)|0]|0;a[e+2|0]=a[A+(z+2)|0]|0;a[f]=y;f=f+1|0;e=e+3|0;break a};case 4:{z=d[w]<<2;a[e]=a[A+z|0]|0;a[e+1|0]=a[A+(z|1)|0]|0;a[e+2|0]=a[A+(z|2)|0]|0;a[e+3|0]=-1;a[f]=y;f=f+1|0;e=e+4|0;break a};case 1:case 0:{a[e]=a[A+(d[w]|0)|0]|0;a[f]=y;f=f+1|0;e=e+1|0;break a};default:{break a}}}}while(0);x=x+1|0;if((x|0)<(c[o>>2]|0)){w=w+q|0}else{break}}}c[l>>2]=(c[l>>2]|0)+1;A=1;i=h;return A|0}function Fh(b,d,e,f,g,j,l,m,n,o,p,q,r){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0.0;s=i;K=i;i=i+8|0;L=K;P=i;i=i+8|0;O=P;N=i;i=i+16|0;I=N;V=i;i=i+16|0;Q=V;W=i;i=i+16|0;M=W;C=i;i=i+48|0;u=C;v=i;i=i+32|0;t=v;E=i;i=i+24|0;F=E;G=i;i=i+8|0;H=G;B=i;i=i+8|0;A=B;y=i;i=i+16|0;z=y;x=i;i=i+8|0;w=x;c[N>>2]=13;J=I+8|0;c[J>>2]=0;c[J+4>>2]=0;c[V>>2]=13;U=Q+8|0;c[U>>2]=0;S=U+4|0;c[S>>2]=0;c[W>>2]=13;R=M+8|0;c[R>>2]=0;T=R+4|0;c[T>>2]=0;if((o|0)>(g|0)|(p|0)>(j|0)){t=q&1;c[S>>2]=0;c[V>>2]=1;c[U>>2]=t^1;c[T>>2]=0;c[W>>2]=1;c[R>>2]=t;If(I,c[b+176>>2]|0)|0;t=c[N>>2]|0;if((t|0)!=6){c[P>>2]=t;c[O+4>>2]=6;Qe(0,35856,O);tc()}tt(c[J>>2]|0,Q);t=c[N>>2]|0;if((t|0)!=6){c[K>>2]=t;c[L+4>>2]=6;Qe(0,35856,L);tc()}tt(c[J>>2]|0,M);t=FW(672)|0;W=FW(4)|0;Ty(W);mB(t,1,I,W);Of(I);vd[c[(c[b>>2]|0)+324>>2]&3](b,d,e,f,g,j,l,m,n,o,p,t,r);if((t|0)==0){i=s;return}nB(t);HW(t);i=s;return}h[C>>3]=+(g|0);e=u+8|0;I=u+16|0;J=u+24|0;bX(e|0,0,16)|0;h[J>>3]=+(j|0);r=u+32|0;m=u+40|0;bX(r|0,0,16)|0;K=FW(28)|0;yj(K,n,o,1,1);c[E>>2]=K;Aj(K);a[F+4|0]=q&1^1;c[F+8>>2]=o;c[F+12>>2]=p;c[F+16>>2]=0;q=FW(28)|0;Ke(q,g,j,1,0,0,1);K=FW(192)|0;Jo(K,q,0,0);a[G]=0;ep(K,H,0);a[G]=-1;W=FW(8)|0;tq(W,H);Ro(K,W);wp(K,182,F,o,p,u,0)|0;o=c[E>>2]|0;if((o|0)!=0){zj(o);HW(o)}fd[c[(c[n>>2]|0)+16>>2]&511](n);if((K|0)!=0){Lo(K);HW(K)}n=d+16|0;o=0;do{h[k>>3]=+h[d+16+(o<<3)>>3];W=c[k+4>>2]&2146435072;o=o+1|0;if(!(W>>>0<2146435072|(W|0)==2146435072&(c[k>>2]&0)>>>0<0)){D=15;break}}while((o|0)<6);if((D|0)==15){if((q|0)==0){i=s;return}Le(q);HW(q);i=s;return}h[C>>3]=+h[n>>3];h[e>>3]=+h[d+24>>3];Y=+h[d+32>>3];h[I>>3]=-0.0-Y;X=+h[d+40>>3];h[J>>3]=-0.0-X;h[r>>3]=Y+ +h[d+48>>3];h[m>>3]=X+ +h[d+56>>3];n=FW(28)|0;W=l+8|0;o=l+4|0;yj(n,f,g,c[W>>2]|0,c[o>>2]|0);c[v>>2]=n;Aj(n);c[t+4>>2]=l;c[t+8>>2]=q;n=b+112|0;p=c[n>>2]|0;c[t+16>>2]=p;c[t+20>>2]=g;c[t+24>>2]=j;c[t+28>>2]=0;d=t+12|0;c[d>>2]=0;a:do{if((c[W>>2]|0)==1){o=1<<c[o>>2];switch(p|0){case 4:{c[d>>2]=ye(o,4)|0;if((o|0)<=0){break a}A=z+4|0;B=z+8|0;p=0;do{a[x]=p;pB(l,w,z);W=p<<2;a[(c[d>>2]|0)+W|0]=(((c[y>>2]|0)*255|0)+32768|0)>>>16;a[(c[d>>2]|0)+(W|1)|0]=(((c[A>>2]|0)*255|0)+32768|0)>>>16;a[(c[d>>2]|0)+(W|2)|0]=(((c[B>>2]|0)*255|0)+32768|0)>>>16;a[(c[d>>2]|0)+(W|3)|0]=-1;p=p+1|0;}while((p|0)<(o|0));break};case 1:case 0:{c[d>>2]=we(o)|0;if((o|0)>0){y=0}else{break a}do{a[x]=y;oB(l,w,A);a[(c[d>>2]|0)+y|0]=(((c[B>>2]|0)*255|0)+32768|0)>>>16;y=y+1|0;}while((y|0)<(o|0));break};case 3:case 2:{c[d>>2]=ye(o,3)|0;if((o|0)<=0){break a}p=z+4|0;B=z+8|0;A=0;do{a[x]=A;pB(l,w,z);W=A*3|0;a[(c[d>>2]|0)+W|0]=(((c[y>>2]|0)*255|0)+32768|0)>>>16;a[(c[d>>2]|0)+(W+1)|0]=(((c[p>>2]|0)*255|0)+32768|0)>>>16;a[(c[d>>2]|0)+(W+2)|0]=(((c[B>>2]|0)*255|0)+32768|0)>>>16;A=A+1|0;}while((A|0)<(o|0));break};default:{break a}}}}while(0);l=c[n>>2]|0;yp(c[b+184>>2]|0,76,t,(l|0)==0?1:l,1,g,j,u)|0;if((q|0)!=0){Le(q);HW(q)}Fe(c[d>>2]|0);j=c[v>>2]|0;if((j|0)!=0){zj(j);HW(j)}fd[c[(c[f>>2]|0)+16>>2]&511](f);i=s;return}function Gh(b,d,e,f,g,j,l,m,n,o,p,q,r){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0;e=i;E=i;i=i+48|0;r=E;s=i;i=i+32|0;m=s;C=i;i=i+32|0;z=C;B=i;i=i+8|0;A=B;x=i;i=i+8|0;y=x;v=i;i=i+16|0;w=v;u=i;i=i+8|0;t=u;G=d+16|0;F=0;do{h[k>>3]=+h[d+16+(F<<3)>>3];H=c[k+4>>2]&2146435072;F=F+1|0;if(!(H>>>0<2146435072|(H|0)==2146435072&(c[k>>2]&0)>>>0<0)){D=23;break}}while((F|0)<6);if((D|0)==23){i=e;return}h[E>>3]=+h[G>>3];h[r+8>>3]=+h[d+24>>3];J=+h[d+32>>3];h[r+16>>3]=-0.0-J;I=+h[d+40>>3];h[r+24>>3]=-0.0-I;h[r+32>>3]=J+ +h[d+48>>3];h[r+40>>3]=I+ +h[d+56>>3];D=FW(28)|0;d=q+4|0;yj(D,n,o,c[q+8>>2]|0,c[d>>2]|0);c[C>>2]=D;Aj(D);c[z+4>>2]=q;c[z+12>>2]=0;c[z+16>>2]=1;c[z+20>>2]=o;c[z+24>>2]=p;c[z+28>>2]=0;d=1<<c[d>>2];D=z+8|0;c[D>>2]=we(d)|0;if((d|0)>0){E=0;do{a[u]=E;oB(q,t,y);a[(c[D>>2]|0)+E|0]=(((c[x>>2]|0)*255|0)+32768|0)>>>16;E=E+1|0;}while((E|0)<(d|0))}q=FW(28)|0;d=c[b+180>>2]|0;Ke(q,c[d>>2]|0,c[d+4>>2]|0,1,1,0,1);d=FW(192)|0;Jo(d,q,(a[b+122|0]&1)!=0,0);a[B]=0;ep(d,A,0);yp(d,75,z,1,0,o,p,r)|0;p=c[C>>2]|0;if((p|0)!=0){zj(p);HW(p)}fd[c[(c[n>>2]|0)+16>>2]&511](n);Fe(c[D>>2]|0);if((d|0)!=0){Lo(d);HW(d)}n=b+184|0;bp(c[n>>2]|0,q);p=FW(28)|0;H=l+8|0;o=l+4|0;yj(p,f,g,c[H>>2]|0,c[o>>2]|0);c[s>>2]=p;Aj(p);c[m+4>>2]=l;c[m+12>>2]=0;p=b+112|0;q=c[p>>2]|0;c[m+16>>2]=q;c[m+20>>2]=g;c[m+24>>2]=j;c[m+28>>2]=0;b=m+8|0;c[b>>2]=0;a:do{if((c[H>>2]|0)==1){o=1<<c[o>>2];switch(q|0){case 3:case 2:{c[b>>2]=ye(o,3)|0;if((o|0)<=0){break a}x=w+4|0;y=w+8|0;q=0;do{a[u]=q;pB(l,t,w);H=q*3|0;a[(c[b>>2]|0)+H|0]=(((c[v>>2]|0)*255|0)+32768|0)>>>16;a[(c[b>>2]|0)+(H+1)|0]=(((c[x>>2]|0)*255|0)+32768|0)>>>16;a[(c[b>>2]|0)+(H+2)|0]=(((c[y>>2]|0)*255|0)+32768|0)>>>16;q=q+1|0;}while((q|0)<(o|0));break};case 4:{c[b>>2]=ye(o,4)|0;if((o|0)<=0){break a}y=w+4|0;q=w+8|0;x=0;do{a[u]=x;pB(l,t,w);H=x<<2;a[(c[b>>2]|0)+H|0]=(((c[v>>2]|0)*255|0)+32768|0)>>>16;a[(c[b>>2]|0)+(H|1)|0]=(((c[y>>2]|0)*255|0)+32768|0)>>>16;a[(c[b>>2]|0)+(H|2)|0]=(((c[q>>2]|0)*255|0)+32768|0)>>>16;a[(c[b>>2]|0)+(H|3)|0]=-1;x=x+1|0;}while((x|0)<(o|0));break};case 1:case 0:{c[b>>2]=we(o)|0;if((o|0)>0){v=0}else{break a}do{a[u]=v;oB(l,t,y);a[(c[b>>2]|0)+v|0]=(((c[x>>2]|0)*255|0)+32768|0)>>>16;v=v+1|0;}while((v|0)<(o|0));break};default:{break a}}}}while(0);l=c[p>>2]|0;yp(c[n>>2]|0,75,m,(l|0)==0?1:l,0,g,j,r)|0;bp(c[n>>2]|0,0);Fe(c[b>>2]|0);g=c[s>>2]|0;if((g|0)!=0){zj(g);HW(g)}fd[c[(c[f>>2]|0)+16>>2]&511](f);i=e;return}function Hh(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0.0,D=0.0,E=0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;j=i;m=i;i=i+8|0;k=m;z=+h[e>>3];y=+h[e+8>>3];C=+h[d+16>>3];x=z*C;q=+h[d+32>>3];D=y*q;p=+h[d+48>>3];t=p+(x+D);A=+h[d+24>>3];z=z*A;w=+h[d+40>>3];y=y*w;n=+h[d+56>>3];F=n+(z+y);o=+h[e+24>>3];q=q*o;x=p+(x+q);o=w*o;z=n+(z+o);do{if(x<t){w=t}else{if(x<=t){w=t;x=t;break}w=x;x=t}}while(0);do{if(z<F){t=F}else{if(z<=F){t=F;z=F;break}t=z;z=F}}while(0);F=+h[e+16>>3];C=F*C;D=p+(C+D);A=F*A;y=n+(A+y);do{if(D<x){x=D}else{if(D<=w){break}w=D}}while(0);do{if(y<z){z=y}else{if(y<=t){break}t=y}}while(0);p=p+(C+q);n=n+(A+o);do{if(p<x){x=p}else{if(p<=w){break}w=p}}while(0);do{if(n<z){z=n}else{if(n<=t){break}t=n}}while(0);e=~~+R(+x);if((e|0)<0){r=0}else{r=c[c[b+180>>2]>>2]|0;r=(e|0)<(r|0)?e:r+ -1|0}e=0-r|0;s=~~+R(+z);B=c[b+180>>2]|0;G=c[B+4>>2]|0;if((s|0)<0){v=0}else{v=(s|0)<(G|0)?s:G+ -1|0}s=0-v|0;H=~~+ca(+w);u=b+180|0;E=c[B>>2]|0;E=(H+1|0)>(E|0)?E-r|0:1-r+H|0;E=(E|0)<1?1:E;H=~~+ca(+t);G=(H+1|0)>(G|0)?G-v|0:1-v+H|0;H=(G|0)<1?1:G;G=FW(32)|0;bX(G|0,0,24)|0;c[G>>2]=r;c[G+4>>2]=v;c[G+12>>2]=f;a[G+16|0]=g&1;I=b+244|0;c[G+28>>2]=c[I>>2];c[I>>2]=G;I=G+20|0;c[I>>2]=B;B=b+184|0;K=G+24|0;c[K>>2]=c[B>>2];M=FW(28)|0;J=b+112|0;Ke(M,E,H,c[b+116>>2]|0,c[J>>2]|0,1,(a[b+120|0]&1)!=0);c[u>>2]=M;f=FW(192)|0;L=(a[b+122|0]&1)!=0;Ko(f,M,L,Oo(c[K>>2]|0)|0);c[B>>2]=f;if(!g){Cp(f,c[I>>2]|0,r,v,0,0,E,H)|0;cp(c[B>>2]|0,c[I>>2]|0,r,v);L=u;L=c[L>>2]|0;M=G+8|0;c[M>>2]=L;D=+(e|0);F=+(s|0);KB(d,D,F);M=b;M=c[M>>2]|0;M=M+92|0;M=c[M>>2]|0;Ed[M&3](b,d,0.0,0.0,0.0,0.0,0.0,0.0);i=j;return}switch(c[J>>2]|0){case 4:{a[k+3|0]=-1;l=28;break};case 1:case 0:{a[m]=0;break};case 3:case 2:{l=28;break};default:{}}if((l|0)==28){a[k+2|0]=0;a[k+1|0]=0;a[m]=0}ep(f,k,0);L=u;L=c[L>>2]|0;M=G+8|0;c[M>>2]=L;D=+(e|0);F=+(s|0);KB(d,D,F);M=b;M=c[M>>2]|0;M=M+92|0;M=c[M>>2]|0;Ed[M&3](b,d,0.0,0.0,0.0,0.0,0.0,0.0);i=j;return}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=a+184|0;f=c[e>>2]|0;if((f|0)!=0){Lo(f);HW(f)}f=c[a+244>>2]|0;c[a+180>>2]=c[f+20>>2];c[e>>2]=c[f+24>>2];KB(b,+(c[f>>2]|0),+(c[f+4>>2]|0));Ed[c[(c[a>>2]|0)+92>>2]&3](a,b,0.0,0.0,0.0,0.0,0.0,0.0);i=d;return}function Jh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;d=i;f=b+244|0;g=c[f>>2]|0;e=c[g+8>>2]|0;zp(c[b+184>>2]|0,e,0,0,c[g>>2]|0,c[g+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0,0,(a[g+16|0]&1)==0)|0;b=c[f>>2]|0;c[f>>2]=c[b+28>>2];if((b|0)!=0){HW(b)}if((e|0)==0){i=d;return}Le(e);HW(e);i=d;return}function Kh(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0.0;l=i;o=i;i=i+8|0;m=o;w=i;i=i+8|0;v=w;y=i;i=i+16|0;z=y;n=i;i=i+8|0;r=n;p=i;i=i+8|0;q=p;e=b+244|0;B=c[e>>2]|0;t=c[B>>2]|0;u=c[B+4>>2]|0;f=c[B+8>>2]|0;do{if(!g){A=b+112|0;if((c[A>>2]|0)==0){break}if((c[B+12>>2]|0)==0){break}x=FW(192)|0;D=(a[b+122|0]&1)!=0;Ko(x,f,D,Oo(c[B+24>>2]|0)|0);A=c[A>>2]|0;if((A|0)==1){D=c[(c[e>>2]|0)+12>>2]|0;Gd[c[(c[D>>2]|0)+16>>2]&255](D,k,v);a[o]=(((c[w>>2]|0)*255|0)+32768|0)>>>16;Ap(x,m)}else if((A|0)==2|(A|0)==3){s=7}else if((A|0)==4){a[m+3|0]=-1;s=7}if((s|0)==7){D=c[(c[e>>2]|0)+12>>2]|0;Gd[c[(c[D>>2]|0)+20>>2]&255](D,k,z);a[o]=(((c[y>>2]|0)*255|0)+32768|0)>>>16;a[m+1|0]=(((c[z+4>>2]|0)*255|0)+32768|0)>>>16;a[m+2|0]=(((c[z+8>>2]|0)*255|0)+32768|0)>>>16;Ap(x,m)}if((x|0)==0){break}Lo(x);HW(x)}}while(0);s=FW(28)|0;y=b+180|0;x=c[y>>2]|0;Ke(s,c[x>>2]|0,c[x+4>>2]|0,1,1,0,1);x=c[(c[e>>2]|0)+12>>2]|0;if((x|0)==0){v=0}else{Gd[c[(c[x>>2]|0)+16>>2]&255](x,k,v);v=(((c[w>>2]|0)*255|0)+32768|0)>>>16&255}x=s+20|0;k=s+12|0;bX(c[x>>2]|0,v|0,da(c[s+4>>2]|0,c[k>>2]|0)|0)|0;v=c[f>>2]|0;w=c[f+4>>2]|0;y=c[y>>2]|0;z=c[y>>2]|0;v=(v+t|0)>(z|0)?z-t|0:v;y=c[y+4>>2]|0;w=(w+u|0)>(y|0)?y-u|0:w;if((w|0)>0){C=c[k>>2]|0;B=(da(C,u)|0)+t|0;z=(v|0)>0;t=b+112|0;A=(j|0)==0;y=m+1|0;u=m+2|0;x=(c[x>>2]|0)+B|0;B=0;while(1){if(z){a:do{if(g){C=0;do{a[x+C|0]=Pe(f,C,B)|0;C=C+1|0;}while((C|0)<(v|0))}else{C=0;while(1){Oe(f,C,B,m);switch(c[t>>2]|0){case 3:case 2:case 4:{h[n>>3]=+(d[o]|0|0)*.001176470588235294+ +(d[y]|0|0)*.002313725490196078+ +(d[u]|0|0)*.00043137254901960784;break};case 1:case 0:{h[n>>3]=+(d[o]|0|0)/255.0;break};default:{}}if(A){E=+h[n>>3];h[p>>3]=E}else{Gd[c[(c[j>>2]|0)+16>>2]&255](j,r,q);E=+h[p>>3]}a[x+C|0]=~~(E*255.0+.5);C=C+1|0;if((C|0)>=(v|0)){break a}}}}while(0);D=c[k>>2]|0}else{D=C}B=B+1|0;if((B|0)<(w|0)){C=D;x=x+D|0}else{break}}}bp(c[b+184>>2]|0,s);j=c[e>>2]|0;c[e>>2]=c[j+28>>2];if((j|0)!=0){HW(j)}if((f|0)==0){i=l;return}Le(f);HW(f);i=l;return}function Lh(a,b){a=a|0;b=b|0;b=i;bp(c[a+184>>2]|0,0);i=b;return}function Mh(b){b=b|0;i=i;return(a[(c[b+184>>2]|0)+188|0]&1)!=0|0}function Nh(b,d){b=b|0;d=d|0;a[(c[b+184>>2]|0)+188|0]=d&1;i=i;return}function Oh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;h=c[e+8>>2]|0;h=jd[c[(c[h>>2]|0)+12>>2]&511](h)|0;h=(c[b+112>>2]|0)==2&(h|0)==2;g=FW(16)|0;qq(g);c[g>>2]=34520;c[g+8>>2]=d;c[g+4>>2]=e;a[g+12|0]=h&1;if((c[e+324>>2]|0)<=0){h=0;i=f;return h|0}d=jd[c[(c[b>>2]|0)+404>>2]&511](b)|0;hd[c[(c[b>>2]|0)+408>>2]&127](b,1);h=Bp(c[b+184>>2]|0,g)|0;hd[c[(c[b>>2]|0)+408>>2]&127](b,d);i=f;return h|0}function Ph(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=+f;g=+g;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0;j=i;q=i;i=i+48|0;n=i;i=i+8|0;u=i;i=i+8|0;t=i;i=i+8|0;r=i;i=i+8|0;m=jd[c[(c[b>>2]|0)+404>>2]&511](b)|0;hd[c[(c[b>>2]|0)+408>>2]&127](b,1);HB(d,n,u,t,r);f=+h[n>>3];g=+h[u>>3];k=d+588|0;v=c[k>>2]|0;s=d+592|0;h[s>>3]=f;l=d+600|0;h[l>>3]=g;uB(v,f,g);g=+h[t>>3];f=+h[u>>3];u=c[k>>2]|0;h[s>>3]=g;h[l>>3]=f;vB(u,g,f);f=+h[t>>3];g=+h[r>>3];t=c[k>>2]|0;h[s>>3]=f;h[l>>3]=g;vB(t,f,g);g=+h[n>>3];f=+h[r>>3];r=c[k>>2]|0;h[s>>3]=g;h[l>>3]=f;vB(r,g,f);xB(c[k>>2]|0);k=c[k>>2]|0;r=k+28|0;n=k+24|0;t=c[(c[n>>2]|0)+((c[r>>2]|0)+ -1<<2)>>2]|0;h[s>>3]=+h[(c[t>>2]|0)+((c[t+12>>2]|0)+ -1<<3)>>3];r=c[(c[n>>2]|0)+((c[r>>2]|0)+ -1<<2)>>2]|0;h[l>>3]=+h[(c[r+4>>2]|0)+((c[r+12>>2]|0)+ -1<<3)>>3];k=lh(0,0,k)|0;l=FW(144)|0;r=c[b+112>>2]|0;qq(l);c[l>>2]=34568;n=l+128|0;c[n>>2]=e;c[l+132>>2]=d;c[l+136>>2]=r;$W(q|0,d+16|0,48)|0;Gy(q,l+8|0)|0;n=c[n>>2]|0;f=+h[n+184>>3];h[l+56>>3]=f;g=+h[n+192>>3];h[l+64>>3]=g;p=+h[n+200>>3];h[l+72>>3]=p;o=+h[n+208>>3];h[l+80>>3]=o;f=p-f;h[l+88>>3]=f;g=o-g;h[l+96>>3]=g;h[l+104>>3]=1.0/(f*f+g*g);h[l+112>>3]=+h[n+216>>3];h[l+120>>3]=+h[n+224>>3];e=(Dp(c[b+184>>2]|0,k,(a[e+176|0]&1)!=0,l)|0)==0;hd[c[(c[b>>2]|0)+408>>2]&127](b,m);SB(d);if((l|0)!=0){fd[c[(c[l>>2]|0)+8>>2]&511](l)}if((k|0)==0){i=j;return e|0}hq(k);HW(k);i=j;return e|0}function Qh(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,j=0.0,k=0,l=0,m=0,n=0;d=i;k=i;i=i+48|0;b=FW(144)|0;m=c[a+136>>2]|0;l=c[a+132>>2]|0;n=c[a+128>>2]|0;qq(b);c[b>>2]=34568;a=b+128|0;c[a>>2]=n;c[b+132>>2]=l;c[b+136>>2]=m;$W(k|0,l+16|0,48)|0;Gy(k,b+8|0)|0;a=c[a>>2]|0;f=+h[a+184>>3];h[b+56>>3]=f;e=+h[a+192>>3];h[b+64>>3]=e;j=+h[a+200>>3];h[b+72>>3]=j;g=+h[a+208>>3];h[b+80>>3]=g;f=j-f;h[b+88>>3]=f;e=g-e;h[b+96>>3]=e;h[b+104>>3]=1.0/(f*f+e*e);h[b+112>>3]=+h[a+216>>3];h[b+120>>3]=+h[a+224>>3];i=d;return b|0}function Rh(a){a=a|0;i=i;return 0}function Sh(b){b=b|0;var d=0,e=0,f=0,g=0;e=i;d=FW(16)|0;f=a[b+12|0]&1;g=c[b+8>>2]|0;b=c[b+4>>2]|0;qq(d);c[d>>2]=34520;c[d+8>>2]=g;c[d+4>>2]=b;a[d+12|0]=f;i=e;return d|0}function Th(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;i=i;return 0}function Uh(a){a=a|0;i=i;return 0}function Vh(a){a=a|0;i=i;return(c[(c[a+4>>2]|0)+324>>2]|0)>0|0}function Wh(a){a=a|0;i=i;return c[(c[a+4>>2]|0)+192>>2]|0}function Xh(a,b,d,e,f,g,h,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0;n=i;gB(c[a+4>>2]|0,b,d,e,f,g,h,j,k,l,m);i=n;return}function Yh(a){a=a|0;i=i;return-1}function Zh(a){a=a|0;i=i;return-1}function _h(a){a=a|0;i=i;return 0}function $h(a,b){a=a|0;b=b|0;if((b|0)==5|(b|0)==2|(b|0)==4){b=1}else{b=0}i=i;return b|0}function ai(a){a=a|0;i=i;return 0}function bi(a){a=a|0;i=i;return 0}function ci(a){a=a|0;i=i;return-1}function di(a){a=a|0;i=i;return-1}function ei(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[b+116>>2]|0;a=(jd[c[(c[a>>2]|0)+12>>2]&511](a)|0)==10;i=d;return a|0}function fi(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[b+116>>2]|0;a=(jd[c[(c[a>>2]|0)+12>>2]&511](a)|0)==10;i=d;return a|0}function gi(a,b,c,d,e,f,g,h,j,k,l,m,n,o,p){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;i=i;return-1}function hi(a){a=a|0;i=i;return}function ii(a,b){a=a|0;b=b|0;i=i;return}function ji(a,b){a=a|0;b=b|0;i=i;return}function ki(a,b){a=a|0;b=b|0;i=i;return}function li(a,b){a=a|0;b=b|0;i=i;return}function mi(a,b){a=a|0;b=b|0;i=i;return}function ni(a,b){a=a|0;b=b|0;i=i;return}function oi(a,b){a=a|0;b=b|0;i=i;return}function pi(a,b,c){a=a|0;b=b|0;c=+c;i=i;return}function qi(a,b){a=a|0;b=b|0;i=i;return}function ri(a,b){a=a|0;b=b|0;i=i;return}function si(a,b){a=a|0;b=b|0;i=i;return}function ti(a,b){a=a|0;b=b|0;i=i;return}function ui(a,b){a=a|0;b=b|0;i=i;return}function vi(a,b){a=a|0;b=b|0;i=i;return}function wi(a,b){a=a|0;b=b|0;i=i;return}function xi(a,b,c){a=a|0;b=b|0;c=+c;i=i;return}function yi(a,b,c,d,e,f,g,h,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=+m;n=+n;i=i;return 0}function zi(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return 0}function Ai(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return 0}function Bi(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;i=i;return 0}function Ci(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return 0}function Di(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return 0}function Ei(a,b){a=a|0;b=b|0;i=i;return}function Fi(a,b){a=a|0;b=b|0;i=i;return}function Gi(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return}function Hi(a,b){a=a|0;b=b|0;i=i;return}function Ii(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return}function Ji(b,d){b=b|0;d=d|0;d=i;if((c[b+240>>2]|0)==0){b=0;i=d;return b|0}b=(a[b+108|0]&1)!=0;i=d;return b|0}function Ki(a,b){a=a|0;b=b|0;i=i;return}function Li(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return}function Mi(a){a=a|0;i=i;return c[a+104>>2]|0}function Ni(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return}function Oi(a){a=a|0;i=i;return}function Pi(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function Qi(a,b){a=a|0;b=b|0;var d=0;d=i;if((c[b+4>>2]|0)!=(c[a+4>>2]|0)){a=0;i=d;return a|0}a=(c[b+8>>2]|0)==(c[a+8>>2]|0);i=d;return a|0}function Ri(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;g=55024+(g<<2)|0;if((c[g>>2]|0)>0){j=0}else{i=h;return}do{a[f+j|0]=((da(d[b+j|0]|0,d[e+j|0]|0)|0)>>>0)/255|0;j=j+1|0;}while((j|0)<(c[g>>2]|0));i=h;return}function Si(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;g=55024+(g<<2)|0;if((c[g>>2]|0)>0){j=0}else{i=h;return}do{k=d[e+j|0]|0;l=d[b+j|0]|0;a[f+j|0]=l+k-(((da(l,k)|0)>>>0)/255|0);j=j+1|0;}while((j|0)<(c[g>>2]|0));i=h;return}function Ti(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;g=55024+(g<<2)|0;if((c[g>>2]|0)>0){j=0}else{i=h;return}do{m=a[e+j|0]|0;l=m&255;k=d[b+j|0]|0;if(m<<24>>24>-1){k=((da(l<<1,k)|0)>>>0)/255|0}else{k=255-(((da(l<<1^510,k^255)|0)>>>0)/255|0)|0}a[f+j|0]=k;j=j+1|0;}while((j|0)<(c[g>>2]|0));i=h;return}function Ui(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;f=55024+(f<<2)|0;if((c[f>>2]|0)>0){h=0}else{i=g;return}do{j=a[d+h|0]|0;k=a[b+h|0]|0;a[e+h|0]=(j&255)<(k&255)?j:k;h=h+1|0;}while((h|0)<(c[f>>2]|0));i=g;return}function Vi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;f=55024+(f<<2)|0;if((c[f>>2]|0)>0){h=0}else{i=g;return}do{j=a[d+h|0]|0;k=a[b+h|0]|0;a[e+h|0]=(j&255)>(k&255)?j:k;h=h+1|0;}while((h|0)<(c[f>>2]|0));i=g;return}function Wi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;g=55024+(g<<2)|0;if((c[g>>2]|0)>0){j=0}else{i=h;return}do{k=a[b+j|0]|0;if(k<<24>>24==-1){a[f+j|0]=-1}else{k=(((d[e+j|0]|0)*255|0)>>>0)/((k&255^255)>>>0)|0;a[f+j|0]=k>>>0>255?-1:k&255}j=j+1|0;}while((j|0)<(c[g>>2]|0));i=h;return}function Xi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;g=55024+(g<<2)|0;if((c[g>>2]|0)>0){j=0}else{i=h;return}do{k=a[b+j|0]|0;if(k<<24>>24==0){a[f+j|0]=0}else{k=((((d[e+j|0]|0)^255)*255|0)>>>0)/((k&255)>>>0)|0;if(k>>>0<256){k=255-k&255}else{k=0}a[f+j|0]=k}j=j+1|0;}while((j|0)<(c[g>>2]|0));i=h;return}function Yi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;g=55024+(g<<2)|0;if((c[g>>2]|0)>0){j=0}else{i=h;return}do{m=a[b+j|0]|0;l=m&255;k=d[e+j|0]|0;if(m<<24>>24>-1){k=((da(l<<1,k)|0)>>>0)/255|0}else{k=255-(((da(l<<1^510,k^255)|0)>>>0)/255|0)|0}a[f+j|0]=k;j=j+1|0;}while((j|0)<(c[g>>2]|0));i=h;return}function Zi(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;f=55024+(f<<2)|0;if((c[f>>2]|0)>0){h=0}else{i=g;return}do{k=a[b+h|0]|0;l=a[d+h|0]|0;j=l&255;if(k<<24>>24>-1){a[e+h|0]=j-((da(da(255-((k&255)<<1)|0,j)|0,j^255)|0)/65025|0)}else{if((l&255)<64){l=(da(((da((j<<4)+ -3060|0,j)|0)/255|0)+1020|0,j)|0)/255|0}else{l=~~+T(+(+(j|0)*255.0))}a[e+h|0]=((da(((k&255)<<1)+ -255|0,l-j|0)|0)/255|0)+j}h=h+1|0;}while((h|0)<(c[f>>2]|0));i=g;return}function _i(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;f=55024+(f<<2)|0;if((c[f>>2]|0)>0){h=0}else{i=g;return}do{j=a[d+h|0]|0;k=a[b+h|0]|0;a[e+h|0]=(j&255)<(k&255)?k-j<<24>>24:j-k<<24>>24;h=h+1|0;}while((h|0)<(c[f>>2]|0));i=g;return}function $i(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;g=55024+(g<<2)|0;if((c[g>>2]|0)>0){j=0}else{i=h;return}do{l=d[e+j|0]|0;k=d[b+j|0]|0;a[f+j|0]=k+l-(((da(l<<1,k)|0)>>>0)/255|0);j=j+1|0;}while((j|0)<(c[g>>2]|0));i=h;return}function aj(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;switch(e|0){case 1:case 0:{a[d]=a[c]|0;i=f;return};case 3:case 2:{break};case 4:{a[b+3|0]=-1;break};default:{i=f;return}}j=a[b]|0;h=a[b+1|0]|0;k=a[b+2|0]|0;e=j&255;g=h&255;b=k&255;do{if((j&255)<(h&255)){if((j&255)>=(k&255)){h=g;j=e;e=1;break}k=(h&255)<(k&255);h=k?b:g;j=k?g:b;b=e;e=k?3:2}else{if((h&255)>=(k&255)){h=e;j=g;e=0;break}k=(k&255)<(j&255);h=k?e:b;j=k?b:e;b=g;e=k?5:4}}while(0);if((h|0)==(b|0)){b=0}else{if((e&1|0)==0){b=((j-b|0)*60|0)/(h-b|0)|0}else{b=((h-j|0)*60|0)/(h-b|0)|0}b=b+(e*60|0)|0}e=a[c]|0;j=a[c+1|0]|0;k=a[c+2|0]|0;h=e&255;g=j&255;c=k&255;do{if((e&255)<(j&255)){if((e&255)>=(k&255)){e=g;break}e=(j&255)<(k&255)?c:g;c=h}else{if((j&255)>=(k&255)){e=h;break}e=(k&255)<(e&255)?h:c;c=g}}while(0);if((e|0)==(c|0)){c=0}else{c=((e-c|0)*255|0)/(e|0)|0}ej(b,c,e,d,d+1|0,d+2|0);i=f;return}function bj(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;switch(e|0){case 3:case 2:{break};case 4:{a[b+3|0]=-1;break};case 1:case 0:{a[d]=a[c]|0;i=f;return};default:{i=f;return}}e=a[b]|0;j=a[b+1|0]|0;k=a[b+2|0]|0;h=e&255;g=j&255;b=k&255;do{if((e&255)<(j&255)){if((e&255)>=(k&255)){e=g;break}e=(j&255)<(k&255)?b:g;b=h}else{if((j&255)>=(k&255)){e=h;break}e=(k&255)<(e&255)?h:b;b=g}}while(0);if((e|0)==(b|0)){e=0}else{e=((e-b|0)*255|0)/(e|0)|0}k=a[c]|0;j=a[c+1|0]|0;c=a[c+2|0]|0;g=k&255;h=j&255;b=c&255;do{if((k&255)<(j&255)){if((k&255)>=(c&255)){c=h;j=g;g=1;break}k=(j&255)<(c&255);c=k?b:h;j=k?h:b;b=g;g=k?3:2}else{if((j&255)>=(c&255)){c=g;j=h;g=0;break}k=(c&255)<(k&255);c=k?g:b;j=k?b:g;b=h;g=k?5:4}}while(0);if((c|0)==(b|0)){b=0}else{if((g&1|0)==0){b=((j-b|0)*60|0)/(c-b|0)|0}else{b=((c-j|0)*60|0)/(c-b|0)|0}b=b+(g*60|0)|0}ej(b,e,c,d,d+1|0,d+2|0);i=f;return}function cj(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;switch(e|0){case 4:{a[b+3|0]=-1;break};case 1:case 0:{a[d]=a[c]|0;i=f;return};case 3:case 2:{break};default:{i=f;return}}e=a[b]|0;j=a[b+1|0]|0;k=a[b+2|0]|0;g=e&255;h=j&255;b=k&255;do{if((e&255)<(j&255)){if((e&255)>=(k&255)){e=h;j=g;g=b;b=1;break}k=(j&255)<(k&255);e=k?b:h;j=k?h:b;b=k?3:2}else{if((j&255)>=(k&255)){e=g;j=h;g=b;b=0;break}k=(k&255)<(e&255);e=k?g:b;j=k?b:g;g=h;b=k?5:4}}while(0);if((e|0)==(g|0)){b=0;e=0}else{if((b&1|0)==0){h=((j-g|0)*60|0)/(e-g|0)|0}else{h=((e-j|0)*60|0)/(e-g|0)|0}b=h+(b*60|0)|0;e=((e-g|0)*255|0)/(e|0)|0}h=a[c]|0;g=a[c+1|0]|0;k=a[c+2|0]|0;l=h&255;c=g&255;j=k&255;do{if((h&255)<(g&255)){if((h&255)>=(k&255)){break}c=(g&255)<(k&255)?j:c}else{if((g&255)>=(k&255)){c=l;break}c=(k&255)<(h&255)?l:j}}while(0);ej(b,e,c,d,d+1|0,d+2|0);i=f;return}function dj(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;switch(e|0){case 1:case 0:{a[d]=a[c]|0;i=f;return};case 4:{a[b+3|0]=-1;break};case 3:case 2:{break};default:{i=f;return}}g=a[b]|0;e=a[b+1|0]|0;k=a[b+2|0]|0;j=g&255;b=e&255;h=k&255;do{if((g&255)<(e&255)){if((g&255)>=(k&255)){break}b=(e&255)<(k&255)?h:b}else{if((e&255)>=(k&255)){b=j;break}b=(k&255)<(g&255)?j:h}}while(0);j=a[c]|0;k=a[c+1|0]|0;c=a[c+2|0]|0;e=j&255;h=k&255;g=c&255;do{if((j&255)<(k&255)){if((j&255)>=(c&255)){c=h;j=e;e=g;g=1;break}k=(k&255)<(c&255);c=k?g:h;j=k?h:g;g=k?3:2}else{if((k&255)>=(c&255)){c=e;j=h;e=g;g=0;break}k=(c&255)<(j&255);c=k?e:g;j=k?g:e;e=h;g=k?5:4}}while(0);if((c|0)==(e|0)){g=0;c=0}else{if((g&1|0)==0){h=((j-e|0)*60|0)/(c-e|0)|0}else{h=((c-j|0)*60|0)/(c-e|0)|0}g=h+(g*60|0)|0;c=((c-e|0)*255|0)/(c|0)|0}ej(g,c,b,d,d+1|0,d+2|0);i=f;return}function ej(b,c,d,e,f,g){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;if((c|0)==0){b=d&255;a[g]=b;a[f]=b;a[e]=b;i=h;return}j=(b|0)/60|0;b=(b|0)%60|0;if((j&1|0)==0){b=da(255-((da(60-b|0,c)|0)/60|0)|0,d)|0;b=b+128+(b>>>8)|0}else{b=(d*255|0)-((da(b,c)|0)/60|0)|0;b=b+128+(b>>>8)|0}b=b>>>8&255;c=da(255-c|0,d)|0;c=(c+128+(c>>>8)|0)>>>8&255;switch(j|0){case 1:{a[f]=d;a[e]=b;a[g]=c;i=h;return};case 3:{a[g]=d;a[f]=b;a[e]=c;i=h;return};case 0:{a[e]=d;a[f]=b;a[g]=c;i=h;return};case 5:{a[e]=d;a[g]=b;a[f]=c;i=h;return};case 4:{a[g]=d;a[e]=b;a[f]=c;i=h;return};case 2:{a[f]=d;a[g]=b;a[e]=c;i=h;return};default:{i=h;return}}}function fj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=i;h=i;i=i+16|0;g=h;f=g+8|0;c[f>>2]=0;c[f+4>>2]=0;c[h>>2]=5;h=FW(24)|0;f=FW(4)|0;c[f>>2]=192008;Nt(h,f,0);f=FW(68)|0;a=FW(1088)|0;Lj(a,h,0,0,c[h+8>>2]|0,g);Uf(f,a,d,e,0);i=b;return f|0}function gj(a,b){a=a|0;b=b|0;var c=0;c=i;a=(ue(b,35992,6)|0)==0;i=c;return a|0}function hj(a){a=a|0;i=i;return}function ij(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function jj(a){a=a|0;i=i;return}function kj(a){a=a|0;i=i;return}function lj(a){a=a|0;var b=0;a=i;b=i;i=i+8|0;Qe(-1,36088,b);i=a;return-1}function mj(a,b,c){a=a|0;b=b|0;c=c|0;c=i;b=i;i=i+8|0;Qe(-1,36144,b);i=c;return 0}function nj(a,b,c){a=a|0;b=b|0;c=c|0;c=i;b=i;i=i+8|0;Qe(-1,36200,b);i=c;return}function oj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;if((jd[c[(c[b>>2]|0)+24>>2]&511](b)|0)==-1){h=0;i=f;return h|0}e=e+ -1|0;a:do{if((e|0)>0){g=0;while(1){h=jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;if((h|0)==13){break}else if((h|0)==10|(h|0)==-1){break a}a[d+g|0]=h;g=g+1|0;if((g|0)>=(e|0)){break a}}if((jd[c[(c[b>>2]|0)+24>>2]&511](b)|0)!=10){break}jd[c[(c[b>>2]|0)+20>>2]&511](b)|0}else{g=0}}while(0);a[d+g|0]=0;h=d;i=f;return h|0}function pj(a,b,c){a=a|0;b=b|0;c=c|0;b=i;c=FW(32)|0;ee(c);i=b;return c|0}function qj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=i;v=i;i=i+8|0;k=i;i=i+8|0;g=i;i=i+8|0;h=g;x=i;i=i+8|0;w=x;y=i;i=i+8|0;z=y;B=i;i=i+8|0;A=B;C=i;i=i+8|0;E=C;r=i;i=i+16|0;d=r;l=i;i=i+16|0;p=l;q=i;i=i+16|0;f=q;o=i;i=i+16|0;j=o;c[r>>2]=13;t=d+8|0;c[t>>2]=0;c[t+4>>2]=0;c[l>>2]=13;s=p+8|0;c[s>>2]=0;c[s+4>>2]=0;c[q>>2]=13;m=f+8|0;c[m>>2]=0;c[m+4>>2]=0;c[o>>2]=13;n=j+8|0;c[n>>2]=0;u=n+4|0;c[u>>2]=0;D=c[b>>2]|0;if((D|0)!=7){c[C>>2]=D;c[E+4>>2]=7;Qe(0,48632,E);tc()}C=b+8|0;Yu(c[C>>2]|0,36256,d,0)|0;do{if((c[r>>2]|0)==5){Of(d);D=c[b>>2]|0;if((D|0)==7){Yu(c[C>>2]|0,36264,d,0)|0;break}else{c[B>>2]=D;c[A+4>>2]=7;Qe(0,48632,A);tc()}}}while(0);A=c[b>>2]|0;if((A|0)!=7){c[y>>2]=A;c[z+4>>2]=7;Qe(0,48632,z);tc()}Yu(c[C>>2]|0,36272,f,0)|0;do{if((c[q>>2]|0)==5){Of(f);b=c[b>>2]|0;if((b|0)==7){Yu(c[C>>2]|0,36288,f,0)|0;break}else{c[x>>2]=b;c[w+4>>2]=7;Qe(0,48632,w);tc()}}}while(0);w=c[r>>2]|0;if((w|0)==4){E=rj(a,c[t>>2]|0,a,f)|0;Of(d);Of(f);i=e;return E|0}else if((w|0)==6){v=0;w=a;while(1){x=c[t>>2]|0;if((v|0)>=(c[x+12>>2]|0)){j=26;break}ut(x,v,p)|0;if((c[q>>2]|0)==6){ut(c[m>>2]|0,v,j)|0}else{c[n>>2]=0;c[u>>2]=0;c[o>>2]=5}if((c[l>>2]|0)==4){x=rj(a,c[s>>2]|0,w,j)|0}else{Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,36296,k);x=FW(12)|0;c[x+4>>2]=1;c[x+8>>2]=w;c[x>>2]=48040}Of(p);Of(j);w=c[r>>2]|0;if((w|0)==6){v=v+1|0;w=x}else{j=16;break}}if((j|0)==16){c[g>>2]=w;c[h+4>>2]=6;Qe(0,48632,h);tc()}else if((j|0)==26){Of(d);Of(f);i=e;return w|0}}else if((w|0)==5){E=a;Of(d);Of(f);i=e;return E|0}else{Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,36312,v);E=a;Of(d);Of(f);i=e;return E|0}return 0}function rj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;g=i;Q=i;i=i+8|0;O=Q;x=i;i=i+8|0;t=x;A=i;i=i+8|0;B=A;K=i;i=i+8|0;J=K;L=i;i=i+8|0;M=L;m=i;i=i+8|0;l=m;n=i;i=i+8|0;o=n;r=i;i=i+8|0;s=r;u=i;i=i+8|0;v=u;E=i;i=i+8|0;C=E;I=i;i=i+8|0;F=I;q=i;i=i+8|0;p=q;w=i;i=i+8|0;y=w;D=i;i=i+8|0;z=D;H=i;i=i+8|0;G=H;j=i;i=i+16|0;P=j;k=i;i=i+16|0;h=k;c[j>>2]=13;j=P+8|0;c[j>>2]=0;c[j+4>>2]=0;c[k>>2]=13;j=h+8|0;c[j>>2]=0;c[j+4>>2]=0;do{if((Qc(d|0,36352)|0)!=0){if((Qc(d|0,36368)|0)==0){break}do{if((Qc(d|0,36376)|0)!=0){if((Qc(d|0,36392)|0)==0){break}do{if((Qc(d|0,36400)|0)!=0){if((Qc(d|0,36416)|0)==0){break}do{if((Qc(d|0,36496)|0)!=0){if((Qc(d|0,36512)|0)==0){break}do{if((Qc(d|0,36520)|0)!=0){if((Qc(d|0,36536)|0)==0){break}do{if((Qc(d|0,36632)|0)!=0){if((Qc(d|0,36648)|0)==0){break}do{if((Qc(d|0,36672)|0)!=0){if((Qc(d|0,36688)|0)==0){break}if((Qc(d|0,36696)|0)==0){if((c[f>>2]|0)==7){Yu(c[f+8>>2]|0,36712,P,0)|0}b=FW(152)|0;bD(b,e,P);Of(P);i=g;return b|0}if((Qc(d|0,36728)|0)==0){b=FW(220)|0;FD(b,e);i=g;return b|0}else{b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[Q>>2]=d;Qe(b,36744,O);b=FW(12)|0;c[b+4>>2]=1;c[b+8>>2]=e;c[b>>2]=48040;i=g;return b|0}}}while(0);if((c[f>>2]|0)==7){n=f+8|0;Yu(c[n>>2]|0,36424,h,0)|0;if((c[k>>2]|0)==1){l=c[j>>2]|0}else{l=1}Of(h);m=c[f>>2]|0;if((m|0)!=7){c[K>>2]=m;c[J+4>>2]=7;Qe(0,48632,J);tc()}Yu(c[n>>2]|0,36440,h,0)|0;if((c[k>>2]|0)==1){m=c[j>>2]|0}else{m=1}Of(h);o=c[f>>2]|0;if((o|0)!=7){c[A>>2]=o;c[B+4>>2]=7;Qe(0,48632,B);tc()}Yu(c[n>>2]|0,36448,h,0)|0;if((c[k>>2]|0)==1){o=c[j>>2]|0}else{o=1}Of(h);f=c[f>>2]|0;if((f|0)!=7){c[x>>2]=f;c[t+4>>2]=7;Qe(0,48632,t);tc()}Yu(c[n>>2]|0,36456,h,0)|0;if((c[k>>2]|0)==1){j=c[j>>2]|0}else{j=8}Of(h);h=j}else{h=8;o=1;m=1;l=1}b=FW(34100)|0;ql(b,e,l,m,o,h);i=g;return b|0}}while(0);if((c[f>>2]|0)==7){do{if((c[(Yu(c[f+8>>2]|0,36656,h,0)|0)>>2]|0)==1){k=c[k>>2]|0;if((k|0)==1){N=c[j>>2]|0;break}else{c[L>>2]=k;c[M+4>>2]=1;Qe(0,48632,M);tc()}}else{N=-1}}while(0);Of(h)}else{N=-1}h=FW(4016)|0;c[h+4>>2]=1;c[h+8>>2]=e;c[h>>2]=43144;c[h+180>>2]=N;a[h+13|0]=0;a[h+12|0]=0;c[h+176>>2]=0;bX(h+16|0,0,16)|0;bX(h+3452|0,0,544)|0;if(a[43240]&1){b=h;i=g;return b|0}bX(43248,0,256)|0;e=0;do{a[e+43504|0]=e;e=e+1|0;}while((e|0)<256);bX(43760|0,-1,256)|0;a[43240]=1;b=h;i=g;return b|0}}while(0);if((c[f>>2]|0)==7){t=f+8|0;Yu(c[t>>2]|0,36544,h,0)|0;if((c[k>>2]|0)==1){q=c[j>>2]|0}else{q=0}Of(h);p=c[f>>2]|0;if((p|0)!=7){c[I>>2]=p;c[F+4>>2]=7;Qe(0,48632,F);tc()}Yu(c[t>>2]|0,36552,h,0)|0;if((c[k>>2]|0)==0){p=(a[j]&1)!=0}else{p=0}Of(h);w=c[f>>2]|0;if((w|0)!=7){c[E>>2]=w;c[C+4>>2]=7;Qe(0,48632,C);tc()}Yu(c[t>>2]|0,36568,h,0)|0;if((c[k>>2]|0)==0){w=(a[j]&1)!=0}else{w=0}Of(h);x=c[f>>2]|0;if((x|0)!=7){c[u>>2]=x;c[v+4>>2]=7;Qe(0,48632,v);tc()}Yu(c[t>>2]|0,36440,h,0)|0;if((c[k>>2]|0)==1){u=c[j>>2]|0}else{u=1728}Of(h);v=c[f>>2]|0;if((v|0)!=7){c[r>>2]=v;c[s+4>>2]=7;Qe(0,48632,s);tc()}Yu(c[t>>2]|0,36592,h,0)|0;if((c[k>>2]|0)==1){r=c[j>>2]|0}else{r=0}Of(h);s=c[f>>2]|0;if((s|0)!=7){c[n>>2]=s;c[o+4>>2]=7;Qe(0,48632,o);tc()}Yu(c[t>>2]|0,36600,h,0)|0;if((c[k>>2]|0)==0){n=(a[j]&1)!=0}else{n=1}Of(h);f=c[f>>2]|0;if((f|0)!=7){c[m>>2]=f;c[l+4>>2]=7;Qe(0,48632,l);tc()}Yu(c[t>>2]|0,36616,h,0)|0;if((c[k>>2]|0)==0){j=(a[j]&1)!=0}else{j=0}Of(h);h=j}else{q=0;h=0;w=0;u=1728;n=1;p=0;r=0}j=FW(68)|0;c[j+4>>2]=1;c[j+8>>2]=e;c[j>>2]=38440;c[j+12>>2]=q;a[j+16|0]=p&1;a[j+17|0]=w&1;e=j+20|0;c[e>>2]=u;do{if((u|0)<1){c[e>>2]=1;u=1}else{if((u|0)<=2147483645){break}c[e>>2]=2147483645;u=2147483645}}while(0);c[j+24>>2]=r;a[j+28|0]=n&1;a[j+29|0]=h&1;e=ze(u+1|0,4)|0;c[j+44>>2]=e;b=ze(u+2|0,4)|0;c[j+48>>2]=b;h=j+30|0;if((e|0)==0|(b|0)==0){a[h]=1}else{a[h]=0;c[e>>2]=u}c[j+32>>2]=0;a[j+31|0]=q>>>31;c[j+40>>2]=0;c[j+52>>2]=0;c[j+60>>2]=0;c[j+64>>2]=-1;b=j;i=g;return b|0}}while(0);b=FW(152)|0;c[b+4>>2]=1;c[b+8>>2]=e;c[b>>2]=38304;Q=b+12|0;c[b+144>>2]=Q;c[b+140>>2]=Q;a[b+148|0]=0;i=g;return b|0}}while(0);if((c[f>>2]|0)==7){m=f+8|0;Yu(c[m>>2]|0,36424,h,0)|0;if((c[k>>2]|0)==1){l=c[j>>2]|0}else{l=1}Of(h);n=c[f>>2]|0;if((n|0)!=7){c[H>>2]=n;c[G+4>>2]=7;Qe(0,48632,G);tc()}Yu(c[m>>2]|0,36440,h,0)|0;if((c[k>>2]|0)==1){n=c[j>>2]|0}else{n=1}Of(h);o=c[f>>2]|0;if((o|0)!=7){c[D>>2]=o;c[z+4>>2]=7;Qe(0,48632,z);tc()}Yu(c[m>>2]|0,36448,h,0)|0;if((c[k>>2]|0)==1){o=c[j>>2]|0}else{o=1}Of(h);r=c[f>>2]|0;if((r|0)!=7){c[w>>2]=r;c[y+4>>2]=7;Qe(0,48632,y);tc()}Yu(c[m>>2]|0,36456,h,0)|0;if((c[k>>2]|0)==1){r=c[j>>2]|0}else{r=8}Of(h);f=c[f>>2]|0;if((f|0)!=7){c[q>>2]=f;c[p+4>>2]=7;Qe(0,48632,p);tc()}Yu(c[m>>2]|0,36480,h,0)|0;if((c[k>>2]|0)==1){j=c[j>>2]|0}else{j=1}Of(h)}else{r=8;o=1;n=1;j=1;l=1}b=FW(53324)|0;tk(b,e,l,n,o,r,j);i=g;return b|0}}while(0);b=FW(60)|0;c[b+4>>2]=1;c[b+8>>2]=e;c[b>>2]=37936;c[b+52>>2]=0;c[b+48>>2]=0;a[b+56|0]=0;i=g;return b|0}}while(0);b=FW(20)|0;c[b+4>>2]=1;c[b+8>>2]=e;c[b>>2]=37760;c[b+12>>2]=-1;a[b+16|0]=0;i=g;return b|0}function sj(a){a=a|0;var b=0;b=i;c[a>>2]=36776;Of(a+16|0);HW(a);i=b;return}function tj(a){a=a|0;var b=0;b=i;c[a>>2]=36776;Of(a+16|0);i=b;return}function uj(a,b){a=a|0;b=b|0;c[a+4>>2]=1;c[a>>2]=36904;c[a+8>>2]=b;i=i;return}function vj(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function wj(a){a=a|0;var b=0;b=i;a=c[a+8>>2]|0;fd[c[(c[a>>2]|0)+16>>2]&511](a);i=b;return}function xj(a,b,c){a=a|0;b=b|0;c=c|0;c=i;b=i;i=i+8|0;Qe(-1,37e3,b);i=c;return}function yj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+12>>2]=f;h=da(e,d)|0;b=a+16|0;c[b>>2]=h;if((f|0)==1){h=h+7&-8}c[a+20>>2]=ye((2147483647/(e|0)|0|0)<(d|0)?-1:h,1)|0;c[a+24>>2]=c[b>>2];i=g;return}function zj(a){a=a|0;var b=0;b=i;Fe(c[a+20>>2]|0);i=b;return}function Aj(a){a=a|0;var b=0;b=i;a=c[a>>2]|0;fd[c[(c[a>>2]|0)+12>>2]&511](a);i=b;return}function Bj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;e=b+12|0;k=c[e>>2]|0;if((k|0)==8){f=c[b+20>>2]|0;g=c[b>>2]|0;e=b+16|0;h=c[e>>2]|0;a:do{if(jd[c[(c[g>>2]|0)+88>>2]&511](g)|0){h=sd[c[(c[g>>2]|0)+92>>2]&127](g,h,f)|0}else{if((h|0)>0){j=0}else{break}do{k=jd[c[(c[g>>2]|0)+20>>2]&511](g)|0;if((k|0)==-1){h=j;break a}a[f+j|0]=k;j=j+1|0;}while((j|0)<(h|0))}}while(0);if((h|0)>=(c[e>>2]|0)){n=b+20|0;n=c[n>>2]|0;i=d;return n|0}do{a[f+h|0]=-1;h=h+1|0;}while((h|0)<(c[e>>2]|0));n=b+20|0;n=c[n>>2]|0;i=d;return n|0}else if((k|0)==16){f=b+16|0;if((c[f>>2]|0)<=0){n=b+20|0;n=c[n>>2]|0;i=d;return n|0}e=b+20|0;g=0;do{n=c[b>>2]|0;n=(jd[c[(c[n>>2]|0)+20>>2]&511](n)|0)&255;a[(c[e>>2]|0)+g|0]=n;n=c[b>>2]|0;jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;g=g+1|0;}while((g|0)<(c[f>>2]|0));n=b+20|0;n=c[n>>2]|0;i=d;return n|0}else if((k|0)==1){e=b+16|0;if((c[e>>2]|0)<=0){n=b+20|0;n=c[n>>2]|0;i=d;return n|0}f=b+20|0;g=0;do{n=c[b>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;a[(c[f>>2]|0)+g|0]=n>>>7&1;a[(c[f>>2]|0)+(g|1)|0]=n>>>6&1;a[(c[f>>2]|0)+(g|2)|0]=n>>>5&1;a[(c[f>>2]|0)+(g|3)|0]=n>>>4&1;a[(c[f>>2]|0)+(g|4)|0]=n>>>3&1;a[(c[f>>2]|0)+(g|5)|0]=n>>>2&1;a[(c[f>>2]|0)+(g|6)|0]=n>>>1&1;a[(c[f>>2]|0)+(g|7)|0]=n&1;g=g+8|0;}while((g|0)<(c[e>>2]|0));n=b+20|0;n=c[n>>2]|0;i=d;return n|0}else{h=(1<<k)+255|0;g=b+16|0;if((c[g>>2]|0)<=0){n=b+20|0;n=c[n>>2]|0;i=d;return n|0}f=b+20|0;j=0;l=0;m=0;while(1){if((j|0)<(k|0)){k=c[b>>2]|0;l=(jd[c[(c[k>>2]|0)+20>>2]&511](k)|0)&255|l<<8;k=c[e>>2]|0;j=j+8|0}a[(c[f>>2]|0)+m|0]=l>>>(j-k|0)&h;n=c[e>>2]|0;m=m+1|0;if((m|0)<(c[g>>2]|0)){k=n;j=j-n|0}else{break}}n=b+20|0;n=c[n>>2]|0;i=d;return n|0}return 0}function Cj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=i;k=i;i=i+72|0;g=k;j=b+4|0;n=c[j>>2]|0;do{if((n|0)>9){f=c[b>>2]|0;f=jd[c[(c[f>>2]|0)+28>>2]&511](f)|0;if((f|0)==-1){w=0;i=e;return w|0}else{n=f+10|0;break}}}while(0);h=b+28|0;f=b+24|0;m=(c[h>>2]|0)-(c[f>>2]|0)|0;l=GW(m>>>0>1073741823?-1:m<<2)|0;o=c[b>>2]|0;Gd[c[(c[o>>2]|0)+32>>2]&255](o,m,l);o=c[f>>2]|0;bX(k|0,0,o+1|0)|0;a:do{if((o|0)<(c[h>>2]|0)){m=b+32|0;b:do{if((n|0)==11){t=o;while(1){if((t|0)>0){n=t;while(1){p=n+ -1|0;a[g+n|0]=a[g+p|0]|0;if((p|0)>0){n=p}else{break}}}r=c[m>>2]|0;n=r+o|0;a[k]=a[n]|0;q=o-t|0;p=c[l+(q<<2)>>2]|0;if((p|0)==-1){break b}a[n]=(d[r+q|0]|0)+p;o=o+1|0;if((o|0)>=(c[h>>2]|0)){break a}t=c[f>>2]|0}}else{t=o;while(1){if((t|0)>0){q=t;while(1){p=q+ -1|0;a[g+q|0]=a[g+p|0]|0;if((p|0)>0){q=p}else{break}}}r=c[m>>2]|0;p=r+o|0;s=a[p]|0;a[k]=s;u=o-t|0;q=c[l+(u<<2)>>2]|0;if((q|0)==-1){break b}do{if((n|0)==12){a[p]=(s&255)+q}else if((n|0)==14){r=d[r+u|0]|0;s=s&255;t=d[g+t|0]|0;w=s+r-t|0;u=w-r|0;u=(u|0)<0?0-u|0:u;v=w-s|0;v=(v|0)<0?0-v|0:v;w=w-t|0;w=(w|0)<0?0-w|0:w;if(!((u|0)>(v|0)|(u|0)>(w|0))){a[p]=r+q;break}if((v|0)>(w|0)){a[p]=t+q;break}else{a[p]=s+q;break}}else if((n|0)==13){a[p]=(((s&255)+(d[r+u|0]|0)|0)>>>1)+q}else{a[p]=q}}while(0);o=o+1|0;if((o|0)>=(c[h>>2]|0)){break a}t=c[f>>2]|0}}}while(0);if((o|0)>(t|0)){break}if((l|0)==0){w=0;i=e;return w|0}IW(l);w=0;i=e;return w|0}}while(0);if((l|0)!=0){IW(l)}c:do{if((c[j>>2]|0)==2){j=b+16|0;l=c[j>>2]|0;if((l|0)==1){m=c[f>>2]|0;g=b+32|0;if((m|0)>=(c[h>>2]|0)){break}w=c[g>>2]|0;k=b+12|0;j=w;l=m;m=d[w+(m+ -1)|0]|0;while(1){w=j+l|0;v=d[w]|0;m=v|m<<8;a[w]=m>>>(c[k>>2]|0)^v;l=l+8|0;if((l|0)>=(c[h>>2]|0)){break c}j=c[g>>2]|0}}else if((l|0)==8){k=c[f>>2]|0;if((k|0)>=(c[h>>2]|0)){break}g=b+12|0;j=b+32|0;do{v=c[j>>2]|0;w=v+k|0;a[w]=(a[w]|0)+(a[v+(k-(c[g>>2]|0))|0]|0)<<24>>24;k=k+1|0;}while((k|0)<(c[h>>2]|0))}else{h=b+12|0;o=c[h>>2]|0;bX(k|0,0,o+1|0)|0;m=(1<<l)+255|0;p=c[f>>2]|0;k=b+8|0;q=c[k>>2]|0;if((q|0)<=0){break}l=b+32|0;n=0;t=0;u=0;r=p;v=p;s=0;p=0;do{if((o|0)>0){q=0;do{w=c[j>>2]|0;if((t|0)<(w|0)){t=t+8|0;u=d[(c[l>>2]|0)+r|0]|0|u<<8;r=r+1|0}y=g+q|0;t=t-w|0;x=(u>>>t)+(d[y]|0)&m;a[y]=x;p=x&255|p<<w;s=w+s|0;if((s|0)>7){s=s+ -8|0;a[(c[l>>2]|0)+v|0]=p>>>s;o=c[h>>2]|0;v=v+1|0}q=q+1|0;}while((q|0)<(o|0));q=c[k>>2]|0}n=n+1|0;}while((n|0)<(q|0));if((s|0)<=0){break}y=8-s|0;a[(c[b+32>>2]|0)+v|0]=((1<<y)+255&u)+(p<<y);break}}}while(0);c[b+36>>2]=c[f>>2];y=1;i=e;return y|0}function Dj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;j=i;c[b+4>>2]=1;c[b>>2]=36776;k=b+16|0;c[k>>2]=13;l=b+24|0;c[l>>2]=0;c[l+4>>2]=0;$W(k|0,h|0,16)|0;c[b>>2]=37056;c[b+32>>2]=d;c[b+36>>2]=e;a[b+40|0]=f&1;c[b+8>>2]=g;h=b+41|0;c[b+304>>2]=h;c[b+300>>2]=h;c[b+308>>2]=e;c[b+312>>2]=0;a[b+316|0]=0;i=j;return}function Ej(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=37056;e=b+316|0;if((a[e]&1)!=0){jc(c[b+32>>2]|0,c[b+312>>2]|0,0)|0;a[e]=0}c[b>>2]=36776;Of(b+16|0);HW(b);i=d;return}function Fj(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=37056;e=b+316|0;if((a[e]&1)!=0){jc(c[b+32>>2]|0,c[b+312>>2]|0,0)|0;a[e]=0}c[b>>2]=36776;Of(b+16|0);i=d;return}function Gj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;j=i;h=FW(320)|0;b=c[b+32>>2]|0;c[h+4>>2]=1;$W(h+16|0,g|0,16)|0;c[h>>2]=37056;c[h+32>>2]=b;c[h+36>>2]=d;a[h+40|0]=e&1;c[h+8>>2]=f;b=h+41|0;c[h+304>>2]=b;c[h+300>>2]=b;c[h+308>>2]=d;c[h+312>>2]=0;a[h+316|0]=0;i=j;return h|0}function Hj(b){b=b|0;var d=0,e=0,f=0;d=i;f=b+32|0;c[b+312>>2]=jb(c[f>>2]|0)|0;e=b+36|0;jc(c[f>>2]|0,c[e>>2]|0,0)|0;a[b+316|0]=1;f=b+41|0;c[b+304>>2]=f;c[b+300>>2]=f;c[b+308>>2]=c[e>>2];i=d;return}function Ij(b){b=b|0;var d=0,e=0;d=i;e=b+316|0;if((a[e]&1)==0){i=d;return}jc(c[b+32>>2]|0,c[b+312>>2]|0,0)|0;a[e]=0;i=d;return}function Jj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=a+32|0;g=c[f>>2]|0;if((d|0)>-1){jc(g|0,b|0,0)|0;c[a+308>>2]=b}else{jc(g|0,0,2)|0;g=jb(c[f>>2]|0)|0;jc(c[f>>2]|0,0-(g>>>0<b>>>0?g:b)|0,2)|0;c[a+308>>2]=jb(c[f>>2]|0)|0}d=a+41|0;c[a+304>>2]=d;c[a+300>>2]=d;i=e;return}function Kj(a,b){a=a|0;b=b|0;var d=0;d=a+36|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;d=a+41|0;c[a+304>>2]=d;c[a+300>>2]=d;c[a+308>>2]=b;i=i;return}function Lj(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;j=i;c[b+4>>2]=1;c[b>>2]=36776;k=b+16|0;c[k>>2]=13;l=b+24|0;c[l>>2]=0;c[l+4>>2]=0;$W(k|0,h|0,16)|0;c[b>>2]=37184;c[b+32>>2]=d;c[b+36>>2]=e;a[b+40|0]=f&1;c[b+8>>2]=g;h=b+41|0;c[b+1072>>2]=h;c[b+1068>>2]=h;c[b+1076>>2]=e;c[b+1080>>2]=0;a[b+1084|0]=0;i=j;return}function Mj(b){b=b|0;var d=0,e=0,f=0;d=i;c[b>>2]=37184;f=b+1084|0;e=b+32|0;if((a[f]&1)!=0){St(c[e>>2]|0,c[b+1080>>2]|0,0)|0;a[f]=0}Qt(c[e>>2]|0);c[b>>2]=36776;Of(b+16|0);HW(b);i=d;return}function Nj(b){b=b|0;var d=0,e=0,f=0;d=i;c[b>>2]=37184;f=b+1084|0;e=b+32|0;if((a[f]&1)!=0){St(c[e>>2]|0,c[b+1080>>2]|0,0)|0;a[f]=0}Qt(c[e>>2]|0);c[b>>2]=36776;Of(b+16|0);i=d;return}function Oj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;j=b+32|0;Pt(c[j>>2]|0);b=FW(1088)|0;j=c[j>>2]|0;c[b+4>>2]=1;$W(b+16|0,g|0,16)|0;c[b>>2]=37184;c[b+32>>2]=j;c[b+36>>2]=d;a[b+40|0]=e&1;c[b+8>>2]=f;g=b+41|0;c[b+1072>>2]=g;c[b+1068>>2]=g;c[b+1076>>2]=d;c[b+1080>>2]=0;a[b+1084|0]=0;i=h;return b|0}function Pj(b){b=b|0;var d=0,e=0,f=0;d=i;f=b+32|0;c[b+1080>>2]=Rt(c[f>>2]|0)|0;e=b+36|0;St(c[f>>2]|0,c[e>>2]|0,0)|0;a[b+1084|0]=1;f=b+41|0;c[b+1072>>2]=f;c[b+1068>>2]=f;c[b+1076>>2]=c[e>>2];i=d;return}function Qj(b){b=b|0;var d=0,e=0;d=i;e=b+1084|0;if((a[e]&1)==0){i=d;return}St(c[b+32>>2]|0,c[b+1080>>2]|0,0)|0;a[e]=0;i=d;return}function Rj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=a+32|0;g=c[f>>2]|0;if((d|0)>-1){St(g,b,0)|0;c[a+1076>>2]=b}else{St(g,0,2)|0;g=Rt(c[f>>2]|0)|0;St(c[f>>2]|0,0-(g>>>0<b>>>0?g:b)|0,2)|0;c[a+1076>>2]=Rt(c[f>>2]|0)|0}d=a+41|0;c[a+1072>>2]=d;c[a+1068>>2]=d;i=e;return}function Sj(a,b){a=a|0;b=b|0;var d=0;d=a+36|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b;d=a+41|0;c[a+1072>>2]=d;c[a+1068>>2]=d;c[a+1076>>2]=b;i=i;return}function Tj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;c[b+4>>2]=1;c[b>>2]=36776;j=b+16|0;c[j>>2]=13;k=b+24|0;c[k>>2]=0;c[k+4>>2]=0;$W(j|0,g|0,16)|0;c[b>>2]=37312;c[b+32>>2]=d;c[b+36>>2]=e;c[b+8>>2]=f;c[b+40>>2]=d+(e+f);c[b+44>>2]=d+e;a[b+48|0]=0;i=h;return}function Uj(b){b=b|0;var d=0;d=i;c[b>>2]=37312;if((a[b+48|0]&1)!=0){Fe(c[b+32>>2]|0)}c[b>>2]=36776;Of(b+16|0);HW(b);i=d;return}function Vj(b){b=b|0;var d=0;d=i;c[b>>2]=37312;if((a[b+48|0]&1)!=0){Fe(c[b+32>>2]|0)}c[b>>2]=36776;Of(b+16|0);i=d;return}function Wj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;j=i;if(e){e=c[b+36>>2]|0;k=c[b+8>>2]|0;if((f+d|0)>>>0>(k+e|0)>>>0){h=4}}else{k=c[b+8>>2]|0;e=c[b+36>>2]|0;h=4}if((h|0)==4){f=e-d+k|0}k=FW(56)|0;e=c[b+32>>2]|0;c[k+4>>2]=1;$W(k+16|0,g|0,16)|0;c[k>>2]=37312;c[k+32>>2]=e;c[k+36>>2]=d;c[k+8>>2]=f;c[k+40>>2]=e+(f+d);c[k+44>>2]=e+d;a[k+48|0]=0;i=j;return k|0}function Xj(a){a=a|0;c[a+44>>2]=(c[a+32>>2]|0)+(c[a+36>>2]|0);i=i;return}function Yj(a){a=a|0;i=i;return}function Zj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[a+36>>2]|0;if((d|0)<=-1){b=e-b+(c[a+8>>2]|0)|0}if(b>>>0>=e>>>0){e=(c[a+8>>2]|0)+e|0;e=b>>>0>e>>>0?e:b}c[a+44>>2]=(c[a+32>>2]|0)+e;i=i;return}function _j(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+36|0;d=(c[e>>2]|0)+b|0;c[e>>2]=d;e=a+8|0;c[e>>2]=(c[e>>2]|0)-b;c[a+44>>2]=(c[a+32>>2]|0)+d;i=i;return}function $j(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;c[b+4>>2]=1;c[b>>2]=36776;j=b+16|0;c[j>>2]=13;k=b+24|0;c[k>>2]=0;c[k+4>>2]=0;$W(j|0,e|0,16)|0;c[b>>2]=37440;c[b+32>>2]=d;a[b+36|0]=f&1;c[b+8>>2]=g;i=h;return}function ak(a){a=a|0;var b=0;b=i;c[a>>2]=36776;Of(a+16|0);HW(a);i=b;return}function bk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;e=i;d=i;i=i+8|0;Qe(-1,37560,d);i=e;return 0}function ck(b){b=b|0;var d=0,e=0;d=i;e=c[b+8>>2]|0;if((a[b+36|0]&1)!=0&(e|0)==0){e=-1;i=d;return e|0}c[b+8>>2]=e+ -1;e=c[b+32>>2]|0;e=jd[c[(c[e>>2]|0)+20>>2]&511](e)|0;i=d;return e|0}function dk(b){b=b|0;var d=0;d=i;do{if((a[b+36|0]&1)!=0){if((c[b+8>>2]|0)==0){b=-1}else{break}i=d;return b|0}}while(0);b=c[b+32>>2]|0;b=jd[c[(c[b>>2]|0)+24>>2]&511](b)|0;i=d;return b|0}function ek(a,b,c){a=a|0;b=b|0;c=c|0;c=i;b=i;i=i+8|0;Qe(-1,37608,b);i=c;return}function fk(a){a=a|0;var b=0;a=i;b=i;i=i+8|0;Qe(-1,37656,b);i=a;return 0}function gk(a,b){a=a|0;b=b|0;b=i;a=i;i=i+8|0;Qe(-1,37704,a);i=b;return}function hk(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=37760;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function ik(a){a=a|0;var b=0;b=i;c[a>>2]=37760;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function jk(b){b=b|0;var d=0,e=0;d=i;e=c[b+8>>2]|0;fd[c[(c[e>>2]|0)+12>>2]&511](e);c[b+12>>2]=-1;a[b+16|0]=0;i=d;return}function kk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;f=i;i=i+8|0;g=f;j=i;i=i+8|0;k=j;e=b+12|0;h=c[e>>2]|0;if((h|0)!=-1){n=h;i=d;return n|0}h=b+16|0;if((a[h]&1)!=0){c[e>>2]=-1;n=-1;i=d;return n|0}n=b+8|0;do{l=c[n>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;}while((xc(l|0)|0)!=0);if((l|0)==62){a[h]=1;c[e>>2]=-1;n=-1;i=d;return n|0}do{m=c[n>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;}while((xc(m|0)|0)!=0);if((m|0)==62){a[h]=1;m=48}do{if((l+ -48|0)>>>0<10){k=(l<<4)+ -768|0}else{if((l+ -65|0)>>>0<6){k=(l<<4)+ -880|0;break}if((l+ -97|0)>>>0<6){k=(l<<4)+ -1392|0;break}if((l|0)==-1){a[h]=1;k=0;break}else{n=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[j>>2]=l;Qe(n,37856,k);k=0;break}}}while(0);j=m+ -48|0;do{if(j>>>0<10){k=j+k|0}else{if((m+ -65|0)>>>0<6){k=m+ -55+k|0;break}if((m+ -97|0)>>>0<6){k=m+ -87+k|0;break}if((m|0)==-1){a[h]=1;k=0;break}else{n=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[f>>2]=m;Qe(n,37856,g);break}}}while(0);n=k&255;c[e>>2]=n;i=d;return n|0}function lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;if((b|0)<2){b=0;i=e;return b|0}a=c[a+8>>2]|0;a=sd[c[(c[a>>2]|0)+56>>2]&127](a,b,d)|0;if((a|0)==0){b=0;i=e;return b|0}ne(ne(a,d,-1)|0,37904,-1)|0;b=a;i=e;return b|0}function mk(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[a+8>>2]|0;b=Bd[c[(c[b>>2]|0)+60>>2]&255](b,0)|0;i=d;return b|0}function nk(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=37936;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function ok(a){a=a|0;var b=0;b=i;c[a>>2]=37936;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function pk(b){b=b|0;var d=0,e=0;d=i;e=c[b+8>>2]|0;fd[c[(c[e>>2]|0)+12>>2]&511](e);c[b+52>>2]=0;c[b+48>>2]=0;a[b+56|0]=0;i=d;return}function qk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;e=b+48|0;h=b+52|0;do{if((c[e>>2]|0)>=(c[h>>2]|0)){f=b+56|0;if((a[f]&1)!=0){l=-1;i=g;return l|0}c[e>>2]=0;j=b+8|0;d=b+12|0;do{l=c[j>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;c[d>>2]=l;}while(hE(l)|0);k=c[d>>2]|0;if((k|0)==-1|(k|0)==126){a[f]=1;c[h>>2]=0;l=-1;i=g;return l|0}else if((k|0)==122){bX(b+32|0,0,16)|0;c[h>>2]=4;break}else{k=1;while(1){l=b+12+(k<<2)|0;do{m=c[j>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;c[l>>2]=m;}while(hE(m)|0);m=c[l>>2]|0;if((m|0)==-1|(m|0)==126){j=12;break}l=k+1|0;if((l|0)<5){k=l}else{j=16;break}}do{if((j|0)==12){c[h>>2]=k+ -1;m=c[l>>2]|0;if(!((m|0)==-1|(m|0)==126)){break}h=k+1|0;if((h|0)<5){do{c[b+12+(h<<2)>>2]=117;h=h+1|0;}while((h|0)<5)}a[f]=1}else if((j|0)==16){c[h>>2]=k}}while(0);m=((((((((c[d>>2]|0)*85|0)+ -2838+(c[b+16>>2]|0)|0)*85|0)+ -33+(c[b+20>>2]|0)|0)*85|0)+ -33+(c[b+24>>2]|0)|0)*85|0)+ -33+(c[b+28>>2]|0)|0;c[b+44>>2]=m&255;c[b+40>>2]=m>>>8&255;c[b+36>>2]=m>>>16&255;c[b+32>>2]=m>>>24;break}}}while(0);m=c[b+32+(c[e>>2]<<2)>>2]|0;i=g;return m|0}function rk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;if((b|0)<2){b=0;i=e;return b|0}a=c[a+8>>2]|0;a=sd[c[(c[a>>2]|0)+56>>2]&127](a,b,d)|0;if((a|0)==0){b=0;i=e;return b|0}ne(ne(a,d,-1)|0,38032,-1)|0;b=a;i=e;return b|0}function sk(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[a+8>>2]|0;b=Bd[c[(c[b>>2]|0)+60>>2]&255](b,0)|0;i=d;return b|0}function tk(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;k=i;c[b+4>>2]=1;c[b+8>>2]=d;c[b>>2]=38064;a:do{if((e|0)==1){c[b+12>>2]=0}else{d=FW(44)|0;c[d>>2]=b;c[d+4>>2]=e;c[d+8>>2]=f;c[d+12>>2]=g;c[d+16>>2]=h;e=d+32|0;c[e>>2]=0;n=d+40|0;a[n]=0;o=da(g,f)|0;c[d+20>>2]=o;l=(da(h,g)|0)+7>>3;c[d+24>>2]=l;l=((da(o,h)|0)+7>>3)+l|0;m=d+28|0;c[m>>2]=l;do{if(!((f|0)<1|(g|0)<1)){if((h|0)<1|(g|0)>32|(h|0)>16){break}if((2147483647/(g|0)|0|0)<=(f|0)){break}if((o|0)>=(2147483640/(h|0)|0|0)){break}o=we(l)|0;c[e>>2]=o;bX(o|0,0,c[m>>2]|0)|0;c[d+36>>2]=c[m>>2];a[n]=1;c[b+12>>2]=d;break a}}while(0);g=b+12|0;c[g>>2]=d;if((d|0)!=0){Fe(c[e>>2]|0);HW(d)}c[g>>2]=0}}while(0);c[b+16>>2]=j;a[b+20|0]=0;c[b+28>>2]=0;c[b+49196>>2]=258;c[b+49200>>2]=9;c[b+53312>>2]=0;c[b+53316>>2]=0;a[b+53320|0]=1;i=k;return}function uk(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=38064;d=c[a+12>>2]|0;if((d|0)!=0){Fe(c[d+32>>2]|0);HW(d)}d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function vk(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=38064;d=c[a+12>>2]|0;if((d|0)!=0){Fe(c[d+32>>2]|0);HW(d)}a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function wk(b){b=b|0;var e=0,f=0,g=0;e=i;f=c[b+12>>2]|0;if((f|0)!=0){b=f+36|0;g=c[b>>2]|0;do{if((g|0)>=(c[f+28>>2]|0)){if(Cj(f)|0){g=c[b>>2]|0;break}else{g=-1;i=e;return g|0}}}while(0);c[b>>2]=g+1;g=d[(c[f+32>>2]|0)+g|0]|0;i=e;return g|0}if((a[b+20|0]&1)!=0){g=-1;i=e;return g|0}f=b+53316|0;g=c[f>>2]|0;do{if((g|0)>=(c[b+53312>>2]|0)){if(xk(b)|0){g=c[f>>2]|0;break}else{g=-1;i=e;return g|0}}}while(0);c[f>>2]=g+1;g=d[b+49212+g|0]|0;i=e;return g|0}function xk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;m=i;i=i+8|0;n=i;i=i+8|0;k=b+20|0;if((a[k]&1)!=0){t=0;i=d;return t|0}p=b+28|0;f=b+49200|0;q=b+8|0;r=b+24|0;g=b+49196|0;l=b+53312|0;e=b+53316|0;h=b+53320|0;t=c[f>>2]|0;s=c[p>>2]|0;a:while(1){if((s|0)<(t|0)){do{j=c[q>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){o=8;break a}j=c[r>>2]<<8|j&255;c[r>>2]=j;s=(c[p>>2]|0)+8|0;c[p>>2]=s;t=c[f>>2]|0;}while((s|0)<(t|0))}else{j=c[r>>2]|0}s=s-t|0;j=j>>s&(1<<t)+ -1;c[p>>2]=s;if((j|0)==257|(j|0)==-1){o=8;break}else if((j|0)!=256){break}c[g>>2]=258;c[f>>2]=9;c[l>>2]=0;c[e>>2]=0;a[h]=1;t=9}if((o|0)==8){a[k]=1;t=0;i=d;return t|0}p=c[g>>2]|0;if((p|0)>4096){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,38160,n);c[g>>2]=258;c[f>>2]=9;c[l>>2]=0;c[e>>2]=0;a[h]=1;o=0;p=258}else{o=c[l>>2]|0}n=o+1|0;do{if((j|0)<256){t=j&255;a[b+49212|0]=t;c[l>>2]=1;l=t}else{if((j|0)<(p|0)){k=c[b+32+(j*12|0)>>2]|0;c[l>>2]=k;k=k+ -1|0;l=j&255;if((k|0)>0){l=j;do{a[b+49212+k|0]=a[b+32+(l*12|0)+8|0]|0;l=c[b+32+(l*12|0)+4>>2]|0;k=k+ -1|0;}while((k|0)>0);l=l&255}a[b+49212|0]=l;break}else{if((j|0)==(p|0)){a[b+49212+o|0]=c[b+49208>>2];c[l>>2]=(c[l>>2]|0)+1;l=a[b+49212|0]|0;break}Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,38208,m);a[k]=1;t=0;i=d;return t|0}}}while(0);k=b+49208|0;c[k>>2]=l&255;do{if((a[h]&1)==0){c[b+32+((c[g>>2]|0)*12|0)>>2]=n;h=b+49204|0;c[b+32+((c[g>>2]|0)*12|0)+4>>2]=c[h>>2];a[b+32+((c[g>>2]|0)*12|0)+8|0]=c[k>>2];t=(c[g>>2]|0)+1|0;c[g>>2]=t;b=t+(c[b+16>>2]|0)|0;if((b|0)==512){c[f>>2]=10;break}else if((b|0)==1024){c[f>>2]=11;break}else if((b|0)==2048){c[f>>2]=12;break}else{break}}else{a[h]=0;h=b+49204|0}}while(0);c[h>>2]=j;c[e>>2]=0;t=1;i=d;return t|0}function yk(b){b=b|0;var e=0,f=0,g=0;e=i;f=c[b+12>>2]|0;if((f|0)!=0){g=f+36|0;b=c[g>>2]|0;do{if((b|0)>=(c[f+28>>2]|0)){if(Cj(f)|0){b=c[g>>2]|0;break}else{g=-1;i=e;return g|0}}}while(0);g=d[(c[f+32>>2]|0)+b|0]|0;i=e;return g|0}if((a[b+20|0]&1)!=0){g=-1;i=e;return g|0}g=b+53316|0;f=c[g>>2]|0;do{if((f|0)>=(c[b+53312>>2]|0)){if(xk(b)|0){f=c[g>>2]|0;break}else{g=-1;i=e;return g|0}}}while(0);g=d[b+49212+f|0]|0;i=e;return g|0}function zk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;j=i;if((e|0)<=0){i=j;return}k=b+20|0;h=b+53316|0;g=b+53312|0;l=0;do{do{if((a[k]&1)==0){m=c[h>>2]|0;if((m|0)>=(c[g>>2]|0)){if(!(xk(b)|0)){m=-1;break}m=c[h>>2]|0}c[h>>2]=m+1;m=d[b+49212+m|0]|0}else{m=-1}}while(0);c[f+(l<<2)>>2]=m;l=l+1|0;}while((l|0)<(e|0));i=j;return}function Ak(b){b=b|0;var e=0,f=0,g=0;e=i;if((a[b+20|0]&1)!=0){g=-1;i=e;return g|0}f=b+53316|0;g=c[f>>2]|0;do{if((g|0)>=(c[b+53312>>2]|0)){if(xk(b)|0){g=c[f>>2]|0;break}else{g=-1;i=e;return g|0}}}while(0);c[f>>2]=g+1;g=d[b+49212+g|0]|0;i=e;return g|0}function Bk(b){b=b|0;var d=0,e=0;d=i;e=c[b+8>>2]|0;fd[c[(c[e>>2]|0)+12>>2]&511](e);a[b+20|0]=0;c[b+28>>2]=0;c[b+49196>>2]=258;c[b+49200>>2]=9;c[b+53312>>2]=0;c[b+53316>>2]=0;a[b+53320|0]=1;i=d;return}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;if((b|0)<2){b=0;i=e;return b|0}if((c[a+12>>2]|0)!=0){b=0;i=e;return b|0}f=c[a+8>>2]|0;b=sd[c[(c[f>>2]|0)+56>>2]&127](f,b,d)|0;if((b|0)==0){f=0;i=e;return f|0}ne(ne(b,d,-1)|0,38248,-1)|0;if((c[a+16>>2]|0)==0){ne(b,38256,-1)|0}ne(b,38272,-1)|0;f=b;i=e;return f|0}function Dk(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[a+8>>2]|0;b=Bd[c[(c[b>>2]|0)+60>>2]&255](b,1)|0;i=d;return b|0}function Ek(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=38304;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function Fk(a){a=a|0;var b=0;b=i;c[a>>2]=38304;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Gk(b){b=b|0;var d=0,e=0;d=i;e=c[b+8>>2]|0;fd[c[(c[e>>2]|0)+12>>2]&511](e);e=b+12|0;c[b+144>>2]=e;c[b+140>>2]=e;a[b+148|0]=0;i=d;return}function Hk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;if((b|0)<2){b=0;i=e;return b|0}a=c[a+8>>2]|0;a=sd[c[(c[a>>2]|0)+56>>2]&127](a,b,d)|0;if((a|0)==0){b=0;i=e;return b|0}ne(ne(a,d,-1)|0,38400,-1)|0;b=a;i=e;return b|0}function Ik(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[a+8>>2]|0;b=Bd[c[(c[b>>2]|0)+60>>2]&255](b,1)|0;i=d;return b|0}function Jk(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=38440;d=c[a+8>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}Fe(c[a+48>>2]|0);Fe(c[a+44>>2]|0);HW(a);i=b;return}function Kk(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=38440;d=c[a+8>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}Fe(c[a+48>>2]|0);Fe(c[a+44>>2]|0);i=b;return}function Lk(b){b=b|0;var d=0,e=0;d=i;e=c[b+8>>2]|0;fd[c[(c[e>>2]|0)+12>>2]&511](e);c[b+32>>2]=0;a[b+31|0]=(c[b+12>>2]|0)>>>31;c[b+40>>2]=0;c[b+52>>2]=0;c[b+60>>2]=0;c[b+64>>2]=-1;i=d;return}function Mk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;fd[c[(c[b>>2]|0)+40>>2]&511](b);e=c[b+44>>2]|0;do{if((e|0)==0){f=4}else{if((c[b+48>>2]|0)==0){f=4;break}a[b+30|0]=0;c[e>>2]=c[b+20>>2]}}while(0);if((f|0)==4){a[b+30|0]=1}e=b+40|0;h=b+8|0;g=b+36|0;l=c[e>>2]|0;a:while(1){b:do{if((l|0)<12){while(1){j=c[h>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){break}k=(c[g>>2]<<8)+j|0;c[g>>2]=k;j=(c[e>>2]|0)+8|0;c[e>>2]=j;if((j|0)>=12){l=j;f=12;break b}}k=c[e>>2]|0;if((k|0)==0){j=0;break a}j=k;k=c[g>>2]<<12-k}else{k=c[g>>2]|0;f=12}}while(0);if((f|0)==12){f=0;j=l;k=k>>l+ -12}k=k&4095;if(k<<16>>16==1){f=15;break}else if(k<<16>>16!=0){break}j=j+ -1|0;l=(j|0)<0?0:j;c[e>>2]=l}if((f|0)==15){j=j+ -12|0;j=(j|0)<0?0:j;c[e>>2]=j}if((c[b+12>>2]|0)<=0){i=d;return}c:do{if((j|0)<1){while(1){j=c[h>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){break}k=(c[g>>2]<<8)+j|0;c[g>>2]=k;j=(c[e>>2]|0)+8|0;c[e>>2]=j;if((j|0)>=1){g=k;f=23;break c}}j=c[e>>2]|0;if((j|0)==0){h=0;g=-1;break}h=j;g=c[g>>2]<<1-j&1}else{g=c[g>>2]|0;f=23}}while(0);if((f|0)==23){h=j;g=g>>>(j+ -1|0)&1}a[b+31|0]=g<<16>>16==0|0;b=h+ -1|0;c[e>>2]=(b|0)<0?0:b;i=d;return}function Nk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;d=i;j=i;i=i+8|0;E=i;i=i+8|0;D=E;A=i;i=i+8|0;w=A;B=i;i=i+8|0;C=B;p=i;i=i+8|0;q=p;n=i;i=i+8|0;o=n;r=i;i=i+8|0;s=r;y=i;i=i+8|0;z=y;t=i;i=i+8|0;x=t;v=i;i=i+8|0;u=v;e=b+64|0;f=c[e>>2]|0;if((f|0)!=-1){M=f;i=d;return M|0}f=b+60|0;h=c[f>>2]|0;if((h|0)==0){h=b+30|0;if((a[h]&1)!=0){M=-1;i=d;return M|0}l=b+56|0;a[l]=0;k=b+31|0;m=b+44|0;F=c[m>>2]|0;a:do{if((a[k]&1)==0){c[F>>2]=0;p=b+52|0;c[p>>2]=0;o=b+20|0;if((c[c[m>>2]>>2]|0)>=(c[o>>2]|0)){break}n=0;while(1){if((n|0)==0){r=0;while(1){M=Qk(b)|0;r=M+r<<16>>16;if(M<<16>>16>63){}else{break}}}else{r=0;while(1){M=Pk(b)|0;r=M+r<<16>>16;if(M<<16>>16>63){}else{break}}}t=c[p>>2]|0;s=c[(c[m>>2]|0)+(t<<2)>>2]|0;q=s+(r<<16>>16)|0;if(r<<16>>16>0){if((c[o>>2]|0)<(q|0)){t=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[E>>2]=q;Qe(t,48704,D);a[l]=1;t=c[p>>2]|0;q=c[o>>2]|0}if((t&1|0)!=(n|0)){t=t+1|0;c[p>>2]=t}c[(c[m>>2]|0)+(t<<2)>>2]=q;s=c[(c[m>>2]|0)+(c[p>>2]<<2)>>2]|0}if((s|0)<(c[o>>2]|0)){n=n^1}else{break}}}else{G=c[F>>2]|0;D=b+20|0;F=c[D>>2]|0;E=b+48|0;if((G|0)<(F|0)){F=0;while(1){c[(c[E>>2]|0)+(F<<2)>>2]=G;F=F+1|0;G=c[(c[m>>2]|0)+(F<<2)>>2]|0;H=c[D>>2]|0;if((G|0)<(H|0)){}else{G=H;break}}}else{G=F;F=0}c[(c[E>>2]|0)+(F<<2)>>2]=G;c[(c[E>>2]|0)+(F+1<<2)>>2]=c[D>>2];c[c[m>>2]>>2]=0;F=b+52|0;c[F>>2]=0;if((c[c[m>>2]>>2]|0)>=(c[D>>2]|0)){break}G=0;H=0;while(1){I=(Ok(b)|0)<<16>>16;b:do{switch(I|0){case 1:{if((H|0)==0){J=0;while(1){M=Qk(b)|0;J=M+J<<16>>16;if(M<<16>>16>63){}else{I=0;break}}while(1){M=Pk(b)|0;I=M+I<<16>>16;if(M<<16>>16>63){}else{break}}}else{J=0;while(1){M=Pk(b)|0;J=M+J<<16>>16;if(M<<16>>16>63){}else{I=0;break}}while(1){M=Qk(b)|0;I=M+I<<16>>16;if(M<<16>>16>63){}else{break}}}M=c[F>>2]|0;K=c[(c[m>>2]|0)+(M<<2)>>2]|0;L=K+(J<<16>>16)|0;if(J<<16>>16>0){if((c[D>>2]|0)<(L|0)){M=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[t>>2]=L;Qe(M,48704,x);a[l]=1;M=c[F>>2]|0;L=c[D>>2]|0}if((M&1|0)!=(H|0)){M=M+1|0;c[F>>2]=M}c[(c[m>>2]|0)+(M<<2)>>2]=L;M=c[F>>2]|0;K=c[(c[m>>2]|0)+(M<<2)>>2]|0}L=c[D>>2]|0;do{if((K|0)<(L|0)){J=K+(I<<16>>16)|0;if(I<<16>>16<=0){break}if((L|0)<(J|0)){M=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[y>>2]=J;Qe(M,48704,z);a[l]=1;M=c[F>>2]|0;J=c[D>>2]|0}if((M&1|0)!=(H^1|0)){M=M+1|0;c[F>>2]=M}c[(c[m>>2]|0)+(M<<2)>>2]=J;K=c[(c[m>>2]|0)+(c[F>>2]<<2)>>2]|0}}while(0);J=c[E>>2]|0;M=c[J+(G<<2)>>2]|0;if((M|0)>(K|0)){break b}I=c[D>>2]|0;while(1){L=G+2|0;if((M|0)>=(I|0)){break b}M=c[J+(L<<2)>>2]|0;if((M|0)>(K|0)){G=L;break}else{G=L}}break};case 2:{J=c[(c[E>>2]|0)+(G<<2)>>2]|0;K=c[F>>2]|0;I=c[(c[m>>2]|0)+(K<<2)>>2]|0;if((I|0)<(J|0)){if((c[D>>2]|0)<(J|0)){K=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[B>>2]=J;Qe(K,48704,C);a[l]=1;K=c[F>>2]|0;J=c[D>>2]|0}if((K&1|0)!=(H|0)){K=K+1|0;c[F>>2]=K}c[(c[m>>2]|0)+(K<<2)>>2]=J;I=c[(c[m>>2]|0)+(c[F>>2]<<2)>>2]|0}H=H^1;J=c[D>>2]|0;if((I|0)>=(J|0)){break b}G=G+1|0;K=c[E>>2]|0;L=c[K+(G<<2)>>2]|0;if((L|0)>(I|0)){break b}while(1){M=G+2|0;if((L|0)>=(J|0)){break b}L=c[K+(M<<2)>>2]|0;if((L|0)>(I|0)){G=M;break}else{G=M}}break};case 5:{J=(c[(c[E>>2]|0)+(G<<2)>>2]|0)+2|0;K=c[F>>2]|0;I=c[(c[m>>2]|0)+(K<<2)>>2]|0;if((I|0)<(J|0)){if((c[D>>2]|0)<(J|0)){I=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[n>>2]=J;Qe(I,48704,o);a[l]=1;I=c[F>>2]|0;J=c[D>>2]|0}else{I=K}if((I&1|0)!=(H|0)){I=I+1|0;c[F>>2]=I}c[(c[m>>2]|0)+(I<<2)>>2]=J;I=c[(c[m>>2]|0)+(c[F>>2]<<2)>>2]|0}H=H^1;J=c[D>>2]|0;if((I|0)>=(J|0)){break b}G=G+1|0;K=c[E>>2]|0;L=c[K+(G<<2)>>2]|0;if((L|0)>(I|0)){break b}while(1){M=G+2|0;if((L|0)>=(J|0)){break b}L=c[K+(M<<2)>>2]|0;if((L|0)>(I|0)){G=M;break}else{G=M}}break};case 8:{Rk(b,(c[(c[E>>2]|0)+(G<<2)>>2]|0)+ -3|0,H);H=H^1;J=c[(c[m>>2]|0)+(c[F>>2]<<2)>>2]|0;I=c[D>>2]|0;if((J|0)>=(I|0)){break b}G=G+((G|0)>0?-1:1)|0;K=c[E>>2]|0;L=c[K+(G<<2)>>2]|0;if((L|0)>(J|0)){break b}while(1){M=G+2|0;if((L|0)>=(I|0)){break b}L=c[K+(M<<2)>>2]|0;if((L|0)>(J|0)){G=M;break}else{G=M}}break};case 6:{Rk(b,(c[(c[E>>2]|0)+(G<<2)>>2]|0)+ -2|0,H);H=H^1;J=c[(c[m>>2]|0)+(c[F>>2]<<2)>>2]|0;I=c[D>>2]|0;if((J|0)>=(I|0)){break b}G=G+((G|0)>0?-1:1)|0;K=c[E>>2]|0;L=c[K+(G<<2)>>2]|0;if((L|0)>(J|0)){break b}while(1){M=G+2|0;if((L|0)>=(I|0)){break b}L=c[K+(M<<2)>>2]|0;if((L|0)>(J|0)){G=M;break}else{G=M}}break};case 3:{J=(c[(c[E>>2]|0)+(G<<2)>>2]|0)+1|0;K=c[F>>2]|0;I=c[(c[m>>2]|0)+(K<<2)>>2]|0;if((I|0)<(J|0)){if((c[D>>2]|0)<(J|0)){K=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[p>>2]=J;Qe(K,48704,q);a[l]=1;K=c[F>>2]|0;J=c[D>>2]|0}if((K&1|0)!=(H|0)){K=K+1|0;c[F>>2]=K}c[(c[m>>2]|0)+(K<<2)>>2]=J;I=c[(c[m>>2]|0)+(c[F>>2]<<2)>>2]|0}H=H^1;J=c[D>>2]|0;if((I|0)>=(J|0)){break b}G=G+1|0;K=c[E>>2]|0;L=c[K+(G<<2)>>2]|0;if((L|0)>(I|0)){break b}while(1){M=G+2|0;if((L|0)>=(J|0)){break b}L=c[K+(M<<2)>>2]|0;if((L|0)>(I|0)){G=M;break}else{G=M}}break};case 7:{J=(c[(c[E>>2]|0)+(G<<2)>>2]|0)+3|0;K=c[F>>2]|0;I=c[(c[m>>2]|0)+(K<<2)>>2]|0;if((I|0)<(J|0)){if((c[D>>2]|0)<(J|0)){K=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[r>>2]=J;Qe(K,48704,s);a[l]=1;K=c[F>>2]|0;J=c[D>>2]|0}if((K&1|0)!=(H|0)){K=K+1|0;c[F>>2]=K}c[(c[m>>2]|0)+(K<<2)>>2]=J;I=c[(c[m>>2]|0)+(c[F>>2]<<2)>>2]|0}H=H^1;J=c[D>>2]|0;if((I|0)>=(J|0)){break b}G=G+1|0;K=c[E>>2]|0;M=c[K+(G<<2)>>2]|0;if((M|0)>(I|0)){break b}while(1){L=G+2|0;if((M|0)>=(J|0)){break b}M=c[K+(L<<2)>>2]|0;if((M|0)>(I|0)){G=L;break}else{G=L}}break};case 0:{I=G+1|0;J=c[(c[E>>2]|0)+(I<<2)>>2]|0;K=c[F>>2]|0;if((c[(c[m>>2]|0)+(K<<2)>>2]|0)<(J|0)){if((c[D>>2]|0)<(J|0)){K=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[v>>2]=J;Qe(K,48704,u);a[l]=1;K=c[F>>2]|0;J=c[D>>2]|0}if((K&1|0)!=(H|0)){K=K+1|0;c[F>>2]=K}c[(c[m>>2]|0)+(K<<2)>>2]=J;J=c[(c[E>>2]|0)+(I<<2)>>2]|0}G=(J|0)<(c[D>>2]|0)?G+2|0:G;break};case 4:{Rk(b,(c[(c[E>>2]|0)+(G<<2)>>2]|0)+ -1|0,H);H=H^1;J=c[(c[m>>2]|0)+(c[F>>2]<<2)>>2]|0;I=c[D>>2]|0;if((J|0)>=(I|0)){break b}G=G+((G|0)>0?-1:1)|0;K=c[E>>2]|0;L=c[K+(G<<2)>>2]|0;if((L|0)>(J|0)){break b}while(1){M=G+2|0;if((L|0)>=(I|0)){break b}L=c[K+(M<<2)>>2]|0;if((L|0)>(J|0)){G=M;break}else{G=M}}break};case-1:{I=c[D>>2]|0;K=c[F>>2]|0;J=c[m>>2]|0;if((c[J+(K<<2)>>2]|0)<(I|0)){if((K&1|0)!=0){K=K+1|0;c[F>>2]=K}c[J+(K<<2)>>2]=I}a[h]=1;break};default:{J=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[A>>2]=I;Qe(J,38536,w);J=c[D>>2]|0;K=c[F>>2]|0;I=c[m>>2]|0;if((c[I+(K<<2)>>2]|0)<(J|0)){if((K&1|0)!=0){K=K+1|0;c[F>>2]=K}c[I+(K<<2)>>2]=J}a[l]=1}}}while(0);if((c[(c[m>>2]|0)+(c[F>>2]<<2)>>2]|0)>=(c[D>>2]|0)){break a}}}}while(0);if((a[b+17|0]&1)!=0){M=b+40|0;c[M>>2]=c[M>>2]&-8}m=b+28|0;do{if((a[m]&1)==0){if((c[b+32>>2]|0)!=((c[b+24>>2]|0)+ -1|0)){g=119;break}a[h]=1;o=1}else{g=119}}while(0);c:do{if((g|0)==119){n=b+40|0;s=c[n>>2]|0;d:do{if((s|0)<12){o=b+8|0;r=b+36|0;while(1){p=c[o>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}p=(c[r>>2]<<8)+p|0;c[r>>2]=p;s=(c[n>>2]|0)+8|0;c[n>>2]=s;if((s|0)>=12){r=p;g=126;break d}}s=c[n>>2]|0;if((s|0)==0){q=0;p=r;r=-1;break}q=s;p=r;r=c[r>>2]<<12-s&4095}else{r=c[b+36>>2]|0;o=b+8|0;g=126}}while(0);if((g|0)==126){q=s;p=b+36|0;r=r>>s+ -12&4095}e:while(1){if(r<<16>>16==1){g=136;break}else if(r<<16>>16==-1){g=137;break}else if(r<<16>>16!=0){o=1;break c}q=q+ -1|0;r=(q|0)<0?0:q;c[n>>2]=r;f:do{if((r|0)<12){while(1){q=c[o>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}s=(c[p>>2]<<8)+q|0;c[p>>2]=s;r=(c[n>>2]|0)+8|0;c[n>>2]=r;if((r|0)>=12){break f}}r=c[n>>2]|0;if((r|0)==0){q=0;r=-1;continue e}q=r;r=c[p>>2]<<12-r&4095;continue e}else{s=c[p>>2]|0}}while(0);q=r;r=s>>r+ -12&4095}if((g|0)==136){o=q+ -12|0;c[n>>2]=(o|0)<0?0:o;o=0;break}else if((g|0)==137){a[h]=1;o=1;break}}}while(0);do{if((a[h]&1)==0){if((c[b+12>>2]|0)<=0){break}n=b+40|0;r=c[n>>2]|0;g:do{if((r|0)<1){q=b+8|0;p=b+36|0;while(1){r=c[q>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}s=(c[p>>2]<<8)+r|0;c[p>>2]=s;r=(c[n>>2]|0)+8|0;c[n>>2]=r;if((r|0)>=1){p=s;g=147;break g}}r=c[n>>2]|0;if((r|0)==0){q=0;p=-1;break}q=r;p=c[p>>2]<<1-r&1}else{p=c[b+36>>2]|0;g=147}}while(0);if((g|0)==147){q=r;p=p>>>(r+ -1|0)&1}a[k]=p<<16>>16==0|0;p=q+ -1|0;c[n>>2]=(p|0)<0?0:p}}while(0);h:do{if((a[m]&1)==0|o){if((a[l]&1)==0){break}if((a[b+16|0]&1)==0){break}j=b+40|0;l=b+8|0;m=b+36|0;p=c[j>>2]|0;i:while(1){j:do{if((p|0)<13){while(1){n=c[l>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){break}o=(c[m>>2]<<8)+n|0;c[m>>2]=o;p=(c[j>>2]|0)+8|0;c[j>>2]=p;if((p|0)>=13){g=195;break j}}o=c[j>>2]|0;if((o|0)==0){g=197;break i}n=o;o=c[m>>2]<<13-o}else{o=c[m>>2]|0;g=195}}while(0);if((g|0)==195){g=0;n=p;o=o>>p+ -13}o=o&65535&8191;if((o&8190|0)==2){g=199;break}n=n+ -1|0;p=(n|0)<0?0:n;c[j>>2]=p}if((g|0)==197){a[h]=1;M=-1;i=d;return M|0}else if((g|0)==199){h=n+ -12|0;h=(h|0)<0?0:h;c[j>>2]=h;if((c[b+12>>2]|0)<=0){break}h=h+ -1|0;c[j>>2]=(h|0)<0?0:h;a[k]=o&1^1;break}}else{k=b+40|0;n=c[k>>2]|0;k:do{if((n|0)<12){m=b+8|0;l=b+36|0;while(1){n=c[m>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){break}o=(c[l>>2]<<8)+n|0;c[l>>2]=o;n=(c[k>>2]|0)+8|0;c[k>>2]=n;if((n|0)>=12){l=o;g=157;break k}}n=c[k>>2]|0;if((n|0)==0){break h}m=n;l=c[l>>2]<<12-n}else{l=c[b+36>>2]|0;g=157}}while(0);if((g|0)==157){m=n;l=l>>n+ -12}if((l&4095)!=1){break}l=m+ -12|0;o=(l|0)<0?0:l;c[k>>2]=o;l=b+12|0;m=c[l>>2]|0;if((m|0)>0){if((o|0)<1){n=b+8|0;m=b+36|0;do{o=c[n>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==-1){g=163;break}c[m>>2]=(c[m>>2]<<8)+o;o=(c[k>>2]|0)+8|0;c[k>>2]=o;}while((o|0)<1);if((g|0)==163){o=c[k>>2]|0}m=c[l>>2]|0}n=o+ -1|0;o=(n|0)<0?0:n;c[k>>2]=o}if((m|0)>-1){n=b+8|0;m=b+36|0;r=o;o=0;do{l:do{if((r|0)<12){while(1){g=c[n>>2]|0;g=jd[c[(c[g>>2]|0)+20>>2]&511](g)|0;if((g|0)==-1){break}q=(c[m>>2]<<8)+g|0;c[m>>2]=q;r=(c[k>>2]|0)+8|0;c[k>>2]=r;if((r|0)>=12){g=175;break l}}g=c[k>>2]|0;if((g|0)==0){g=177;break}p=g;q=c[m>>2]<<12-g;g=176}else{q=c[m>>2]|0;g=175}}while(0);if((g|0)==175){p=r;q=q>>r+ -12;g=176}if((g|0)==176){g=0;if((q&4095)!=1){g=177}}if((g|0)==177){g=0;Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,38576,j);p=c[k>>2]|0}p=p+ -12|0;r=(p|0)<0?0:p;c[k>>2]=r;if((c[l>>2]|0)>0){m:do{if((r|0)<1){while(1){p=c[n>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}c[m>>2]=(c[m>>2]<<8)+p;r=(c[k>>2]|0)+8|0;c[k>>2]=r;if((r|0)>=1){break m}}r=c[k>>2]|0}}while(0);p=r+ -1|0;r=(p|0)<0?0:p;c[k>>2]=r}o=o+1|0;}while((o|0)<4)}a[h]=1}}while(0);j=c[b+44>>2]|0;h=b+52|0;if((c[j>>2]|0)>0){c[h>>2]=0}else{c[h>>2]=1;j=j+4|0}h=c[j>>2]|0;c[f>>2]=h;M=b+32|0;c[M>>2]=(c[M>>2]|0)+1}n:do{if((h|0)>7){g=b+52|0;j=c[g>>2]|0;p=(j&1|0)!=0?0:255;c[e>>2]=p;M=h+ -8|0;c[f>>2]=M;if((M|0)!=0){break}k=c[b+44>>2]|0;h=k+(j<<2)|0;if((c[h>>2]|0)>=(c[b+20>>2]|0)){break}M=j+1|0;c[g>>2]=M;c[f>>2]=(c[k+(M<<2)>>2]|0)-(c[h>>2]|0)}else{c[e>>2]=0;j=b+52|0;l=b+44|0;m=b+20|0;p=0;k=8;while(1){if((h|0)>(k|0)){break}p=p<<h;c[e>>2]=p;o=c[j>>2]|0;if((o&1|0)==0){p=255>>>(8-h|0)|p;c[e>>2]=p}n=k-h|0;c[f>>2]=0;q=c[l>>2]|0;r=q+(o<<2)|0;if((c[r>>2]|0)<(c[m>>2]|0)){o=o+1|0;c[j>>2]=o;o=(c[q+(o<<2)>>2]|0)-(c[r>>2]|0)|0;c[f>>2]=o}else{if((n|0)>0){g=219;break}else{o=0}}if((k|0)==(h|0)){break n}else{h=o;k=n}}if((g|0)==219){p=p<<n;c[e>>2]=p;break}p=p<<k;c[e>>2]=p;if((c[j>>2]&1|0)==0){p=p|255>>>(8-k|0);c[e>>2]=p}c[f>>2]=h-k}}while(0);if((a[b+29|0]&1)==0){M=p;i=d;return M|0}M=p^255;c[e>>2]=M;i=d;return M|0}function Ok(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;h=i;i=i+8|0;j=h;f=d+40|0;a:do{if((a[d+28|0]&1)==0){m=d+8|0;l=d+36|0;n=c[f>>2]|0;o=n;k=1;while(1){b:do{if((n|0)<(k|0)){while(1){n=c[m>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){break}q=(c[l>>2]<<8)+n|0;c[l>>2]=q;n=(c[f>>2]|0)+8|0;c[f>>2]=n;if((n|0)>=(k|0)){o=n;p=n;g=20;break b}}p=c[f>>2]|0;if((p|0)==0){o=0;n=0;r=-1;break}o=p;n=p;r=c[l>>2]<<k-p&65535>>>(16-k|0)&65535}else{p=n;q=c[l>>2]|0;g=20}}while(0);if((g|0)==20){g=0;n=p;r=q>>p-k&65535>>>(16-k|0)&65535}if((k|0)<7){r=r<<16>>16<<7-k&65535}q=r<<16>>16;p=k+1|0;if((b[38608+(q<<2)>>1]|0)==(k|0)){break}if((p|0)<8){k=p}else{break a}}d=o-k|0;c[f>>2]=(d|0)<0?0:d;r=b[38610+(q<<2)>>1]|0;i=e;return r|0}else{m=c[f>>2]|0;c:do{if((m|0)<7){l=d+8|0;k=d+36|0;while(1){m=c[l>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}n=(c[k>>2]<<8)+m|0;c[k>>2]=n;m=(c[f>>2]|0)+8|0;c[f>>2]=m;if((m|0)>=7){k=n;g=10;break c}}m=c[f>>2]|0;if((m|0)==0){l=0;d=-1;break}l=m;k=c[k>>2]<<7-m;g=11}else{k=c[d+36>>2]|0;g=10}}while(0);if((g|0)==10){l=m;k=k>>m+ -7;g=11}if((g|0)==11){r=k&127;if((r&65535)>1){d=r&65535}else{break}}g=l-(b[38608+(d<<2)>>1]|0)|0;c[f>>2]=(g|0)<0?0:g;r=b[38610+(d<<2)>>1]|0;i=e;return r|0}}while(0);q=jd[c[(c[d>>2]|0)+48>>2]&511](d)|0;c[h>>2]=r<<16>>16;Qe(q,39120,j);r=-1;i=e;return r|0}function Pk(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;e=i;h=i;i=i+8|0;g=h;f=d+40|0;a:do{if((a[d+28|0]&1)==0){t=d+8|0;u=d+36|0;N=c[f>>2]|0;M=2;b:while(1){c:do{if((N|0)<(M|0)){while(1){N=c[t>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){break}O=(c[u>>2]<<8)+N|0;c[u>>2]=O;N=(c[f>>2]|0)+8|0;c[f>>2]=N;if((N|0)>=(M|0)){G=N;I=O;j=25;break c}}L=c[f>>2]|0;if((L|0)==0){m=1;j=57;break b}O=c[u>>2]|0;J=L;H=O;L=O<<M-L&65535>>>(16-M|0)}else{G=N;I=c[u>>2]|0;j=25}}while(0);if((j|0)==25){j=0;J=G;H=I;L=I>>G-M&65535>>>(16-M|0)}N=L&65535;if(N<<16>>16==-1){m=1;j=57;break}if((M|0)<6){N=N<<16>>16<<6-M&65535}K=N<<16>>16;O=M+1|0;if((b[42672+(K<<2)>>1]|0)==(M|0)){j=30;break}if((O|0)<7){N=J;M=O}else{F=J;E=H;z=7;j=31;break}}if((j|0)==30){g=J-M|0;c[f>>2]=(g|0)<0?0:g;O=b[42674+(K<<2)>>1]|0;i=e;return O|0}else if((j|0)==31){d:while(1){j=0;e:do{if((F|0)<(z|0)){while(1){E=c[t>>2]|0;E=jd[c[(c[E>>2]|0)+20>>2]&511](E)|0;if((E|0)==-1){break}F=(c[u>>2]<<8)+E|0;c[u>>2]=F;E=(c[f>>2]|0)+8|0;c[f>>2]=E;if((E|0)>=(z|0)){A=E;B=F;j=36;break e}}D=c[f>>2]|0;if((D|0)==0){m=1;j=57;break d}O=c[u>>2]|0;y=D;C=O;D=O<<z-D&65535>>>(16-z|0)}else{A=F;B=E;j=36}}while(0);if((j|0)==36){y=A;C=B;D=B>>A-z&65535>>>(16-z|0)}j=D&65535;if(j<<16>>16==-1){m=1;j=57;break}if((z|0)<12){j=j<<16>>16<<12-z&65535}if(j<<16>>16>63){x=(j<<16>>16)+ -64|0;if((b[41904+(x<<2)>>1]|0)==(z|0)){j=42;break}}j=z+1|0;if((j|0)<13){F=y;E=C;z=j}else{w=y;v=C;p=10;j=45;break}}if((j|0)==42){g=y-z|0;c[f>>2]=(g|0)<0?0:g;O=b[41906+(x<<2)>>1]|0;i=e;return O|0}else if((j|0)==45){f:while(1){j=0;g:do{if((w|0)<(p|0)){while(1){v=c[t>>2]|0;v=jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;if((v|0)==-1){break}v=(c[u>>2]<<8)+v|0;c[u>>2]=v;w=(c[f>>2]|0)+8|0;c[f>>2]=w;if((w|0)>=(p|0)){n=w;o=v;j=50;break g}}s=c[f>>2]|0;if((s|0)==0){m=1;j=57;break f}O=c[u>>2]|0;q=s;r=O;s=O<<p-s&65535>>>(16-p|0)}else{n=w;o=v;j=50}}while(0);if((j|0)==50){q=n;r=o;s=o>>n-p&65535>>>(16-p|0)}v=s&65535;if(v<<16>>16==-1){m=1;j=57;break}if((p|0)<13){v=v<<16>>16<<13-p&65535}k=v<<16>>16;j=p+1|0;if((b[41392+(k<<2)>>1]|0)==(p|0)){j=55;break}if((j|0)<14){w=q;v=r;p=j}else{l=v;break a}}if((j|0)==55){g=q-p|0;c[f>>2]=(g|0)<0?0:g;O=b[41394+(k<<2)>>1]|0;i=e;return O|0}else if((j|0)==57){i=e;return m|0}}else if((j|0)==57){i=e;return m|0}}else if((j|0)==57){i=e;return m|0}}else{k=c[f>>2]|0;h:do{if((k|0)<13){l=d+8|0;k=d+36|0;while(1){m=c[l>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}m=(c[k>>2]<<8)+m|0;c[k>>2]=m;n=(c[f>>2]|0)+8|0;c[f>>2]=n;if((n|0)>=13){M=m;u=n;j=10;break h}}l=c[f>>2]|0;if((l|0)==0){O=1;i=e;return O|0}else{t=l;N=c[k>>2]<<13-l;break}}else{M=c[d+36>>2]|0;u=k;j=10}}while(0);if((j|0)==10){t=u;N=M>>u+ -13}l=N&8191;k=l&65535;j=k>>>7;do{if((j|0)==0){j=41392+(k<<2)|0}else{if((l&65535)>511){j=42672+(j<<2)|0;break}else{j=41904+((k>>>1)+ -64<<2)|0;break}}}while(0);k=b[j>>1]|0;if(k<<16>>16<=0){break}g=t-(k<<16>>16)|0;c[f>>2]=(g|0)<0?0:g;O=b[j+2>>1]|0;i=e;return O|0}}while(0);f=jd[c[(c[d>>2]|0)+48>>2]&511](d)|0;c[h>>2]=l<<16>>16;Qe(f,42928,g);f=d+40|0;g=(c[f>>2]|0)+ -1|0;c[f>>2]=(g|0)<0?0:g;O=1;i=e;return O|0}function Qk(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;e=i;g=i;i=i+8|0;h=g;f=d+40|0;a:do{if((a[d+28|0]&1)==0){t=d+8|0;u=d+36|0;E=c[f>>2]|0;D=1;b:while(1){c:do{if((E|0)<(D|0)){while(1){E=c[t>>2]|0;E=jd[c[(c[E>>2]|0)+20>>2]&511](E)|0;if((E|0)==-1){break}E=(c[u>>2]<<8)+E|0;c[u>>2]=E;F=(c[f>>2]|0)+8|0;c[f>>2]=F;if((F|0)>=(D|0)){y=F;A=E;j=23;break c}}C=c[f>>2]|0;if((C|0)==0){q=1;j=42;break b}F=c[u>>2]|0;x=C;z=F;C=F<<D-C&65535>>>(16-D|0)}else{y=E;A=c[u>>2]|0;j=23}}while(0);if((j|0)==23){j=0;x=y;z=A;C=A>>y-D&65535>>>(16-D|0)}E=C&65535;if(E<<16>>16==-1){q=1;j=42;break}if((D|0)<9){E=E<<16>>16<<9-D&65535}B=E<<16>>16;F=D+1|0;if((b[39296+(B<<2)>>1]|0)==(D|0)){j=28;break}if((F|0)<10){E=x;D=F}else{w=x;v=z;p=11;j=30;break}}if((j|0)==28){g=x-D|0;c[f>>2]=(g|0)<0?0:g;F=b[39298+(B<<2)>>1]|0;i=e;return F|0}else if((j|0)==30){d:while(1){j=0;e:do{if((w|0)<(p|0)){while(1){v=c[t>>2]|0;v=jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;if((v|0)==-1){break}w=(c[u>>2]<<8)+v|0;c[u>>2]=w;v=(c[f>>2]|0)+8|0;c[f>>2]=v;if((v|0)>=(p|0)){r=v;l=w;j=35;break e}}s=c[f>>2]|0;if((s|0)==0){q=1;j=42;break d}F=c[u>>2]|0;m=s;n=F;s=F<<p-s&65535>>>(16-p|0)}else{r=w;l=v;j=35}}while(0);if((j|0)==35){m=r;n=l;s=l>>r-p&65535>>>(16-p|0)}v=s&65535;if(v<<16>>16==-1){q=1;j=42;break}if((p|0)<12){v=v<<16>>16<<12-p&65535}k=v<<16>>16;j=p+1|0;if((b[39168+(k<<2)>>1]|0)==(p|0)){j=40;break}if((j|0)<13){w=m;v=n;p=j}else{o=v;break a}}if((j|0)==40){g=m-p|0;c[f>>2]=(g|0)<0?0:g;F=b[39170+(k<<2)>>1]|0;i=e;return F|0}else if((j|0)==42){i=e;return q|0}}else if((j|0)==42){i=e;return q|0}}else{k=c[f>>2]|0;f:do{if((k|0)<12){l=d+8|0;k=d+36|0;while(1){m=c[l>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}m=(c[k>>2]<<8)+m|0;c[k>>2]=m;n=(c[f>>2]|0)+8|0;c[f>>2]=n;if((n|0)>=12){u=m;D=n;j=10;break f}}l=c[f>>2]|0;if((l|0)==0){F=1;i=e;return F|0}else{t=l;E=c[k>>2]<<12-l;break}}else{u=c[d+36>>2]|0;D=k;j=10}}while(0);if((j|0)==10){t=D;E=u>>D+ -12}o=E&4095;j=o&65535;if((o&65535)<32){j=39168+(j<<2)|0}else{j=39296+(j>>>3<<2)|0}k=b[j>>1]|0;if(k<<16>>16<=0){break}g=t-(k<<16>>16)|0;c[f>>2]=(g|0)<0?0:g;F=b[j+2>>1]|0;i=e;return F|0}}while(0);f=jd[c[(c[d>>2]|0)+48>>2]&511](d)|0;c[g>>2]=o<<16>>16;Qe(f,41344,h);f=d+40|0;g=(c[f>>2]|0)+ -1|0;c[f>>2]=(g|0)<0?0:g;F=1;i=e;return F|0}function Rk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;n=i;i=i+8|0;l=i;i=i+8|0;k=l;g=b+52|0;j=c[g>>2]|0;h=b+44|0;m=c[(c[h>>2]|0)+(j<<2)>>2]|0;if((m|0)<(d|0)){m=b+20|0;if((c[m>>2]|0)<(d|0)){j=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[l>>2]=d;Qe(j,48704,k);a[b+56|0]=1;j=c[g>>2]|0;d=c[m>>2]|0}if((j&1|0)!=(e|0)){j=j+1|0;c[g>>2]=j}c[(c[h>>2]|0)+(j<<2)>>2]=d;i=f;return}if((m|0)<=(d|0)){i=f;return}if((d|0)<0){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,48744,n);a[b+56|0]=1;d=0;j=c[g>>2]|0}h=c[h>>2]|0;a:do{if((j|0)>0){while(1){e=j+ -1|0;if((d|0)>(c[h+(e<<2)>>2]|0)){break a}c[g>>2]=e;if((e|0)>0){j=e}else{j=e;break}}}}while(0);c[h+(j<<2)>>2]=d;i=f;return}function Sk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;f=i;i=i+8|0;j=i;i=i+8|0;k=i;i=i+8|0;g=i;i=i+56|0;if((d|0)<2){e=0;i=h;return e|0}l=c[b+8>>2]|0;d=sd[c[(c[l>>2]|0)+56>>2]&127](l,d,e)|0;if((d|0)==0){l=0;i=h;return l|0}ne(ne(d,e,-1)|0,38248,-1)|0;e=c[b+12>>2]|0;if((e|0)!=0){c[k>>2]=e;Lb(g|0,42976,k|0)|0;ne(d,g,-1)|0}if((a[b+16|0]&1)!=0){ne(d,42984,-1)|0}if((a[b+17|0]&1)!=0){ne(d,43008,-1)|0}c[j>>2]=c[b+20>>2];Lb(g|0,43032,j|0)|0;ne(d,g,-1)|0;j=c[b+24>>2]|0;if((j|0)!=0){c[f>>2]=j;Lb(g|0,43048,f|0)|0;ne(d,g,-1)|0}if((a[b+28|0]&1)==0){ne(d,43064,-1)|0}if((a[b+29|0]&1)!=0){ne(d,43088,-1)|0}ne(d,43104,-1)|0;l=d;i=h;return l|0}function Tk(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[a+8>>2]|0;b=Bd[c[(c[b>>2]|0)+60>>2]&255](b,1)|0;i=d;return b|0}function Uk(a){a=a|0;var b=0;b=i;Vk(a);HW(a);i=b;return}function Vk(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=43144;d=0;do{e=a+3452+(d<<2)|0;Fe(c[e>>2]|0);c[e>>2]=0;d=d+1|0;}while((d|0)<32);d=a+3964|0;Fe(c[d>>2]|0);c[d>>2]=0;d=0;do{e=a+3580+(d<<2)|0;Fe(c[e>>2]|0);c[e>>2]=0;d=d+1|0;}while((d|0)<32);d=a+3968|0;Fe(c[d>>2]|0);c[d>>2]=0;d=0;do{e=a+3708+(d<<2)|0;Fe(c[e>>2]|0);c[e>>2]=0;d=d+1|0;}while((d|0)<32);d=a+3972|0;Fe(c[d>>2]|0);c[d>>2]=0;d=0;do{e=a+3836+(d<<2)|0;Fe(c[e>>2]|0);c[e>>2]=0;d=d+1|0;}while((d|0)<32);e=a+3976|0;Fe(c[e>>2]|0);c[e>>2]=0;a=a+8|0;e=c[a>>2]|0;fd[c[(c[e>>2]|0)+16>>2]&511](e);a=c[a>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Wk(b){b=b|0;var d=0,e=0;d=i;e=c[b+8>>2]|0;fd[c[(c[e>>2]|0)+12>>2]&511](e);a[b+13|0]=0;a[b+12|0]=0;c[b+20>>2]=0;c[b+16>>2]=0;c[b+176>>2]=0;c[b+704>>2]=0;c[b+3444>>2]=0;c[b+3448>>2]=0;a[b+184|0]=0;a[b+185|0]=0;c[b+188>>2]=0;i=d;return}function Xk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;g=i;i=i+8|0;fd[c[(c[b>>2]|0)+40>>2]&511](b);if(!(Yk(b)|0)){c[b+3988>>2]=c[b+20>>2];i=e;return}d=b+176|0;f=c[d>>2]|0;do{if((f|0)==1){c[b+48>>2]=1;c[b+44>>2]=1;j=b+24|0;c[j>>2]=1;h=b+28|0;c[h>>2]=1;l=1;k=1}else{k=c[b+44>>2]|0;l=c[b+48>>2]|0;j=b+24|0;c[j>>2]=k;h=b+28|0;c[h>>2]=l;if((f|0)>1){n=k;m=1}else{break}while(1){k=c[b+40+(m*20|0)+4>>2]|0;if((k|0)>(n|0)){c[j>>2]=k}else{k=n}n=c[b+40+(m*20|0)+8>>2]|0;if((n|0)>(l|0)){c[h>>2]=n;l=n}m=m+1|0;if((m|0)<(f|0)){n=k}else{break}}}}while(0);k=k<<3;c[j>>2]=k;j=l<<3;c[h>>2]=j;l=b+180|0;a:do{if((c[l>>2]|0)==-1){if((f|0)!=3){c[l>>2]=0;break}if((a[b+184|0]&1)!=0){c[l>>2]=1;break}do{if((c[b+40>>2]|0)==82){if((c[b+60>>2]|0)!=71){break}if((c[b+80>>2]|0)!=66){break}c[l>>2]=0;break a}}while(0);c[l>>2]=1}}while(0);do{if((a[b+12|0]&1)==0){if((a[b+13|0]&1)==0){break}n=(c[b+16>>2]|0)+ -1+k|0;g=b+32|0;c[g>>2]=n-((n|0)%(k|0)|0);if((f|0)>0){k=0;do{if((j|0)>0){f=0;do{c[b+3452+(k<<7)+(f<<2)>>2]=ye(c[g>>2]|0,1)|0;f=f+1|0;j=c[h>>2]|0;}while((f|0)<(j|0));f=c[d>>2]|0}k=k+1|0;}while((k|0)<(f|0))}c[b+3980>>2]=0;c[b+3984>>2]=0;c[b+3988>>2]=0;c[b+3992>>2]=j;c[b+4e3>>2]=208;c[b+4012>>2]=0;c[b+3996>>2]=c[b+188>>2];if((f|0)>0){f=0;do{c[b+40+(f*20|0)+16>>2]=0;f=f+1|0;}while((f|0)<(c[d>>2]|0))}c[b+4004>>2]=0;i=e;return}}while(0);h=(c[b+16>>2]|0)+ -1+k|0;k=h-((h|0)%(k|0)|0)|0;h=b+32|0;c[h>>2]=k;l=b+20|0;m=(c[l>>2]|0)+ -1+j|0;m=m-((m|0)%(j|0)|0)|0;j=b+36|0;c[j>>2]=m;do{if(!((k|0)<1|(m|0)<1)){if((k|0)>((2147483647/(k|0)|0|0)/4|0|0)){break}b:do{if((f|0)>0){g=0;while(1){f=ye(da(m,k)|0,4)|0;c[b+3964+(g<<2)>>2]=f;bX(f|0,0,da(c[h>>2]<<2,c[j>>2]|0)|0)|0;g=g+1|0;f=c[d>>2]|0;if((g|0)>=(f|0)){break b}m=c[j>>2]|0;k=c[h>>2]|0}}}while(0);l=b+4e3|0;k=b+4012|0;j=b+188|0;g=b+3996|0;h=b+4004|0;while(1){c[l>>2]=208;c[k>>2]=0;c[g>>2]=c[j>>2];if((f|0)>0){f=0;do{c[b+40+(f*20|0)+16>>2]=0;f=f+1|0;}while((f|0)<(c[d>>2]|0))}c[h>>2]=0;Zk(b);if(!(Yk(b)|0)){break}f=c[d>>2]|0}_k(b);c[b+3980>>2]=0;c[b+3984>>2]=0;c[b+3988>>2]=0;i=e;return}}while(0);Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,44016,g);c[b+3988>>2]=c[l>>2];i=e;return}function Yk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;g=i;i=i+8|0;h=g;f=i;i=i+8|0;b=i;i=i+8|0;d=a+8|0;e=a+188|0;a:while(1){l=c[d>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if(!((l|0)==255|(l|0)==-1)){continue}b:while(1){switch(l|0){case 218:{k=8;break a};case 221:{k=10;break b};case 216:case 0:{continue a};case 238:{k=19;break b};case 193:case 192:{k=5;break b};case 196:{k=7;break b};case 194:{k=6;break b};case 224:{k=18;break b};case-1:{k=20;break a};case 219:{k=9;break b};case 217:{k=27;break a};case 255:{break};default:{k=21;break b}}l=c[d>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0}if((k|0)==5){if(hl(a)|0){continue}else{k=27;break}}else if((k|0)==6){if(il(a)|0){continue}else{k=27;break}}else if((k|0)==7){if(jl(a)|0){continue}else{k=27;break}}else if((k|0)==9){if(ll(a)|0){continue}else{k=27;break}}else if((k|0)==10){k=c[d>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){k=17;break}l=c[d>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){k=17;break}if((l+(k<<8)|0)!=4){k=17;break}k=c[d>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;do{if((k|0)==-1){k=-1}else{l=c[d>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){k=-1;break}k=l+(k<<8)|0}}while(0);c[e>>2]=k;continue}else if((k|0)==18){if(ml(a)|0){continue}else{k=27;break}}else if((k|0)==19){if(nl(a)|0){continue}else{k=27;break}}else if((k|0)==21){if((l|0)<=223){k=26;break}k=c[d>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){continue}l=c[d>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){continue}k=(k<<8)+ -2+l|0;if((k|0)>0){l=0}else{continue}while(1){m=c[d>>2]|0;jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;l=l+1|0;if((l|0)<(k|0)){}else{continue a}}}}if((k|0)==8){m=kl(a)|0;i=j;return m|0}else if((k|0)==17){Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44704,b);i=j;return 0}else if((k|0)==20){Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44424,f);i=j;return 0}else if((k|0)==26){m=jd[c[(c[a>>2]|0)+48>>2]&511](a)|0;c[g>>2]=l;Qe(m,44440,h);i=j;return 0}else if((k|0)==27){i=j;return 0}return 0}function Zk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;d=i;e=i;i=i+8|0;f=i;i=i+256|0;if((c[b+124>>2]|0)==1){j=c[b+176>>2]|0;a:do{if((j|0)>0){h=0;while(1){g=h+1|0;if((a[b+120+h|0]&1)!=0){break a}if((g|0)<(j|0)){h=g}else{h=g;break}}}else{h=0}}while(0);g=(c[b+24>>2]|0)/(c[b+40+(h*20|0)+4>>2]|0)|0;x=(c[b+28>>2]|0)/(c[b+40+(h*20|0)+8>>2]|0)|0}else{g=c[b+24>>2]|0;x=c[b+28>>2]|0}k=b+20|0;z=c[k>>2]|0;if((z|0)<=0){i=d;return}v=b+16|0;l=b+188|0;u=b+3996|0;w=b+8|0;h=b+4e3|0;o=b+4012|0;p=b+176|0;j=b+4004|0;r=b+24|0;s=b+28|0;t=(x|0)>0;q=(g|0)>0;n=b+32|0;m=b+12|0;A=c[v>>2]|0;y=0;b:while(1){if((A|0)>0){z=0;while(1){do{if((c[l>>2]|0)>0){if((c[u>>2]|0)!=0){break}c:while(1){A=c[w>>2]|0;A=jd[c[(c[A>>2]|0)+20>>2]&511](A)|0;if(!((A|0)==255|(A|0)==-1)){continue}while(1){if((A|0)==0){continue c}else if((A|0)!=255){break c}A=c[w>>2]|0;A=jd[c[(c[A>>2]|0)+20>>2]&511](A)|0}}if((A|0)!=(c[h>>2]|0)){f=16;break b}A=A+1|0;c[h>>2]=(A|0)==216?208:A;c[o>>2]=0;c[u>>2]=c[l>>2];if((c[p>>2]|0)>0){A=0;do{c[b+40+(A*20|0)+16>>2]=0;A=A+1|0;}while((A|0)<(c[p>>2]|0))}c[j>>2]=0}}while(0);E=c[p>>2]|0;if((E|0)>0){A=0;do{do{if((a[b+120+A|0]&1)!=0){C=(c[r>>2]|0)/(c[b+40+(A*20|0)+4>>2]|0)|0;B=(c[s>>2]|0)/(c[b+40+(A*20|0)+8>>2]|0)|0;D=(B|0)/8|0;if(!t){break}H=b+3964+(A<<2)|0;J=b+128+(A<<2)|0;G=b+144+(A<<2)|0;E=b+40+(A*20|0)+16|0;I=0;do{if(q){F=I+y|0;M=c[n>>2]|0;K=0;do{L=K+z|0;P=(da(M,F)|0)+L|0;N=0;P=(c[H>>2]|0)+(P<<2)|0;O=0;while(1){c[f+(N<<2)>>2]=c[P>>2];c[f+((N|1)<<2)>>2]=c[P+4>>2];c[f+((N|2)<<2)>>2]=c[P+8>>2];c[f+((N|3)<<2)>>2]=c[P+12>>2];c[f+((N|4)<<2)>>2]=c[P+16>>2];c[f+((N|5)<<2)>>2]=c[P+20>>2];c[f+((N|6)<<2)>>2]=c[P+24>>2];c[f+((N|7)<<2)>>2]=c[P+28>>2];P=P+((da(M,D)|0)<<2)|0;O=O+1|0;if((O|0)<8){N=N+8|0}else{break}}N=b+708+((c[J>>2]|0)*342|0)|0;M=b+2076+((c[G>>2]|0)*342|0)|0;if((a[m]&1)==0){if(!(dl(b,N,M,E,f)|0)){f=40;break b}}else{if(!(fl(b,N,M,E,f)|0)){f=40;break b}}N=(da(c[n>>2]|0,F)|0)+L|0;L=0;N=(c[H>>2]|0)+(N<<2)|0;O=0;while(1){c[N>>2]=c[f+(L<<2)>>2];c[N+4>>2]=c[f+((L|1)<<2)>>2];c[N+8>>2]=c[f+((L|2)<<2)>>2];c[N+12>>2]=c[f+((L|3)<<2)>>2];c[N+16>>2]=c[f+((L|4)<<2)>>2];c[N+20>>2]=c[f+((L|5)<<2)>>2];c[N+24>>2]=c[f+((L|6)<<2)>>2];c[N+28>>2]=c[f+((L|7)<<2)>>2];M=c[n>>2]|0;N=N+((da(M,D)|0)<<2)|0;O=O+1|0;if((O|0)<8){L=L+8|0}else{break}}K=K+C|0;}while((K|0)<(g|0))}I=I+B|0;}while((I|0)<(x|0));E=c[p>>2]|0}}while(0);A=A+1|0;}while((A|0)<(E|0))}c[u>>2]=(c[u>>2]|0)+ -1;z=z+g|0;A=c[v>>2]|0;if((z|0)>=(A|0)){break}}z=c[k>>2]|0}y=y+x|0;if((y|0)>=(z|0)){f=40;break}}if((f|0)==16){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,44056,e);i=d;return}else if((f|0)==40){i=d;return}}function _k(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;f=i;l=i;i=i+256|0;n=i;i=i+64|0;e=a+36|0;r=c[e>>2]|0;if((r|0)<=0){i=f;return}g=a+32|0;j=a+28|0;k=a+176|0;m=a+180|0;h=a+24|0;b=a+3964|0;o=a+3968|0;p=a+3972|0;R=c[g>>2]|0;q=0;do{if((R|0)>0){r=0;do{y=c[k>>2]|0;if((y|0)>0){G=c[j>>2]|0;F=c[h>>2]|0;s=0;do{w=a+192+(c[a+40+(s*20|0)+12>>2]<<7)|0;v=(F|0)/(c[a+40+(s*20|0)+4>>2]|0)|0;t=(G|0)/(c[a+40+(s*20|0)+8>>2]|0)|0;u=(v|0)/8|0;x=(t|0)/8|0;if((G|0)>0){A=a+3964+(s<<2)|0;E=v+ -8|0;D=t+ -8|0;C=(v+ -16|0)>>>0<8;B=(t+ -16|0)>>>0<8;z=(t|0)>7;y=(v|0)>7;H=F;F=0;do{if((H|0)>0){G=F+q|0;H=0;do{I=H+r|0;L=(da(R,G)|0)+I|0;J=0;L=(c[A>>2]|0)+(L<<2)|0;K=0;while(1){c[l+(J<<2)>>2]=c[L>>2];c[l+((J|1)<<2)>>2]=c[L+4>>2];c[l+((J|2)<<2)>>2]=c[L+8>>2];c[l+((J|3)<<2)>>2]=c[L+12>>2];c[l+((J|4)<<2)>>2]=c[L+16>>2];c[l+((J|5)<<2)>>2]=c[L+20>>2];c[l+((J|6)<<2)>>2]=c[L+24>>2];c[l+((J|7)<<2)>>2]=c[L+28>>2];L=L+((da(R,x)|0)<<2)|0;K=K+1|0;if((K|0)<8){J=J+8|0}else{break}}el(0,w,l,n);R=c[g>>2]|0;L=(da(R,G)|0)+I|0;K=c[A>>2]|0;J=K+(L<<2)|0;a:do{if(E>>>0>7|D>>>0>7){do{if(C){if(!B){I=0;K=0;break}I=0;K=K+(R+L<<2)|0;M=0;while(1){R=d[n+I|0]|0;c[K+4>>2]=R;c[K>>2]=R;c[J+4>>2]=R;c[J>>2]=R;R=d[n+(I|1)|0]|0;c[K+12>>2]=R;c[K+8>>2]=R;c[J+12>>2]=R;c[J+8>>2]=R;R=d[n+(I|2)|0]|0;c[K+20>>2]=R;c[K+16>>2]=R;c[J+20>>2]=R;c[J+16>>2]=R;R=d[n+(I|3)|0]|0;c[K+28>>2]=R;c[K+24>>2]=R;c[J+28>>2]=R;c[J+24>>2]=R;R=d[n+(I|4)|0]|0;c[K+36>>2]=R;c[K+32>>2]=R;c[J+36>>2]=R;c[J+32>>2]=R;R=d[n+(I|5)|0]|0;c[K+44>>2]=R;c[K+40>>2]=R;c[J+44>>2]=R;c[J+40>>2]=R;R=d[n+(I|6)|0]|0;c[K+52>>2]=R;c[K+48>>2]=R;c[J+52>>2]=R;c[J+48>>2]=R;R=d[n+(I|7)|0]|0;c[K+60>>2]=R;c[K+56>>2]=R;c[J+60>>2]=R;c[J+56>>2]=R;R=c[g>>2]|0;L=R<<1;M=M+2|0;if((M|0)<16){K=K+(L<<2)|0;J=J+(L<<2)|0;I=I+8|0}else{break a}}}else{I=0;K=0}}while(0);while(1){M=I;N=0;L=0;while(1){do{if(z){O=n+M|0;if(y){P=J+(L<<2)|0;Q=0}else{break}while(1){R=0;do{c[P+(R<<2)>>2]=d[O]|0;R=R+1|0;}while((R|0)<(u|0));R=c[g>>2]|0;Q=Q+1|0;if((Q|0)<(x|0)){P=P+(R<<2)|0}else{break}}}}while(0);N=N+1|0;if((N|0)<8){M=M+1|0;L=L+u|0}else{break}}J=J+((da(R,x)|0)<<2)|0;K=K+1|0;if((K|0)<8){I=I+8|0}else{break}}}else{I=0;K=0;while(1){c[J>>2]=d[n+I|0]|0;c[J+4>>2]=d[n+(I|1)|0]|0;c[J+8>>2]=d[n+(I|2)|0]|0;c[J+12>>2]=d[n+(I|3)|0]|0;c[J+16>>2]=d[n+(I|4)|0]|0;c[J+20>>2]=d[n+(I|5)|0]|0;c[J+24>>2]=d[n+(I|6)|0]|0;c[J+28>>2]=d[n+(I|7)|0]|0;R=c[g>>2]|0;K=K+1|0;if((K|0)<8){J=J+(R<<2)|0;I=I+8|0}else{break}}}}while(0);H=H+v|0;I=c[h>>2]|0;}while((H|0)<(I|0));G=c[j>>2]|0;H=I}F=F+t|0;}while((F|0)<(G|0));y=c[k>>2]|0;F=H}s=s+1|0;}while((s|0)<(y|0))}b:do{if((c[m>>2]|0)!=0){if((y|0)==3){t=c[j>>2]|0;if((t|0)<=0){break}u=c[h>>2]|0;s=0;while(1){v=(da(R,s+q|0)|0)+r|0;if((u|0)>0){u=(c[b>>2]|0)+(v<<2)|0;t=(c[o>>2]|0)+(v<<2)|0;v=(c[p>>2]|0)+(v<<2)|0;x=0;while(1){w=(c[t>>2]|0)+ -128|0;Q=(c[v>>2]|0)+ -128|0;R=c[u>>2]<<16|32768;c[u>>2]=d[(R+(Q*91881|0)>>16)+43504|0]|0;c[t>>2]=d[(R+(da(w,-22553)|0)+(da(Q,-46802)|0)>>16)+43504|0]|0;c[v>>2]=d[(R+(w*116130|0)>>16)+43504|0]|0;x=x+1|0;w=c[h>>2]|0;if((x|0)<(w|0)){v=v+4|0;t=t+4|0;u=u+4|0}else{break}}t=c[j>>2]|0;u=w}s=s+1|0;if((s|0)>=(t|0)){break b}R=c[g>>2]|0}}else if((y|0)==4){t=c[j>>2]|0;if((t|0)<=0){break}v=c[h>>2]|0;s=0;while(1){w=(da(R,s+q|0)|0)+r|0;if((v|0)>0){t=(c[b>>2]|0)+(w<<2)|0;u=(c[o>>2]|0)+(w<<2)|0;w=(c[p>>2]|0)+(w<<2)|0;x=0;while(1){v=(c[u>>2]|0)+ -128|0;Q=(c[w>>2]|0)+ -128|0;R=c[t>>2]<<16|32768;c[t>>2]=(d[(R+(Q*91881|0)>>16)+43504|0]|0)^255;c[u>>2]=(d[(R+(da(v,-22553)|0)+(da(Q,-46802)|0)>>16)+43504|0]|0)^255;c[w>>2]=(d[(R+(v*116130|0)>>16)+43504|0]|0)^255;x=x+1|0;v=c[h>>2]|0;if((x|0)<(v|0)){w=w+4|0;u=u+4|0;t=t+4|0}else{break}}t=c[j>>2]|0}s=s+1|0;if((s|0)>=(t|0)){break b}R=c[g>>2]|0}}else{break}}}while(0);r=(c[h>>2]|0)+r|0;R=c[g>>2]|0;}while((r|0)<(R|0));r=c[e>>2]|0}q=(c[j>>2]|0)+q|0;}while((q|0)<(r|0));i=f;return}function $k(a){a=a|0;var b=0,d=0,e=0;b=i;d=0;do{e=a+3452+(d<<2)|0;Fe(c[e>>2]|0);c[e>>2]=0;d=d+1|0;}while((d|0)<32);d=a+3964|0;Fe(c[d>>2]|0);c[d>>2]=0;d=0;do{e=a+3580+(d<<2)|0;Fe(c[e>>2]|0);c[e>>2]=0;d=d+1|0;}while((d|0)<32);d=a+3968|0;Fe(c[d>>2]|0);c[d>>2]=0;d=0;do{e=a+3708+(d<<2)|0;Fe(c[e>>2]|0);c[e>>2]=0;d=d+1|0;}while((d|0)<32);d=a+3972|0;Fe(c[d>>2]|0);c[d>>2]=0;d=0;do{e=a+3836+(d<<2)|0;Fe(c[e>>2]|0);c[e>>2]=0;d=d+1|0;}while((d|0)<32);e=a+3976|0;Fe(c[e>>2]|0);c[e>>2]=0;e=c[a+8>>2]|0;fd[c[(c[e>>2]|0)+16>>2]&511](e);i=b;return}function al(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;h=i;i=i+8|0;f=b+3988|0;j=c[f>>2]|0;k=b+20|0;if((j|0)>=(c[k>>2]|0)){q=-1;i=e;return q|0}do{if((a[b+12|0]&1)==0){if((a[b+13|0]&1)==0){break}m=b+3992|0;o=c[m>>2]|0;do{if((o|0)<(c[b+28>>2]|0)){n=c[b+3980>>2]|0;l=c[b+3984>>2]|0}else{if(bl(b)|0){c[b+3980>>2]=0;c[b+3984>>2]=0;c[m>>2]=0;n=0;l=0;o=0;break}c[f>>2]=c[k>>2];q=-1;i=e;return q|0}}while(0);p=b+3984|0;q=b+3980|0;j=d[(c[b+3452+(n<<7)+(o<<2)>>2]|0)+l|0]|0;n=n+1|0;c[q>>2]=n;if((n|0)!=(c[b+176>>2]|0)){q=j;i=e;return q|0}c[q>>2]=0;q=l+1|0;c[p>>2]=q;if((q|0)!=(c[b+16>>2]|0)){q=j;i=e;return q|0}c[p>>2]=0;q=(c[f>>2]|0)+1|0;c[f>>2]=q;c[m>>2]=o+1;if((q|0)!=(c[k>>2]|0)){q=j;i=e;return q|0}f=b+8|0;a:while(1){k=c[f>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if(!((k|0)==255|(k|0)==-1)){continue}while(1){if((k|0)==0){continue a}else if((k|0)==217){g=20;break a}else if((k|0)!=255){break a}k=c[f>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0}}if((g|0)==20){i=e;return j|0}Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,44808,h);q=j;i=e;return q|0}}while(0);k=da(c[b+32>>2]|0,j)|0;g=b+3984|0;l=c[g>>2]|0;h=b+3980|0;q=c[h>>2]|0;k=c[(c[b+3964+(q<<2)>>2]|0)+(k+l<<2)>>2]|0;q=q+1|0;c[h>>2]=q;if((q|0)!=(c[b+176>>2]|0)){q=k;i=e;return q|0}c[h>>2]=0;q=l+1|0;c[g>>2]=q;if((q|0)!=(c[b+16>>2]|0)){q=k;i=e;return q|0}c[g>>2]=0;c[f>>2]=j+1;q=k;i=e;return q|0}function bl(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0;e=i;f=i;i=i+8|0;t=i;i=i+256|0;j=i;i=i+64|0;p=b+16|0;if((c[p>>2]|0)<=0){ba=1;i=e;return ba|0}q=b+188|0;l=b+3996|0;n=b+8|0;o=b+4e3|0;s=b+4012|0;k=b+176|0;r=b+4004|0;m=b+180|0;g=b+24|0;h=b+28|0;u=0;a:while(1){do{if((c[q>>2]|0)>0){if((c[l>>2]|0)!=0){break}b:while(1){v=c[n>>2]|0;v=jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;if(!((v|0)==255|(v|0)==-1)){continue}while(1){if((v|0)==0){continue b}else if((v|0)!=255){break b}v=c[n>>2]|0;v=jd[c[(c[v>>2]|0)+20>>2]&511](v)|0}}if((v|0)!=(c[o>>2]|0)){g=9;break a}v=v+1|0;c[o>>2]=(v|0)==216?208:v;c[s>>2]=0;c[l>>2]=c[q>>2];if((c[k>>2]|0)>0){v=0;do{c[b+40+(v*20|0)+16>>2]=0;v=v+1|0;}while((v|0)<(c[k>>2]|0))}c[r>>2]=0}}while(0);A=c[k>>2]|0;if((A|0)>0){M=c[h>>2]|0;L=c[g>>2]|0;v=0;do{y=(L|0)/(c[b+40+(v*20|0)+4>>2]|0)|0;z=(M|0)/(c[b+40+(v*20|0)+8>>2]|0)|0;w=(y|0)/8|0;x=(z|0)/8|0;if((M|0)>0){E=b+128+(v<<2)|0;D=b+144+(v<<2)|0;J=b+40+(v*20|0)+16|0;A=b+40+(v*20|0)+12|0;G=y+ -8|0;F=z+ -8|0;C=y+ -16|0;B=z+ -16|0;H=(z|0)>7;I=(y|0)>7;K=0;do{if((L|0)>0){L=0;do{if(!(dl(b,b+708+((c[E>>2]|0)*342|0)|0,b+2076+((c[D>>2]|0)*342|0)|0,J,t)|0)){b=0;g=56;break a}el(0,b+192+(c[A>>2]<<7)|0,t,j);c:do{if(G>>>0>7|F>>>0>7){M=L+u|0;if(C>>>0>7|B>>>0>7){N=0;S=0;O=0}else{T=M+1|0;S=M+3|0;R=M+2|0;Q=M+5|0;P=M+4|0;O=M+7|0;N=M+6|0;V=M+9|0;U=M+8|0;$=M+11|0;aa=M+10|0;_=M+13|0;Z=M+12|0;Y=M+15|0;X=M+14|0;W=0;ba=0;while(1){fa=ba+K|0;ca=c[b+3452+(v<<7)+(fa<<2)>>2]|0;fa=c[b+3452+(v<<7)+(fa+1<<2)>>2]|0;ea=a[j+W|0]|0;a[fa+T|0]=ea;a[fa+M|0]=ea;a[ca+T|0]=ea;a[ca+M|0]=ea;ea=a[j+(W|1)|0]|0;a[fa+S|0]=ea;a[fa+R|0]=ea;a[ca+S|0]=ea;a[ca+R|0]=ea;ea=a[j+(W|2)|0]|0;a[fa+Q|0]=ea;a[fa+P|0]=ea;a[ca+Q|0]=ea;a[ca+P|0]=ea;ea=a[j+(W|3)|0]|0;a[fa+O|0]=ea;a[fa+N|0]=ea;a[ca+O|0]=ea;a[ca+N|0]=ea;ea=a[j+(W|4)|0]|0;a[fa+V|0]=ea;a[fa+U|0]=ea;a[ca+V|0]=ea;a[ca+U|0]=ea;ea=a[j+(W|5)|0]|0;a[fa+$|0]=ea;a[fa+aa|0]=ea;a[ca+$|0]=ea;a[ca+aa|0]=ea;ea=a[j+(W|6)|0]|0;a[fa+_|0]=ea;a[fa+Z|0]=ea;a[ca+_|0]=ea;a[ca+Z|0]=ea;ea=a[j+(W|7)|0]|0;a[fa+Y|0]=ea;a[fa+X|0]=ea;a[ca+Y|0]=ea;a[ca+X|0]=ea;ba=ba+2|0;if((ba|0)<16){W=W+8|0}else{break c}}}while(1){R=O+K|0;P=N;X=0;Q=0;while(1){if(H){V=j+P|0;W=M+Q|0;U=0;do{if(I){T=a[V]|0;Z=b+3452+(v<<7)+(R+U<<2)|0;Y=0;do{a[(c[Z>>2]|0)+(W+Y)|0]=T;Y=Y+1|0;}while((Y|0)<(w|0))}U=U+1|0;}while((U|0)<(x|0))}X=X+1|0;if((X|0)<8){P=P+1|0;Q=Q+w|0}else{break}}S=S+1|0;if((S|0)<8){N=N+8|0;O=O+x|0}else{break}}}else{S=L+u|0;T=S+1|0;U=S+2|0;M=S+3|0;N=S+4|0;O=S+5|0;P=S+6|0;Q=S+7|0;R=0;V=0;while(1){fa=c[b+3452+(v<<7)+(V+K<<2)>>2]|0;a[fa+S|0]=a[j+R|0]|0;a[fa+T|0]=a[j+(R|1)|0]|0;a[fa+U|0]=a[j+(R|2)|0]|0;a[fa+M|0]=a[j+(R|3)|0]|0;a[fa+N|0]=a[j+(R|4)|0]|0;a[fa+O|0]=a[j+(R|5)|0]|0;a[fa+P|0]=a[j+(R|6)|0]|0;a[fa+Q|0]=a[j+(R|7)|0]|0;V=V+1|0;if((V|0)<8){R=R+8|0}else{break}}}}while(0);L=L+y|0;N=c[g>>2]|0;}while((L|0)<(N|0));M=c[h>>2]|0;L=N}K=K+z|0;}while((K|0)<(M|0));A=c[k>>2]|0}v=v+1|0;}while((v|0)<(A|0))}c[l>>2]=(c[l>>2]|0)+ -1;do{if((c[m>>2]|0)!=0){if((A|0)==3){x=c[h>>2]|0;if((x|0)<=0){break}w=c[g>>2]|0;v=0;do{if((w|0)>0){x=b+3452+(v<<2)|0;y=b+3580+(v<<2)|0;z=b+3708+(v<<2)|0;A=0;do{w=A+u|0;ba=(c[x>>2]|0)+w|0;fa=(d[(c[y>>2]|0)+w|0]|0)+ -128|0;ca=(d[(c[z>>2]|0)+w|0]|0)+ -128|0;ea=(d[ba]|0)<<16|32768;a[ba]=a[(ea+(ca*91881|0)>>16)+43504|0]|0;ca=a[(ea+(da(fa,-22553)|0)+(da(ca,-46802)|0)>>16)+43504|0]|0;a[(c[y>>2]|0)+w|0]=ca;a[(c[z>>2]|0)+w|0]=a[(ea+(fa*116130|0)>>16)+43504|0]|0;A=A+1|0;w=c[g>>2]|0;}while((A|0)<(w|0));x=c[h>>2]|0}v=v+1|0;}while((v|0)<(x|0))}else if((A|0)==4){x=c[h>>2]|0;if((x|0)<=0){break}w=c[g>>2]|0;v=0;do{if((w|0)>0){x=b+3452+(v<<2)|0;z=b+3580+(v<<2)|0;y=b+3708+(v<<2)|0;A=0;do{w=A+u|0;ba=(c[x>>2]|0)+w|0;fa=(d[(c[z>>2]|0)+w|0]|0)+ -128|0;ca=(d[(c[y>>2]|0)+w|0]|0)+ -128|0;ea=(d[ba]|0)<<16|32768;a[ba]=~a[(ea+(ca*91881|0)>>16)+43504|0];ca=~a[(ea+(da(fa,-22553)|0)+(da(ca,-46802)|0)>>16)+43504|0];a[(c[z>>2]|0)+w|0]=ca;a[(c[y>>2]|0)+w|0]=~a[(ea+(fa*116130|0)>>16)+43504|0];A=A+1|0;w=c[g>>2]|0;}while((A|0)<(w|0));x=c[h>>2]|0}v=v+1|0;}while((v|0)<(x|0))}else{break}}}while(0);u=(c[g>>2]|0)+u|0;if((u|0)>=(c[p>>2]|0)){b=1;g=56;break}}if((g|0)==9){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,44056,f);fa=0;i=e;return fa|0}else if((g|0)==56){i=e;return b|0}return 0}function cl(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;h=b+3988|0;f=c[h>>2]|0;g=b+20|0;if((f|0)>=(c[g>>2]|0)){j=-1;i=e;return j|0}do{if((a[b+12|0]&1)==0){if((a[b+13|0]&1)==0){break}j=b+3992|0;f=c[j>>2]|0;do{if((f|0)<(c[b+28>>2]|0)){h=c[b+3980>>2]|0;g=c[b+3984>>2]|0}else{if(bl(b)|0){c[b+3980>>2]=0;c[b+3984>>2]=0;c[j>>2]=0;h=0;g=0;f=0;break}c[h>>2]=c[g>>2];j=-1;i=e;return j|0}}while(0);j=d[(c[b+3452+(h<<7)+(f<<2)>>2]|0)+g|0]|0;i=e;return j|0}}while(0);j=da(c[b+32>>2]|0,f)|0;j=c[(c[b+3964+(c[b+3980>>2]<<2)>>2]|0)+(j+(c[b+3984>>2]|0)<<2)>>2]|0;i=e;return j|0}function dl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;h=i;i=i+8|0;n=i;i=i+8|0;p=gl(a,b)|0;if((p|0)==9999){t=0;i=g;return t|0}b=a+4012|0;l=a+8|0;k=a+4008|0;do{if((p|0)>0){s=c[b>>2]|0;q=0;r=0;a:while(1){if((s|0)==0){t=c[l>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){j=0;q=33;break}else if((t|0)==255){while(1){s=c[l>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==0){break}else if((s|0)!=255){q=8;break a}}}c[k>>2]=t;c[b>>2]=8;o=t;s=7}else{o=c[k>>2]|0;s=s+ -1|0}c[b>>2]=s;o=o>>>s&1|q<<1;r=r+1|0;if((r|0)<(p|0)){q=o}else{q=11;break}}if((q|0)==8){Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44384,n);t=0;i=g;return t|0}else if((q|0)==11){if((o|0)<(1<<p+ -1|0)){m=(-1<<p)+1+o|0}else{m=o}if((m|0)==9999){j=0}else{break}i=g;return j|0}else if((q|0)==33){i=g;return j|0}}else{m=0}}while(0);m=(c[e>>2]|0)+m|0;c[e>>2]=m;c[f>>2]=m;bX(f+4|0,0,252)|0;m=1;b:while(1){e=0;while(1){n=gl(a,d)|0;if((n|0)==240&(e|0)<48){e=e+16|0}else{break}}if((n|0)==0){j=1;q=33;break}else if((n|0)==9999){q=32;break}o=n&15;if((o|0)==0){q=0}else{r=c[b>>2]|0;q=0;p=0;do{if((r|0)==0){s=c[l>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==255){while(1){r=c[l>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==0){break}else if((r|0)!=255){q=24;break b}}}else if((s|0)==-1){j=0;q=33;break b}c[k>>2]=s;c[b>>2]=8;r=7}else{s=c[k>>2]|0;r=r+ -1|0}c[b>>2]=r;q=s>>>r&1|q<<1;p=p+1|0;}while((p|0)<(o|0))}if((q|0)<(1<<o+ -1|0)){q=(-1<<o)+1+q|0}if((q|0)==9999){q=32;break}e=(n>>>4&15|e)+m|0;if((e|0)>=64){j=1;q=33;break}m=e+1|0;c[f+(c[44096+(e<<2)>>2]<<2)>>2]=q;if((m|0)>=64){j=1;q=33;break}}if((q|0)==24){Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44384,h);t=0;i=g;return t|0}else if((q|0)==32){t=0;i=g;return t|0}else if((q|0)==33){i=g;return j|0}return 0}function el(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=i;j=0;while(1){r=f+(j<<2)|0;c[r>>2]=da(c[r>>2]|0,e[d+(j<<1)>>1]|0)|0;j=j+1|0;if((j|0)<64){}else{j=0;break}}while(1){m=f+(j<<2)|0;n=f+((j|1)<<2)|0;l=c[n>>2]|0;k=f+((j|2)<<2)|0;do{if((l|0)==0){if((c[k>>2]|0)!=0){h=11;break}o=f+((j|3)<<2)|0;if((c[o>>2]|0)!=0){h=11;break}d=f+((j|4)<<2)|0;if((c[d>>2]|0)!=0){h=11;break}p=f+((j|5)<<2)|0;if((c[p>>2]|0)!=0){h=11;break}q=f+((j|6)<<2)|0;if((c[q>>2]|0)!=0){h=11;break}r=f+((j|7)<<2)|0;if((c[r>>2]|0)!=0){h=11;break}l=((c[m>>2]|0)*5793|0)+512>>10;c[m>>2]=l;c[n>>2]=l;c[k>>2]=l;c[o>>2]=l;c[d>>2]=l;c[p>>2]=l;c[q>>2]=l;c[r>>2]=l}else{h=11}}while(0);if((h|0)==11){h=0;r=f+((j|4)<<2)|0;y=((c[r>>2]|0)*5793|0)+128>>8;z=c[k>>2]|0;t=f+((j|6)<<2)|0;x=c[t>>2]|0;w=f+((j|7)<<2)|0;d=c[w>>2]|0;q=((l-d|0)*2896|0)+128>>8;d=((d+l|0)*2896|0)+128>>8;o=f+((j|3)<<2)|0;p=c[o>>2]<<4;l=f+((j|5)<<2)|0;u=c[l>>2]<<4;s=(((c[m>>2]|0)*5793|0)+128>>8)+1|0;v=s-y>>1;y=s+y>>1;s=(z*3784|0)+128+(x*1567|0)>>8;x=(z*1567|0)+128+(da(x,-3784)|0)>>8;z=(0-u|1)+q>>1;q=(u|1)+q>>1;u=(p|1)+d>>1;d=(0-p|1)+d>>1;p=1-s+y>>1;y=s+1+y>>1;s=1-x+v>>1;v=x+1+v>>1;x=(u*3406|0)+2048+(q*2276|0)>>12;q=(da(u,-2276)|0)+2048+(q*3406|0)>>12;u=(z*4017|0)+2048+(d*799|0)>>12;d=(da(z,-799)|0)+2048+(d*4017|0)>>12;c[m>>2]=x+y;c[w>>2]=y-x;c[n>>2]=u+v;c[t>>2]=v-u;c[k>>2]=d+s;c[l>>2]=s-d;c[o>>2]=q+p;c[r>>2]=p-q}j=j+8|0;if((j|0)>=64){l=0;break}}while(1){q=f+(l<<2)|0;r=f+(l+8<<2)|0;p=c[r>>2]|0;o=f+(l+16<<2)|0;do{if((p|0)==0){if((c[o>>2]|0)!=0){h=21;break}n=f+(l+24<<2)|0;if((c[n>>2]|0)!=0){h=21;break}k=f+(l+32<<2)|0;if((c[k>>2]|0)!=0){h=21;break}j=f+(l+40<<2)|0;if((c[j>>2]|0)!=0){h=21;break}m=f+(l+48<<2)|0;if((c[m>>2]|0)!=0){h=21;break}d=f+(l+56<<2)|0;if((c[d>>2]|0)!=0){h=21;break}z=((c[q>>2]|0)*5793|0)+8192>>14;c[q>>2]=z;c[r>>2]=z;c[o>>2]=z;c[n>>2]=z;c[k>>2]=z;c[j>>2]=z;c[m>>2]=z;c[d>>2]=z}else{h=21}}while(0);if((h|0)==21){h=0;z=f+(l+32<<2)|0;j=((c[z>>2]|0)*5793|0)+2048>>12;d=c[o>>2]|0;s=f+(l+48<<2)|0;k=c[s>>2]|0;m=f+(l+56<<2)|0;u=c[m>>2]|0;y=((p-u|0)*2896|0)+2048>>12;u=((u+p|0)*2896|0)+2048>>12;w=f+(l+24<<2)|0;x=c[w>>2]|0;v=f+(l+40<<2)|0;p=c[v>>2]|0;t=(((c[q>>2]|0)*5793|0)+2048>>12)+1|0;n=t-j>>1;j=t+j>>1;t=(d*3784|0)+2048+(k*1567|0)>>12;k=(d*1567|0)+2048+(da(k,-3784)|0)>>12;d=1-p+y>>1;y=p+1+y>>1;p=x+1+u>>1;u=1-x+u>>1;x=1-t+j>>1;j=t+1+j>>1;t=1-k+n>>1;n=k+1+n>>1;k=(p*3406|0)+2048+(y*2276|0)>>12;y=(da(p,-2276)|0)+2048+(y*3406|0)>>12;p=(d*4017|0)+2048+(u*799|0)>>12;u=(da(d,-799)|0)+2048+(u*4017|0)>>12;c[q>>2]=k+j;c[m>>2]=j-k;c[r>>2]=p+n;c[s>>2]=n-p;c[o>>2]=u+t;c[v>>2]=t-u;c[w>>2]=y+x;c[z>>2]=x-y}l=l+1|0;if((l|0)>=8){h=0;break}}do{a[g+h|0]=a[((c[f+(h<<2)>>2]|0)+8>>4)+43632|0]|0;h=h+1|0;}while((h|0)<64);i=b;return}function fl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=i;p=i;i=i+8|0;q=i;i=i+8|0;k=i;i=i+8|0;m=i;i=i+8|0;o=i;i=i+8|0;r=i;i=i+8|0;z=i;i=i+8|0;t=i;i=i+8|0;v=c[a+160>>2]|0;if((v|0)==0){if((c[a+168>>2]|0)==0){v=gl(a,b)|0;if((v|0)==9999){B=0;i=h;return B|0}do{if((v|0)>0){x=a+4012|0;z=a+8|0;w=a+4008|0;b=c[x>>2]|0;y=0;A=0;a:while(1){if((b|0)==0){b=c[z>>2]|0;b=jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;if((b|0)==255){while(1){B=c[z>>2]|0;B=jd[c[(c[B>>2]|0)+20>>2]&511](B)|0;if((B|0)==0){break}else if((B|0)!=255){w=10;break a}}}else if((b|0)==-1){g=0;w=103;break}c[w>>2]=b;c[x>>2]=8;u=b;b=7}else{u=c[w>>2]|0;b=b+ -1|0}c[x>>2]=b;u=u>>>b&1|y<<1;A=A+1|0;if((A|0)<(v|0)){y=u}else{w=13;break}}if((w|0)==10){Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44384,t);B=0;i=h;return B|0}else if((w|0)==13){if((u|0)<(1<<v+ -1|0)){n=(-1<<v)+1+u|0}else{n=u}if((n|0)==9999){g=0}else{break}i=h;return g|0}else if((w|0)==103){i=h;return g|0}}else{n=0}}while(0);B=(c[e>>2]|0)+n|0;c[e>>2]=B;e=(c[f>>2]|0)+(B<<c[a+172>>2])|0}else{e=a+4012|0;n=c[e>>2]|0;b:do{if((n|0)==0){t=a+8|0;n=c[t>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;c:do{if((n|0)==255){while(1){u=c[t>>2]|0;u=jd[c[(c[u>>2]|0)+20>>2]&511](u)|0;if((u|0)==0){break c}else if((u|0)!=255){break}}Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44384,z);A=-1;break b}else if((n|0)==-1){A=-1;break b}}while(0);c[a+4008>>2]=n;c[e>>2]=8;x=n;y=7;w=23}else{x=c[a+4008>>2]|0;y=n+ -1|0;w=23}}while(0);if((w|0)==23){c[e>>2]=y;A=x>>>y&1}e=(c[f>>2]|0)+(A<<c[a+172>>2])|0}c[f>>2]=e;v=1}e=a+164|0;u=c[e>>2]|0;if((u|0)==0){B=1;i=h;return B|0}n=a+4004|0;t=c[n>>2]|0;u=(v|0)>(u|0);if((t|0)>0){do{if(u){s=t}else{l=a+4012|0;j=a+8|0;k=a+4008|0;m=a+172|0;d:while(1){p=v+1|0;o=f+(c[44096+(v<<2)>>2]<<2)|0;do{if((c[o>>2]|0)!=0){d=c[l>>2]|0;if((d|0)==0){q=c[j>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==255){while(1){d=c[j>>2]|0;d=jd[c[(c[d>>2]|0)+20>>2]&511](d)|0;if((d|0)==0){break}else if((d|0)!=255){w=37;break d}}}else if((q|0)==-1){g=0;w=103;break d}c[k>>2]=q;c[l>>2]=8;d=7}else{q=c[k>>2]|0;d=d+ -1|0}c[l>>2]=d;if((1<<d&q|0)==0){break}c[o>>2]=(c[o>>2]|0)+(1<<c[m>>2])}}while(0);if((v|0)<(c[e>>2]|0)){v=p}else{w=42;break}}if((w|0)==37){Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44384,r);B=0;i=h;return B|0}else if((w|0)==42){s=c[n>>2]|0;break}else if((w|0)==103){i=h;return g|0}}}while(0);c[n>>2]=s+ -1;B=1;i=h;return B|0}if(u){B=1;i=h;return B|0}u=a+4012|0;r=a+8|0;s=a+4008|0;t=a+172|0;e:while(1){w=gl(a,d)|0;if((w|0)==240){A=v;w=0;do{x=A;while(1){A=x+1|0;x=f+(c[44096+(x<<2)>>2]<<2)|0;if((c[x>>2]|0)==0){break}z=c[u>>2]|0;if((z|0)==0){y=c[r>>2]|0;y=jd[c[(c[y>>2]|0)+20>>2]&511](y)|0;if((y|0)==255){while(1){z=c[r>>2]|0;z=jd[c[(c[z>>2]|0)+20>>2]&511](z)|0;if((z|0)==0){break}else if((z|0)!=255){w=52;break e}}}else if((y|0)==-1){g=0;w=103;break e}c[s>>2]=y;c[u>>2]=8;z=7}else{y=c[s>>2]|0;z=z+ -1|0}c[u>>2]=z;if((1<<z&y|0)==0){x=A;continue}c[x>>2]=(c[x>>2]|0)+(1<<c[t>>2]);x=A}w=w+1|0;}while((w|0)<16)}else if((w|0)==9999){g=0;w=103;break}else{x=w&15;l=w>>4;if((x|0)==0){w=57;break}w=l&15;A=c[u>>2]|0;y=0;z=0;do{if((A|0)==0){b=c[r>>2]|0;b=jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;if((b|0)==255){while(1){A=c[r>>2]|0;A=jd[c[(c[A>>2]|0)+20>>2]&511](A)|0;if((A|0)==0){break}else if((A|0)!=255){w=84;break e}}}else if((b|0)==-1){g=0;w=103;break e}c[s>>2]=b;c[u>>2]=8;A=7}else{b=c[s>>2]|0;A=A+ -1|0}c[u>>2]=A;y=b>>>A&1|y<<1;z=z+1|0;}while((z|0)<(x|0));if((y|0)<(1<<x+ -1|0)){y=(-1<<x)+1+y|0}if((y|0)==9999){g=0;w=103;break}else{z=v;x=0}while(1){A=z+1|0;z=f+(c[44096+(z<<2)>>2]<<2)|0;if((c[z>>2]|0)!=0){while(1){B=c[u>>2]|0;if((B|0)==0){b=c[r>>2]|0;b=jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;if((b|0)==255){while(1){B=c[r>>2]|0;B=jd[c[(c[B>>2]|0)+20>>2]&511](B)|0;if((B|0)==0){break}else if((B|0)!=255){w=95;break e}}}else if((b|0)==-1){g=0;w=103;break e}c[s>>2]=b;c[u>>2]=8;B=7}else{b=c[s>>2]|0;B=B+ -1|0}c[u>>2]=B;if((1<<B&b|0)!=0){c[z>>2]=(c[z>>2]|0)+(1<<c[t>>2])}b=A+1|0;z=f+(c[44096+(A<<2)>>2]<<2)|0;if((c[z>>2]|0)==0){A=b;break}else{A=b}}}if((x|0)<(w|0)){z=A;x=x+1|0}else{break}}c[z>>2]=y<<c[t>>2]}if((A|0)>(c[e>>2]|0)){g=1;w=103;break}else{v=A}}if((w|0)==52){Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44384,o);B=0;i=h;return B|0}else if((w|0)==57){c[n>>2]=0;f:do{if((l|0)>0){q=0;p=c[u>>2]|0;o=0;g:while(1){if((p|0)==0){d=c[r>>2]|0;d=jd[c[(c[d>>2]|0)+20>>2]&511](d)|0;if((d|0)==255){while(1){p=c[r>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==0){break}else if((p|0)!=255){break g}}}else if((d|0)==-1){g=0;w=103;break}c[s>>2]=d;c[u>>2]=8;q=c[n>>2]|0;p=7}else{d=c[s>>2]|0;p=p+ -1|0}c[u>>2]=p;q=q<<1|d>>>p&1;c[n>>2]=q;o=o+1|0;if((o|0)>=(l|0)){break f}}if((w|0)==103){i=h;return g|0}Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44384,m);B=0;i=h;return B|0}else{q=0}}while(0);l=q+(1<<l)|0;c[n>>2]=l;do{if((v|0)>(c[e>>2]|0)){j=l}else{h:while(1){l=v+1|0;m=f+(c[44096+(v<<2)>>2]<<2)|0;do{if((c[m>>2]|0)!=0){p=c[u>>2]|0;if((p|0)==0){o=c[r>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==255){while(1){p=c[r>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==0){break}else if((p|0)!=255){w=72;break h}}}else if((o|0)==-1){g=0;w=103;break h}c[s>>2]=o;c[u>>2]=8;p=7}else{o=c[s>>2]|0;p=p+ -1|0}c[u>>2]=p;if((1<<p&o|0)==0){break}c[m>>2]=(c[m>>2]|0)+(1<<c[t>>2])}}while(0);if((v|0)<(c[e>>2]|0)){v=l}else{w=77;break}}if((w|0)==72){Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44384,k);B=0;i=h;return B|0}else if((w|0)==77){j=c[n>>2]|0;break}else if((w|0)==103){i=h;return g|0}}}while(0);c[n>>2]=j+ -1;B=1;i=h;return B|0}else if((w|0)==84){Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44384,q);B=0;i=h;return B|0}else if((w|0)==95){Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44384,p);B=0;i=h;return B|0}else if((w|0)==103){i=h;return g|0}return 0}function gl(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;g=i;i=i+8|0;h=i;i=i+8|0;j=a+4012|0;l=a+8|0;k=a+4008|0;o=c[j>>2]|0;m=0;n=0;a:while(1){if((o|0)==0){p=c[l>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){a=9999;j=12;break}else if((p|0)==255){while(1){o=c[l>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==0){break}else if((o|0)!=255){j=6;break a}}}c[k>>2]=p;c[j>>2]=8;o=7}else{p=c[k>>2]|0;o=o+ -1|0}c[j>>2]=o;n=p>>>o&1|(n&65535)<<1;m=m+1|0;p=e[b+18+(m<<1)>>1]|0;if(((n&65535)-p|0)<(e[b+52+(m<<1)>>1]|0|0)){j=9;break}if((m|0)<16){n=n&65535}else{j=11;break}}if((j|0)==6){Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44384,h);p=9999;i=f;return p|0}else if((j|0)==9){p=d[b+86+((d[b+m|0]|0)+(n-p&65535))|0]|0;i=f;return p|0}else if((j|0)==11){Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44352,g);p=9999;i=f;return p|0}else if((j|0)==12){i=f;return a|0}return 0}function hl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;f=i;i=i+8|0;g=f;j=i;i=i+8|0;e=b+8|0;l=c[e>>2]|0;if((jd[c[(c[l>>2]|0)+20>>2]&511](l)|0)!=-1){l=c[e>>2]|0;jd[c[(c[l>>2]|0)+20>>2]&511](l)|0}h=c[e>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;l=c[e>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;do{if((l|0)==-1){k=-1}else{k=c[e>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){k=-1;break}k=k+(l<<8)|0}}while(0);c[b+20>>2]=k;k=c[e>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;do{if((k|0)==-1){k=-1}else{l=c[e>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){k=-1;break}k=l+(k<<8)|0}}while(0);c[b+16>>2]=k;l=c[e>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;k=b+176|0;c[k>>2]=l;if((l+ -1|0)>>>0>3){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,44472,j);c[k>>2]=0;l=0;i=d;return l|0}if((h|0)!=8){l=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[f>>2]=h;Qe(l,44512,g);l=0;i=d;return l|0}if((l|0)>0){f=0;do{l=c[e>>2]|0;c[b+40+(f*20|0)>>2]=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;l=c[e>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;c[b+40+(f*20|0)+4>>2]=l>>>4&15;c[b+40+(f*20|0)+8>>2]=l&15;l=c[e>>2]|0;c[b+40+(f*20|0)+12>>2]=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;f=f+1|0;}while((f|0)<(c[k>>2]|0))}a[b+12|0]=0;l=1;i=d;return l|0}function il(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;h=i;i=i+8|0;f=h;e=b+8|0;k=c[e>>2]|0;if((jd[c[(c[k>>2]|0)+20>>2]&511](k)|0)!=-1){k=c[e>>2]|0;jd[c[(c[k>>2]|0)+20>>2]&511](k)|0}g=c[e>>2]|0;g=jd[c[(c[g>>2]|0)+20>>2]&511](g)|0;k=c[e>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;do{if((k|0)==-1){j=-1}else{j=c[e>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){j=-1;break}j=j+(k<<8)|0}}while(0);c[b+20>>2]=j;j=c[e>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;do{if((j|0)==-1){j=-1}else{k=c[e>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){j=-1;break}j=k+(j<<8)|0}}while(0);c[b+16>>2]=j;k=c[e>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;j=b+176|0;c[j>>2]=k;if((g|0)!=8){k=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[h>>2]=g;Qe(k,44512,f);k=0;i=d;return k|0}if((k|0)>0){f=0;do{k=c[e>>2]|0;c[b+40+(f*20|0)>>2]=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;k=c[e>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;c[b+40+(f*20|0)+4>>2]=k>>>4&15;c[b+40+(f*20|0)+8>>2]=k&15;k=c[e>>2]|0;c[b+40+(f*20|0)+12>>2]=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;f=f+1|0;}while((f|0)<(c[j>>2]|0))}a[b+12|0]=1;k=1;i=d;return k|0}function jl(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;h=i;i=i+8|0;g=d+8|0;k=c[g>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){q=1;i=e;return q|0}j=c[g>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){q=1;i=e;return q|0}m=(k<<8)+ -2+j|0;if((m|0)<=0){q=1;i=e;return q|0}k=d+3444|0;j=d+3448|0;while(1){l=c[g>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;n=l&15;if(n>>>0>3){break}if((l&16|0)==0){if((n|0)>=(c[k>>2]|0)){c[k>>2]=n+1}l=d+708+(n*342|0)|0}else{if((n|0)>=(c[j>>2]|0)){c[j>>2]=n+1}l=d+2076+(n*342|0)|0}p=0;q=1;o=0;while(1){n=c[g>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;a[l+q|0]=o;b[l+18+(q<<1)>>1]=p;b[l+52+(q<<1)>>1]=n;o=n+(o&255)|0;q=q+1|0;if((q|0)<17){o=o&255;p=n+(p&65535)<<1&65535}else{break}}m=m+ -17|0;o=o&255;if((o|0)!=0){n=0;do{q=c[g>>2]|0;a[l+86+n|0]=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;n=n+1|0;}while((n|0)<(o|0))}m=m-o|0;if((m|0)<=0){d=1;f=19;break}}if((f|0)==19){i=e;return d|0}Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,44680,h);q=0;i=e;return q|0}function kl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;f=i;i=i+8|0;g=i;i=i+8|0;j=i;i=i+8|0;k=i;i=i+8|0;e=b+8|0;h=c[e>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;do{if((h|0)==-1){m=-4}else{l=c[e>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){m=-4;break}m=(h<<8)+ -3+l|0}}while(0);l=c[e>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;h=b+124|0;c[h>>2]=l;if((l+ -1|0)>>>0>3){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,44472,k);c[h>>2]=0;o=0;i=d;return o|0}if((m|0)!=((l<<1)+3|0)){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,44536,j);o=0;i=d;return o|0}j=b+176|0;o=c[j>>2]|0;a[b+13|0]=(l|0)==(o|0)|0;if((o|0)>0){k=0;do{a[b+120+k|0]=0;c[b+128+(k<<2)>>2]=0;c[b+144+(k<<2)>>2]=0;k=k+1|0;}while((k|0)<(c[j>>2]|0));l=c[h>>2]|0}m=c[e>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;a:do{if((l|0)>0){k=0;while(1){if((m|0)==(c[b+40+(k*20|0)>>2]|0)){n=k}else{l=c[j>>2]|0;b:do{if((l|0)>0){n=0;while(1){o=n+1|0;if((m|0)==(c[b+40+(n*20|0)>>2]|0)){break b}if((o|0)<(l|0)){n=o}else{n=o;break}}}else{n=0}}while(0);if((n|0)==(l|0)){break}}a[b+120+n|0]=1;o=c[e>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;c[b+128+(n<<2)>>2]=o>>>4&15;c[b+144+(n<<2)>>2]=o&15;k=k+1|0;o=(k|0)<(c[h>>2]|0);m=c[e>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if(!o){break a}}Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,44560,g);o=0;i=d;return o|0}}while(0);n=b+160|0;c[n>>2]=m;o=c[e>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;c[b+164>>2]=o;n=c[n>>2]|0;if((n|0)<0|(o|0)>63|(n|0)>(o|0)){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,44600,f);o=0;i=d;return o|0}else{o=c[e>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;c[b+168>>2]=o>>>4&15;c[b+172>>2]=o&15;o=1;i=d;return o|0}return 0}function ll(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;f=i;i=i+8|0;g=a+8|0;h=c[g>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;if((h|0)==-1){o=1;i=e;return o|0}j=c[g>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){o=1;i=e;return o|0}k=(h<<8)+ -2+j|0;if((k|0)<=0){o=1;i=e;return o|0}h=a+704|0;while(1){j=c[g>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;l=j>>>4&15;j=j&15;if(l>>>0>1|j>>>0>3){break}if((j|0)==(c[h>>2]|0)){c[h>>2]=j+1}m=(l|0)!=0;l=0;do{n=c[g>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if(m){do{if((n|0)==-1){n=-1}else{o=c[g>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==-1){n=-1;break}n=o+(n<<8)&65535}}while(0);b[a+192+(j<<7)+(c[44096+(l<<2)>>2]<<1)>>1]=n}else{b[a+192+(j<<7)+(c[44096+(l<<2)>>2]<<1)>>1]=n}l=l+1|0;}while((l|0)<64);k=k+(m?-129:-65)|0;if((k|0)<=0){a=1;d=18;break}}if((d|0)==18){i=e;return a|0}Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,44648,f);o=0;i=e;return o|0}function ml(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;f=i;i=i+8|0;j=i;i=i+8|0;h=i;i=i+8|0;e=b+8|0;l=c[e>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){l=1;i=d;return l|0}k=c[e>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){l=1;i=d;return l|0}k=k+(l<<8)|0;l=k+ -2|0;do{if((l|0)>4){l=0;while(1){g=c[e>>2]|0;g=jd[c[(c[g>>2]|0)+20>>2]&511](g)|0;if((g|0)==-1){g=5;break}a[h+l|0]=g;l=l+1|0;if((l|0)>=5){g=7;break}}if((g|0)==5){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,44736,j);l=0;i=d;return l|0}else if((g|0)==7){l=k+ -7|0;if((iX(h|0,44760,5)|0)!=0){break}a[b+184|0]=1;break}}}while(0);if((l|0)<=0){l=1;i=d;return l|0}while(1){k=c[e>>2]|0;l=l+ -1|0;if((jd[c[(c[k>>2]|0)+20>>2]&511](k)|0)==-1){break}if((l|0)>0){}else{b=1;g=13;break}}if((g|0)==13){i=d;return b|0}Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,44736,f);l=0;i=d;return l|0}function nl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;f=i;i=i+8|0;g=i;i=i+16|0;e=b+8|0;j=c[e>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;a:do{if((j|0)!=-1){h=c[e>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;if((h|0)==-1){break}h=h+(j<<8)|0;if((h|0)<14){break}else{j=0}do{k=c[e>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){break a}a[g+j|0]=k;j=j+1|0;}while((j|0)<12);if((vc(g|0,44768,5)|0)!=0){break}c[b+180>>2]=a[g+11|0]|0;a[b+185|0]=1;if((h|0)>14){g=14}else{k=1;i=d;return k|0}while(1){k=c[e>>2]|0;g=g+1|0;if((jd[c[(c[k>>2]|0)+20>>2]&511](k)|0)==-1){break a}if((g|0)<(h|0)){}else{b=1;break}}i=d;return b|0}}while(0);Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,44776,f);k=0;i=d;return k|0}function ol(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;if((b|0)<2){b=0;i=e;return b|0}a=c[a+8>>2]|0;a=sd[c[(c[a>>2]|0)+56>>2]&127](a,b,d)|0;if((a|0)==0){b=0;i=e;return b|0}ne(ne(a,d,-1)|0,44824,-1)|0;b=a;i=e;return b|0}function pl(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[a+8>>2]|0;b=Bd[c[(c[b>>2]|0)+60>>2]&255](b,1)|0;i=d;return b|0}function ql(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;c[b+4>>2]=1;c[b+8>>2]=d;c[b>>2]=47624;a:do{if((e|0)==1){c[b+12>>2]=0}else{d=FW(44)|0;c[d>>2]=b;c[d+4>>2]=e;c[d+8>>2]=f;c[d+12>>2]=g;c[d+16>>2]=h;e=d+32|0;c[e>>2]=0;m=d+40|0;a[m]=0;n=da(g,f)|0;c[d+20>>2]=n;k=(da(h,g)|0)+7>>3;c[d+24>>2]=k;k=((da(n,h)|0)+7>>3)+k|0;l=d+28|0;c[l>>2]=k;do{if(!((f|0)<1|(g|0)<1)){if((h|0)<1|(g|0)>32|(h|0)>16){break}if((2147483647/(g|0)|0|0)<=(f|0)){break}if((n|0)>=(2147483640/(h|0)|0|0)){break}n=we(k)|0;c[e>>2]=n;bX(n|0,0,c[l>>2]|0)|0;c[d+36>>2]=c[l>>2];a[m]=1;c[b+12>>2]=d;break a}}while(0);h=b+12|0;c[h>>2]=d;if((d|0)!=0){Fe(c[e>>2]|0);HW(d)}c[h>>2]=0}}while(0);c[b+34072>>2]=0;c[b+34080>>2]=0;bX(b+16|0,0,32768)|0;i=j;return}function rl(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=47624;d=c[a+34072>>2]|0;if((d|0)!=(c[11868]|0)){Fe(d)}d=c[a+34080>>2]|0;if((d|0)!=(c[11902]|0)){Fe(d)}d=c[a+12>>2]|0;if((d|0)!=0){Fe(c[d+32>>2]|0);HW(d)}d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function sl(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=47624;d=c[a+34072>>2]|0;if((d|0)!=(c[11868]|0)){Fe(d)}d=c[a+34080>>2]|0;if((d|0)!=(c[11902]|0)){Fe(d)}d=c[a+12>>2]|0;if((d|0)!=0){Fe(c[d+32>>2]|0);HW(d)}a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function tl(b){b=b|0;var d=0;d=i;a[b+34088|0]=0;bX(b+32784|0,0,16)|0;a[b+34096|0]=1;a[b+34097|0]=1;b=c[b+8>>2]|0;fd[c[(c[b>>2]|0)+12>>2]&511](b);i=d;return}function ul(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;h=i;i=i+8|0;f=i;i=i+8|0;e=i;i=i+8|0;fd[c[(c[b>>2]|0)+40>>2]&511](b);g=b+34097|0;a[g]=1;a[b+34096|0]=1;j=b+8|0;k=c[j>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;j=c[j>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((k|0)==-1|(j|0)==-1){i=d;return}if((k&15|0)!=8){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,47720,e);i=d;return}if(((j+(k<<8)|0)%31|0|0)!=0){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,47768,f);i=d;return}if((j&32|0)==0){a[g]=0;i=d;return}else{Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,47800,h);i=d;return}}function vl(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;f=c[b+12>>2]|0;if((f|0)!=0){b=f+36|0;g=c[b>>2]|0;do{if((g|0)>=(c[f+28>>2]|0)){if(Cj(f)|0){g=c[b>>2]|0;break}else{j=-1;i=e;return j|0}}}while(0);c[b>>2]=g+1;j=d[(c[f+32>>2]|0)+g|0]|0;i=e;return j|0}f=b+32788|0;j=c[f>>2]|0;a:do{if((j|0)==0){h=b+34096|0;g=b+34097|0;while(1){if((a[h]&1)!=0){if((a[g]&1)!=0){b=-1;break}}yl(b);j=c[f>>2]|0;if((j|0)!=0){break a}}i=e;return b|0}}while(0);g=b+32784|0;k=c[g>>2]|0;h=d[b+16+k|0]|0;c[g>>2]=k+1&32767;c[f>>2]=j+ -1;j=h;i=e;return j|0}function wl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;f=b+12|0;j=c[f>>2]|0;h=(d|0)>0;if((j|0)!=0){if(!h){p=d;i=g;return p|0}l=j+36|0;n=j+28|0;k=j+32|0;m=0;while(1){o=c[l>>2]|0;if((o|0)>=(c[n>>2]|0)){if(!(Cj(j)|0)){j=22;break}o=c[l>>2]|0}c[l>>2]=o+1;a[e+m|0]=a[(c[k>>2]|0)+o|0]|0;m=m+1|0;if((m|0)>=(d|0)){m=d;j=22;break}}if((j|0)==22){i=g;return m|0}}if(!h){p=d;i=g;return p|0}k=b+32788|0;l=b+34096|0;h=b+34097|0;j=b+32784|0;n=0;m=0;a:while(1){if((n|0)==0){n=c[k>>2]|0;if((n|0)==0){do{if((a[l]&1)!=0){if((a[h]&1)!=0){j=22;break a}}yl(b);n=c[k>>2]|0;}while((n|0)==0)}o=c[j>>2]|0;p=a[b+16+o|0]|0;c[j>>2]=o+1&32767;c[k>>2]=n+ -1;n=p}else{o=n+36|0;p=c[o>>2]|0;if((p|0)>=(c[n+28>>2]|0)){if(!(Cj(n)|0)){j=22;break}p=c[o>>2]|0}c[o>>2]=p+1;n=a[(c[n+32>>2]|0)+p|0]|0}a[e+m|0]=n;m=m+1|0;if((m|0)>=(d|0)){m=d;j=22;break}n=c[f>>2]|0}if((j|0)==22){i=g;return m|0}return 0}function xl(b){b=b|0;var e=0,f=0,g=0,h=0;e=i;f=c[b+12>>2]|0;if((f|0)!=0){g=f+36|0;b=c[g>>2]|0;do{if((b|0)>=(c[f+28>>2]|0)){if(Cj(f)|0){b=c[g>>2]|0;break}else{h=-1;i=e;return h|0}}}while(0);h=d[(c[f+32>>2]|0)+b|0]|0;i=e;return h|0}f=b+32788|0;a:do{if((c[f>>2]|0)==0){h=b+34096|0;g=b+34097|0;while(1){if((a[h]&1)!=0){if((a[g]&1)!=0){b=-1;break}}yl(b);if((c[f>>2]|0)!=0){break a}}i=e;return b|0}}while(0);h=d[b+16+(c[b+32784>>2]|0)|0]|0;i=e;return h|0}function yl(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;k=i;i=i+8|0;g=d+34096|0;do{if((a[g]&1)!=0){if(Dl(d)|0){break}i=f;return}}while(0);if((a[d+34088|0]&1)==0){h=d+34092|0;j=c[h>>2]|0;j=(j|0)<32768?j:32768;a:do{if((j|0)>0){k=d+8|0;n=0;l=c[d+32784>>2]|0;while(1){m=c[k>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}a[d+16+l|0]=m;n=n+1|0;if((n|0)<(j|0)){l=l+1&32767}else{break a}}a[d+34097|0]=1;a[g]=1}else{n=0}}while(0);c[d+32788>>2]=n;s=c[h>>2]|0;c[h>>2]=s-j;if((s|0)!=(j|0)){i=f;return}a[g]=1;i=f;return}l=d+8|0;h=d+32796|0;m=c[h>>2]|0;n=d+34076|0;o=c[n>>2]|0;j=d+32792|0;b:do{if((m|0)<(o|0)){while(1){m=c[l>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}o=c[h>>2]|0;c[j>>2]=c[j>>2]|(m&255)<<o;m=o+8|0;c[h>>2]=m;o=c[n>>2]|0;if((m|0)>=(o|0)){break b}}m=c[h>>2]|0;o=c[n>>2]|0}}while(0);n=c[j>>2]|0;o=(1<<o)+ -1&n;p=c[d+34072>>2]|0;c:do{if((m|0)!=0){q=p+(o<<2)|0;s=b[q>>1]|0;r=s&65535;if((m|0)<(r|0)|s<<16>>16==0){break}n=n>>r;c[j>>2]=n;q=m-(e[q>>1]|0)|0;c[h>>2]=q;m=b[p+(o<<2)+2>>1]|0;if((m&65535)<256){a[d+16+(c[d+32784>>2]|0)|0]=m;c[d+32788>>2]=1;i=f;return}if(m<<16>>16==256){a[g]=1;c[d+32788>>2]=0;i=f;return}m=(m&65535)+ -257|0;o=c[44936+(m<<3)>>2]|0;if((o|0)>0){if((q|0)<(o|0)){do{n=c[l>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){break c}q=c[h>>2]|0;n=c[j>>2]|(n&255)<<q;c[j>>2]=n;q=q+8|0;c[h>>2]=q;}while((q|0)<(o|0))}p=n&(1<<o)+ -1;n=n>>o;c[j>>2]=n;q=q-o|0;c[h>>2]=q;if((p|0)==-1){break}else{o=p}}m=(c[44940+(m<<3)>>2]|0)+o|0;p=d+34084|0;r=c[p>>2]|0;d:do{if((q|0)<(r|0)){while(1){n=c[l>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){break}o=c[h>>2]|0;n=c[j>>2]|(n&255)<<o;c[j>>2]=n;o=o+8|0;c[h>>2]=o;q=c[p>>2]|0;if((o|0)>=(q|0)){break d}}n=c[j>>2]|0;o=c[h>>2]|0;q=c[p>>2]|0}else{o=q;q=r}}while(0);q=(1<<q)+ -1&n;p=c[d+34080>>2]|0;if((o|0)==0){break}s=p+(q<<2)|0;t=b[s>>1]|0;r=t&65535;if((o|0)<(r|0)|t<<16>>16==0){break}r=n>>r;c[j>>2]=r;s=o-(e[s>>1]|0)|0;c[h>>2]=s;n=e[p+(q<<2)+2>>1]|0;o=c[45184+(n<<3)>>2]|0;if((o|0)>0){if((s|0)<(o|0)){do{p=c[l>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break c}s=c[h>>2]|0;r=c[j>>2]|(p&255)<<s;c[j>>2]=r;s=s+8|0;c[h>>2]=s;}while((s|0)<(o|0))}l=r&(1<<o)+ -1;c[j>>2]=r>>o;c[h>>2]=s-o;if((l|0)==-1){break}else{o=l}}h=c[d+32784>>2]|0;if((m|0)>0){g=h;j=h-((c[45188+(n<<3)>>2]|0)+o)|0;h=0;while(1){j=j&32767;a[d+16+g|0]=a[d+16+j|0]|0;h=h+1|0;if((h|0)<(m|0)){j=j+1|0;g=g+1&32767}else{break}}}c[d+32788>>2]=m;i=f;return}}while(0);Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,47864,k);a[d+34097|0]=1;a[g]=1;c[d+32788>>2]=0;i=f;return}function zl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=i;if((e|0)<=0){i=l;return}k=b+32788|0;g=b+34096|0;j=b+34097|0;m=b+32784|0;n=0;do{o=c[k>>2]|0;a:do{if((o|0)==0){while(1){if((a[g]&1)!=0){if((a[j]&1)!=0){o=-1;break a}}yl(b);o=c[k>>2]|0;if((o|0)!=0){h=7;break}}}else{h=7}}while(0);if((h|0)==7){h=0;q=c[m>>2]|0;p=d[b+16+q|0]|0;c[m>>2]=q+1&32767;c[k>>2]=o+ -1;o=p}c[f+(n<<2)>>2]=o;n=n+1|0;}while((n|0)<(e|0));i=l;return}function Al(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;f=b+32788|0;j=c[f>>2]|0;a:do{if((j|0)==0){h=b+34096|0;g=b+34097|0;while(1){if((a[h]&1)!=0){if((a[g]&1)!=0){b=-1;break}}yl(b);j=c[f>>2]|0;if((j|0)!=0){break a}}i=e;return b|0}}while(0);g=b+32784|0;k=c[g>>2]|0;h=d[b+16+k|0]|0;c[g>>2]=k+1&32767;c[f>>2]=j+ -1;j=h;i=e;return j|0}function Bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;if((b|0)<3){b=0;i=e;return b|0}if((c[a+12>>2]|0)!=0){b=0;i=e;return b|0}a=c[a+8>>2]|0;a=sd[c[(c[a>>2]|0)+56>>2]&127](a,b,d)|0;if((a|0)==0){b=0;i=e;return b|0}ne(ne(a,d,-1)|0,47832,-1)|0;b=a;i=e;return b|0}function Cl(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[a+8>>2]|0;b=Bd[c[(c[b>>2]|0)+60>>2]&255](b,1)|0;i=d;return b|0}function Dl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;e=i;i=i+8|0;f=i;i=i+8|0;h=b+34072|0;g=c[h>>2]|0;if((g|0)!=(c[11868]|0)){Fe(g)}c[h>>2]=0;j=b+34080|0;g=c[j>>2]|0;if((g|0)!=(c[11902]|0)){Fe(g)}c[j>>2]=0;g=b+32796|0;m=c[g>>2]|0;a:do{if((m|0)<3){n=b+8|0;m=b+32792|0;while(1){k=c[n>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){n=-1;k=11;break a}o=c[g>>2]|0;l=c[m>>2]|(k&255)<<o;c[m>>2]=l;k=o+8|0;c[g>>2]=k;if((k|0)>=3){m=k;k=10;break}}}else{l=c[b+32792>>2]|0;k=10}}while(0);if((k|0)==10){n=l&7;c[b+32792>>2]=l>>3;c[g>>2]=m+ -3;if((l&1|0)!=0){k=11}}if((k|0)==11){a[b+34097|0]=1}k=n>>1;do{if((k|0)==0){a[b+34088|0]=0;j=b+8|0;k=c[j>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){k=23;break}h=b+34092|0;c[h>>2]=k&255;k=c[j>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){k=23;break}c[h>>2]=c[h>>2]|k<<8&65280;k=c[j>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){k=23;break}j=c[j>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){k=23;break}if((j<<8&65280|k&255|0)!=(c[h>>2]&65535^65535|0)){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,47904,f)}c[b+32792>>2]=0;c[g>>2]=0;k=22}else if((k|0)==1){a[b+34088|0]=1;c[h>>2]=c[11868];c[b+34076>>2]=c[47476>>2];c[j>>2]=c[11902];c[b+34084>>2]=c[47612>>2];k=22}else if((k|0)==2){a[b+34088|0]=1;if(El(b)|0){k=22}else{k=23}}else{k=23}}while(0);if((k|0)==22){a[b+34096|0]=0;o=1;i=d;return o|0}else if((k|0)==23){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,47952,e);a[b+34097|0]=1;a[b+34096|0]=1;o=0;i=d;return o|0}return 0}function El(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=i;d=i;i=i+8|0;l=i;i=i+80|0;n=l;p=i;i=i+8|0;o=p;c[p>>2]=0;g=a+32796|0;q=c[g>>2]|0;a:do{if((q|0)<5){k=a+8|0;h=a+32792|0;while(1){j=c[k>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){p=0;break a}q=c[g>>2]|0;j=c[h>>2]|(j&255)<<q;c[h>>2]=j;q=q+8|0;c[g>>2]=q;if((q|0)>=5){m=6;break}}}else{j=c[a+32792>>2]|0;m=6}}while(0);b:do{if((m|0)==6){h=a+32792|0;k=j>>5;c[h>>2]=k;q=q+ -5|0;c[g>>2]=q;j=(j&31)+257|0;if((q|0)<5){q=a+8|0;while(1){k=c[q>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){p=0;break b}r=c[g>>2]|0;k=c[h>>2]|(k&255)<<r;c[h>>2]=k;r=r+8|0;c[g>>2]=r;if((r|0)>=5){s=r;break}}}else{s=q}r=k&31;q=k>>5;c[h>>2]=q;t=s+ -5|0;c[g>>2]=t;k=r+1|0;if((t|0)<4){s=a+8|0;do{q=c[s>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){p=0;break b}t=c[g>>2]|0;q=c[h>>2]|(q&255)<<t;c[h>>2]=q;t=t+8|0;c[g>>2]=t;}while((t|0)<4)}s=q>>4;c[h>>2]=s;t=t+ -4|0;c[g>>2]=t;q=(q&15)+4|0;if(j>>>0>288|r>>>0>29|q>>>0>19){p=0;break}bX(l|0,0,76)|0;l=a+8|0;r=0;c:while(1){if((t|0)<3){do{s=c[l>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){m=18;break c}t=c[g>>2]|0;s=c[h>>2]|(s&255)<<t;c[h>>2]=s;t=t+8|0;c[g>>2]=t;}while((t|0)<3)}u=s>>3;c[h>>2]=u;t=t+ -3|0;c[g>>2]=t;c[n+(c[44856+(r<<2)>>2]<<2)>>2]=s&7;r=r+1|0;if((r|0)<(q|0)){s=u}else{break}}if((m|0)==18){c[n+(c[44856+(r<<2)>>2]<<2)>>2]=-1;p=0;break}Fl(0,n,19,o);n=k+j|0;o=c[o+4>>2]|0;p=c[p>>2]|0;q=a+32800|0;r=0;m=0;d:while(1){while(1){s=c[g>>2]|0;e:do{if((s|0)<(o|0)){while(1){s=c[l>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}w=c[g>>2]|0;c[h>>2]=c[h>>2]|(s&255)<<w;s=w+8|0;c[g>>2]=s;if((s|0)>=(o|0)){break e}}s=c[g>>2]|0}}while(0);w=c[h>>2]|0;t=(1<<o)+ -1&w;if((s|0)==0){break b}v=p+(t<<2)|0;x=b[v>>1]|0;u=x&65535;if((s|0)<(u|0)|x<<16>>16==0){break b}u=w>>u;c[h>>2]=u;s=s-(e[v>>1]|0)|0;c[g>>2]=s;t=e[p+(t<<2)+2>>1]|0;if((t|0)==17){m=37;break}else if((t|0)==18){m=42;break}else if((t|0)!=16){m=47;break}if((s|0)<2){do{s=c[l>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break b}x=c[g>>2]|0;u=c[h>>2]|(s&255)<<x;c[h>>2]=u;s=x+8|0;c[g>>2]=s;}while((s|0)<2)}c[h>>2]=u>>2;c[g>>2]=s+ -2;t=(u&3)+3|0;if((t+r|0)>(n|0)){break b}s=u&3;u=-3-s|0;u=r+4+((u|0)>-1?u:-1)|0;while(1){c[a+32800+(r<<2)>>2]=m;t=t+ -1|0;if((t|0)>0){r=r+1|0}else{break}}r=u+s|0;if((r|0)>=(n|0)){break d}}if((m|0)==37){if((s|0)<3){do{m=c[l>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break b}s=c[g>>2]|0;u=c[h>>2]|(m&255)<<s;c[h>>2]=u;s=s+8|0;c[g>>2]=s;}while((s|0)<3)}c[h>>2]=u>>3;c[g>>2]=s+ -3;if(((u&7)+3+r|0)>(n|0)){break b}s=u&7;m=-3-s|0;t=(m|0)>-1?m:-1;bX(a+32800+(r<<2)|0,0,t+4+s<<2|0)|0;r=r+4+t+s|0;t=0}else if((m|0)==42){if((s|0)<7){do{m=c[l>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break b}s=c[g>>2]|0;u=c[h>>2]|(m&255)<<s;c[h>>2]=u;s=s+8|0;c[g>>2]=s;}while((s|0)<7)}c[h>>2]=u>>7;c[g>>2]=s+ -7;if(((u&127)+11+r|0)>(n|0)){break b}m=u&127;s=-11-m|0;t=(s|0)>-1?s:-1;bX(a+32800+(r<<2)|0,0,t+12+m<<2|0)|0;r=r+12+t+m|0;t=0}else if((m|0)==47){c[a+32800+(r<<2)>>2]=t;r=r+1|0}if((r|0)<(n|0)){m=t}else{break}}Fl(0,q,j,a+34072|0);Fl(0,a+32800+(j<<2)|0,k,a+34080|0);Fe(p);x=1;i=f;return x|0}}while(0);Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,47992,d);Fe(p);x=0;i=f;return x|0}function Fl(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a=i;h=f+4|0;c[h>>2]=0;g=(e|0)>0;if(g){k=0;j=0;do{l=c[d+(j<<2)>>2]|0;if((l|0)>(k|0)){c[h>>2]=l;k=l}j=j+1|0;}while((j|0)<(e|0))}else{k=0}j=1<<k;k=ye(j,4)|0;c[f>>2]=k;a:do{if((j|0)>0){l=0;while(1){b[k+(l<<2)>>1]=0;b[(c[f>>2]|0)+(l<<2)+2>>1]=0;l=l+1|0;if((l|0)>=(j|0)){break a}k=c[f>>2]|0}}}while(0);m=c[h>>2]|0;if((m|0)<1){i=a;return}else{o=0;k=1;l=2}while(1){if(g){n=(k|0)>0;m=k&65535;p=0;do{if((c[d+(p<<2)>>2]|0)==(k|0)){if(n){r=0;s=0;q=o;while(1){r=q&1|r<<1;s=s+1|0;if((s|0)<(k|0)){q=q>>1}else{break}}}else{r=0}if((r|0)<(j|0)){q=p&65535;do{b[(c[f>>2]|0)+(r<<2)>>1]=m;b[(c[f>>2]|0)+(r<<2)+2>>1]=q;r=r+l|0;}while((r|0)<(j|0))}o=o+1|0}p=p+1|0;}while((p|0)<(e|0));m=c[h>>2]|0}if((k|0)<(m|0)){o=o<<1;k=k+1|0;l=l<<1}else{break}}i=a;return}function Gl(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=48040;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function Hl(a){a=a|0;var b=0;b=i;c[a>>2]=48040;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Il(a){a=a|0;i=i;return 0}function Jl(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return}function Kl(a){a=a|0;i=i;return 0}function Ll(a){a=a|0;i=i;return 0}function Ml(a){a=a|0;i=i;return 0}function Nl(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;f=b+300|0;h=c[f>>2]|0;g=b+304|0;j=c[g>>2]|0;do{if(h>>>0>=j>>>0){h=b+41|0;k=b+308|0;j=(c[k>>2]|0)+(j-h)|0;c[k>>2]=j;c[g>>2]=h;c[f>>2]=h;do{if((a[b+40|0]&1)==0){j=256}else{k=(c[b+8>>2]|0)+(c[b+36>>2]|0)|0;if(j>>>0<k>>>0){j=(j+256|0)>>>0>k>>>0?k-j|0:256;break}else{k=-1;i=e;return k|0}}}while(0);k=b+41+(Ta(h|0,1,j|0,c[b+32>>2]|0)|0)|0;c[g>>2]=k;h=c[f>>2]|0;if(h>>>0<k>>>0){break}else{f=-1}i=e;return f|0}}while(0);c[f>>2]=h+1;k=d[h]|0;i=e;return k|0}function Ol(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;g=b+300|0;h=c[g>>2]|0;f=b+304|0;j=c[f>>2]|0;do{if(h>>>0>=j>>>0){h=b+41|0;k=b+308|0;j=(c[k>>2]|0)+(j-h)|0;c[k>>2]=j;c[f>>2]=h;c[g>>2]=h;do{if((a[b+40|0]&1)==0){j=256}else{k=(c[b+8>>2]|0)+(c[b+36>>2]|0)|0;if(j>>>0<k>>>0){j=(j+256|0)>>>0>k>>>0?k-j|0:256;break}else{k=-1;i=e;return k|0}}}while(0);k=b+41+(Ta(h|0,1,j|0,c[b+32>>2]|0)|0)|0;c[f>>2]=k;h=c[g>>2]|0;if(h>>>0<k>>>0){break}else{b=-1}i=e;return b|0}}while(0);k=d[h]|0;i=e;return k|0}function Pl(a){a=a|0;var b=0;b=i;a=jd[c[(c[a>>2]|0)+20>>2]&511](a)|0;i=b;return a|0}function Ql(a){a=a|0;var b=0;b=i;fd[c[(c[a>>2]|0)+12>>2]&511](a);i=b;return}function Rl(a){a=a|0;i=i;return(c[a+308>>2]|0)-(a+41)+(c[a+300>>2]|0)|0}function Sl(a,b){a=a|0;b=b|0;i=i;return b|0}function Tl(a){a=a|0;i=i;return a|0}function Ul(a){a=a|0;i=i;return a|0}function Vl(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;e=i;i=i+8|0;d=e;f=c[a+16>>2]|0;if((f|0)==7){i=b;return c[a+24>>2]|0}else{c[e>>2]=f;c[d+4>>2]=7;Qe(0,48632,d);tc()}return 0}function Wl(a){a=a|0;i=i;return-1}function Xl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;h=b+36|0;if((d|0)<=0){r=d;i=f;return r|0}j=b+300|0;m=b+304|0;k=b+41|0;o=b+308|0;g=b+40|0;l=b+32|0;n=b+8|0;p=0;while(1){r=c[j>>2]|0;q=c[m>>2]|0;if(r>>>0>=q>>>0){q=(c[o>>2]|0)+(q-k)|0;c[o>>2]=q;c[m>>2]=k;c[j>>2]=k;if((a[g]&1)==0){q=256}else{r=(c[n>>2]|0)+(c[h>>2]|0)|0;if(q>>>0>=r>>>0){d=p;g=9;break}q=(q+256|0)>>>0>r>>>0?r-q|0:256}q=b+41+(Ta(k|0,1,q|0,c[l>>2]|0)|0)|0;c[m>>2]=q;r=c[j>>2]|0;if(r>>>0>=q>>>0){d=p;g=9;break}}c[j>>2]=r+1;a[e+p|0]=a[r]|0;p=p+1|0;if((p|0)>=(d|0)){g=9;break}}if((g|0)==9){i=f;return d|0}return 0}function Yl(a){a=a|0;i=i;return 0}function Zl(a){a=a|0;i=i;return c[a+8>>2]|0}function _l(a){a=a|0;i=i;return c[a+36>>2]|0}function $l(a){a=a|0;i=i;return 1}function am(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=b+1068|0;j=c[f>>2]|0;g=b+1072|0;k=c[g>>2]|0;do{if(j>>>0>=k>>>0){j=b+41|0;l=b+1076|0;k=(c[l>>2]|0)+(k-j)|0;c[l>>2]=k;c[g>>2]=j;c[f>>2]=j;do{if((a[b+40|0]&1)==0){h=6}else{l=(c[b+8>>2]|0)+(c[b+36>>2]|0)|0;if(k>>>0>=l>>>0){l=-1;i=e;return l|0}if((k+1024|0)>>>0<=l>>>0){h=6;break}k=l-k|0}}while(0);if((h|0)==6){k=1024-(k&1023)|0}Ut(c[b+32>>2]|0,j,1,k)|0;l=b+41+k|0;c[g>>2]=l;j=c[f>>2]|0;if(j>>>0<l>>>0){break}else{f=-1}i=e;return f|0}}while(0);c[f>>2]=j+1;l=d[j]|0;i=e;return l|0}function bm(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;g=b+1068|0;j=c[g>>2]|0;f=b+1072|0;k=c[f>>2]|0;do{if(j>>>0>=k>>>0){j=b+41|0;l=b+1076|0;k=(c[l>>2]|0)+(k-j)|0;c[l>>2]=k;c[f>>2]=j;c[g>>2]=j;do{if((a[b+40|0]&1)==0){h=6}else{l=(c[b+8>>2]|0)+(c[b+36>>2]|0)|0;if(k>>>0>=l>>>0){l=-1;i=e;return l|0}if((k+1024|0)>>>0<=l>>>0){h=6;break}k=l-k|0}}while(0);if((h|0)==6){k=1024-(k&1023)|0}Ut(c[b+32>>2]|0,j,1,k)|0;l=b+41+k|0;c[f>>2]=l;j=c[g>>2]|0;if(j>>>0<l>>>0){break}else{b=-1}i=e;return b|0}}while(0);l=d[j]|0;i=e;return l|0}function cm(a){a=a|0;var b=0;b=i;a=jd[c[(c[a>>2]|0)+20>>2]&511](a)|0;i=b;return a|0}function dm(a){a=a|0;var b=0;b=i;fd[c[(c[a>>2]|0)+12>>2]&511](a);i=b;return}function em(a){a=a|0;i=i;return(c[a+1076>>2]|0)-(a+41)+(c[a+1068>>2]|0)|0}function fm(a){a=a|0;i=i;return c[a+36>>2]|0}function gm(a){a=a|0;i=i;return 11}function hm(a){a=a|0;var b=0,e=0,f=0;b=i;f=a+44|0;e=c[f>>2]|0;if(e>>>0>=(c[a+40>>2]|0)>>>0){f=-1;i=b;return f|0}c[f>>2]=e+1;f=d[e]|0;i=b;return f|0}function im(a){a=a|0;var b=0,e=0;b=i;e=c[a+44>>2]|0;if(e>>>0>=(c[a+40>>2]|0)>>>0){e=-1;i=b;return e|0}e=d[e]|0;i=b;return e|0}function jm(a){a=a|0;var b=0;b=i;a=jd[c[(c[a>>2]|0)+20>>2]&511](a)|0;i=b;return a|0}function km(a){a=a|0;var b=0;b=i;fd[c[(c[a>>2]|0)+12>>2]&511](a);i=b;return}function lm(a){a=a|0;i=i;return(c[a+44>>2]|0)-(c[a+32>>2]|0)|0}function mm(a){a=a|0;i=i;return c[a+36>>2]|0}function nm(b,c){b=b|0;c=c|0;a[b+48|0]=c&1;i=i;return}function om(a){a=a|0;i=i;return 2}function pm(a){a=a|0;var b=0,d=0;d=i;b=jd[c[(c[a>>2]|0)+24>>2]&511](a)|0;c[a+12>>2]=-1;i=d;return b|0}function qm(a){a=a|0;var b=0;b=i;a=c[a+8>>2]|0;a=jd[c[(c[a>>2]|0)+36>>2]&511](a)|0;i=b;return a|0}function rm(a){a=a|0;var b=0;b=i;a=c[a+8>>2]|0;fd[c[(c[a>>2]|0)+40>>2]&511](a);i=b;return}function sm(a){a=a|0;var b=0;b=i;a=c[a+8>>2]|0;a=jd[c[(c[a>>2]|0)+48>>2]&511](a)|0;i=b;return a|0}function tm(a){a=a|0;var b=0;b=i;a=c[a+8>>2]|0;a=jd[c[(c[a>>2]|0)+64>>2]&511](a)|0;i=b;return a|0}function um(a){a=a|0;var b=0;b=i;a=c[a+8>>2]|0;a=jd[c[(c[a>>2]|0)+68>>2]&511](a)|0;i=b;return a|0}function vm(a){a=a|0;var b=0;b=i;a=c[a+8>>2]|0;a=jd[c[(c[a>>2]|0)+72>>2]&511](a)|0;i=b;return a|0}function wm(a){a=a|0;i=i;return c[a+8>>2]|0}function xm(a){a=a|0;i=i;return 3}function ym(a){a=a|0;var b=0,d=0;d=i;b=jd[c[(c[a>>2]|0)+24>>2]&511](a)|0;a=a+48|0;c[a>>2]=(c[a>>2]|0)+1;i=d;return b|0}function zm(a){a=a|0;i=i;return 6}function Am(a){a=a|0;var b=0,d=0;d=i;b=jd[c[(c[a>>2]|0)+24>>2]&511](a)|0;c[a+64>>2]=-1;i=d;return b|0}function Bm(a){a=a|0;i=i;return 11}function Cm(a){a=a|0;i=i;return}function Dm(a){a=a|0;i=i;return-1}function Em(a){a=a|0;i=i;return-1}function Fm(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return 0}function Gm(a,b){a=a|0;b=b|0;i=i;return 0}function Hm(a){a=a|0;i=i;return 4}function Im(a){a=a|0;i=i;return 5}function Jm(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;e=b+140|0;h=c[e>>2]|0;g=b+144|0;if(h>>>0>=(c[g>>2]|0)>>>0){j=b+148|0;if((a[j]&1)!=0){k=-1;i=f;return k|0}h=b+8|0;k=c[h>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==128|(k|0)==-1){a[j]=1;k=-1;i=f;return k|0}do{if((k|0)<128){j=k+1|0;if((k|0)>-1){k=0}else{break}while(1){l=c[h>>2]|0;a[b+12+k|0]=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;k=k+1|0;if((k|0)<(j|0)){}else{break}}}else{j=257-k|0;h=c[h>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;if((j|0)<=0){break}bX(b+12|0,h&255|0,j|0)|0}}while(0);h=b+12|0;c[e>>2]=h;c[g>>2]=b+12+j}c[e>>2]=h+1;l=d[h]|0;i=f;return l|0}function Km(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=b+140|0;h=c[f>>2]|0;g=b+144|0;if(h>>>0>=(c[g>>2]|0)>>>0){j=b+148|0;if((a[j]&1)!=0){k=-1;i=e;return k|0}h=b+8|0;k=c[h>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==128|(k|0)==-1){a[j]=1;k=-1;i=e;return k|0}do{if((k|0)<128){j=k+1|0;if((k|0)>-1){k=0}else{break}while(1){l=c[h>>2]|0;a[b+12+k|0]=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;k=k+1|0;if((k|0)<(j|0)){}else{break}}}else{j=257-k|0;h=c[h>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;if((j|0)<=0){break}bX(b+12|0,h&255|0,j|0)|0}}while(0);h=b+12|0;c[f>>2]=h;c[g>>2]=b+12+j}l=d[h]|0;i=e;return l|0}function Lm(a){a=a|0;i=i;return 7}function Mm(a){a=a|0;i=i;return 8}function Nm(a){a=a|0;i=i;return-1}function Om(a){a=a|0;var b=0;b=i;a=c[a+32>>2]|0;a=jd[c[(c[a>>2]|0)+8>>2]&511](a)|0;i=b;return a|0}function Pm(a){a=a|0;i=i;return}function Qm(a){a=a|0;var b=0;b=i;a=c[a+32>>2]|0;a=jd[c[(c[a>>2]|0)+36>>2]&511](a)|0;i=b;return a|0}function Rm(a){a=a|0;var b=0;b=i;a=c[a+32>>2]|0;fd[c[(c[a>>2]|0)+40>>2]&511](a);i=b;return}function Sm(a){a=a|0;var b=0;b=i;a=c[a+32>>2]|0;a=jd[c[(c[a>>2]|0)+48>>2]&511](a)|0;i=b;return a|0}function Tm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;j=FW(32)|0;fe(j,d);c[b>>2]=j;a[b+8|0]=e&1;c[b+4>>2]=1;c[b+12>>2]=f;c[b+16>>2]=g;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=1;ad(b+32|0,0)|0;i=h;return}function Um(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;h=FW(32)|0;fe(h,d);c[b>>2]=h;a[b+8|0]=e&1;c[b+4>>2]=2;c[b+12>>2]=f;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=1;ad(b+32|0,0)|0;i=g;return}function Vm(a){a=a|0;var b=0,d=0;b=i;d=c[a>>2]|0;if((d|0)!=0){ke(d);HW(d)}do{if((c[a+4>>2]|0)==0){d=c[a+12>>2]|0;if((d|0)==0){break}Fe(d)}}while(0);d=c[a+20>>2]|0;if((d|0)==0){d=a+32|0;kc(d|0)|0;i=b;return}Fe(d);d=a+32|0;kc(d|0)|0;i=b;return}function Wm(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=a+32|0;Ub(d|0)|0;f=a+28|0;e=(c[f>>2]|0)+ -1|0;c[f>>2]=e;Mc(d|0)|0;if((e|0)!=0|(a|0)==0){i=b;return}e=c[a>>2]|0;if((e|0)!=0){ke(e);HW(e)}do{if((c[a+4>>2]|0)==0){e=c[a+12>>2]|0;if((e|0)==0){break}Fe(e)}}while(0);e=c[a+20>>2]|0;if((e|0)!=0){Fe(e)}kc(d|0)|0;HW(a);i=b;return}function Xm(a){a=a|0;var b=0;b=i;bX(a|0,0,16)|0;i=b;return}function Ym(a){a=a|0;var b=0,d=0;b=i;d=c[a>>2]|0;if((d|0)!=0){Wm(d)}d=c[a+4>>2]|0;if((d|0)!=0){Wm(d)}d=c[a+8>>2]|0;if((d|0)!=0){Wm(d)}a=c[a+12>>2]|0;if((a|0)==0){i=b;return}Wm(a);i=b;return}function Zm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;g=i;h=i;i=i+8|0;j=h;s=i;i=i+8|0;t=s;v=i;i=i+8|0;w=v;A=i;i=i+8|0;B=A;C=i;i=i+8|0;D=C;E=i;i=i+8|0;F=i;i=i+8|0;G=F;I=i;i=i+8|0;H=I;J=i;i=i+8|0;K=J;L=i;i=i+8|0;M=L;p=i;i=i+16|0;r=p;o=i;i=i+16|0;n=o;y=i;i=i+16|0;u=y;c[p>>2]=13;l=r+8|0;c[l>>2]=0;c[l+4>>2]=0;c[o>>2]=13;m=n+8|0;c[m>>2]=0;f=m+4|0;c[f>>2]=0;c[y>>2]=13;x=u+8|0;c[x>>2]=0;c[x+4>>2]=0;c[b>>2]=e;q=b+4|0;k=b+8|0;z=b+12|0;b=b+16|0;bX(q|0,0,13)|0;if((c[(_m(d,e,0,r,0)|0)>>2]|0)!=8){Of(r);i=g;return}e=c[p>>2]|0;if((e|0)!=8){c[L>>2]=e;c[M+4>>2]=8;Qe(0,49608,M);tc()}e=c[l>>2]|0;if((c[(Yu(jd[c[(c[e>>2]|0)+72>>2]&511](e)|0,48768,n,0)|0)>>2]|0)!=1){Of(n);Of(r);i=g;return}L=c[o>>2]|0;if((L|0)!=1){c[J>>2]=L;c[K+4>>2]=1;Qe(0,49608,K);tc()}c[q>>2]=c[m>>2];Of(n);if((c[q>>2]|0)<1){Of(r);i=g;return}J=c[p>>2]|0;if((J|0)!=8){c[I>>2]=J;c[H+4>>2]=8;Qe(0,49608,H);tc()}e=c[l>>2]|0;if((c[(Yu(jd[c[(c[e>>2]|0)+72>>2]&511](e)|0,48776,n,0)|0)>>2]|0)!=1){Of(n);Of(r);i=g;return}H=c[o>>2]|0;if((H|0)!=1){c[F>>2]=H;c[G+4>>2]=1;Qe(0,49608,G);tc()}F=c[m>>2]|0;Of(n);if((F|0)<0){Of(r);i=g;return}G=c[q>>2]|0;if((G|0)>1e6){Qe(-1,48784,E);Of(r);i=g;return}E=GW(G>>>0>268435455?-1:G<<4)|0;if((G|0)==0){G=0}else{G=E+(G<<4)|0;H=E;do{c[H>>2]=13;e=H+8|0;c[e>>2]=0;c[e+4>>2]=0;H=H+16|0;}while((H|0)!=(G|0));G=c[q>>2]|0}c[k>>2]=E;c[z>>2]=ye(G,4)|0;E=ye(c[q>>2]|0,4)|0;G=c[p>>2]|0;if((G|0)!=8){c[C>>2]=G;c[D+4>>2]=8;Qe(0,49608,D);tc()}C=c[l>>2]|0;fd[c[(c[C>>2]|0)+12>>2]&511](C);c[m>>2]=0;c[f>>2]=0;c[o>>2]=5;C=FW(40)|0;D=c[p>>2]|0;if((D|0)!=8){c[A>>2]=D;c[B+4>>2]=8;Qe(0,49608,B);tc()}$j(C,c[l>>2]|0,n,1,F);A=FW(56)|0;e=FW(168)|0;bE(e,d,C);aG(A,d,e,0);a:do{if((c[q>>2]|0)>0){B=0;while(1){cG(A,n,0,0,0,0,0)|0;cG(A,u,0,0,0,0,0)|0;if((c[o>>2]|0)!=1){x=31;break}if((c[y>>2]|0)!=1){x=31;break}c[(c[z>>2]|0)+(B<<2)>>2]=c[m>>2];D=c[y>>2]|0;if((D|0)!=1){x=35;break}D=E+(B<<2)|0;c[D>>2]=c[x>>2];Of(n);Of(u);if((c[(c[z>>2]|0)+(B<<2)>>2]|0)<0){x=40;break}D=c[D>>2]|0;if((D|0)<0){x=40;break}if((B|0)>0){if((D|0)<(c[E+(B+ -1<<2)>>2]|0)){x=40;break}}B=B+1|0;if((B|0)>=(c[q>>2]|0)){break a}}if((x|0)==31){Of(n);Of(u);if((A|0)!=0){bG(A);HW(A)}Fe(E);Of(r);i=g;return}else if((x|0)==35){c[v>>2]=D;c[w+4>>2]=1;Qe(0,49608,w);tc()}else if((x|0)==40){if((A|0)!=0){bG(A);HW(A)}Fe(E);Of(r);i=g;return}}}while(0);do{}while((jd[c[(c[C>>2]|0)+20>>2]&511](C)|0)!=-1);if((A|0)!=0){bG(A);HW(A)}b:do{if((F|0)<(c[E>>2]|0)){while(1){u=c[p>>2]|0;if((u|0)!=8){break}e=c[l>>2]|0;jd[c[(c[e>>2]|0)+20>>2]&511](e)|0;F=F+1|0;if((F|0)>=(c[E>>2]|0)){break b}}c[s>>2]=u;c[t+4>>2]=8;Qe(0,49608,t);tc()}}while(0);u=c[q>>2]|0;c:do{if((u|0)>0){s=0;while(1){c[m>>2]=0;c[f>>2]=0;c[o>>2]=5;t=FW(40)|0;v=c[p>>2]|0;if((v|0)!=8){break}v=c[l>>2]|0;if((s|0)==(u+ -1|0)){$j(t,v,n,0,0)}else{$j(t,v,n,1,(c[E+(s+1<<2)>>2]|0)-(c[E+(s<<2)>>2]|0)|0)}u=FW(56)|0;e=FW(168)|0;bE(e,d,t);aG(u,d,e,0);cG(u,(c[k>>2]|0)+(s<<4)|0,0,0,0,0,0)|0;do{}while((jd[c[(c[t>>2]|0)+20>>2]&511](t)|0)!=-1);if((u|0)!=0){bG(u);HW(u)}s=s+1|0;u=c[q>>2]|0;if((s|0)>=(u|0)){break c}}c[h>>2]=v;c[j+4>>2]=8;Qe(0,49608,j);tc()}}while(0);Fe(E);a[b]=1;Of(r);i=g;return}function _m(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;h=i;p=i;i=i+8|0;n=p;D=i;i=i+8|0;E=D;l=i;i=i+8|0;j=l;y=i;i=i+16|0;r=y;u=i;i=i+16|0;s=u;w=i;i=i+16|0;o=w;q=i;i=i+8|0;t=q;B=i;i=i+8|0;z=B;c[l>>2]=d;c[y>>2]=13;A=r+8|0;c[A>>2]=0;C=A+4|0;c[C>>2]=0;c[u>>2]=13;v=s+8|0;c[v>>2]=0;c[v+4>>2]=0;c[w>>2]=13;x=o+8|0;c[x>>2]=0;c[x+4>>2]=0;a:do{if((d|0)>=0){if((c[b+16>>2]|0)<=(d|0)){break}m=(g|0)==0;do{if(!m){F=g+4|0;I=c[F>>2]|0;if((I|0)==0){break}else{G=F}b:while(1){H=I;while(1){if((c[H+16>>2]|0)>=(d|0)){break}H=c[H+4>>2]|0;if((H|0)==0){break b}}I=c[H>>2]|0;if((I|0)==0){G=H;break}else{G=H}}if((G|0)==(F|0)){break}if((c[G+16>>2]|0)<=(d|0)){break a}}}while(0);F=kn(b,d)|0;d=F+16|0;if((c[d>>2]|0)!=5){I=Mf(d,f)|0;i=h;return I|0}if(m){g=FW(12)|0;m=g+4|0;c[m>>2]=0;c[g+8>>2]=0;c[g>>2]=m;m=1}else{m=0}tn(E,g,j);j=c[D>>2]|0;D=c[F+8>>2]|0;c:do{if((D|0)==2){if((e|0)!=0){k=66;break}o=c[F>>2]|0;c[B>>2]=49744;c[z+4>>2]=o;o=b+64|0;n=lG(c[o>>2]|0,z)|0;if((n|0)==0){k=41}else{n=c[n+4>>2]|0;if((n|0)==0){k=41}}do{if((k|0)==41){n=FW(20)|0;Zm(n,b,c[F>>2]|0);if((a[n+16|0]&1)!=0){H=FW(8)|0;I=c[F>>2]|0;c[H>>2]=49744;c[H+4>>2]=I;I=FW(8)|0;c[I>>2]=49688;c[I+4>>2]=n;mG(c[o>>2]|0,H,I);break}if((n|0)!=0){k=n+8|0;o=c[k>>2]|0;do{if((o|0)!=0){l=n+4|0;if((c[l>>2]|0)>0){b=0;do{Of(o+(b<<4)|0);b=b+1|0;o=c[k>>2]|0;}while((b|0)<(c[l>>2]|0));if((o|0)==0){break}}IW(o)}}while(0);Fe(c[n+12>>2]|0);HW(n)}k=66;break c}}while(0);b=c[F+4>>2]|0;l=c[l>>2]|0;do{if((b|0)<0){k=53}else{if((c[n+4>>2]|0)<=(b|0)){k=53;break}if((c[(c[n+12>>2]|0)+(b<<2)>>2]|0)!=(l|0)){k=53;break}Mf((c[n+8>>2]|0)+(b<<4)|0,f)|0}}while(0);if((k|0)==53){I=f+8|0;c[I>>2]=0;c[I+4>>2]=0;c[f>>2]=5}}else if((D|0)==1){if((c[F+4>>2]|0)!=(e|0)){k=66;break}c[A>>2]=0;c[C>>2]=0;c[y>>2]=5;z=FW(56)|0;I=FW(168)|0;H=c[b>>2]|0;bE(I,b,Cd[c[(c[H>>2]|0)+96>>2]&63](H,(c[F>>2]|0)+(c[b+4>>2]|0)|0,0,0,r)|0);aG(z,b,I,1);eG(z,r,g)|0;eG(z,s,g)|0;eG(z,o,g)|0;do{if((c[y>>2]|0)==1){y=c[A>>2]|0;l=(y|0)==(c[l>>2]|0);if(!l){break}if((c[u>>2]|0)!=1){break}if((c[v>>2]|0)==(e|0)){do{if((c[w>>2]|0)==10){if((Qc(c[x>>2]|0,48880)|0)!=0){break}dG(z,f,(a[b+68|0]&1)==0?0:b+92|0,c[b+80>>2]|0,c[b+84>>2]|0,y,e,g)|0;Of(r);Of(s);Of(o);if((z|0)==0){break c}bG(z);HW(z);break c}}while(0);if(!l){break}}if((c[u>>2]|0)!=1){break}if((c[v>>2]|0)!=(e|0)){break}if((c[w>>2]|0)!=10){break}l=c[x>>2]|0;if((ZW(l|0)|0)>>>0<=3){break}if((a[l]|0)!=111){break}if((a[l+1|0]|0)!=98){break}if((a[l+2|0]|0)!=106){break}b=Bb(l+3|0,t|0,0)|0;if((a[c[q>>2]|0]|0)!=0){break}c[p>>2]=l;c[n+4>>2]=b;Qe(-1,49264,n);I=f+8|0;c[I+4>>2]=0;c[f>>2]=1;c[I>>2]=b;Of(r);Of(s);Of(o);if((z|0)==0){break c}bG(z);HW(z);break c}}while(0);Of(r);Of(s);Of(o);if((z|0)==0){k=66;break}bG(z);HW(z);k=66}else{k=66}}while(0);if((k|0)==66){if(m){if((g|0)==0){break}xn(g,c[g+4>>2]|0);HW(g);break}k=c[j+4>>2]|0;if((k|0)==0){k=j;while(1){l=c[k+8>>2]|0;if((k|0)==(c[l>>2]|0)){k=l;break}else{k=l}}}else{while(1){l=c[k>>2]|0;if((l|0)==0){break}else{k=l}}}if((c[g>>2]|0)==(j|0)){c[g>>2]=k}I=g+8|0;c[I>>2]=(c[I>>2]|0)+ -1;sn(c[g+4>>2]|0,j);HW(j);break}if(m){if((g|0)==0){I=f;i=h;return I|0}xn(g,c[g+4>>2]|0);HW(g);I=f;i=h;return I|0}l=c[j+4>>2]|0;if((l|0)==0){l=j;while(1){k=c[l+8>>2]|0;if((l|0)==(c[k>>2]|0)){break}else{l=k}}}else{while(1){k=c[l>>2]|0;if((k|0)==0){k=l;break}else{l=k}}}if((c[g>>2]|0)==(j|0)){c[g>>2]=k}I=g+8|0;c[I>>2]=(c[I>>2]|0)+ -1;sn(c[g+4>>2]|0,j);HW(j);I=f;i=h;return I|0}}while(0);I=f+8|0;c[I>>2]=0;c[I+4>>2]=0;c[f>>2]=5;I=f;i=h;return I|0}function $m(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=a+8|0;g=c[d>>2]|0;do{if((g|0)!=0){e=a+4|0;if((c[e>>2]|0)>0){f=0;do{Of(g+(f<<4)|0);f=f+1|0;g=c[d>>2]|0;}while((f|0)<(c[e>>2]|0));if((g|0)==0){break}}IW(g)}}while(0);Fe(c[a+12>>2]|0);i=b;return}function an(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;j=i;m=i;i=i+8|0;k=m;t=i;i=i+8|0;n=t;x=i;i=i+8|0;w=x;B=i;i=i+8|0;z=i;i=i+8|0;A=z;s=i;i=i+16|0;r=s;D=i;i=i+16|0;C=D;o=b+40|0;c[o>>2]=13;l=b+48|0;c[l>>2]=0;c[l+4>>2]=0;c[s>>2]=13;q=r+8|0;c[q>>2]=0;u=q+4|0;c[u>>2]=0;p=b+28|0;a[p]=1;v=b+32|0;c[v>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;y=b+16|0;c[y>>2]=0;c[b+56>>2]=0;c[b+60>>2]=0;E=FW(16)|0;jG(E,5);c[b+64>>2]=E;a[b+120|0]=0;c[b+116>>2]=f;a[b+68|0]=0;c[b+88>>2]=65532;a[b+108|0]=0;c[b>>2]=d;c[b+4>>2]=jd[c[(c[d>>2]|0)+108>>2]&511](d)|0;f=b+112|0;c[f>>2]=e;do{if(h){E=bn(b,g)|0;a[p]=E&1;if(E){e=c[f>>2]|0;break}c[v>>2]=3;i=j;return}}while(0);do{if((e|0)==0){E=bn(b,g)|0;a[p]=E&1;if(E){break}c[v>>2]=3;i=j;return}else{c[D>>2]=0;e=C+4|0;c[e>>2]=0;c[C+8>>2]=0;cn(b,f,C)|0;do{if((a[p]&1)==0){E=bn(b,g)|0;a[p]=E&1;if(E){break}c[v>>2]=3;k=c[D>>2]|0;if((k|0)==0){i=j;return}l=c[e>>2]|0;if((k|0)!=(l|0)){c[e>>2]=l+(~((l+ -4+(0-k)|0)>>>2)<<2)}HW(k);i=j;return}}while(0);C=c[D>>2]|0;if((C|0)==0){break}D=c[e>>2]|0;if((C|0)!=(D|0)){c[e>>2]=D+(~((D+ -4+(0-C)|0)>>>2)<<2)}HW(C)}}while(0);C=c[o>>2]|0;if((C|0)!=7){c[z>>2]=C;c[A+4>>2]=7;Qe(0,49608,A);tc()}Zu(c[l>>2]|0,48824,r)|0;do{if((c[s>>2]|0)==1){z=c[q>>2]|0;if((z|0)<=(c[y>>2]|0)){break}z=dn(b,z)|0;y=c[s>>2]|0;if((y|0)!=1){c[x>>2]=y;c[w+4>>2]=1;Qe(0,49608,w);tc()}if((z|0)==(c[q>>2]|0)){break}E=bn(b,g)|0;a[p]=E&1;if(E){break}Of(r);c[v>>2]=3;i=j;return}else{Qe(-1,48832,B)}}while(0);Of(r);w=c[o>>2]|0;if((w|0)!=7){c[t>>2]=w;c[n+4>>2]=7;Qe(0,49608,n);tc()}Zu(c[l>>2]|0,48864,r)|0;do{if((c[s>>2]|0)==9){c[b+20>>2]=c[q>>2];c[b+24>>2]=c[u>>2];Of(r)}else{Of(r);E=bn(b,g)|0;a[p]=E&1;if(E){break}c[v>>2]=3;i=j;return}}while(0);n=c[o>>2]|0;if((n|0)!=7){c[m>>2]=n;c[k+4>>2]=7;Qe(0,49608,k);tc()}c[(c[l>>2]|0)+4>>2]=b;i=j;return}function bn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;e=i;j=i;i=i+8|0;h=i;i=i+8|0;g=i;i=i+8|0;f=i;i=i+8|0;n=i;i=i+8|0;m=i;i=i+16|0;r=m;l=i;i=i+16|0;s=l;q=i;i=i+256|0;v=q;c[m>>2]=13;k=r+8|0;c[k>>2]=0;c[k+4>>2]=0;c[l>>2]=13;t=s+8|0;c[t>>2]=0;u=t+4|0;c[u>>2]=0;o=b+8|0;Fe(c[o>>2]|0);c[b+12>>2]=0;p=b+16|0;c[p>>2]=0;c[o>>2]=0;Qe(-1,49048,n);n=b+60|0;c[n>>2]=0;if((d|0)!=0){a[d]=1}B=c[b>>2]|0;fd[c[(c[B>>2]|0)+12>>2]&511](B);B=c[b>>2]|0;B=jd[c[(c[B>>2]|0)+48>>2]&511](B)|0;L=c[b>>2]|0;do{if((sd[c[(c[L>>2]|0)+44>>2]&127](L,v,256)|0)!=0){w=b+20|0;x=b+24|0;d=b+40|0;z=b+4|0;y=b+56|0;D=0;G=0;a:while(1){A=a[q]|0;b:do{if(A<<24>>24==0){A=0;H=1;I=v}else{I=v;while(1){C=I+1|0;if(!(hE(A&255)|0)){A=0;H=1;break b}A=a[C]|0;if(A<<24>>24==0){A=0;H=1;I=C;break}else{I=C}}}}while(0);c:while(1){C=B+7|0;do{E=nb(I|0,49112)|0;F=(E|0)!=0;if(!(F|H)){break c}if(F){a[E]=0;A=E-I|0;H=1}else{H=0}d:do{if((vc(I|0,48888,7)|0)==0){c[t>>2]=0;c[u>>2]=0;c[l>>2]=5;J=FW(56)|0;L=FW(168)|0;K=c[b>>2]|0;bE(L,0,Cd[c[(c[K>>2]|0)+96>>2]&63](K,C,0,0,s)|0);aG(J,0,L,0);cG(J,r,0,0,0,0,0)|0;if((c[m>>2]|0)==7){Zu(c[k>>2]|0,48864,s)|0;if((c[l>>2]|0)==9){c[w>>2]=c[t>>2];c[x>>2]=c[u>>2];if((c[d>>2]|0)!=13){Of(d)}Mf(r,d)|0;D=1}Of(s)}Of(r);if((J|0)==0){break}bG(J);HW(J)}else{if(((a[I]|0)+ -48|0)>>>0>=10){if((vc(I|0,49176,9)|0)!=0){break}K=c[n>>2]|0;if((K|0)==(G|0)){G=G+64|0;if((G|0)>536870910){k=49;break a}J=Ce(c[y>>2]|0,G,4)|0;c[y>>2]=J;K=c[n>>2]|0}else{J=c[y>>2]|0}c[n>>2]=K+1;c[J+(K<<2)>>2]=B;break}J=ec(I|0)|0;if((J|0)<=0){break}do{I=I+1|0;L=a[I]|0;K=L<<24>>24;if(L<<24>>24==0){break}}while((K+ -48|0)>>>0<10);if((xc(K|0)|0)==0){break}do{I=I+1|0;K=a[I]|0;if(K<<24>>24==0){break d}}while((xc(K<<24>>24|0)|0)!=0);if(((a[I]|0)+ -48|0)>>>0>=10){break}K=ec(I|0)|0;do{I=I+1|0;M=a[I]|0;L=M<<24>>24;if(M<<24>>24==0){break}}while((L+ -48|0)>>>0<10);if((xc(L|0)|0)==0){break}do{I=I+1|0;L=a[I]|0;if(L<<24>>24==0){break}}while((xc(L<<24>>24|0)|0)!=0);if((vc(I|0,48880,3)|0)!=0){break}if((J|0)>=(c[p>>2]|0)){L=J+256&-256;if((L|0)<0){k=39;break a}if((dn(b,L)|0)!=(L|0)){k=41;break a}}L=c[o>>2]|0;if((c[L+(J<<5)+8>>2]|0)!=0){if((K|0)<(c[L+(J<<5)+4>>2]|0)){break}}c[L+(J<<5)>>2]=B-(c[z>>2]|0);c[(c[o>>2]|0)+(J<<5)+4>>2]=K;c[(c[o>>2]|0)+(J<<5)+8>>2]=1}}while(0);H=H<<24>>24!=0}while(!F);I=E+6|0;B=B+6+A|0;C=a[I]|0;if(C<<24>>24==0){continue}while(1){if(!(hE(C&255)|0)){continue c}I=I+1|0;B=B+1|0;C=a[I]|0;if(C<<24>>24==0){continue c}}}B=c[b>>2]|0;B=jd[c[(c[B>>2]|0)+48>>2]&511](B)|0;M=c[b>>2]|0;if((sd[c[(c[M>>2]|0)+44>>2]&127](M,v,256)|0)==0){k=56;break}}if((k|0)==39){Qe(-1,49120,f);M=0;i=e;return M|0}else if((k|0)==41){Qe(-1,49144,g);M=0;i=e;return M|0}else if((k|0)==49){Qe(-1,49192,h);M=0;i=e;return M|0}else if((k|0)==56){if(D){f=1}else{break}i=e;return f|0}}}while(0);Qe(-1,49224,j);M=0;i=e;return M|0}function cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;l=i;i=i+8|0;m=l;n=i;i=i+16|0;j=n;k=j+8|0;c[k>>2]=0;c[k+4>>2]=0;c[n>>2]=5;f=FW(56)|0;o=FW(168)|0;p=c[b>>2]|0;bE(o,0,Cd[c[(c[p>>2]|0)+96>>2]&63](p,(c[d>>2]|0)+(c[b+4>>2]|0)|0,0,0,j)|0);aG(f,0,o,1);cG(f,j,0,0,0,0,0)|0;o=c[n>>2]|0;do{if((o|0)==1){Of(j);if((c[(cG(f,j,0,0,0,0,0)|0)>>2]|0)!=1){h=15;break}Of(j);o=cG(f,j,0,0,0,0,0)|0;if((c[o>>2]|0)!=10){h=15;break}if((Qc(c[o+8>>2]|0,48880)|0)!=0){h=15;break}Of(j);if((c[(cG(f,j,0,0,0,0,0)|0)>>2]|0)!=8){h=15;break}if((c[b+40>>2]|0)==13){a[b+120|0]=1}n=c[n>>2]|0;if((n|0)==8){b=gn(b,c[k>>2]|0,d)|0;Of(j);h=13;break}else{c[l>>2]=n;c[m+4>>2]=8;Qe(0,49608,m);tc()}}else if((o|0)==10){if((Qc(c[k>>2]|0,48872)|0)!=0){h=15;break}Of(j);b=fn(b,f,d,e)|0;h=13}else{h=15}}while(0);if((h|0)==13){if((f|0)==0){p=b;i=g;return p|0}bG(f);HW(f);p=b;i=g;return p|0}else if((h|0)==15){Of(j);if((f|0)!=0){bG(f);HW(f)}a[b+28|0]=0;p=0;i=g;return p|0}return 0}function dn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;f=b+16|0;g=c[f>>2]|0;do{if((g|0)<(d|0)){g=b+12|0;h=c[g>>2]|0;do{if((h|0)<(d|0)){h=(h|0)==0?1024:h<<1;while(1){if((h|0)<(d|0)&(h|0)>0){h=h<<1}else{break}}if(h>>>0>67108862){h=0;break}k=b+8|0;j=Ee(c[k>>2]|0,h,32)|0;if((j|0)==0){h=0;break}c[k>>2]=j;c[g>>2]=h}}while(0);g=c[f>>2]|0;if((h|0)<(d|0)){k=g;i=e;return k|0}if((g|0)>=(d|0)){break}b=b+8|0;do{c[(c[b>>2]|0)+(g<<5)>>2]=-1;c[(c[b>>2]|0)+(g<<5)+8>>2]=3;k=c[b>>2]|0;j=k+(g<<5)+24|0;c[j>>2]=0;c[j+4>>2]=0;c[k+(g<<5)+16>>2]=5;a[(c[b>>2]|0)+(g<<5)+12|0]=0;c[(c[b>>2]|0)+(g<<5)+4>>2]=0;g=g+1|0;}while((g|0)<(d|0))}else{if((g|0)<=(d|0)){break}b=b+8|0;g=d;do{Of((c[b>>2]|0)+(g<<5)+16|0);g=g+1|0;}while((g|0)<(c[f>>2]|0))}}while(0);c[f>>2]=d;k=d;i=e;return k|0}function en(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=a+16|0;e=a+8|0;g=c[e>>2]|0;if((c[d>>2]|0)>0){f=0;while(1){Of(g+(f<<5)+16|0);f=f+1|0;g=c[e>>2]|0;if((f|0)<(c[d>>2]|0)){}else{break}}}Fe(g);Of(a+40|0);d=c[a+56>>2]|0;if((d|0)!=0){Fe(d)}a=c[a+64>>2]|0;if((a|0)==0){i=b;return}kG(a);HW(a);i=b;return}function fn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;j=i;p=i;i=i+8|0;n=p;s=i;i=i+8|0;t=s;w=i;i=i+8|0;v=w;y=i;i=i+8|0;z=y;G=i;i=i+8|0;x=G;F=i;i=i+8|0;D=i;i=i+8|0;E=D;C=i;i=i+8|0;u=i;i=i+16|0;h=u;q=i;i=i+16|0;g=q;m=i;i=i+8|0;k=m;c[u>>2]=13;r=h+8|0;c[r>>2]=0;c[r+4>>2]=0;c[q>>2]=13;o=g+8|0;c[o>>2]=0;c[o+4>>2]=0;B=b+16|0;A=b+8|0;a:while(1){cG(d,h,0,0,0,0,0)|0;H=c[u>>2]|0;if((H|0)==10){l=3;break}else if((H|0)!=1){l=59;break}J=c[r>>2]|0;Of(h);if((c[(cG(d,h,0,0,0,0,0)|0)>>2]|0)!=1){l=59;break}H=c[u>>2]|0;if((H|0)!=1){l=7;break}H=c[r>>2]|0;Of(h);if((H|J|0)<0){break}I=H+J|0;if((I|0)<0){break}if((I|0)>(c[B>>2]|0)){if((dn(b,I)|0)!=(I|0)){l=13;break}}if((H|0)>0){I=J}else{continue}while(1){if((c[(cG(d,h,0,0,0,0,0)|0)>>2]|0)!=1){l=59;break a}K=c[u>>2]|0;if((K|0)!=1){l=16;break a}K=c[r>>2]|0;Of(h);if((c[(cG(d,h,0,0,0,0,0)|0)>>2]|0)!=1){l=59;break a}L=c[u>>2]|0;if((L|0)!=1){l=19;break a}L=c[r>>2]|0;Of(h);cG(d,h,0,0,0,0,0)|0;if((c[u>>2]|0)!=10){l=59;break a}M=c[r>>2]|0;if((Qc(M|0,48928)|0)==0){O=1}else{if((Qc(M|0,48936)|0)==0){O=0}else{l=59;break a}}Of(h);M=c[A>>2]|0;N=M+(J<<5)|0;do{if((c[N>>2]|0)==-1){c[N>>2]=K;c[M+(J<<5)+4>>2]=L;c[M+(J<<5)+8>>2]=O;a[M+(J<<5)+12|0]=0;$W(N+13|0,C|0,3)|0;c[M+(J<<5)+16>>2]=5;c[M+(J<<5)+24>>2]=0;c[N+28>>2]=0;if(!((J|0)==1&(I|0)==1)){break}J=c[A>>2]|0;I=J+32|0;if((c[I>>2]|0)!=0){I=1;J=1;break}if((c[J+36>>2]|0)!=65535){I=1;J=1;break}if((c[J+40>>2]|0)!=0){I=1;J=1;break}$W(J|0,I|0,32)|0;c[(c[A>>2]|0)+32>>2]=-1;I=0;J=0}}while(0);J=J+1|0;if((J|0)>=(I+H|0)){continue a}}}b:do{if((l|0)==3){if((Qc(c[r>>2]|0,48888)|0)!=0){l=59;break}Of(h);if((c[(cG(d,h,0,0,0,0,0)|0)>>2]|0)!=7){l=59;break}x=c[u>>2]|0;if((x|0)!=7){c[w>>2]=x;c[v+4>>2]=7;Qe(0,49608,v);tc()}Zu(c[r>>2]|0,48944,g)|0;v=c[q>>2]|0;if((v|0)==9){c[e>>2]=c[o>>2];e=1}else if((v|0)==1){c[e>>2]=c[o>>2];e=1}else{e=0}Of(g);v=b+40|0;if((c[v>>2]|0)==13){Mf(h,v)|0}u=c[u>>2]|0;if((u|0)!=7){c[s>>2]=u;c[t+4>>2]=7;Qe(0,49608,t);tc()}do{if((c[(Yu(c[r>>2]|0,48952,g,0)|0)>>2]|0)==1){q=c[q>>2]|0;if((q|0)!=1){c[p>>2]=q;c[n+4>>2]=1;Qe(0,49608,n);tc()}n=c[o>>2]|0;c[m>>2]=n;m=f+4|0;o=b+28|0;p=a[o]|0;c:do{if((p&1)==0){l=49}else{q=0;while(1){r=c[f>>2]|0;if(q>>>0>=(c[m>>2]|0)-r>>2>>>0){l=49;break c}if((c[r+(q<<2)>>2]|0)==(n|0)){break}if((p&1)==0){l=49;break c}q=q+1|0}a[o]=0}}while(0);if((l|0)==49){if((p&1)!=0){l=c[m>>2]|0;if((l|0)==(c[f+8>>2]|0)){vn(f,k)}else{if((l|0)==0){l=0}else{c[l>>2]=n;l=c[m>>2]|0}c[m>>2]=l+4}cn(b,k,f)|0;p=a[o]|0}if((p&1)!=0){break}}Of(g);l=59;break b}}while(0);Of(g);Of(h);O=e;i=j;return O|0}else if((l|0)==7){c[D>>2]=H;c[E+4>>2]=1;Qe(0,49608,E);tc()}else if((l|0)==13){Qe(-1,48896,F)}else if((l|0)==16){c[G>>2]=K;c[x+4>>2]=1;Qe(0,49608,x);tc()}else if((l|0)==19){c[y>>2]=L;c[z+4>>2]=1;Qe(0,49608,z);tc()}}while(0);if((l|0)==59){Of(h)}a[b+28|0]=0;O=0;i=j;return O|0}function gn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;f=i;k=i;i=i+8|0;j=k;r=i;i=i+8|0;s=r;p=i;i=i+8|0;q=p;w=i;i=i+8|0;l=w;C=i;i=i+8|0;y=C;A=i;i=i+8|0;B=A;H=i;i=i+8|0;G=H;I=i;i=i+8|0;K=i;i=i+8|0;F=K;t=i;i=i+16|0;o=i;i=i+16|0;h=o;E=i;i=i+16|0;D=E;v=i;i=i+16|0;n=v;c[o>>2]=13;m=h+8|0;c[m>>2]=0;c[m+4>>2]=0;c[E>>2]=13;z=D+8|0;c[z>>2]=0;c[z+4>>2]=0;c[v>>2]=13;u=n+8|0;c[u>>2]=0;c[u+4>>2]=0;g=jd[c[(c[d>>2]|0)+72>>2]&511](d)|0;a:do{if((c[(Zu(g,48824,h)|0)>>2]|0)==1){J=c[o>>2]|0;if((J|0)!=1){c[K>>2]=J;c[F+4>>2]=1;Qe(0,49608,F);tc()}F=c[m>>2]|0;Of(h);if((F|0)<0){x=46;break}do{if((F|0)>(c[b+16>>2]|0)){if((dn(b,F)|0)==(F|0)){break}Qe(-1,48960,I);break a}}while(0);if((c[(Zu(g,48992,h)|0)>>2]|0)!=6){x=46;break}x=c[o>>2]|0;if((x|0)!=6){c[H>>2]=x;c[G+4>>2]=6;Qe(0,49608,G);tc()}if((c[(c[m>>2]|0)+12>>2]|0)<3){x=46;break}G=6;x=0;while(1){if((G|0)!=6){x=16;break}if((c[(ut(c[m>>2]|0,x,D)|0)>>2]|0)!=1){x=18;break}G=c[E>>2]|0;if((G|0)!=1){x=20;break}K=c[z>>2]|0;c[t+(x<<2)>>2]=K;Of(D);x=x+1|0;if(K>>>0>4){x=46;break a}if((x|0)>=3){x=22;break}G=c[o>>2]|0}if((x|0)==16){c[A>>2]=G;c[B+4>>2]=6;Qe(0,49608,B);tc()}else if((x|0)==18){Of(D);x=46;break}else if((x|0)==20){c[C>>2]=G;c[y+4>>2]=1;Qe(0,49608,y);tc()}else if((x|0)==22){Of(h);fd[c[(c[d>>2]|0)+12>>2]&511](d);Zu(g,49e3,n)|0;b:do{if((c[v>>2]|0)==6){y=1;x=0;while(1){z=c[u>>2]|0;if((y|0)>=(c[z+12>>2]|0)){break b}if((c[(ut(z,x,h)|0)>>2]|0)!=1){x=27;break}z=c[o>>2]|0;if((z|0)!=1){x=29;break}z=c[m>>2]|0;Of(h);A=c[v>>2]|0;if((A|0)!=6){x=31;break}if((c[(ut(c[u>>2]|0,y,h)|0)>>2]|0)!=1){x=33;break}y=c[o>>2]|0;if((y|0)!=1){x=35;break}y=c[m>>2]|0;Of(h);if((y|z|0)<0){x=38;break}if(!(hn(b,d,t,z,y)|0)){x=38;break}x=x+2|0;y=c[v>>2]|0;if((y|0)==6){y=x|1}else{x=24;break}}if((x|0)==24){c[w>>2]=y;c[l+4>>2]=6;Qe(0,49608,l);tc()}else if((x|0)==27){Of(n);x=46;break a}else if((x|0)==29){c[p>>2]=z;c[q+4>>2]=1;Qe(0,49608,q);tc()}else if((x|0)==31){c[r>>2]=A;c[s+4>>2]=6;Qe(0,49608,s);tc()}else if((x|0)==33){Of(n);x=46;break a}else if((x|0)==35){c[k>>2]=y;c[j+4>>2]=1;Qe(0,49608,j);tc()}else if((x|0)==38){Of(n);break a}}else{if(hn(b,d,t,0,F)|0){break}Of(n);break a}}while(0);Of(n);Zu(g,48944,h)|0;if((c[o>>2]|0)==1){c[e>>2]=c[m>>2];j=1}else{j=0}Of(h);b=b+40|0;if((c[b>>2]|0)!=13){K=j;i=f;return K|0}Kf(b,g)|0;K=j;i=f;return K|0}}else{x=46}}while(0);if((x|0)==46){Of(h)}a[b+28|0]=0;K=0;i=f;return K|0}function hn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;k=i;i=i+8|0;h=f+e|0;if((h|0)<0){o=0;i=g;return o|0}j=a+16|0;do{if((h|0)>(c[j>>2]|0)){o=dn(a,h)|0;if((o|0)==(c[j>>2]|0)){break}Qe(-1,49008,k);o=0;i=g;return o|0}}while(0);if((f|0)<=0){o=1;i=g;return o|0}j=d+4|0;f=d+8|0;a=a+8|0;a:while(1){k=c[d>>2]|0;do{if((k|0)==0){k=1}else{if((k|0)>0){l=0;k=0}else{k=0;break}do{m=jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;if((m|0)==-1){d=0;h=23;break a}k=m+(k<<8)|0;l=l+1|0;}while((l|0)<(c[d>>2]|0))}}while(0);if((c[j>>2]|0)>0){m=0;l=0;do{n=jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;if((n|0)==-1){d=0;h=23;break a}l=n+(l<<8)|0;m=m+1|0;}while((m|0)<(c[j>>2]|0))}else{l=0}if((c[f>>2]|0)>0){m=0;n=0;do{o=jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;if((o|0)==-1){d=0;h=23;break a}m=o+(m<<8)|0;n=n+1|0;}while((n|0)<(c[f>>2]|0))}else{m=0}n=(c[a>>2]|0)+(e<<5)|0;do{if((c[n>>2]|0)==-1){if((k|0)==0){c[n>>2]=l;c[(c[a>>2]|0)+(e<<5)+4>>2]=m;c[(c[a>>2]|0)+(e<<5)+8>>2]=0;break}else if((k|0)==1){c[n>>2]=l;c[(c[a>>2]|0)+(e<<5)+4>>2]=m;c[(c[a>>2]|0)+(e<<5)+8>>2]=1;break}else if((k|0)==2){c[n>>2]=l;c[(c[a>>2]|0)+(e<<5)+4>>2]=m;c[(c[a>>2]|0)+(e<<5)+8>>2]=2;break}else{d=0;h=23;break a}}}while(0);e=e+1|0;if((e|0)>=(h|0)){d=1;h=23;break}}if((h|0)==23){i=g;return d|0}return 0}function jn(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0;l=i;a[b+68|0]=1;c[b+88>>2]=d;a[b+108|0]=e&1;e=b+84|0;if((g|0)<17){c[e>>2]=g;if((g|0)>0){g=0;m=4}}else{c[e>>2]=16;g=0;m=4}if((m|0)==4){while(1){a[b+92+g|0]=a[f+g|0]|0;g=g+1|0;if((g|0)<(c[e>>2]|0)){m=4}else{break}}}c[b+76>>2]=h;c[b+72>>2]=j;c[b+80>>2]=k;i=l;return}function kn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;e=i;f=i;i=i+8|0;k=i;i=i+8|0;q=i;i=i+8|0;r=q;h=i;i=i+16|0;j=h;m=i;i=i+8|0;n=m;g=b+8|0;A=c[g>>2]|0;s=A+(d<<5)|0;if((c[A+(d<<5)+8>>2]|0)!=3){z=g;z=c[z>>2]|0;A=d<<5;A=z+A|0;i=e;return A|0}do{if((a[b+120|0]&1)==0){l=c[b+116>>2]|0;if((l|0)==0){break}if(rn(b,l+(d*20|0)|0,s)|0){z=g;z=c[z>>2]|0;A=d<<5;A=z+A|0;i=e;return A|0}c[q>>2]=d;Qe(-1,49376,r);z=g;z=c[z>>2]|0;A=d<<5;A=z+A|0;i=e;return A|0}}while(0);s=b+112|0;u=c[s>>2]|0;a:do{if((u|0)==0){p=0}else{l=j+4|0;r=j+8|0;q=b+28|0;w=1;t=0;y=0;x=0;b:while(1){if(!w){p=t;break a}v=x-t|0;w=v>>2;if((w|0)!=0){z=0;while(1){A=z+1|0;if((c[t+(z<<2)>>2]|0)==(u|0)){o=12;break b}if(A>>>0<w>>>0){z=A}else{break}}}do{if((x|0)==(y|0)){x=w+1|0;if(x>>>0>1073741823){o=19;break b}if(w>>>0>536870910){z=1073741823;o=22}else{y=v>>1;z=y>>>0<x>>>0?x:y;if((z|0)==0){y=0;z=0}else{o=22}}if((o|0)==22){o=0;y=FW(z<<2)|0}w=y+(w<<2)|0;z=y+(z<<2)|0;if((w|0)!=0){c[w>>2]=u}x=y+(x<<2)|0;$W(y|0,t|0,v|0)|0;if((t|0)==0){v=z;t=y;break}HW(t);v=z;t=y}else{if((x|0)!=0){c[x>>2]=u}v=y;x=x+4|0}}while(0);c[h>>2]=0;c[l>>2]=0;c[r>>2]=0;if(!(cn(b,s,j)|0)){c[s>>2]=0}if((a[q]&1)==0){o=30;break}u=c[h>>2]|0;if((u|0)!=0){w=c[l>>2]|0;if((u|0)!=(w|0)){c[l>>2]=w+(~((w+ -4+(0-u)|0)>>>2)<<2)}HW(u)}u=c[s>>2]|0;if((u|0)==0){p=t;break a}w=(c[(c[g>>2]|0)+(d<<5)+8>>2]|0)==3;y=v}if((o|0)==12){Qe(-1,49416,k);A=bn(b,0)|0;a[q]=A&1;if(A){p=t;break}c[b+32>>2]=3;p=t;break}else if((o|0)==19){wn(0)}else if((o|0)==30){a[m]=0;A=bn(b,n)|0;a[q]=A&1;if(A){h=c[h>>2]|0;if((h|0)==0){p=t;break}j=c[l>>2]|0;if((h|0)!=(j|0)){c[l>>2]=j+(~((j+ -4+(0-h)|0)>>>2)<<2)}HW(h);p=t;break}else{c[b+32>>2]=3;h=c[h>>2]|0;if((h|0)==0){p=t;break}j=c[l>>2]|0;if((h|0)!=(j|0)){c[l>>2]=j+(~((j+ -4+(0-h)|0)>>>2)<<2)}HW(h);p=t;break}}}}while(0);if((c[(c[g>>2]|0)+(d<<5)+8>>2]|0)==3){Qe(-1,49432,f);c[(c[g>>2]|0)+(d<<5)+8>>2]=0}if((p|0)==0){z=g;z=c[z>>2]|0;A=d<<5;A=z+A|0;i=e;return A|0}HW(p);z=g;z=c[z>>2]|0;A=d<<5;A=z+A|0;i=e;return A|0}function ln(a){a=a|0;i=i;return}function mn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;f=c[a+60>>2]|0;if((f|0)==0){j=0;i=e;return j|0}g=f+ -1|0;a=c[a+56>>2]|0;h=c[a+(g<<2)>>2]|0;if(h>>>0<b>>>0){j=0;i=e;return j|0}if((f|0)>1){f=-1;do{h=(g+f|0)/2|0;j=(c[a+(h<<2)>>2]|0)>>>0<b>>>0;f=j?h:f;g=j?g:h;}while((g-f|0)>1);h=c[a+(g<<2)>>2]|0}c[d>>2]=h;j=1;i=e;return j|0}function nn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;e=a+16|0;if((c[e>>2]|0)<=0){k=-1;i=d;return k|0}f=kn(a,0)|0;if((c[e>>2]|0)<=1){k=0;i=d;return k|0}h=1;g=c[f>>2]|0;k=0;while(1){j=c[(kn(a,h)|0)>>2]|0;f=j>>>0>=b>>>0|j>>>0<g>>>0;k=f?k:h;h=h+1|0;if((h|0)<(c[e>>2]|0)){g=f?g:j}else{break}}i=d;return k|0}function on(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;j=b+16|0;m=c[j>>2]|0;if((m|0)<=(d|0)){k=b+12|0;if((c[k>>2]|0)>(d|0)){k=d+1|0}else{m=b+8|0;l=d+1|0;c[m>>2]=Ce(c[m>>2]|0,l,32)|0;c[k>>2]=l;m=c[j>>2]|0;k=l}if((m|0)<(k|0)){l=b+8|0;do{c[(c[l>>2]|0)+(m<<5)>>2]=-1;c[(c[l>>2]|0)+(m<<5)+8>>2]=0;n=c[l>>2]|0;o=n+(m<<5)+24|0;c[o>>2]=0;c[o+4>>2]=0;c[n+(m<<5)+16>>2]=5;a[(c[l>>2]|0)+(m<<5)+12|0]=0;c[(c[l>>2]|0)+(m<<5)+4>>2]=0;m=m+1|0;}while((m|0)<(k|0))}c[j>>2]=k}d=kn(b,d)|0;c[d+4>>2]=e;e=d+24|0;c[e>>2]=0;c[e+4>>2]=0;c[d+16>>2]=5;a[d+12|0]=0;e=d+8|0;if(g){c[e>>2]=1;c[d>>2]=f;i=h;return}else{c[e>>2]=0;c[d>>2]=0;i=h;return}}function pn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;g=i;i=i+8|0;h=g;f=c[e>>2]|0;do{if((f|0)>=0){if((f|0)>=(c[b+16>>2]|0)){break}b=kn(b,f)|0;h=b+16|0;Of(h);Mf(d,h)|0;a[b+12|0]=1;i=j;return}}while(0);d=c[e+4>>2]|0;c[g>>2]=f;c[h+4>>2]=d;Qe(-1,49328,h);i=j;return}function qn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;g=d+16|0;h=1;while(1){j=c[g>>2]|0;if((h|0)>=(j|0)){g=4;break}j=(c[(kn(d,h)|0)+8>>2]|0)==0;j=j?h:-1;if((j|0)==-1){h=h+1|0}else{g=5;break}}if((g|0)==4){on(d,j,0,0,0);d=kn(d,j)|0;h=j}else if((g|0)==5){d=kn(d,j)|0}c[d+8>>2]=1;Mf(e,d+16|0)|0;a[d+12|0]=1;c[b>>2]=h;c[b+4>>2]=c[d+4>>2];i=f;return}function rn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;k=i;m=i;i=i+8|0;n=m;p=i;i=i+8|0;o=p;t=i;i=i+16|0;u=t;f=i;i=i+56|0;r=i;i=i+16|0;j=r;q=i;i=i+16|0;h=q;l=i;i=i+16|0;g=l;v=u+8|0;c[v>>2]=0;c[v+4>>2]=0;c[t>>2]=5;t=FW(168)|0;b=c[b>>2]|0;bE(t,0,Cd[c[(c[b>>2]|0)+96>>2]&63](b,d,0,20,u)|0);aG(f,0,t,1);c[r>>2]=13;t=j+8|0;c[t>>2]=0;c[t+4>>2]=0;c[q>>2]=13;d=h+8|0;c[d>>2]=0;c[d+4>>2]=0;c[l>>2]=13;b=g+8|0;c[b>>2]=0;c[b+4>>2]=0;if((c[(cG(f,j,0,0,0,0,0)|0)>>2]|0)!=1){v=0;Of(j);Of(h);Of(g);bG(f);i=k;return v|0}if((c[(cG(f,h,0,0,0,0,0)|0)>>2]|0)!=1){v=0;Of(j);Of(h);Of(g);bG(f);i=k;return v|0}u=cG(f,g,0,0,0,0,0)|0;if((c[u>>2]|0)==10){if((Qc(c[u+8>>2]|0,48928)|0)!=0){s=5}}else{s=5}do{if((s|0)==5){if((c[l>>2]|0)!=10){v=0;Of(j);Of(h);Of(g);bG(f);i=k;return v|0}if((Qc(c[b>>2]|0,48936)|0)==0){break}else{e=0}Of(j);Of(h);Of(g);bG(f);i=k;return e|0}}while(0);r=c[r>>2]|0;if((r|0)!=1){c[p>>2]=r;c[o+4>>2]=1;Qe(0,49608,o);tc()}c[e>>2]=c[t>>2];o=c[q>>2]|0;if((o|0)!=1){c[m>>2]=o;c[n+4>>2]=1;Qe(0,49608,n);tc()}c[e+4>>2]=c[d>>2];if((c[l>>2]|0)==10){l=(Qc(c[b>>2]|0,48928)|0)==0|0}else{l=0}c[e+8>>2]=l;v=e+24|0;c[v>>2]=0;c[v+4>>2]=0;c[e+16>>2]=5;a[e+12|0]=0;v=1;Of(j);Of(h);Of(g);bG(f);i=k;return v|0}function sn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;h=c[d>>2]|0;do{if((h|0)==0){l=d;f=5}else{l=c[d+4>>2]|0;if((l|0)==0){j=d;k=d;f=7;break}else{while(1){f=c[l>>2]|0;if((f|0)==0){f=5;break}else{l=f}}}}}while(0);do{if((f|0)==5){h=c[l+4>>2]|0;if((h|0)!=0){j=l;k=l;f=7;break}k=l;j=l;g=0;h=0;l=l+8|0}}while(0);if((f|0)==7){l=j+8|0;c[h+8>>2]=c[l>>2];g=1}f=c[l>>2]|0;do{if((j|0)==(c[f>>2]|0)){c[f>>2]=h;if((j|0)==(b|0)){b=h;f=0;break}f=c[(c[l>>2]|0)+4>>2]|0}else{c[f+4>>2]=h;f=c[c[l>>2]>>2]|0}}while(0);n=j+12|0;m=(a[n]&1)==0;if((j|0)==(d|0)){d=b}else{p=d+8|0;o=c[p>>2]|0;c[l>>2]=o;if((c[c[p>>2]>>2]|0)==(d|0)){c[o>>2]=j}else{c[o+4>>2]=j}p=c[d>>2]|0;c[k>>2]=p;c[p+8>>2]=j;k=c[d+4>>2]|0;c[j+4>>2]=k;if((k|0)!=0){c[k+8>>2]=j}a[n]=a[d+12|0]&1;d=(b|0)==(d|0)?j:b}if(m|(d|0)==0){i=e;return}if(g){a[h+12|0]=1;i=e;return}while(1){g=f+8|0;b=c[g>>2]|0;j=f+12|0;h=(a[j]&1)!=0;if((f|0)==(c[b>>2]|0)){if(h){b=f}else{a[j]=1;a[b+12|0]=0;h=c[g>>2]|0;b=c[h>>2]|0;g=b+4|0;j=c[g>>2]|0;c[h>>2]=j;if((j|0)!=0){c[j+8>>2]=h}j=h+8|0;c[b+8>>2]=c[j>>2];k=c[j>>2]|0;if((c[k>>2]|0)==(h|0)){c[k>>2]=b}else{c[k+4>>2]=b}c[g>>2]=h;c[j>>2]=b;b=c[f+4>>2]|0;d=(d|0)==(b|0)?f:d;b=c[b>>2]|0}g=c[b>>2]|0;h=(g|0)==0;if(!h){if((a[g+12|0]&1)==0){f=69;break}}f=c[b+4>>2]|0;if((f|0)!=0){if((a[f+12|0]&1)==0){f=68;break}}a[b+12|0]=0;b=c[b+8>>2]|0;g=b+12|0;if((a[g]&1)==0|(b|0)==(d|0)){f=65;break}g=c[b+8>>2]|0;f=c[g>>2]|0;if((b|0)!=(f|0)){continue}f=c[g+4>>2]|0;continue}if(h){b=f}else{a[j]=1;a[b+12|0]=0;b=c[g>>2]|0;p=b+4|0;g=c[p>>2]|0;h=c[g>>2]|0;c[p>>2]=h;if((h|0)!=0){c[h+8>>2]=b}h=b+8|0;c[g+8>>2]=c[h>>2];j=c[h>>2]|0;if((c[j>>2]|0)==(b|0)){c[j>>2]=g}else{c[j+4>>2]=g}c[g>>2]=b;c[h>>2]=g;b=c[f>>2]|0;d=(d|0)==(b|0)?f:d;b=c[b+4>>2]|0}g=c[b>>2]|0;if((g|0)!=0){if((a[g+12|0]&1)==0){f=39;break}}f=c[b+4>>2]|0;if((f|0)!=0){if((a[f+12|0]&1)==0){d=f;f=40;break}}a[b+12|0]=0;g=c[b+8>>2]|0;if((g|0)==(d|0)){f=36;break}if((a[g+12|0]&1)==0){d=g;f=36;break}b=c[g+8>>2]|0;f=c[b>>2]|0;if((g|0)!=(f|0)){continue}f=c[b+4>>2]|0}if((f|0)==36){a[d+12|0]=1;i=e;return}else if((f|0)==39){d=c[b+4>>2]|0;if((d|0)==0){f=41}else{f=40}}else if((f|0)==65){a[g]=1;i=e;return}else if((f|0)==68){if(h){f=70}else{f=69}}if((f|0)==40){if((a[d+12|0]&1)==0){f=47}else{f=41}}else if((f|0)==69){if((a[g+12|0]&1)==0){f=76}else{f=70}}if((f|0)==41){a[g+12|0]=1;a[b+12|0]=0;f=c[b>>2]|0;d=f+4|0;g=c[d>>2]|0;c[b>>2]=g;if((g|0)!=0){c[g+8>>2]=b}h=b+8|0;c[f+8>>2]=c[h>>2];g=c[h>>2]|0;if((c[g>>2]|0)==(b|0)){c[g>>2]=f}else{c[g+4>>2]=f}c[d>>2]=b;c[h>>2]=f;b=f;f=47}else if((f|0)==70){p=b+4|0;a[(c[p>>2]|0)+12|0]=1;a[b+12|0]=0;d=c[p>>2]|0;f=c[d>>2]|0;c[p>>2]=f;if((f|0)!=0){c[f+8>>2]=b}f=b+8|0;c[d+8>>2]=c[f>>2];g=c[f>>2]|0;if((c[g>>2]|0)==(b|0)){c[g>>2]=d}else{c[g+4>>2]=d}c[d>>2]=b;c[f>>2]=d;b=d;f=76}if((f|0)==47){f=b+8|0;p=(c[f>>2]|0)+12|0;a[b+12|0]=a[p]&1;a[p]=1;a[(c[b+4>>2]|0)+12|0]=1;f=c[f>>2]|0;p=f+4|0;d=c[p>>2]|0;b=c[d>>2]|0;c[p>>2]=b;if((b|0)!=0){c[b+8>>2]=f}b=f+8|0;c[d+8>>2]=c[b>>2];g=c[b>>2]|0;if((c[g>>2]|0)==(f|0)){c[g>>2]=d}else{c[g+4>>2]=d}c[d>>2]=f;c[b>>2]=d;i=e;return}else if((f|0)==76){d=b+8|0;f=(c[d>>2]|0)+12|0;a[b+12|0]=a[f]&1;a[f]=1;a[(c[b>>2]|0)+12|0]=1;d=c[d>>2]|0;f=c[d>>2]|0;b=f+4|0;g=c[b>>2]|0;c[d>>2]=g;if((g|0)!=0){c[g+8>>2]=d}h=d+8|0;c[f+8>>2]=c[h>>2];g=c[h>>2]|0;if((c[g>>2]|0)==(d|0)){c[g>>2]=f}else{c[g+4>>2]=f}c[b>>2]=d;c[h>>2]=f;i=e;return}}function tn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;g=i;i=i+8|0;h=g;k=d+4|0;j=c[k>>2]|0;do{if((j|0)==0){c[g>>2]=k;h=k}else{k=c[e>>2]|0;while(1){l=c[j+16>>2]|0;if((k|0)<(l|0)){l=c[j>>2]|0;if((l|0)==0){k=5;break}else{j=l;continue}}if((l|0)>=(k|0)){k=9;break}l=j+4|0;m=c[l>>2]|0;if((m|0)==0){k=8;break}else{j=m}}if((k|0)==5){c[g>>2]=j;h=j;break}else if((k|0)==8){c[g>>2]=j;h=l;break}else if((k|0)==9){c[g>>2]=j;break}}}while(0);j=c[h>>2]|0;if((j|0)!=0){l=0;k=j;m=b;c[m>>2]=k;m=b+4|0;a[m]=l;i=f;return}j=FW(20)|0;c[j+16>>2]=c[e>>2];g=c[g>>2]|0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=g;c[h>>2]=j;g=c[c[d>>2]>>2]|0;if((g|0)==0){g=j}else{c[d>>2]=g;g=c[h>>2]|0}un(c[d+4>>2]|0,g);l=d+8|0;c[l>>2]=(c[l>>2]|0)+1;l=1;k=j;m=b;c[m>>2]=k;m=b+4|0;a[m]=l;i=f;return}function un(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;l=(d|0)==(b|0);a[d+12|0]=l&1;if(l){i=e;return}while(1){j=d+8|0;f=c[j>>2]|0;k=f+12|0;if((a[k]&1)!=0){b=37;break}g=f+8|0;h=c[g>>2]|0;l=c[h>>2]|0;if((f|0)==(l|0)){j=c[h+4>>2]|0;if((j|0)==0){b=7;break}j=j+12|0;if((a[j]&1)!=0){b=7;break}a[k]=1;a[h+12|0]=(h|0)==(b|0)|0;a[j]=1}else{if((l|0)==0){b=24;break}l=l+12|0;if((a[l]&1)!=0){b=24;break}a[k]=1;a[h+12|0]=(h|0)==(b|0)|0;a[l]=1}if((h|0)==(b|0)){b=37;break}else{d=h}}if((b|0)==7){if((d|0)!=(c[f>>2]|0)){l=f+4|0;d=c[l>>2]|0;j=c[d>>2]|0;c[l>>2]=j;if((j|0)!=0){c[j+8>>2]=f;h=c[g>>2]|0}j=d+8|0;c[j>>2]=h;h=c[g>>2]|0;if((c[h>>2]|0)==(f|0)){c[h>>2]=d}else{c[h+4>>2]=d}c[d>>2]=f;c[g>>2]=d;h=c[j>>2]|0;f=d}a[f+12|0]=1;a[h+12|0]=0;g=c[h>>2]|0;f=g+4|0;d=c[f>>2]|0;c[h>>2]=d;if((d|0)!=0){c[d+8>>2]=h}j=h+8|0;c[g+8>>2]=c[j>>2];d=c[j>>2]|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=g}else{c[d+4>>2]=g}c[f>>2]=h;c[j>>2]=g;i=e;return}else if((b|0)==24){if((d|0)==(c[f>>2]|0)){b=d+4|0;k=c[b>>2]|0;c[f>>2]=k;if((k|0)!=0){c[k+8>>2]=f;h=c[g>>2]|0}c[j>>2]=h;h=c[g>>2]|0;if((c[h>>2]|0)==(f|0)){c[h>>2]=d}else{c[h+4>>2]=d}c[b>>2]=f;c[g>>2]=d;h=c[j>>2]|0;f=d}a[f+12|0]=1;a[h+12|0]=0;l=h+4|0;f=c[l>>2]|0;g=c[f>>2]|0;c[l>>2]=g;if((g|0)!=0){c[g+8>>2]=h}g=h+8|0;c[f+8>>2]=c[g>>2];d=c[g>>2]|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=f}else{c[d+4>>2]=f}c[f>>2]=h;c[g>>2]=f;i=e;return}else if((b|0)==37){i=e;return}}function vn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;g=a+4|0;d=c[a>>2]|0;e=(c[g>>2]|0)-d|0;k=e>>2;f=k+1|0;if(f>>>0>1073741823){wn(0)}j=a+8|0;m=(c[j>>2]|0)-d|0;if(m>>2>>>0>536870910){n=1073741823;l=5}else{m=m>>1;n=m>>>0<f>>>0?f:m;if((n|0)==0){m=0;n=0}else{l=5}}if((l|0)==5){m=FW(n<<2)|0}k=m+(k<<2)|0;if((k|0)!=0){c[k>>2]=c[b>>2]}$W(m|0,d|0,e|0)|0;c[a>>2]=m;c[g>>2]=m+(f<<2);c[j>>2]=m+(n<<2);if((d|0)==0){i=h;return}HW(d);i=h;return}function wn(a){a=a|0;Ya(49456,49480,307,49584)}function xn(a,b){a=a|0;b=b|0;var d=0;d=i;if((b|0)==0){i=d;return}else{xn(a,c[b>>2]|0);xn(a,c[b+4>>2]|0);HW(b);i=d;return}}function yn(a){a=a|0;var b=0;b=i;c[a>>2]=49688;a=c[a+4>>2]|0;if((a|0)==0){i=b;return}$m(a);HW(a);i=b;return}function zn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;c[a>>2]=49688;d=c[a+4>>2]|0;if((d|0)==0){HW(a);i=b;return}e=d+8|0;h=c[e>>2]|0;do{if((h|0)!=0){f=d+4|0;if((c[f>>2]|0)>0){g=0;do{Of(h+(g<<4)|0);g=g+1|0;h=c[e>>2]|0;}while((g|0)<(c[f>>2]|0));if((h|0)==0){break}}IW(h)}}while(0);Fe(c[d+12>>2]|0);HW(d);HW(a);i=b;return}function An(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function Bn(a,b){a=a|0;b=b|0;i=i;return(c[a+4>>2]|0)==(c[b+4>>2]|0)|0}function Cn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;g=FW(80)|0;OG(g,b,d,0);c[g>>2]=49808;c[g+60>>2]=0;b=g+65|0;a[b]=0;bX(g+20|0,0,16)|0;c[g+68>>2]=e;c[g+72>>2]=0;c[g+76>>2]=0;En(g);if((a[b]&1)!=0){b=g;i=f;return b|0}if((g|0)==0){b=0;i=f;return b|0}fd[c[(c[g>>2]|0)+4>>2]&511](g);b=0;i=f;return b|0}function Dn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=i;i=i+8|0;b=RG(b,f)|0;if((b|0)==0){g=0;i=e;return g|0}g=FW(80)|0;OG(g,b,c[f>>2]|0,1);c[g>>2]=49808;c[g+60>>2]=0;b=g+65|0;a[b]=0;bX(g+20|0,0,16)|0;c[g+68>>2]=d;c[g+72>>2]=0;c[g+76>>2]=0;En(g);if((a[b]&1)!=0){i=e;return g|0}if((g|0)==0){g=0;i=e;return g|0}fd[c[(c[g>>2]|0)+4>>2]&511](g);g=0;i=e;return g|0}function En(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;k=i;i=i+8|0;e=b+65|0;a[e]=1;g=VG(b,0,e)|0;if((a[e]&1)==0){i=d;return}do{if((g|0)==1953784678){j=VG(b,8,e)|0;if((a[e]&1)==0){i=d;return}if((j|0)==0){a[e]=0;i=d;return}g=b+68|0;h=c[g>>2]|0;if((h|0)>=(j|0)){c[g>>2]=0;h=0}m=VG(b,(h<<2)+12|0,e)|0;if((a[e]&1)!=0){break}i=d;return}else{m=0}}while(0);g=VG(b,m,e)|0;if((a[e]&1)==0){i=d;return}h=b+64|0;a[h]=(g|0)==1330926671|0;g=UG(b,m+4|0,e)|0;j=b+24|0;c[j>>2]=g;if((a[e]&1)==0){i=d;return}l=ye(g,20)|0;g=b+20|0;c[g>>2]=l;p=c[j>>2]|0;if((p|0)>0){l=b+12|0;o=0;m=m+12|0;n=0;while(1){q=VG(b,m,e)|0;c[(c[g>>2]|0)+(o*20|0)>>2]=q;q=VG(b,m+4|0,e)|0;c[(c[g>>2]|0)+(o*20|0)+4>>2]=q;q=VG(b,m+8|0,e)|0;c[(c[g>>2]|0)+(o*20|0)+8>>2]=q;q=VG(b,m+12|0,e)|0;c[(c[g>>2]|0)+(o*20|0)+16>>2]=q;q=c[g>>2]|0;p=c[q+(o*20|0)+16>>2]|0;if((p|0)<0){f=15}else{if(((c[q+(o*20|0)+8>>2]|0)+p|0)>(c[l>>2]|0)){f=15}}if((f|0)==15){f=0;Qe(-1,49824,k);o=o+ -1|0;n=n+1|0}o=o+1|0;p=c[j>>2]|0;if((o|0)<(p|0)){m=m+16|0}else{break}}k=c[g>>2]|0}else{k=l;n=0}l=p-n|0;c[j>>2]=l;l=Ee(k,l,20)|0;c[g>>2]=l;if((a[e]&1)==0|(l|0)==0){i=d;return}k=c[j>>2]|0;a:do{if((k|0)>0){n=0;while(1){m=n+1|0;if((c[l+(n*20|0)>>2]|0)==1751474532){break}if((m|0)<(k|0)){n=m}else{break a}}if((n|0)<0){break}else{n=0}while(1){m=n+1|0;if((c[l+(n*20|0)>>2]|0)==1751672161){break}if((m|0)<(k|0)){n=m}else{break a}}if((n|0)<0){break}else{n=0}while(1){m=n+1|0;if((c[l+(n*20|0)>>2]|0)==1835104368){break}if((m|0)<(k|0)){n=m}else{break a}}if((n|0)<0){break}else{n=0}while(1){m=n+1|0;if((c[l+(n*20|0)>>2]|0)==1752003704){break}if((m|0)<(k|0)){n=m}else{break a}}if((n|0)<0){break}m=(a[h]&1)==0;do{if(m){n=0;while(1){o=n+1|0;if((c[l+(n*20|0)>>2]|0)==1819239265){break}if((o|0)<(k|0)){n=o}else{break a}}if((n|0)<0){break a}if(m){n=0}else{m=0;f=42;break}while(1){o=n+1|0;if((c[l+(n*20|0)>>2]|0)==1735162214){break}if((o|0)<(k|0)){n=o}else{break a}}if((n|0)<0){break a}if(m){m=0}else{m=0;f=42}}else{m=0;f=42}}while(0);if((f|0)==42){while(1){f=m+1|0;if((c[l+(m*20|0)>>2]|0)==1128678944){break}if((f|0)<(k|0)){m=f;f=42}else{break a}}if((m|0)<0){break}else{m=0}}while(1){f=m+1|0;if((c[l+(m*20|0)>>2]|0)==1668112752){f=47;break}if((f|0)<(k|0)){m=f}else{f=54;break}}do{if((f|0)==47){if((m|0)<=-1){f=54;break}n=c[l+(m*20|0)+8>>2]|0;o=UG(b,n+2|0,e)|0;k=b+32|0;c[k>>2]=o;if((a[e]&1)==0){i=d;return}l=b+28|0;c[l>>2]=ye(o,20)|0;if((c[k>>2]|0)>0){o=0;n=n+4|0;while(1){q=UG(b,n,e)|0;c[(c[l>>2]|0)+(o*20|0)>>2]=q;q=UG(b,n+2|0,e)|0;c[(c[l>>2]|0)+(o*20|0)+4>>2]=q;q=c[(c[g>>2]|0)+(m*20|0)+8>>2]|0;q=(VG(b,n+4|0,e)|0)+q|0;c[(c[l>>2]|0)+(o*20|0)+8>>2]=q;q=UG(b,c[(c[l>>2]|0)+(o*20|0)+8>>2]|0,e)|0;c[(c[l>>2]|0)+(o*20|0)+16>>2]=q;q=UG(b,(c[(c[l>>2]|0)+(o*20|0)+8>>2]|0)+2|0,e)|0;c[(c[l>>2]|0)+(o*20|0)+12>>2]=q;o=o+1|0;if((o|0)<(c[k>>2]|0)){n=n+8|0}else{break}}}if((a[e]&1)==0){i=d;return}else{k=c[j>>2]|0;break}}}while(0);if((f|0)==54){c[b+32>>2]=0}l=c[g>>2]|0;b:do{if((k|0)>0){m=0;while(1){n=m+1|0;if((c[l+(m*20|0)>>2]|0)==1835104368){break b}if((n|0)<(k|0)){m=n}else{m=-1;break}}}else{m=-1}}while(0);k=b+36|0;c[k>>2]=UG(b,(c[l+(m*20|0)+8>>2]|0)+4|0,e)|0;if((a[e]&1)==0){i=d;return}o=c[j>>2]|0;l=c[g>>2]|0;c:do{if((o|0)>0){n=0;while(1){m=n+1|0;if((c[l+(n*20|0)>>2]|0)==1751474532){break c}if((m|0)<(o|0)){n=m}else{n=-1;break}}}else{n=-1}}while(0);c[b+44>>2]=TG(b,(c[l+(n*20|0)+8>>2]|0)+36|0,e)|0;c[b+48>>2]=TG(b,(c[(c[g>>2]|0)+(n*20|0)+8>>2]|0)+38|0,e)|0;c[b+52>>2]=TG(b,(c[(c[g>>2]|0)+(n*20|0)+8>>2]|0)+40|0,e)|0;c[b+56>>2]=TG(b,(c[(c[g>>2]|0)+(n*20|0)+8>>2]|0)+42|0,e)|0;m=TG(b,(c[(c[g>>2]|0)+(n*20|0)+8>>2]|0)+50|0,e)|0;l=b+40|0;c[l>>2]=m;n=a[e]|0;if((n&1)==0){i=d;return}do{if((a[h]&1)==0){p=c[j>>2]|0;j=c[g>>2]|0;d:do{if((p|0)>0){h=0;while(1){o=h+1|0;if((c[j+(h*20|0)>>2]|0)==1819239265){break d}if((o|0)<(p|0)){h=o}else{h=-1;break}}}else{h=-1}}while(0);q=c[j+(h*20|0)+16>>2]|0;if((q|0)<0){a[e]=0;i=d;return}o=c[k>>2]|0;p=(m|0)!=0?4:2;if((q|0)<(da(p,o+1|0)|0)){o=((q|0)/(p|0)|0)+ -1|0;c[k>>2]=o}if((o|0)>=0){n=b+12|0;o=0;while(1){j=c[j+(h*20|0)+8>>2]|0;if((m|0)==0){j=UG(b,j+(o<<1)|0,e)|0}else{j=VG(b,j+(o<<2)|0,e)|0}if((j|0)<0){f=78}else{if((j|0)>(c[n>>2]|0)){f=78}}if((f|0)==78){f=0;a[e]=0}if((o|0)>=(c[k>>2]|0)){break}j=c[g>>2]|0;m=c[l>>2]|0;o=o+1|0}n=a[e]|0}if((n&1)!=0){break}i=d;return}}while(0);Nn(b);i=d;return}}while(0);a[e]=0;i=d;return}function Fn(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=49808;Fe(c[a+20>>2]|0);Fe(c[a+28>>2]|0);d=c[a+60>>2]|0;if((d|0)==0){QG(a);HW(a);i=b;return}ko(d);HW(d);QG(a);HW(a);i=b;return}function Gn(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=49808;Fe(c[a+20>>2]|0);Fe(c[a+28>>2]|0);d=c[a+60>>2]|0;if((d|0)==0){QG(a);i=b;return}ko(d);HW(d);QG(a);i=b;return}function Hn(a){a=a|0;i=i;return c[a+32>>2]|0}function In(a,b){a=a|0;b=b|0;i=i;return c[(c[a+28>>2]|0)+(b*20|0)>>2]|0}function Jn(a,b){a=a|0;b=b|0;i=i;return c[(c[a+28>>2]|0)+(b*20|0)+4>>2]|0}function Kn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;g=i;i=i+8|0;h=g;if((d|0)<0){o=0;i=f;return o|0}if((c[b+32>>2]|0)<=(d|0)){o=0;i=f;return o|0}a[g]=1;k=c[b+28>>2]|0;j=c[k+(d*20|0)+8>>2]|0;l=c[k+(d*20|0)+16>>2]|0;do{if((l|0)==0){e=e+6|0;if(e>>>0<(c[k+(d*20|0)+12>>2]|0)>>>0){b=(SG(b,e+j|0,h)|0)&65535;break}else{o=0;i=f;return o|0}}else if((l|0)==12){k=VG(b,j+12|0,h)|0;n=k+ -1|0;d=j+16|0;j=j+20|0;if((VG(b,j+(n*12|0)|0,h)|0)>>>0<e>>>0){o=0;i=f;return o|0}a:do{if((k|0)>1){k=-1;do{if((a[g]&1)==0){break a}m=(n+k|0)/2|0;l=(VG(b,j+(m*12|0)|0,h)|0)>>>0<e>>>0;k=l?m:k;n=l?n:m;}while((n-k|0)>1)}}while(0);o=(n*12|0)+d|0;j=VG(b,o,h)|0;b=VG(b,o+8|0,h)|0;if(j>>>0>e>>>0){o=0;i=f;return o|0}else{b=e-j+b&65535;break}}else if((l|0)==4){l=UG(b,j+6|0,h)|0;d=(l|0)/2|0;m=d+ -1|0;k=j+14|0;if((UG(b,(m<<1)+k|0,h)|0)>>>0<e>>>0){o=0;i=f;return o|0}b:do{if((l|0)>3){l=-1;do{if((a[g]&1)==0){break b}n=(m+l|0)/2|0;o=(UG(b,(n<<1)+k|0,h)|0)>>>0<e>>>0;l=o?n:l;m=o?m:n;}while((m-l|0)>1)}}while(0);o=j+16|0;l=m<<1;k=UG(b,(d<<1)+o+l|0,h)|0;j=UG(b,(d<<2)+o+l|0,h)|0;d=(d*6|0)+o+l|0;l=UG(b,d,h)|0;if(k>>>0>e>>>0){o=0;i=f;return o|0}if((l|0)==0){b=j+e&65535;break}b=UG(b,l+d+(e-k<<1)|0,h)|0;if((b&65535|0)==0){b=b&65535;break}b=b+j&65535}else if((l|0)==6){d=UG(b,j+6|0,h)|0;k=UG(b,j+8|0,h)|0;if(d>>>0>e>>>0){o=0;i=f;return o|0}if((k+d|0)>>>0>e>>>0){b=(UG(b,j+10+(e-d<<1)|0,h)|0)&65535;break}else{o=0;i=f;return o|0}}else{o=0;i=f;return o|0}}while(0);o=(a[g]&1)==0?0:b;i=f;return o|0}function Ln(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a+60>>2]|0;if((a|0)==0){a=0;i=d;return a|0}a=po(a,b)|0;i=d;return a|0}function Mn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;c[d>>2]=0;if((a[b+64|0]&1)==0){j=0;i=e;return j|0}g=c[b+24>>2]|0;f=c[b+20>>2]|0;a:do{if((g|0)>0){h=0;while(1){j=h+1|0;if((c[f+(h*20|0)>>2]|0)==1128678944){break a}if((j|0)<(g|0)){h=j}else{h=-1;break}}}else{h=-1}}while(0);if(!(XG(b,c[f+(h*20|0)+8>>2]|0,c[f+(h*20|0)+16>>2]|0)|0)){j=0;i=e;return j|0}j=c[b+20>>2]|0;b=Tn((c[b+8>>2]|0)+(c[j+(h*20|0)+8>>2]|0)|0,c[j+(h*20|0)+16>>2]|0)|0;if((b|0)==0){j=0;i=e;return j|0}j=_n(b,d)|0;fd[c[(c[b>>2]|0)+4>>2]&511](b);i=e;return j|0}function Nn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;e=i;i=i+8|0;f=e;a[e]=1;k=c[b+24>>2]|0;if((k|0)<=0){i=d;return}j=c[b+20>>2]|0;l=0;while(1){h=l+1|0;if((c[j+(l*20|0)>>2]|0)==1886352244){break}if((h|0)<(k|0)){l=h}else{g=33;break}}if((g|0)==33){i=d;return}if((l|0)<0){i=d;return}j=c[j+(l*20|0)+8>>2]|0;g=VG(b,j,f)|0;a:do{if((a[e]&1)==0){g=b+60|0}else{if((g|0)==131072){h=FW(16)|0;jo(h,1);g=b+60|0;c[g>>2]=h;h=UG(b,j+32|0,f)|0;if((a[e]&1)==0){break}k=c[b+36>>2]|0;h=(h|0)>(k|0)?k:h;k=j+34|0;l=(h<<1)+k|0;if((h|0)<=0){i=d;return}j=b+8|0;m=0;p=0;o=l;while(1){n=UG(b,(m<<1)+k|0,f)|0;if((n|0)<258){r=c[49904+(n<<2)>>2]|0;so(c[g>>2]|0,r)|0;q=c[g>>2]|0;n=FW(32)|0;fe(n,r);no(q,n,m);n=p}else{n=n+ -258|0;if((n|0)==(p|0)){n=p}else{if((n|0)>0){p=0;o=l;while(1){p=p+1|0;o=o+1+(SG(b,o,f)|0)|0;if((p|0)<(n|0)){}else{break}}}else{n=0;o=l}if((a[e]&1)==0){break a}}p=SG(b,o,f)|0;if((a[e]&1)==0){break a}o=o+1|0;if(!(XG(b,o,p)|0)){break a}r=FW(32)|0;ge(r,(c[j>>2]|0)+o|0,p);ro(c[g>>2]|0,r)|0;no(c[g>>2]|0,r,m);n=n+1|0;o=o+p|0}m=m+1|0;if((m|0)<(h|0)){p=n}else{break}}i=d;return}else if((g|0)==163840){h=FW(16)|0;jo(h,1);g=b+60|0;c[g>>2]=h;h=b+36|0;if((c[h>>2]|0)<=0){i=d;return}l=j+32|0;k=0;do{j=SG(b,l+k|0,f)|0;if((a[e]&1)==0){break a}if((j|0)<258){p=c[49904+(j<<2)>>2]|0;so(c[g>>2]|0,p)|0;q=c[g>>2]|0;r=FW(32)|0;fe(r,p);no(q,r,k)}k=k+1|0;}while((k|0)<(c[h>>2]|0));i=d;return}else if((g|0)==65536){e=FW(16)|0;jo(e,1);b=b+60|0;c[b>>2]=e;f=0;while(1){r=FW(32)|0;fe(r,c[49904+(f<<2)>>2]|0);no(e,r,f);f=f+1|0;if((f|0)>=258){break}e=c[b>>2]|0}i=d;return}else{i=d;return}}}while(0);b=c[g>>2]|0;if((b|0)==0){i=d;return}ko(b);HW(b);c[g>>2]=0;i=d;return}function On(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;if((b|0)==0){c[a+72>>2]=0;i=e;return 0}n=ZW(b|0)|0;h=(n|0)>4?4:n;if((h|0)>0){m=0;l=0;do{l=d[b+m|0]|0|l<<8;m=m+1|0;}while((m|0)<(h|0));if((n|0)<4){g=n;f=l;j=6}else{k=l}}else{g=0;f=0;j=6}if((j|0)==6){while(1){j=0;k=f<<8|32;g=g+1|0;if((g|0)<4){f=k}else{break}}}l=c[a+24>>2]|0;if((l|0)<=0){i=e;return 0}f=c[a+20>>2]|0;g=0;while(1){h=g+1|0;if((c[f+(g*20|0)>>2]|0)==1196643650){break}if((h|0)<(l|0)){g=h}else{j=29;break}}if((j|0)==29){i=e;return 0}if((g|0)<0){i=e;return 0}g=c[f+(g*20|0)+8>>2]|0;h=a+65|0;b=UG(a,g+4|0,h)|0;f=UG(a,g+6|0,h)|0;c[a+76>>2]=(UG(a,g+8|0,h)|0)+g;b=b+g|0;l=UG(a,b,h)|0;if((l|0)==0){i=e;return 0}else{o=0;m=b}while(1){p=VG(a,m+2|0,h)|0;m=m+6|0;n=UG(a,m,h)|0;o=o+1|0;if((p|0)==(k|0)){break}if(o>>>0<l>>>0){}else{j=29;break}}if((j|0)==29){i=e;return 0}k=n+b|0;j=UG(a,k,h)|0;if((j|0)==0){i=e;return 0}k=j+k|0;b=UG(a,k+2|0,h)|0;j=k+4|0;do{if((b|0)==65535){b=0}else{l=f+g|0;UG(a,l,h)|0;m=l+2+(b*6|0)|0;b=VG(a,m,h)|0;m=m+4|0;if((b|0)==1986359924){b=UG(a,m,h)|0;break}else if((b|0)!=1987212338){b=0;break}c[a+72>>2]=l+(UG(a,m,h)|0);i=e;return 0}}while(0);j=UG(a,j,h)|0;a:do{if((j|0)!=0){l=g+2+f|0;m=0;k=k+6|0;while(1){o=l+((UG(a,k,h)|0)*6|0)|0;n=VG(a,o,h)|0;o=o+4|0;if((n|0)==1987212338){break}if((b|0)==0&(n|0)==1986359924){b=UG(a,o,h)|0}m=m+1|0;if(m>>>0<j>>>0){k=k+2|0}else{break a}}b=UG(a,o,h)|0}}while(0);if((b|0)==0){i=e;return 0}c[a+72>>2]=f+g+b;i=e;return 0}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=a+76|0;h=c[f>>2]|0;if((h|0)==0){l=0;i=e;return l|0}g=a+65|0;b=UG(a,(b<<1)+2+h|0,g)|0;j=(c[f>>2]|0)+b|0;h=UG(a,j+4|0,g)|0;if((h|0)==0){l=0;i=e;return l|0}k=0;j=j+6|0;while(1){l=UG(a,j,g)|0;l=Rn(a,l+b+(c[f>>2]|0)|0,d)|0;if((l|0)!=0){a=6;break}k=k+1|0;if(k>>>0<h>>>0){j=j+2|0}else{l=0;a=6;break}}if((a|0)==6){i=e;return l|0}return 0}function Qn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;g=c[a+72>>2]|0;if((g|0)==0){j=b;i=d;return j|0}e=a+65|0;f=UG(a,g+2|0,e)|0;a:do{if((f|0)==0){j=0}else{h=0;g=g+4|0;while(1){j=Pn(a,UG(a,g,e)|0,b)|0;if((j|0)!=0){break a}h=h+1|0;if(h>>>0<f>>>0){g=g+2|0}else{j=0;break}}}}while(0);j=(j|0)==0?b:j;i=d;return j|0}function Rn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0;d=i;f=a+65|0;h=UG(a,b,f)|0;e=b+4|0;g=Sn(a,(UG(a,b+2|0,f)|0)+b|0,c)|0;do{if((g|0)>-1){if((h|0)==1){a=(TG(a,e,f)|0)+c|0;break}else if((h|0)!=2){a=0;break}if((TG(a,e,f)|0)<=(g|0)){a=0;break}a=UG(a,b+6+(g<<1)|0,f)|0}else{a=0}}while(0);i=d;return a|0}function Sn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;e=a+65|0;f=UG(a,b,e)|0;g=b+2|0;a:do{if((f|0)==1){f=UG(a,g,e)|0;if((f|0)==0){g=-1;break}g=0;b=b+4|0;while(1){h=UG(a,b,e)|0;if((h|0)==(c|0)){break a}g=g+1|0;if(h>>>0>c>>>0){g=-1;break a}if(g>>>0<f>>>0){b=b+2|0}else{g=-1;break}}}else if((f|0)==2){f=UG(a,g,e)|0;if((f|0)==0){g=-1;break}g=0;b=b+4|0;while(1){k=UG(a,b,e)|0;h=UG(a,b+2|0,e)|0;j=UG(a,b+4|0,e)|0;h=h>>>0<c>>>0;if(!(k>>>0>c>>>0|h)){break}g=g+1|0;if(!h){g=-1;break a}if(g>>>0<f>>>0){b=b+6|0}else{g=-1;break a}}g=c-k+j|0}else{g=-1}}while(0);i=d;return g|0}function Tn(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=FW(1160)|0;OG(e,a,b,0);c[e>>2]=53784;c[e+20>>2]=0;c[e+24>>2]=0;c[e+328>>2]=0;c[e+340>>2]=0;c[e+344>>2]=0;if(Un(e)|0){a=e;i=d;return a|0}if((e|0)==0){a=0;i=d;return a|0}fd[c[(c[e>>2]|0)+4>>2]&511](e);a=0;i=d;return a|0}function Un(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;g=i;i=i+24|0;f=g;e=b+352|0;a[e]=1;m=b+12|0;j=c[m>>2]|0;do{if((j|0)>0){l=b+8|0;k=c[l>>2]|0;if((a[k]|0)==1){break}c[l>>2]=k+1;c[m>>2]=j+ -1}}while(0);l=b+28|0;$n(b,SG(b,2,e)|0,l,e);j=b+44|0;$n(b,c[j>>2]|0,b+48|0,e);$n(b,c[b+64>>2]|0,b+68|0,e);$n(b,c[b+84>>2]|0,b+88|0,e);if((a[e]&1)==0){r=0;i=d;return r|0}k=c[b+92>>2]|0;if((k|0)<1240){k=107}else{k=(k|0)<33900?1131:32768}c[b+348>>2]=k;if((c[b+32>>2]|0)<=0){a[e]=0;r=0;i=d;return r|0}m=b+40|0;k=c[m>>2]|0;q=b+36|0;k=(WG(b,(c[l>>2]|0)+3|0,c[q>>2]|0,e)|0)+k|0;r=c[m>>2]|0;q=c[q>>2]|0;l=(WG(b,(c[l>>2]|0)+3+q|0,q,e)|0)+r|0;m=c[m>>2]|0;do{if((k|0)>=(m|0)){r=c[j>>2]|0;if((l|0)<=(m|0)|(k|0)>(r|0)|(l|0)>(r|0)|(l|0)<(k|0)){break}if((a[e]&1)==0){r=0;i=d;return r|0}j=FW(32)|0;ge(j,(c[b+8>>2]|0)+k|0,l-k|0);c[b+20>>2]=j;co(b);j=b+128|0;a:do{if((c[j>>2]|0)==3102){k=c[b+320>>2]|0;if((k|0)==0){c[b+336>>2]=1;r=we(584)|0;c[b+328>>2]=r;a[r+48|0]=0;c[r+108>>2]=0;c[r+152>>2]=0;c[r+212>>2]=0;c[r+256>>2]=0;h[r+264>>3]=.039625;c[r+272>>2]=7;c[r+276>>2]=1;a[r+288|0]=0;a[r+304|0]=0;c[r+408>>2]=0;c[r+512>>2]=0;a[r+517|0]=0;h[r+520>>3]=0.0;c[r+528>>2]=0;h[r+536>>3]=.06;h[r+568>>3]=0.0;a[r+576|0]=0;bX(r+544|0,0,17)|0;break}$n(b,k,f,e);if((a[e]&1)==0){r=0;i=d;return r|0}l=c[f+4>>2]|0;m=b+336|0;c[m>>2]=l;n=b+328|0;c[n>>2]=ye(l,584)|0;if((c[m>>2]|0)<=0){break}k=c[f+12>>2]|0;o=(c[g>>2]|0)+3|0;g=c[f+8>>2]|0;q=c[f+16>>2]|0;r=0;while(1){if((l|0)<=(r|0)){f=20;break}f=(WG(b,o+(da(g,r)|0)|0,g,e)|0)+k|0;p=(WG(b,o+(da(g,r+1|0)|0)|0,g,e)|0)+k|0;if((f|0)<(k|0)){f=23;break}if((p|0)<=(k|0)|(f|0)>(q|0)|(p|0)>(q|0)|(p|0)<(f|0)){f=23;break}if((a[e]&1)==0){b=0;f=38;break}fo(b,f,p-f|0,(c[n>>2]|0)+(r*584|0)|0);r=r+1|0;if((r|0)>=(c[m>>2]|0)){break a}}if((f|0)==20){a[e]=0;r=0;i=d;return r|0}else if((f|0)==23){a[e]=0;r=0;i=d;return r|0}else if((f|0)==38){i=d;return b|0}}else{r=we(584)|0;c[b+328>>2]=r;eo(b,c[b+304>>2]|0,c[b+300>>2]|0,r)}}while(0);if((a[e]&1)==0){r=0;i=d;return r|0}f=c[b+296>>2]|0;if((f|0)<1){a[e]=0;r=0;i=d;return r|0}$n(b,f,b+108|0,e);if((a[e]&1)==0){r=0;i=d;return r|0}c[b+332>>2]=c[b+112>>2];do{if((c[j>>2]|0)==3102){go(b);if((a[e]&1)==0){b=0}else{break}i=d;return b|0}}while(0);if(!(ho(b)|0)){a[e]=0;r=0;i=d;return r|0}r=c[j>>2]|0;do{if(!((r|0)==3102|(r|0)==3092)){io(b);if((a[e]&1)==0){b=0}else{break}i=d;return b|0}}while(0);r=(a[e]&1)!=0;i=d;return r|0}}while(0);a[e]=0;r=0;i=d;return r|0}function Vn(a){a=a|0;var b=0,d=0,e=0;b=i;d=i;i=i+8|0;a=RG(a,d)|0;if((a|0)==0){e=0;i=b;return e|0}e=FW(1160)|0;OG(e,a,c[d>>2]|0,1);c[e>>2]=53784;c[e+20>>2]=0;c[e+24>>2]=0;c[e+328>>2]=0;c[e+340>>2]=0;c[e+344>>2]=0;if(Un(e)|0){i=b;return e|0}if((e|0)==0){e=0;i=b;return e|0}fd[c[(c[e>>2]|0)+4>>2]&511](e);e=0;i=b;return e|0}function Wn(a){a=a|0;var b=0;b=i;Xn(a);HW(a);i=b;return}function Xn(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=53784;d=c[a+20>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=a+24|0;f=c[d>>2]|0;if(!((f|0)==0|(f|0)==193784|(f|0)==197136)){e=0;do{Fe(c[f+(e<<2)>>2]|0);e=e+1|0;f=c[d>>2]|0}while((e|0)<256);Fe(f)}d=c[a+328>>2]|0;if((d|0)!=0){Fe(d)}d=c[a+340>>2]|0;if((d|0)!=0){Fe(d)}d=c[a+344>>2]|0;if((d|0)==0|(d|0)==200672|(d|0)==201136|(d|0)==201472){QG(a);i=b;return}Fe(d);QG(a);i=b;return}function Yn(a){a=a|0;var b=0;b=i;a=c[a+20>>2]|0;if((a|0)==0){a=0;i=b;return a|0}a=c[a+28>>2]|0;i=b;return a|0}function Zn(a){a=a|0;i=i;return c[a+24>>2]|0}function _n(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;if((c[a+128>>2]|0)!=3102){m=0;k=0;l=d;c[l>>2]=k;i=f;return m|0}g=a+332|0;k=c[g>>2]|0;if((k|0)>0){h=c[a+344>>2]|0;m=0;j=0;do{l=e[h+(m<<1)>>1]|0;j=(l|0)>(j|0)?l:j;m=m+1|0;}while((m|0)<(k|0));h=j+1|0}else{h=1}j=ye(h,2)|0;bX(j|0,0,h<<1|0)|0;if((c[g>>2]|0)<=0){m=j;k=h;l=d;c[l>>2]=k;i=f;return m|0}a=a+344|0;k=0;while(1){b[j+((e[(c[a>>2]|0)+(k<<1)>>1]|0)<<1)>>1]=k;k=k+1|0;if((k|0)<(c[g>>2]|0)){}else{break}}m=d;c[m>>2]=h;i=f;return j|0}function $n(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;c[e>>2]=d;p=UG(b,d,f)|0;j=e+4|0;c[j>>2]=p;if((p|0)==0){c[e+8>>2]=0;p=d+2|0;c[e+16>>2]=p;c[e+12>>2]=p;i=g;return}o=SG(b,d+2|0,f)|0;m=e+8|0;c[m>>2]=o;if((o+ -1|0)>>>0>3){a[f]=0;o=c[m>>2]|0}k=d+3|0;n=c[j>>2]|0;p=(da(n+1|0,o)|0)+k|0;l=p+ -1|0;d=e+12|0;c[d>>2]=l;if((p|0)<1){h=7}else{if((p|0)>(c[b+12>>2]|0)){h=7}}if((h|0)==7){a[f]=0;o=c[m>>2]|0;n=c[j>>2]|0;l=c[d>>2]|0}h=(WG(b,(da(o,n)|0)+k|0,o,f)|0)+l|0;c[e+16>>2]=h;do{if((h|0)>=(c[d>>2]|0)){if((h|0)>(c[b+12>>2]|0)){break}i=g;return}}while(0);a[f]=0;i=g;return}function ao(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;do{if((e|0)>=0){if((c[d+4>>2]|0)<=(e|0)){break}l=d+12|0;k=c[l>>2]|0;n=d+8|0;m=c[n>>2]|0;k=(WG(b,(c[d>>2]|0)+3+(da(m,e)|0)|0,m,g)|0)+k|0;m=c[l>>2]|0;n=c[n>>2]|0;b=(WG(b,(c[d>>2]|0)+3+(da(n,e+1|0)|0)|0,n,g)|0)+m|0;e=c[l>>2]|0;if((k|0)<(e|0)){j=6}else{n=c[d+16>>2]|0;if((b|0)<=(e|0)|(k|0)>(n|0)|(b|0)>(n|0)|(b|0)<(k|0)){j=6}}if((j|0)==6){a[g]=0}c[f>>2]=k;c[f+4>>2]=b-k;i=h;return}}while(0);a[g]=0;i=h;return}function bo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0.0;j=i;g=i;i=i+8|0;l=i;i=i+72|0;p=d+1|0;o=SG(b,d,f)|0;do{if((o|0)==28){l=(SG(b,p,f)|0)<<8;l=l|(SG(b,d+2|0,f)|0);e=d+3|0;n=1;m=0;q=+(((l&32768|0)==0?l:l|-65536)|0)}else{m=e^1;if((o|0)==29&m){p=(SG(b,p,f)|0)<<8;p=(p|(SG(b,d+2|0,f)|0))<<8;p=(p|(SG(b,d+3|0,f)|0))<<8;e=d+5|0;n=1;m=0;q=+(p|(SG(b,d+4|0,f)|0)|0);break}if((o|0)==30&m){n=0;while(1){e=p+1|0;m=SG(b,p,f)|0;d=m>>4;m=m&15;if((d|0)==15){break}o=n+1|0;a[l+n|0]=a[53792+d|0]|0;if((o|0)==64){n=64;break}if((d|0)==12){a[l+o|0]=45;n=n+2|0}else{n=o}if((n|0)==64|(m|0)==15){break}d=n+1|0;a[l+n|0]=a[53792+m|0]|0;if((d|0)==64){n=64;break}if((m|0)==12){a[l+d|0]=45;n=n+2|0}else{n=d}if((n|0)<64){p=e}else{break}}a[l+n|0]=0;n=1;m=1;q=+Ie(l);break}if((o+ -32|0)>>>0<215){e=p;n=1;m=0;q=+(o+ -139|0);break}if((o+ -247|0)>>>0<4){e=d+2|0;n=1;m=0;q=+((o<<8)+ -63124+(SG(b,p,f)|0)|0);break}if((o+ -251|0)>>>0<4){e=d+2|0;n=1;m=0;q=+(64148-(o<<8)-(SG(b,p,f)|0)|0);break}if((o|0)==255&e){p=(SG(b,p,f)|0)<<8;p=(p|(SG(b,d+2|0,f)|0))<<8;p=(p|(SG(b,d+3|0,f)|0))<<8;e=d+5|0;n=1;m=1;q=+(p|(SG(b,d+4|0,f)|0)|0)*152587890625.0e-16;break}if((o|0)==12){e=(SG(b,p,f)|0)+3072|0;c[k>>2]=e;c[k+4>>2]=0;e=d+2|0;n=0;m=0;q=+h[k>>3];break}else{c[k>>2]=o;c[k+4>>2]=0;e=p;n=0;m=0;q=+h[k>>3];break}}}while(0);l=b+1144|0;f=c[l>>2]|0;if((f|0)>=49){i=j;return e|0}c[l>>2]=f+1;p=b+360+(f<<4)|0;a[p]=n;a[b+360+(f<<4)+1|0]=m;$W(p+2|0,g|0,6)|0;h[b+360+(f<<4)+8>>3]=q;i=j;return e|0}function co(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;F=i;Q=b+128|0;c[Q>>2]=-1;d=b+132|0;B=b+136|0;A=b+140|0;u=b+144|0;C=b+148|0;L=b+152|0;f=b+156|0;v=b+160|0;y=b+168|0;bX(d|0,0,36)|0;h[y>>3]=-100.0;D=b+176|0;h[D>>3]=50.0;x=b+184|0;c[x>>2]=0;M=b+188|0;c[M>>2]=2;m=b+192|0;h[m>>3]=.001;n=b+200|0;o=b+208|0;p=b+216|0;bX(n|0,0,16)|0;h[p>>3]=.001;q=b+224|0;r=b+232|0;s=b+240|0;K=b+244|0;G=b+248|0;H=b+256|0;I=b+264|0;J=b+272|0;g=b+280|0;w=b+288|0;P=b+292|0;E=b+296|0;N=b+300|0;O=b+304|0;j=b+308|0;k=b+312|0;l=b+316|0;z=b+320|0;t=b+324|0;e=b+352|0;bX(q|0,0,17)|0;bX(K|0,0,84)|0;if((c[b+52>>2]|0)<=0){a[e]=0;c[b+1144>>2]=0;i=F;return}S=b+60|0;Z=c[S>>2]|0;Y=b+48|0;_=b+56|0;Z=(WG(b,(c[Y>>2]|0)+3|0,c[_>>2]|0,e)|0)+Z|0;R=c[S>>2]|0;_=c[_>>2]|0;R=(WG(b,(c[Y>>2]|0)+3+_|0,_,e)|0)+R|0;S=c[S>>2]|0;if((Z|0)<(S|0)){T=5}else{_=c[b+64>>2]|0;if((R|0)<=(S|0)|(Z|0)>(_|0)|(R|0)>(_|0)|(R|0)<(Z|0)){T=5}}if((T|0)==5){a[e]=0}T=b+1144|0;c[T>>2]=0;if((R-Z|0)<=0){i=F;return}U=b+368|0;V=b+384|0;W=b+400|0;S=b+416|0;X=b+432|0;Y=b+448|0;while(1){Z=bo(b,Z,0,e)|0;if((a[e]&1)==0){T=38;break}_=(c[T>>2]|0)+ -1|0;if((a[b+360+(_<<4)|0]&1)==0){c[T>>2]=_;_=b+360+(_<<4)+8|0;if((c[Q>>2]|0)<0){c[Q>>2]=c[_>>2]}switch(c[_>>2]|0){case 3073:{c[f>>2]=~~+h[U>>3];break};case 3080:{h[g>>3]=+h[U>>3];break};case 3102:{c[j>>2]=~~+h[U>>3];c[k>>2]=~~+h[V>>3];c[l>>2]=~~+h[W>>3];break};case 3079:{h[m>>3]=+h[U>>3];h[n>>3]=+h[V>>3];h[o>>3]=+h[W>>3];h[p>>3]=+h[S>>3];h[q>>3]=+h[X>>3];h[r>>3]=+h[Y>>3];a[s]=1;break};case 3109:{c[t>>2]=~~+h[U>>3];break};case 2:{c[u>>2]=~~+h[U>>3];break};case 3074:{h[v>>3]=+h[U>>3];break};case 15:{c[w>>2]=~~+h[U>>3];break};case 3077:{c[x>>2]=~~+h[U>>3];break};case 3075:{h[y>>3]=+h[U>>3];break};case 3108:{c[z>>2]=~~+h[U>>3];break};case 3072:{c[A>>2]=~~+h[U>>3];break};case 1:{c[B>>2]=~~+h[U>>3];break};case 3:{c[C>>2]=~~+h[U>>3];break};case 3076:{h[D>>3]=+h[U>>3];break};case 17:{c[E>>2]=~~+h[U>>3];break};case 0:{c[d>>2]=~~+h[U>>3];break};case 5:{h[G>>3]=+h[U>>3];h[H>>3]=+h[V>>3];h[I>>3]=+h[W>>3];h[J>>3]=+h[S>>3];break};case 13:{c[K>>2]=~~+h[U>>3];break};case 4:{c[L>>2]=~~+h[U>>3];break};case 3078:{c[M>>2]=~~+h[U>>3];break};case 18:{c[N>>2]=~~+h[U>>3];c[O>>2]=~~+h[V>>3];break};case 16:{c[P>>2]=~~+h[U>>3];break};default:{}}c[T>>2]=0}if((Z|0)<(R|0)){}else{T=38;break}}if((T|0)==38){i=F;return}}function eo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0;g=i;a[f+48|0]=0;n=f+108|0;c[n>>2]=0;B=f+152|0;c[B>>2]=0;u=f+212|0;c[u>>2]=0;t=f+256|0;c[t>>2]=0;p=f+264|0;h[p>>3]=.039625;q=f+272|0;c[q>>2]=7;v=f+276|0;c[v>>2]=1;o=f+288|0;a[o]=0;s=f+304|0;a[s]=0;E=f+408|0;c[E>>2]=0;C=f+512|0;c[C>>2]=0;A=f+517|0;a[A]=0;z=f+520|0;h[z>>3]=0.0;r=f+528|0;c[r>>2]=0;m=f+536|0;h[m>>3]=.06;D=f+544|0;y=f+548|0;k=f+552|0;l=f+560|0;w=f+568|0;h[w>>3]=0.0;x=f+576|0;a[x]=0;bX(D|0,0,17)|0;if((d|0)==0|(e|0)==0){i=g;return}F=b+1144|0;c[F>>2]=0;j=b+352|0;G=e+d|0;if((e|0)<=0){i=g;return}K=b+368|0;H=f+280|0;I=f+296|0;J=f+516|0;e=b+361|0;L=d;while(1){L=bo(b,L,0,j)|0;if((a[j]&1)==0){j=40;break}M=(c[F>>2]|0)+ -1|0;if((a[b+360+(M<<4)|0]&1)==0){c[F>>2]=M;switch(c[b+360+(M<<4)+8>>2]|0){case 20:{h[k>>3]=+h[K>>3];a[l]=a[e]&1;break};case 3090:{h[m>>3]=+h[K>>3];break};case 6:{M=(M|0)>14?14:M;if((M|0)>0){O=0;P=0;do{P=~~+h[b+360+(O<<4)+8>>3]+P|0;c[f+52+(O<<2)>>2]=P;O=O+1|0;}while((O|0)<(M|0))}c[n>>2]=M;break};case 10:{h[H>>3]=+h[K>>3];a[o]=1;break};case 3081:{h[p>>3]=+h[K>>3];break};case 3082:{c[q>>2]=~~+h[K>>3];break};case 3089:{c[r>>2]=~~+h[K>>3];break};case 11:{h[I>>3]=+h[K>>3];a[s]=1;break};case 9:{O=(M|0)>10?10:M;if((O|0)>0){M=0;P=0;do{P=~~+h[b+360+(M<<4)+8>>3]+P|0;c[f+216+(M<<2)>>2]=P;M=M+1|0;}while((M|0)<(O|0))}c[t>>2]=O;break};case 8:{M=(M|0)>14?14:M;if((M|0)>0){O=0;P=0;do{P=~~+h[b+360+(O<<4)+8>>3]+P|0;c[f+156+(O<<2)>>2]=P;O=O+1|0;}while((O|0)<(M|0))}c[u>>2]=M;break};case 3083:{c[v>>2]=~~+h[K>>3];break};case 21:{h[w>>3]=+h[K>>3];a[x]=a[e]&1;break};case 19:{c[y>>2]=~~+h[K>>3]+d;break};case 3087:{h[z>>3]=+h[K>>3];break};case 3086:{a[J]=+h[K>>3]!=0.0|0;a[A]=1;break};case 7:{M=(M|0)>10?10:M;if((M|0)>0){O=0;P=0;do{P=~~+h[b+360+(O<<4)+8>>3]+P|0;c[f+112+(O<<2)>>2]=P;O=O+1|0;}while((O|0)<(M|0))}c[B>>2]=M;break};case 3085:{M=(M|0)>12?12:M;if((M|0)>0){O=0;N=0.0;do{N=N+ +h[b+360+(O<<4)+8>>3];h[f+416+(O<<3)>>3]=N;O=O+1|0;}while((O|0)<(M|0))}c[C>>2]=M;break};case 3091:{c[D>>2]=~~+h[K>>3];break};case 3084:{M=(M|0)>12?12:M;if((M|0)>0){O=0;N=0.0;do{N=N+ +h[b+360+(O<<4)+8>>3];h[f+312+(O<<3)>>3]=N;O=O+1|0;}while((O|0)<(M|0))}c[E>>2]=M;break};default:{}}c[F>>2]=0}if((L|0)<(G|0)){}else{j=40;break}}if((j|0)==40){i=g;return}}function fo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=i;q=b+1144|0;c[q>>2]=0;u=e+d|0;v=b+352|0;e=b+368|0;w=b+384|0;x=b+400|0;y=b+416|0;s=b+432|0;t=b+448|0;k=0.0;l=0.0;r=0.0;m=0.0;n=0.0;o=0.0;p=0;a:while(1){do{if((d|0)>=(u|0)){q=0;e=0;break a}d=bo(b,d,0,v)|0;if((a[v]&1)==0){g=14;break a}z=c[q>>2]|0;A=z+ -1|0;}while((a[b+360+(A<<4)|0]&1)!=0);A=c[b+360+(A<<4)+8>>2]|0;if((A|0)==18){g=7;break}else if((A|0)==3079){k=+h[e>>3];l=+h[w>>3];r=+h[x>>3];m=+h[y>>3];n=+h[s>>3];o=+h[t>>3];p=1}c[q>>2]=0}if((g|0)==14){i=j;return}do{if((g|0)==7){if((z|0)>=3){q=~~+h[w>>3];e=~~+h[e>>3];break}a[v]=0;i=j;return}}while(0);eo(b,q,e,f);if(!p){i=j;return}h[f>>3]=k;h[f+8>>3]=l;h[f+16>>3]=r;h[f+24>>3]=m;h[f+32>>3]=n;h[f+40>>3]=o;a[f+48|0]=1;i=j;return}function go(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;e=b+332|0;g=we(c[e>>2]|0)|0;f=b+340|0;c[f>>2]=g;l=c[b+324>>2]|0;if((l|0)==0){if((c[e>>2]|0)>0){b=0}else{i=d;return}while(1){a[g+b|0]=0;b=b+1|0;if((b|0)>=(c[e>>2]|0)){break}g=c[f>>2]|0}i=d;return}j=l+1|0;g=b+352|0;h=SG(b,l,g)|0;if((a[g]&1)==0){i=d;return}if((h|0)==0){if(XG(b,j,c[e>>2]|0)|0){$W(c[f>>2]|0,(c[b+8>>2]|0)+j|0,c[e>>2]|0)|0;i=d;return}else{a[g]=0;i=d;return}}else if((h|0)==3){h=UG(b,j,g)|0;k=UG(b,l+3|0,g)|0;if((h|0)<1){i=d;return}j=1;m=l+5|0;while(1){n=SG(b,m,g)|0;l=UG(b,m+1|0,g)|0;if((a[g]&1)==0){e=22;break}m=m+3|0;if((k|0)>(l|0)){e=18;break}if((l|0)>(c[e>>2]|0)){e=18;break}if((k|0)<(l|0)){n=n&255;do{a[(c[f>>2]|0)+k|0]=n;k=k+1|0;}while((k|0)<(l|0))}if((j|0)<(h|0)){j=j+1|0;k=l}else{e=22;break}}if((e|0)==18){a[g]=0;i=d;return}else if((e|0)==22){i=d;return}}else{if((c[e>>2]|0)>0){b=0}else{i=d;return}do{a[(c[f>>2]|0)+b|0]=0;b=b+1|0;}while((b|0)<(c[e>>2]|0));i=d;return}}function ho(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;h=d+288|0;f=c[h>>2]|0;if((f|0)==2){c[d+344>>2]=201472;o=1;i=e;return o|0}else if((f|0)==0){c[d+344>>2]=200672;o=1;i=e;return o|0}else if((f|0)==1){c[d+344>>2]=201136;o=1;i=e;return o|0}else{f=d+332|0;j=ye(c[f>>2]|0,2)|0;g=d+344|0;c[g>>2]=j;a:do{if((c[f>>2]|0)>0){k=0;while(1){b[j+(k<<1)>>1]=0;k=k+1|0;if((k|0)>=(c[f>>2]|0)){break a}j=c[g>>2]|0}}}while(0);j=c[h>>2]|0;k=j+1|0;h=d+352|0;j=SG(d,j,h)|0;b:do{if((j|0)==0){if((c[f>>2]|0)>1){j=1}else{break}while(1){o=(UG(d,k,h)|0)&65535;b[(c[g>>2]|0)+(j<<1)>>1]=o;if((a[h]&1)==0){break b}j=j+1|0;if((j|0)<(c[f>>2]|0)){k=k+2|0}else{break}}}else if((j|0)==1){if((c[f>>2]|0)>1){l=1}else{break}while(1){m=UG(d,k,h)|0;j=k+3|0;k=SG(d,k+2|0,h)|0;if((a[h]&1)==0){break b}c:do{if((k|0)>=0){o=0;while(1){if((l|0)>=(c[f>>2]|0)){break c}n=l+1|0;b[(c[g>>2]|0)+(l<<1)>>1]=m;if((o|0)<(k|0)){m=m+1|0;l=n;o=o+1|0}else{l=n;break}}}}while(0);if((l|0)<(c[f>>2]|0)){k=j}else{break}}}else if((j|0)==2){if((c[f>>2]|0)>1){m=1}else{break}do{l=UG(d,k,h)|0;j=UG(d,k+2|0,h)|0;k=k+4|0;if((a[h]&1)==0){break b}d:do{if((j|0)>=0){o=0;while(1){if((m|0)>=(c[f>>2]|0)){break d}n=m+1|0;b[(c[g>>2]|0)+(m<<1)>>1]=l;if((o|0)<(j|0)){l=l+1|0;m=n;o=o+1|0}else{m=n;break}}}}while(0);}while((m|0)<(c[f>>2]|0))}}while(0);if((a[h]&1)!=0){o=1;i=e;return o|0}Fe(c[g>>2]|0);c[g>>2]=0;o=0;i=e;return o|0}return 0}function io(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=i;h=i;i=i+8|0;g=h;o=i;i=i+8|0;n=o;p=i;i=i+8|0;q=p;f=i;i=i+256|0;j=f;l=d+292|0;k=c[l>>2]|0;if((k|0)==1){c[d+24>>2]=197136;i=e;return}else if((k|0)==0){c[d+24>>2]=193784;i=e;return}else{m=ye(256,4)|0;k=d+24|0;c[k>>2]=m;r=0;while(1){c[m+(r<<2)>>2]=0;r=r+1|0;if((r|0)>=256){break}m=c[k>>2]|0}x=c[l>>2]|0;v=x+1|0;l=d+352|0;m=SG(d,x,l)|0;if((a[l]&1)==0){i=e;return}r=m&127;a:do{if((r|0)==1){q=SG(d,v,l)|0;if((a[l]&1)==0){i=e;return}v=x+2|0;if((q|0)<=0){break}r=d+332|0;u=d+344|0;p=d+68|0;s=n+4|0;t=d+8|0;w=0;y=1;while(1){A=SG(d,v,l)|0;x=SG(d,x+3|0,l)|0;if((a[l]&1)==0){break}b:do{if((x|0)>=0){z=0;while(1){if((y|0)>=(c[r>>2]|0)){break b}if((A|0)<256){B=c[(c[k>>2]|0)+(A<<2)>>2]|0;if((B|0)!=0){Fe(B)}C=b[(c[u>>2]|0)+(y<<1)>>1]|0;B=C&65535;do{if((C&65535)<391){eX(j|0,c[199104+(B<<2)>>2]|0)|0}else{ao(d,p,B+ -391|0,n,l);if((a[l]&1)==0){a[f]=0;break}else{B=c[s>>2]|0;C=(B|0)>255?255:B;hX(j|0,(c[t>>2]|0)+(c[o>>2]|0)|0,C|0)|0;a[j+C|0]=0;break}}}while(0);C=Ge(j)|0;c[(c[k>>2]|0)+(A<<2)>>2]=C}y=y+1|0;if((z|0)>=(x|0)){break b}A=A+1|0;z=z+1|0}}}while(0);w=w+1|0;x=v+2|0;if((w|0)<(q|0)){C=v;v=x;x=C}else{v=x;break a}}i=e;return}else if((r|0)==0){n=SG(d,v,l)|0;if((a[l]&1)==0){i=e;return}v=x+2|0;o=c[d+332>>2]|0;n=(n|0)<(o|0)?n+1|0:o;if((n|0)<=1){break}s=d+344|0;o=d+68|0;t=q+4|0;r=d+8|0;w=1;while(1){u=v+1|0;v=SG(d,v,l)|0;if((a[l]&1)==0){break}x=c[(c[k>>2]|0)+(v<<2)>>2]|0;if((x|0)!=0){Fe(x)}C=b[(c[s>>2]|0)+(w<<1)>>1]|0;x=C&65535;do{if((C&65535)<391){eX(j|0,c[199104+(x<<2)>>2]|0)|0}else{ao(d,o,x+ -391|0,q,l);if((a[l]&1)==0){a[f]=0;break}else{x=c[t>>2]|0;C=(x|0)>255?255:x;hX(j|0,(c[r>>2]|0)+(c[p>>2]|0)|0,C|0)|0;a[j+C|0]=0;break}}}while(0);C=Ge(j)|0;c[(c[k>>2]|0)+(v<<2)>>2]=C;w=w+1|0;if((w|0)<(n|0)){v=u}else{v=u;break a}}i=e;return}}while(0);if((m&128|0)==0){i=e;return}p=SG(d,v,l)|0;if(!((a[l]&1)!=0&(p|0)>0)){i=e;return}m=d+68|0;n=g+4|0;o=d+8|0;q=0;r=v+1|0;while(1){s=SG(d,r,l)|0;if((a[l]&1)==0){d=52;break}t=UG(d,r+1|0,l)|0;r=r+3|0;if((a[l]&1)==0){d=52;break}u=c[(c[k>>2]|0)+(s<<2)>>2]|0;if((u|0)!=0){Fe(u)}do{if((t|0)<391){eX(j|0,c[199104+(t<<2)>>2]|0)|0}else{ao(d,m,t+ -391|0,g,l);if((a[l]&1)==0){a[f]=0;break}else{t=c[n>>2]|0;C=(t|0)>255?255:t;hX(j|0,(c[o>>2]|0)+(c[h>>2]|0)|0,C|0)|0;a[j+C|0]=0;break}}}while(0);C=Ge(j)|0;c[(c[k>>2]|0)+(s<<2)>>2]=C;q=q+1|0;if((q|0)>=(p|0)){d=52;break}}if((d|0)==52){i=e;return}}}function jo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;a[b]=d&1;d=b+4|0;c[d>>2]=7;g=ye(7,4)|0;f=b+12|0;c[f>>2]=g;if((c[d>>2]|0)>0){h=0}else{h=b+8|0;c[h>>2]=0;i=e;return}while(1){c[g+(h<<2)>>2]=0;h=h+1|0;if((h|0)>=(c[d>>2]|0)){break}g=c[f>>2]|0}h=b+8|0;c[h>>2]=0;i=e;return}function ko(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;f=b+4|0;h=c[f>>2]|0;e=b+12|0;if((h|0)<=0){l=c[e>>2]|0;Fe(l);i=d;return}j=c[e>>2]|0;g=0;do{k=j+(g<<2)|0;l=c[k>>2]|0;if((l|0)!=0){h=l;do{c[k>>2]=c[h+8>>2];do{if((a[b]&1)!=0){j=c[h>>2]|0;if((j|0)==0){break}ke(j);HW(j)}}while(0);HW(h);j=c[e>>2]|0;k=j+(g<<2)|0;h=c[k>>2]|0;}while((h|0)!=0);h=c[f>>2]|0}g=g+1|0;}while((g|0)<(h|0));Fe(j);i=d;return}function lo(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;g=a+8|0;j=a+4|0;if((c[g>>2]|0)>=(c[j>>2]|0)){mo(a)}f=FW(12)|0;c[f>>2]=b;c[f+4>>2]=e;e=c[b+24>>2]|0;if((e|0)>0){l=0;k=0;b=c[b+28>>2]|0;while(1){l=(d[b]|0)+(l*17|0)|0;k=k+1|0;if((k|0)<(e|0)){b=b+1|0}else{break}}}else{l=0}l=(c[a+12>>2]|0)+(((l>>>0)%((c[j>>2]|0)>>>0)|0)<<2)|0;c[f+8>>2]=c[l>>2];c[l>>2]=f;c[g>>2]=(c[g>>2]|0)+1;i=h;return}function mo(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;b=a+4|0;f=c[b>>2]|0;a=a+12|0;g=c[a>>2]|0;h=f<<1|1;c[b>>2]=h;h=ye(h,4)|0;c[a>>2]=h;a:do{if((c[b>>2]|0)>0){j=0;while(1){c[h+(j<<2)>>2]=0;j=j+1|0;if((j|0)>=(c[b>>2]|0)){break a}h=c[a>>2]|0}}}while(0);if((f|0)>0){j=0}else{Fe(g);i=e;return}do{h=g+(j<<2)|0;k=c[h>>2]|0;if((k|0)!=0){do{l=k+8|0;c[h>>2]=c[l>>2];n=c[k>>2]|0;m=c[n+24>>2]|0;if((m|0)>0){p=0;o=0;n=c[n+28>>2]|0;while(1){p=(d[n]|0)+(p*17|0)|0;o=o+1|0;if((o|0)<(m|0)){n=n+1|0}else{break}}}else{p=0}p=(p>>>0)%((c[b>>2]|0)>>>0)|0;c[l>>2]=c[(c[a>>2]|0)+(p<<2)>>2];c[(c[a>>2]|0)+(p<<2)>>2]=k;k=c[h>>2]|0;}while((k|0)!=0)}j=j+1|0;}while((j|0)<(f|0));Fe(g);i=e;return}function no(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;g=a+8|0;j=a+4|0;if((c[g>>2]|0)>=(c[j>>2]|0)){mo(a)}f=FW(12)|0;c[f>>2]=b;c[f+4>>2]=e;e=c[b+24>>2]|0;if((e|0)>0){l=0;k=0;b=c[b+28>>2]|0;while(1){l=(d[b]|0)+(l*17|0)|0;k=k+1|0;if((k|0)<(e|0)){b=b+1|0}else{break}}}else{l=0}l=(c[a+12>>2]|0)+(((l>>>0)%((c[j>>2]|0)>>>0)|0)<<2)|0;c[f+8>>2]=c[l>>2];c[l>>2]=f;c[g>>2]=(c[g>>2]|0)+1;i=h;return}function oo(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;h=c[b+24>>2]|0;if((h|0)>0){k=0;j=0;g=c[b+28>>2]|0;while(1){k=(d[g]|0)+(k*17|0)|0;j=j+1|0;if((j|0)<(h|0)){g=g+1|0}else{break}}}else{k=0}a=c[(c[a+12>>2]|0)+(((k>>>0)%((c[a+4>>2]|0)>>>0)|0)<<2)>>2]|0;if((a|0)==0){k=0;i=e;return k|0}while(1){if((se(c[a>>2]|0,b)|0)==0){break}a=c[a+8>>2]|0;if((a|0)==0){b=0;f=8;break}}if((f|0)==8){i=e;return b|0}k=c[a+4>>2]|0;i=e;return k|0}function po(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;g=a[d]|0;if(g<<24>>24==0){j=0}else{j=0;h=d;while(1){j=(j*17|0)+(g&255)|0;h=h+1|0;g=a[h]|0;if(g<<24>>24==0){break}else{}}}b=c[(c[b+12>>2]|0)+(((j>>>0)%((c[b+4>>2]|0)>>>0)|0)<<2)>>2]|0;if((b|0)==0){j=0;i=f;return j|0}while(1){if((te(c[b>>2]|0,d)|0)==0){break}b=c[b+8>>2]|0;if((b|0)==0){d=0;e=7;break}}if((e|0)==7){i=f;return d|0}j=c[b+4>>2]|0;i=f;return j|0}function qo(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;j=c[e+24>>2]|0;if((j|0)>0){k=0;l=0;h=c[e+28>>2]|0;while(1){k=(d[h]|0)+(k*17|0)|0;l=l+1|0;if((l|0)<(j|0)){h=h+1|0}else{break}}}else{k=0}j=(k>>>0)%((c[b+4>>2]|0)>>>0)|0;k=b+12|0;h=c[(c[k>>2]|0)+(j<<2)>>2]|0;if((h|0)==0){l=0;i=f;return l|0}while(1){if((se(c[h>>2]|0,e)|0)==0){break}h=c[h+8>>2]|0;if((h|0)==0){b=0;g=13;break}}if((g|0)==13){i=f;return b|0}g=(c[k>>2]|0)+(j<<2)|0;while(1){e=c[g>>2]|0;if((e|0)==(h|0)){break}else{g=e+8|0}}c[g>>2]=c[h+8>>2];do{if((a[b]&1)!=0){g=c[h>>2]|0;if((g|0)==0){break}ke(g);HW(g)}}while(0);l=c[h+4>>2]|0;HW(h);k=b+8|0;c[k>>2]=(c[k>>2]|0)+ -1;i=f;return l|0}function ro(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;j=c[e+24>>2]|0;if((j|0)>0){k=0;l=0;h=c[e+28>>2]|0;while(1){k=(d[h]|0)+(k*17|0)|0;l=l+1|0;if((l|0)<(j|0)){h=h+1|0}else{break}}}else{k=0}j=(k>>>0)%((c[b+4>>2]|0)>>>0)|0;k=b+12|0;h=c[(c[k>>2]|0)+(j<<2)>>2]|0;if((h|0)==0){l=0;i=f;return l|0}while(1){if((se(c[h>>2]|0,e)|0)==0){break}h=c[h+8>>2]|0;if((h|0)==0){b=0;g=13;break}}if((g|0)==13){i=f;return b|0}g=(c[k>>2]|0)+(j<<2)|0;while(1){e=c[g>>2]|0;if((e|0)==(h|0)){break}else{g=e+8|0}}c[g>>2]=c[h+8>>2];do{if((a[b]&1)!=0){g=c[h>>2]|0;if((g|0)==0){break}ke(g);HW(g)}}while(0);l=c[h+4>>2]|0;HW(h);k=b+8|0;c[k>>2]=(c[k>>2]|0)+ -1;i=f;return l|0}function so(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;g=a[d]|0;if(g<<24>>24==0){j=0}else{j=0;h=d;while(1){j=(j*17|0)+(g&255)|0;h=h+1|0;g=a[h]|0;if(g<<24>>24==0){break}else{}}}h=(j>>>0)%((c[b+4>>2]|0)>>>0)|0;j=b+12|0;g=c[(c[j>>2]|0)+(h<<2)>>2]|0;if((g|0)==0){j=0;i=e;return j|0}while(1){if((te(c[g>>2]|0,d)|0)==0){break}g=c[g+8>>2]|0;if((g|0)==0){b=0;f=12;break}}if((f|0)==12){i=e;return b|0}d=(c[j>>2]|0)+(h<<2)|0;while(1){f=c[d>>2]|0;if((f|0)==(g|0)){break}else{d=f+8|0}}c[d>>2]=c[g+8>>2];do{if((a[b]&1)!=0){f=c[g>>2]|0;if((f|0)==0){break}ke(f);HW(f)}}while(0);j=c[g+4>>2]|0;HW(g);h=b+8|0;c[h>>2]=(c[h>>2]|0)+ -1;i=e;return j|0}function to(a,b){a=a|0;b=b|0;var d=0;a=i;d=FW(8)|0;c[b>>2]=d;c[d>>2]=-1;c[d+4>>2]=0;i=a;return}function uo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;j=c[b>>2]|0;if((j|0)==0){k=0;i=f;return k|0}k=j+4|0;h=c[k>>2]|0;if((h|0)==0){h=j;g=4}else{c[k>>2]=c[h+8>>2];h=c[b>>2]|0;j=c[h+4>>2]|0;if((j|0)==0){g=4}}a:do{if((g|0)==4){g=a+4|0;a=a+12|0;while(1){k=(c[h>>2]|0)+1|0;c[h>>2]=k;h=c[b>>2]|0;if((k|0)==(c[g>>2]|0)){break}c[h+4>>2]=c[(c[a>>2]|0)+(c[h>>2]<<2)>>2];h=c[b>>2]|0;j=c[h+4>>2]|0;if((j|0)!=0){break a}}if((h|0)!=0){HW(h)}c[b>>2]=0;k=0;i=f;return k|0}}while(0);c[d>>2]=c[j>>2];c[e>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2];k=1;i=f;return k|0}function vo(a,b){a=a|0;b=b|0;var d=0;a=i;d=c[b>>2]|0;if((d|0)!=0){HW(d)}c[b>>2]=0;i=a;return}function wo(a){a=a|0;var b=0;b=i;c[a+4>>2]=8;c[a>>2]=ye(8,4)|0;c[a+8>>2]=0;c[a+12>>2]=0;i=b;return}function xo(a){a=a|0;var b=0;b=i;Fe(c[a>>2]|0);i=b;return}function yo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=a+8|0;h=c[e>>2]|0;g=a+4|0;f=c[g>>2]|0;if((h|0)<(f|0)){a=c[a>>2]|0}else{h=c[a+12>>2]|0;h=((h|0)>0?h:f)+f|0;c[g>>2]=h;g=Ce(c[a>>2]|0,h,4)|0;c[a>>2]=g;h=c[e>>2]|0;a=g}c[e>>2]=h+1;c[a+(h<<2)>>2]=b;i=d;return}function zo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;e=a+8|0;j=c[e>>2]|0;h=a+4|0;g=c[h>>2]|0;if((j|0)>=(g|0)){j=c[a+12>>2]|0;j=((j|0)>0?j:g)+g|0;c[h>>2]=j;c[a>>2]=Ce(c[a>>2]|0,j,4)|0;j=c[e>>2]|0}if((j|0)>(b|0)){h=c[a>>2]|0;aX(h+(b+1<<2)|0,h+(b<<2)|0,j-b<<2|0)|0}c[(c[a>>2]|0)+(b<<2)>>2]=d;c[e>>2]=(c[e>>2]|0)+1;i=f;return}function Ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;g=c[a>>2]|0;h=g+(b<<2)|0;e=c[h>>2]|0;f=a+8|0;j=c[f>>2]|0;if((j+ -1|0)>(b|0)){aX(h|0,g+(b+1<<2)|0,(j-b<<2)+ -4|0)|0;j=c[f>>2]|0}g=j+ -1|0;c[f>>2]=g;b=a+4|0;f=c[b>>2]|0;j=c[a+12>>2]|0;k=(j|0)>0;if(k){h=j}else{h=(f|0)/2|0}if((f-g|0)<(h|0)){i=d;return e|0}if(!k){j=(f|0)/2|0}k=f-j|0;c[b>>2]=k;c[a>>2]=Ce(c[a>>2]|0,k,4)|0;i=d;return e|0}function Bo(){var a=0,b=0,d=0;a=i;b=Tc(53840)|0;if((b|0)!=0){d=FW(32)|0;fe(d,b);i=a;return d|0}b=Tc(53848)|0;if((b|0)==0){b=Rc(Ac()|0)|0}else{b=Pb(b|0)|0}d=FW(32)|0;if((b|0)==0){fe(d,53856);i=a;return d|0}else{fe(d,c[b+20>>2]|0);i=a;return d|0}return 0}function Co(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;if((Qc(d|0,53856)|0)==0){i=e;return b|0}g=(Qc(d|0,53864)|0)==0;f=c[b+24>>2]|0;if(!g){do{if((f|0)>0){if((a[(c[b+28>>2]|0)+(f+ -1)|0]|0)==47){break}me(b,47)|0}}while(0);ne(b,d,-1)|0;i=e;return b|0}g=f+ -2|0;d=c[b+28>>2]|0;a:do{if((g|0)>-1){while(1){if((a[d+g|0]|0)==47){break}if((g|0)>0){g=g+ -1|0}else{break a}}if((g|0)<1){break}re(b,g,f-g|0)|0;i=e;return b|0}}while(0);if((a[d]|0)==47){re(b,1,f+ -1|0)|0;i=e;return b|0}else{le(b)|0;ne(b,53864,-1)|0;i=e;return b|0}return 0}function Do(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;c=c+ -1|0;g=0;while(1){if((g|0)>=(c|0)){break}j=qc(d|0)|0;if((j|0)==-1){break}h=g+1|0;a[b+g|0]=j;if((j|0)==13){f=5;break}else if((j|0)==10){g=h;break}else{g=h}}do{if((f|0)==5){f=qc(d|0)|0;if((f|0)==10&(h|0)<(c|0)){a[b+h|0]=10;g=g+2|0;break}if((f|0)==-1){g=h;break}Ec(f|0,d|0)|0;g=h}}while(0);a[b+g|0]=0;i=e;return((g|0)==0?0:b)|0}function Eo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;h=i;i=i+80|0;j=FW(32)|0;fe(j,e);c[b>>2]=j;j=b+8|0;a[j]=0;k=FW(32)|0;fe(k,d);b=b+4|0;c[b>>2]=k;Co(k,e)|0;if(!f){i=g;return}if((Nb(c[(c[b>>2]|0)+28>>2]|0,h|0)|0)!=0){i=g;return}a[j]=(c[h+12>>2]&61440|0)==16384|0;i=g;return}function Fo(a){a=a|0;var b=0,d=0;b=i;d=c[a+4>>2]|0;if((d|0)!=0){ke(d);HW(d)}a=c[a>>2]|0;if((a|0)==0){i=b;return}ke(a);HW(a);i=b;return}function Go(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;g=FW(32)|0;fe(g,d);c[b>>2]=g;a[b+4|0]=e&1;c[b+8>>2]=zb(d|0)|0;i=f;return}function Ho(a){a=a|0;var b=0,d=0;b=i;d=c[a>>2]|0;if((d|0)!=0){ke(d);HW(d)}a=c[a+8>>2]|0;if((a|0)==0){i=b;return}qb(a|0)|0;i=b;return}function Io(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;f=b+8|0;g=c[f>>2]|0;if((g|0)==0){g=0;i=d;return g|0}g=eb(g|0)|0;if((g|0)==0){g=0;i=d;return g|0}while(1){g=g+11|0;if((Qc(g|0,53856)|0)!=0){if((Qc(g|0,53864)|0)!=0){break}}g=eb(c[f>>2]|0)|0;if((g|0)==0){b=0;e=7;break}}if((e|0)==7){i=d;return b|0}f=FW(12)|0;Eo(f,c[(c[b>>2]|0)+28>>2]|0,g,(a[b+4|0]&1)!=0);g=f;i=d;return g|0}function Jo(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0;g=i;c[b>>2]=d;j=b+188|0;a[j]=e&1;k=FW(152)|0;Hq(k,c[d>>2]|0,c[d+4>>2]|0,e,f);c[b+4>>2]=k;if((a[j]&1)==0){c[b+8>>2]=0;j=b;j=c[j>>2]|0;d=j;d=c[d>>2]|0;k=b+168|0;c[k>>2]=d;j=j+4|0;j=c[j>>2]|0;k=b+172|0;c[k>>2]=j;k=b+176|0;c[k>>2]=-1;k=b+180|0;c[k>>2]=-1;k=b+189|0;a[k]=0;i=g;return}else{j=FW(28)|0;Ke(j,c[c[b>>2]>>2]<<2,4,1,0,0,1);c[b+8>>2]=j;h[b+32>>3]=0.0;h[b+40>>3]=.015625;h[b+48>>3]=.04419417382415922;h[b+56>>3]=.08118988160479113;h[b+64>>3]=.125;h[b+72>>3]=.17469281074217108;h[b+80>>3]=.22963966338592295;h[b+88>>3]=.2893790496476896;h[b+96>>3]=.3535533905932738;h[b+104>>3]=.421875;h[b+112>>3]=.49410588440130926;h[b+120>>3]=.5700448858423344;h[b+128>>3]=.649519052838329;h[b+136>>3]=.7323776028286229;h[b+144>>3]=.8184875533567997;h[b+152>>3]=.9077304717673633;h[b+160>>3]=1.0;j=b;j=c[j>>2]|0;d=j;d=c[d>>2]|0;k=b+168|0;c[k>>2]=d;j=j+4|0;j=c[j>>2]|0;k=b+172|0;c[k>>2]=j;k=b+176|0;c[k>>2]=-1;k=b+180|0;c[k>>2]=-1;k=b+189|0;a[k]=0;i=g;return}}function Ko(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0;g=i;c[b>>2]=d;j=b+188|0;a[j]=e&1;k=FW(152)|0;Iq(k,c[d>>2]|0,c[d+4>>2]|0,e,f);c[b+4>>2]=k;if((a[j]&1)==0){c[b+8>>2]=0;j=b;j=c[j>>2]|0;d=j;d=c[d>>2]|0;k=b+168|0;c[k>>2]=d;j=j+4|0;j=c[j>>2]|0;k=b+172|0;c[k>>2]=j;k=b+176|0;c[k>>2]=-1;k=b+180|0;c[k>>2]=-1;k=b+189|0;a[k]=0;i=g;return}else{j=FW(28)|0;Ke(j,c[c[b>>2]>>2]<<2,4,1,0,0,1);c[b+8>>2]=j;h[b+32>>3]=0.0;h[b+40>>3]=.015625;h[b+48>>3]=.04419417382415922;h[b+56>>3]=.08118988160479113;h[b+64>>3]=.125;h[b+72>>3]=.17469281074217108;h[b+80>>3]=.22963966338592295;h[b+88>>3]=.2893790496476896;h[b+96>>3]=.3535533905932738;h[b+104>>3]=.421875;h[b+112>>3]=.49410588440130926;h[b+120>>3]=.5700448858423344;h[b+128>>3]=.649519052838329;h[b+136>>3]=.7323776028286229;h[b+144>>3]=.8184875533567997;h[b+152>>3]=.9077304717673633;h[b+160>>3]=1.0;j=b;j=c[j>>2]|0;d=j;d=c[d>>2]|0;k=b+168|0;c[k>>2]=d;j=j+4|0;j=c[j>>2]|0;k=b+172|0;c[k>>2]=j;k=b+176|0;c[k>>2]=-1;k=b+180|0;c[k>>2]=-1;k=b+189|0;a[k]=0;i=g;return}}function Lo(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;e=b+4|0;g=c[e>>2]|0;f=c[g+144>>2]|0;if((f|0)!=0){do{c[e>>2]=f;if((g|0)==0){g=f}else{Kq(g);HW(g);g=c[e>>2]|0}f=c[g+144>>2]|0;}while((f|0)!=0)}if((g|0)!=0){Kq(g);HW(g)}if((a[b+188|0]&1)==0){i=d;return}b=c[b+8>>2]|0;if((b|0)==0){i=d;return}Le(b);HW(b);i=d;return}function Mo(a){a=a|0;var b=0,d=0,e=0;b=i;d=a+4|0;e=c[d>>2]|0;a=c[e+144>>2]|0;if((a|0)==0){e=4;i=b;return e|0}c[d>>2]=a;if((e|0)==0){e=0;i=b;return e|0}Kq(e);HW(e);e=0;i=b;return e|0}function No(a){a=a|0;i=i;return c[a+4>>2]|0}function Oo(a){a=a|0;i=i;return c[(c[a+4>>2]|0)+56>>2]|0}function Po(a,b){a=a|0;b=b|0;var d=0;d=i;$W(c[a+4>>2]|0,b|0,48)|0;i=d;return}function Qo(a,b){a=a|0;b=b|0;var d=0;d=i;Lq(c[a+4>>2]|0,b);i=d;return}function Ro(a,b){a=a|0;b=b|0;var d=0;d=i;Mq(c[a+4>>2]|0,b);i=d;return}function So(a,b){a=a|0;b=b|0;c[(c[a+4>>2]|0)+60>>2]=b;i=i;return}function To(a,b){a=a|0;b=+b;h[(c[a+4>>2]|0)+64>>3]=b;i=i;return}function Uo(a,b){a=a|0;b=+b;h[(c[a+4>>2]|0)+72>>3]=b;i=i;return}function Vo(a,b){a=a|0;b=+b;h[(c[a+4>>2]|0)+80>>3]=b;i=i;return}function Wo(a,b){a=a|0;b=b|0;c[(c[a+4>>2]|0)+88>>2]=b;i=i;return}function Xo(a,b){a=a|0;b=b|0;c[(c[a+4>>2]|0)+92>>2]=b;i=i;return}function Yo(a,b){a=a|0;b=+b;h[(c[a+4>>2]|0)+96>>3]=b;i=i;return}function Zo(a,b){a=a|0;b=+b;h[(c[a+4>>2]|0)+104>>3]=b<1.0?1.0:b;i=i;return}function _o(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0;f=i;Nq(c[a+4>>2]|0,b,d,e);i=f;return}function $o(b,d){b=b|0;d=d|0;a[(c[b+4>>2]|0)+128|0]=d&1;i=i;return}function ap(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;a=c[a+4>>2]|0;a=Ip(c[a+132>>2]|0,b,a,+h[a+104>>3],d)|0;i=e;return a|0}function bp(a,b){a=a|0;b=b|0;var d=0;d=i;Oq(c[a+4>>2]|0,b);i=d;return}function cp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+16>>2]=d;c[b+20>>2]=e;c[b+24>>2]=f;a[(c[b+4>>2]|0)+141|0]=1;i=i;return}function dp(a){a=a|0;var b=0,d=0,e=0;b=i;a=a+4|0;e=c[a>>2]|0;d=FW(152)|0;Jq(d,e);c[d+144>>2]=c[a>>2];c[a>>2]=d;i=b;return}function ep(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;g=c[b>>2]|0;a:do{switch(c[g+16>>2]|0){case 3:{j=a[d]|0;h=d+1|0;do{if(j<<24>>24==(a[h]|0)){if(j<<24>>24!=(a[d+2|0]|0)){break}d=c[g+12>>2]|0;h=c[g+20>>2]|0;g=c[g+4>>2]|0;if((d|0)<0){bX(h+(da(g+ -1|0,d)|0)|0,j|0,da(g,0-d|0)|0)|0;break a}else{bX(h|0,j|0,da(g,d)|0)|0;break a}}}while(0);if((c[g+4>>2]|0)<=0){break a}j=d+2|0;l=g;g=c[g+20>>2]|0;k=0;while(1){b:do{if((c[l>>2]|0)>0){l=g;n=1;while(1){a[l]=a[d]|0;a[l+1|0]=a[h]|0;a[l+2|0]=a[j]|0;m=c[b>>2]|0;if((n|0)>=(c[m>>2]|0)){break b}l=l+3|0;n=n+1|0}}else{m=l}}while(0);k=k+1|0;if((k|0)<(c[m+4>>2]|0)){l=m;g=g+(c[m+12>>2]|0)|0}else{break}}break};case 4:{j=a[d]|0;h=d+1|0;do{if(j<<24>>24==(a[h]|0)){if(j<<24>>24!=(a[d+2|0]|0)){break}d=c[g+12>>2]|0;h=c[g+20>>2]|0;g=c[g+4>>2]|0;if((d|0)<0){bX(h+(da(g+ -1|0,d)|0)|0,j|0,da(g,0-d|0)|0)|0;break a}else{bX(h|0,j|0,da(g,d)|0)|0;break a}}}while(0);if((c[g+4>>2]|0)<=0){break a}j=d+2|0;l=g;g=c[g+20>>2]|0;k=0;while(1){c:do{if((c[l>>2]|0)>0){l=g;n=1;while(1){a[l]=a[d]|0;a[l+1|0]=a[h]|0;a[l+2|0]=a[j]|0;a[l+3|0]=-1;m=c[b>>2]|0;if((n|0)>=(c[m>>2]|0)){break c}l=l+4|0;n=n+1|0}}else{m=l}}while(0);k=k+1|0;if((k|0)<(c[m+4>>2]|0)){l=m;g=g+(c[m+12>>2]|0)|0}else{break}}break};case 0:{h=a[d]>>7;j=c[g+12>>2]|0;d=c[g+20>>2]|0;g=c[g+4>>2]|0;if((j|0)<0){bX(d+(da(g+ -1|0,j)|0)|0,h|0,da(g,0-j|0)|0)|0;break a}else{bX(d|0,h|0,da(g,j)|0)|0;break a}break};case 2:{j=a[d]|0;h=d+1|0;do{if(j<<24>>24==(a[h]|0)){if(j<<24>>24!=(a[d+2|0]|0)){break}h=c[g+12>>2]|0;d=c[g+20>>2]|0;g=c[g+4>>2]|0;if((h|0)<0){bX(d+(da(g+ -1|0,h)|0)|0,j|0,da(g,0-h|0)|0)|0;break a}else{bX(d|0,j|0,da(g,h)|0)|0;break a}}}while(0);if((c[g+4>>2]|0)<=0){break a}j=d+2|0;l=g;g=c[g+20>>2]|0;k=0;while(1){d:do{if((c[l>>2]|0)>0){l=g;n=1;while(1){a[l]=a[j]|0;a[l+1|0]=a[h]|0;a[l+2|0]=a[d]|0;m=c[b>>2]|0;if((n|0)>=(c[m>>2]|0)){break d}l=l+3|0;n=n+1|0}}else{m=l}}while(0);k=k+1|0;if((k|0)<(c[m+4>>2]|0)){l=m;g=g+(c[m+12>>2]|0)|0}else{break}}break};case 1:{j=c[g+12>>2]|0;h=c[g+20>>2]|0;if((j|0)<0){n=c[g+4>>2]|0;m=h+(da(n+ -1|0,j)|0)|0;bX(m|0,a[d]|0,da(n,0-j|0)|0)|0;break a}else{bX(h|0,a[d]|0,da(c[g+4>>2]|0,j)|0)|0;break a}break};default:{}}}while(0);g=c[b>>2]|0;d=c[g+24>>2]|0;if((d|0)!=0){bX(d|0,e|0,da(c[g+4>>2]|0,c[g>>2]|0)|0)|0}e=b+168|0;g=c[e>>2]|0;if((g|0)>0){c[e>>2]=0;g=0}h=b+176|0;j=c[h>>2]|0;if((j|0)<0){c[h>>2]=0;j=0}d=b+172|0;l=c[d>>2]|0;if((l|0)>0){c[d>>2]=0;l=0}k=b+180|0;m=c[k>>2]|0;if((m|0)<0){c[k>>2]=0;m=0}b=c[b>>2]|0;n=(c[b>>2]|0)+ -1|0;if((g|0)>(n|0)){c[e>>2]=n}if((j|0)<(n|0)){c[h>>2]=n}b=(c[b+4>>2]|0)+ -1|0;if((l|0)>(b|0)){c[d>>2]=b}if((m|0)>=(b|0)){i=f;return}c[k>>2]=b;i=f;return}function fp(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0;f=i;j=i;i=i+40|0;g=j;m=i;i=i+16|0;l=m;do{if((a[b+189|0]&1)==0){l=e+8|0}else{o=c[b+4>>2]|0;p=+h[o+80>>3];c[m>>2]=c[o+116>>2];o=l+4|0;h[k>>3]=p;c[o>>2]=c[k>>2];c[o+4>>2]=c[k+4>>2];Kb(53944,l|0)|0;l=e+8|0;if((c[l>>2]|0)<=0){break}m=e+4|0;n=0;while(1){o=c[e>>2]|0;r=+h[o+(n<<4)>>3];p=+h[o+(n<<4)+8>>3];o=d[(c[m>>2]|0)+n|0]|0;c[j>>2]=n;q=g+4|0;h[k>>3]=r;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];q=g+12|0;h[k>>3]=p;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[g+20>>2]=(o&1|0)!=0?54576:54584;c[g+24>>2]=(o&2|0)!=0?54592:54584;c[g+28>>2]=(o&4|0)!=0?54600:54584;c[g+32>>2]=(o&8|0)!=0?54608:54584;Kb(54544,g|0)|0;n=n+1|0;if((n|0)<(c[l>>2]|0)){}else{break}}}}while(0);c[b+184>>2]=1;if((c[l>>2]|0)==0){q=2;i=f;return q|0}g=b+4|0;q=c[g>>2]|0;e=gp(b,e,q,+h[q+104>>3])|0;do{if((c[(c[g>>2]|0)+116>>2]|0)>0){j=hp(b,e)|0;if((e|0)==0){break}hq(e);HW(e)}else{j=e}}while(0);do{if(+h[(c[g>>2]|0)+80>>3]==0.0){ip(b,j)}else{e=lp(b,j,0)|0;q=c[g>>2]|0;mp(b,e,0,c[q+48>>2]|0,+h[q+64>>3])|0;if((e|0)==0){break}hq(e);HW(e)}}while(0);if((j|0)==0){q=0;i=f;return q|0}hq(j);HW(j);q=0;i=f;return q|0}function gp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=+g;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;k=FW(32)|0;gq(k);g=g*g;l=e+8|0;if((c[l>>2]|0)<=0){i=j;return k|0}m=e+4|0;n=0;do{o=d[(c[m>>2]|0)+n|0]|0;do{if((o&1|0)==0){if((o&8|0)==0){o=c[e>>2]|0;kq(k,+h[o+(n<<4)>>3],+h[o+(n<<4)+8>>3])|0;n=n+1|0}else{r=n+ -1|0;p=c[e>>2]|0;q=n+1|0;o=n+2|0;np(b,+h[p+(r<<4)>>3],+h[p+(r<<4)+8>>3],+h[p+(n<<4)>>3],+h[p+(n<<4)+8>>3],+h[p+(q<<4)>>3],+h[p+(q<<4)+8>>3],+h[p+(o<<4)>>3],+h[p+(o<<4)+8>>3],f,g,k);n=n+3|0}if((a[(c[m>>2]|0)+(n+ -1)|0]&4)==0){break}mq(k)|0}else{r=c[e>>2]|0;jq(k,+h[r+(n<<4)>>3],+h[r+(n<<4)+8>>3])|0;n=n+1|0}}while(0);}while((n|0)<(c[l>>2]|0));i=j;return k|0}function hp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0;f=i;b=b+4|0;g=c[b>>2]|0;j=c[g+116>>2]|0;if((j|0)>0){k=c[g+112>>2]|0;m=0;l=0.0;while(1){l=l+ +h[k+(m<<3)>>3];m=m+1|0;if((m|0)<(j|0)){}else{break}}}else{l=0.0}r=+h[g+120>>3];s=r/l;if(s<=0.0){s=+R(+s)}l=r-l*+(~~s|0);k=c[g+112>>2]|0;r=+h[k>>3];if(l<r){g=0;j=1}else{g=0;j=1;while(1){j=j^1;l=l-r;g=g+1|0;r=+h[k+(g<<3)>>3];if(l<r){break}else{}}}n=FW(32)|0;gq(n);k=d+8|0;q=c[k>>2]|0;if((q|0)<=0){i=f;return n|0}m=d+4|0;p=0;do{t=q+ -1|0;a:do{if((p|0)<(t|0)){w=c[m>>2]|0;o=p;while(1){B=o+1|0;if((a[w+o|0]&2)!=0){break a}if((B|0)<(t|0)){o=B}else{o=B;break}}}else{o=p}}while(0);if((p|0)<(o|0)){x=+h[(c[(c[b>>2]|0)+112>>2]|0)+(g<<3)>>3]-l;q=g;t=j;w=1;do{B=c[d>>2]|0;u=+h[B+(p<<4)>>3];v=+h[B+(p<<4)+8>>3];p=p+1|0;s=+h[B+(p<<4)>>3];r=+h[B+(p<<4)+8>>3];A=s-u;y=r-v;y=+T(+(A*A+y*y));b:while(1){c:do{if(t){while(1){if(y<=0.0){t=1;break b}if(x<y){e=26;break c}if(w){jq(n,u,v)|0}kq(n,s,r)|0;x=x-y;if(x>0.0){w=0;y=0.0}else{y=0.0;break}}}else{while(1){if(y<=0.0){t=0;break b}if(x<y){e=26;break c}x=x-y;if(x>0.0){y=0.0}else{y=0.0;break}}}}while(0);if((e|0)==26){e=0;z=x/y;A=u+(s-u)*z;z=v+(r-v)*z;if(t){if(w){jq(n,u,v)|0}kq(n,A,z)|0}y=y-x;u=A;v=z}w=q+1|0;q=c[b>>2]|0;w=(w|0)==(c[q+116>>2]|0)?0:w;x=+h[(c[q+112>>2]|0)+(w<<3)>>3];q=w;t=t^1;w=1}}while((p|0)<(o|0));q=c[k>>2]|0}p=o+1|0;}while((p|0)<(q|0));i=f;return n|0}function ip(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0;d=i;m=i;i=i+80|0;g=i;i=i+16|0;l=g;k=l+8|0;c[k>>2]=0;f=l+4|0;c[f>>2]=0;c[g>>2]=0;e=FW(12)|0;j=a+4|0;r=c[j>>2]|0;Pq(e,b,r,+h[r+104>>3],0);r=c[j>>2]|0;jp(a,m,0,0,c[r+48>>2]|0,0,+h[r+64>>3],0,0);r=e+4|0;if((c[r>>2]|0)>0){p=a+168|0;o=a+176|0;n=a+172|0;b=a+180|0;s=0;q=c[e>>2]|0;while(1){B=+h[q>>3];if(B>0.0){u=B}else{u=+R(+B)}v=~~u;D=+h[q+16>>3];if(D>0.0){u=D}else{u=+R(+D)}x=~~u;t=q+8|0;u=+h[t>>3];if(u<=0.0){u=+R(+u)}w=~~u;u=+h[q+24>>3];if(u<=0.0){u=+R(+u)}A=~~u;do{if((w|0)==(A|0)){y=(v|0)>(x|0);t=y?x:v;v=y?v:x;x=Kp(c[(c[j>>2]|0)+132>>2]|0,t,v,w)|0;if((x|0)==1){x=1;break}kp(a,m,t,v,w,(x|0)==0)}else{u=+h[q+32>>3];if(+S(+u)>1.0){B=D-B;if((w|0)>(A|0)){B=-0.0-B;z=x;y=A}else{z=v;v=x;y=w;w=A}x=(z|0)<=(v|0);x=Jp(c[(c[j>>2]|0)+132>>2]|0,x?z:v,y,x?v:z,w)|0;if((x|0)==1){x=1;break}D=+h[q>>3]+u*(+(y|0)+1.0- +h[t>>3]);if(D<=0.0){D=+R(+D)}C=~~D;if(B>0.0){E=C+ -1|0;A=(x|0)==0;kp(a,m,z,(z|0)>(E|0)?z:E,y,A);z=w+ -1|0;if((y|0)<(z|0)){while(1){y=y+1|0;B=+h[q>>3]+u*(+(y|0)+1.0- +h[t>>3]);if(B<=0.0){B=+R(+B)}E=~~B;kp(a,m,C,E+ -1|0,y,A);if((y|0)<(z|0)){C=E}else{C=E;break}}}kp(a,m,C,(C|0)<=(v|0)?v:C,w,A);break}else{A=(x|0)==0;kp(a,m,(C|0)<(z|0)?C+1|0:z,z,y,A);z=w+ -1|0;if((y|0)<(z|0)){while(1){y=y+1|0;B=+h[q>>3]+u*(+(y|0)+1.0- +h[t>>3]);if(B<=0.0){B=+R(+B)}E=~~B;kp(a,m,E+1|0,C,y,A);if((y|0)<(z|0)){C=E}else{C=E;break}}}kp(a,m,v,(v|0)<=(C|0)?C:v,w,A);break}}y=(w|0)>(A|0);z=y?x:v;v=y?v:x;C=y?A:w;w=y?w:A;x=(z|0)<=(v|0);x=Jp(c[(c[j>>2]|0)+132>>2]|0,x?z:v,C,x?v:z,w)|0;if((x|0)==1){x=1;break}y=(x|0)==0;do{if((C|0)>=0){if(!y){if(!(vp(c[(c[j>>2]|0)+132>>2]|0,z,C)|0)){break}}tp(a,m,z,C);up(a,m);if((c[p>>2]|0)>(z|0)){c[p>>2]=z}if((c[o>>2]|0)<(z|0)){c[o>>2]=z}if((c[n>>2]|0)>(C|0)){c[n>>2]=C}if((c[b>>2]|0)>=(C|0)){break}c[b>>2]=C}}while(0);A=C+1|0;z=w+ -1|0;a:do{if((C|0)<(z|0)){if(y){while(1){B=+h[q>>3]+u*(+(A|0)- +h[t>>3]);if(B<=0.0){B=+R(+B)}C=~~B;do{if((A|0)>=0){tp(a,m,C,A);up(a,m);if((c[p>>2]|0)>(C|0)){c[p>>2]=C}if((c[o>>2]|0)<(C|0)){c[o>>2]=C}if((c[n>>2]|0)>(A|0)){c[n>>2]=A}if((c[b>>2]|0)>=(A|0)){break}c[b>>2]=A}}while(0);if((A|0)>=(z|0)){break a}A=A+1|0}}while(1){B=+h[q>>3]+u*(+(A|0)- +h[t>>3]);if(B<=0.0){B=+R(+B)}C=~~B;do{if((A|0)>=0){if(!(vp(c[(c[j>>2]|0)+132>>2]|0,C,A)|0)){break}tp(a,m,C,A);up(a,m);if((c[p>>2]|0)>(C|0)){c[p>>2]=C}if((c[o>>2]|0)<(C|0)){c[o>>2]=C}if((c[n>>2]|0)>(A|0)){c[n>>2]=A}if((c[b>>2]|0)>=(A|0)){break}c[b>>2]=A}}while(0);if((A|0)>=(z|0)){break a}A=A+1|0}}}while(0);if((w|0)<0){break}if(!y){if(!(vp(c[(c[j>>2]|0)+132>>2]|0,v,w)|0)){break}}tp(a,m,v,w);up(a,m);if((c[p>>2]|0)>(v|0)){c[p>>2]=v}if((c[o>>2]|0)<(v|0)){c[o>>2]=v}if((c[n>>2]|0)>(w|0)){c[n>>2]=w}if((c[b>>2]|0)>=(w|0)){break}c[b>>2]=w}}while(0);E=l+(x<<2)|0;c[E>>2]=(c[E>>2]|0)+1;s=s+1|0;if((s|0)<(c[r>>2]|0)){q=q+56|0}else{break}}if((c[k>>2]|0)==0){j=85}else{j=87}}else{j=85}do{if((j|0)==85){if((c[g>>2]|0)==0){c[a+184>>2]=1;break}if((c[f>>2]|0)!=0){j=87;break}c[a+184>>2]=0}}while(0);if((j|0)==87){c[a+184>>2]=2}if((e|0)==0){i=d;return}Uq(e);HW(e);i=d;return}function jp(b,d,e,f,g,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=+k;l=l|0;m=m|0;var n=0,o=0,p=0,q=0.0;n=i;tp(b,d,e,f);p=d+8|0;c[p>>2]=0;if((g|0)==0){c[d+28>>2]=j}else{if(jd[c[(c[g>>2]|0)+16>>2]&511](g)|0){j=d+32|0;pd[c[(c[g>>2]|0)+12>>2]&63](g,e,f,j)|0}else{c[p>>2]=g;j=d+32|0}c[d+28>>2]=j}g=d+16|0;h[g>>3]=k;j=b+4|0;do{if((c[(c[j>>2]|0)+136>>2]|0)==0){q=k*255.0;if(l){h[g>>3]=q;break}q=q+.5;if(q<=0.0){q=+R(+q)}a[d+25|0]=~~q}}while(0);a[d+24|0]=l&1;do{if(k==1.0){g=c[j>>2]|0;if((c[g+136>>2]|0)!=0|l){o=17;break}if((a[g+141|0]&1)!=0){o=17;break}a[d+64|0]=1;c[d+68>>2]=c[53872+(c[(c[b>>2]|0)+16>>2]<<2)>>2]}else{o=17}}while(0);do{if((o|0)==17){a[d+64|0]=0;o=c[(c[b>>2]|0)+16>>2]|0;if((c[(c[j>>2]|0)+60>>2]|0)==0){c[d+68>>2]=c[53896+(o<<2)>>2];break}else{c[d+68>>2]=c[53920+(o<<2)>>2];break}}}while(0);if(m){c[d+72>>2]=c[55024+(c[(c[b>>2]|0)+16>>2]<<2)>>2];i=n;return}else{c[d+72>>2]=0;i=n;return}}function kp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;tp(a,b,d,f);j=(d|0)>(e|0);if(g){if(!j){g=d;while(1){up(a,b);if((g|0)<(e|0)){g=g+1|0}else{break}}}b=a+168|0;j=c[b>>2]|0;if((j|0)>(d|0)){c[b>>2]=d;j=d}g=a+176|0;k=c[g>>2]|0;if((k|0)<(d|0)){c[g>>2]=d}else{d=k}if((j|0)>(e|0)){c[b>>2]=e}if((d|0)<(e|0)){c[g>>2]=e}e=a+172|0;if((c[e>>2]|0)>(f|0)){c[e>>2]=f}a=a+180|0;if((c[a>>2]|0)>=(f|0)){i=h;return}c[a>>2]=f;i=h;return}if(j){i=h;return}g=a+4|0;o=a+168|0;q=a+176|0;k=a+172|0;p=a+180|0;m=b+52|0;n=b+36|0;r=b+48|0;l=b+44|0;j=b+40|0;while(1){do{if(vp(c[(c[g>>2]|0)+132>>2]|0,d,f)|0){up(a,b);if((c[o>>2]|0)>(d|0)){c[o>>2]=d}if((c[q>>2]|0)<(d|0)){c[q>>2]=d}if((c[k>>2]|0)>(f|0)){c[k>>2]=f}if((c[p>>2]|0)>=(f|0)){break}c[p>>2]=f}else{c[b>>2]=(c[b>>2]|0)+1;if((c[(c[g>>2]|0)+136>>2]|0)!=0){c[j>>2]=(c[j>>2]|0)+1}a:do{switch(c[(c[a>>2]|0)+16>>2]|0){case 1:{c[l>>2]=(c[l>>2]|0)+1;break};case 4:{c[l>>2]=(c[l>>2]|0)+4;break};case 3:case 2:{c[l>>2]=(c[l>>2]|0)+3;break};case 0:{s=c[r>>2]>>1;c[r>>2]=s;if((s|0)!=0){break a}c[r>>2]=128;c[l>>2]=(c[l>>2]|0)+1;break};default:{}}}while(0);s=c[m>>2]|0;if((s|0)!=0){c[m>>2]=s+1}s=c[n>>2]|0;if((s|0)==0){break}c[n>>2]=s+1}}while(0);if((d|0)>=(e|0)){break}d=d+1|0}i=h;return}function lp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0,F=0.0,G=0,H=0.0,I=0,J=0,K=0,L=0.0,M=0,N=0.0,O=0.0,P=0.0,Q=0,R=0,S=0.0,U=0.0,V=0.0,W=0,X=0,Y=0.0,Z=0.0,_=0.0;j=i;g=b+4|0;do{if(f){f=c[g>>2]|0;f=gp(b,e,f,+h[f+104>>3])|0;if((c[(c[g>>2]|0)+116>>2]|0)<=0){break}b=hp(b,f)|0;if((f|0)==0){f=b;break}hq(f);HW(f);f=b}else{f=e}}while(0);k=FW(32)|0;gq(k);o=+h[(c[g>>2]|0)+80>>3];l=f+8|0;if(((c[l>>2]|0)+ -1|0)>0){b=f+4|0;n=o*.5;m=k+8|0;o=o*.276142375;z=0;G=0;u=0;t=0;p=0;v=0;r=0;w=0;x=0;q=0;s=0;y=0;while(1){B=c[b>>2]|0;A=d[B+u|0]|0;do{if((A&2|0)==0){I=(A&1|0)!=0;if(I){z=(A&4|0)!=0;y=u}A=u+1|0;B=(a[B+A|0]&2)!=0;J=c[f>>2]|0;S=+h[J+(u<<4)>>3];U=+h[J+(u<<4)+8>>3];N=+h[J+(A<<4)>>3];L=+h[J+(A<<4)+8>>3];D=N-S;C=L-U;F=+T(+(D*D+C*C));if(F==0.0){F=0.0;H=1.0}else{H=1.0/F;F=D*H;H=C*H}C=n*F;D=n*H;E=y+1|0;X=B?E:u+2|0;N=+h[J+(X<<4)>>3]-N;L=+h[J+(X<<4)+8>>3]-L;O=+T(+(N*N+L*L));if(O==0.0){N=0.0;P=1.0}else{P=1.0/O;N=N*P;P=L*P}O=n*N;L=n*P;jq(k,S-D,C+U)|0;M=(u|0)==(y|0);if(M){J=(c[m>>2]|0)+ -1|0}else{J=G}do{if(z|I^1){X=c[f>>2]|0;kq(k,D+ +h[X+(u<<4)>>3],+h[X+(u<<4)+8>>3]-C)|0}else{G=c[(c[g>>2]|0)+88>>2]|0;if((G|0)==2){X=c[f>>2]|0;kq(k,+h[X+(u<<4)>>3]-C-D,C+ +h[X+(u<<4)+8>>3]-D)|0;X=c[f>>2]|0;kq(k,D+(+h[X+(u<<4)>>3]-C),+h[X+(u<<4)+8>>3]-C-D)|0;X=c[f>>2]|0;kq(k,D+ +h[X+(u<<4)>>3],+h[X+(u<<4)+8>>3]-C)|0;break}else if((G|0)==0){X=c[f>>2]|0;kq(k,D+ +h[X+(u<<4)>>3],+h[X+(u<<4)+8>>3]-C)|0;break}else if((G|0)==1){X=c[f>>2]|0;V=+h[X+(u<<4)>>3];Y=C*.55228475;U=+h[X+(u<<4)+8>>3];S=D*.55228475;Z=V-C;_=U-D;lq(k,V-D-Y,C+U-S,Z-S,Y+_,Z,_)|0;X=c[f>>2]|0;_=+h[X+(u<<4)>>3];Z=+h[X+(u<<4)+8>>3];U=D+_;V=Z-C;lq(k,S+(_-C),Z-D-Y,U-Y,V-S,U,V)|0;break}else{break}}}while(0);Q=c[m>>2]|0;I=Q+ -1|0;W=c[f>>2]|0;kq(k,D+ +h[W+(A<<4)>>3],+h[W+(A<<4)+8>>3]-C)|0;W=z|B^1;do{if(W){X=c[f>>2]|0;kq(k,+h[X+(A<<4)>>3]-D,C+ +h[X+(A<<4)+8>>3])|0}else{G=c[(c[g>>2]|0)+88>>2]|0;if((G|0)==2){X=c[f>>2]|0;kq(k,C+(D+ +h[X+(A<<4)>>3]),D+(+h[X+(A<<4)+8>>3]-C))|0;X=c[f>>2]|0;kq(k,C+(+h[X+(A<<4)>>3]-D),D+(C+ +h[X+(A<<4)+8>>3]))|0;X=c[f>>2]|0;kq(k,+h[X+(A<<4)>>3]-D,C+ +h[X+(A<<4)+8>>3])|0;break}else if((G|0)==0){X=c[f>>2]|0;kq(k,+h[X+(A<<4)>>3]-D,C+ +h[X+(A<<4)+8>>3])|0;break}else if((G|0)==1){X=c[f>>2]|0;_=+h[X+(A<<4)>>3];V=C*.55228475;Z=+h[X+(A<<4)+8>>3];Y=D*.55228475;U=C+_;S=D+Z;lq(k,V+(D+_),Y+(Z-C),Y+U,S-V,U,S)|0;X=c[f>>2]|0;S=+h[X+(A<<4)>>3];U=+h[X+(A<<4)+8>>3];Z=S-D;_=C+U;lq(k,C+S-Y,V+(D+U),V+Z,Y+_,Z,_)|0;break}else{break}}}while(0);R=c[m>>2]|0;G=R+ -1|0;mq(k)|0;K=c[m>>2]|0;if(W){S=H*P+F*N;if(S<-.99999){W=c[g>>2]|0;U=+h[W+96>>3]+1.0;S=0.0;U=U*U}else{S=2.0/(S+1.0);U=S<1.0?1.0:S;S=+T(+(U+-1.0));W=c[g>>2]|0}X=c[f>>2]|0;V=+h[X+(A<<4)>>3];a:do{if((c[W+92>>2]|0)==1){jq(k,n+V,+h[X+(A<<4)+8>>3])|0;X=c[f>>2]|0;_=+h[X+(A<<4)>>3];Z=+h[X+(A<<4)+8>>3];Y=n+Z;lq(k,n+_,o+Z,o+_,Y,_,Y)|0;X=c[f>>2]|0;Y=+h[X+(A<<4)>>3];_=+h[X+(A<<4)+8>>3];Z=Y-n;lq(k,Y-o,n+_,Z,o+_,Z,_)|0;X=c[f>>2]|0;_=+h[X+(A<<4)>>3];Z=+h[X+(A<<4)+8>>3];Y=Z-n;lq(k,_-n,Z-o,_-o,Y,_,Y)|0;X=c[f>>2]|0;Y=+h[X+(A<<4)>>3];_=+h[X+(A<<4)+8>>3];Z=n+Y;lq(k,o+Y,_-n,Z,_-o,Z,_)|0}else{jq(k,V,+h[X+(A<<4)+8>>3])|0;W=c[f>>2]|0;V=+h[W+(A<<4)>>3];if(F*P-H*N<0.0){kq(k,V-L,O+ +h[W+(A<<4)+8>>3])|0;W=c[g>>2]|0;do{if((c[W+92>>2]|0)==0){_=+T(+U);if(_>+h[W+96>>3]){break}X=c[f>>2]|0;kq(k,C*S+(+h[X+(A<<4)>>3]-D),D*S+(C+ +h[X+(A<<4)+8>>3]))|0;X=c[f>>2]|0;kq(k,+h[X+(A<<4)>>3]-D,C+ +h[X+(A<<4)+8>>3])|0;break a}}while(0);X=c[f>>2]|0;kq(k,+h[X+(A<<4)>>3]-D,C+ +h[X+(A<<4)+8>>3])|0;break}else{kq(k,D+V,+h[W+(A<<4)+8>>3]-C)|0;W=c[g>>2]|0;do{if((c[W+92>>2]|0)==0){_=+T(+U);if(_>+h[W+96>>3]){break}X=c[f>>2]|0;kq(k,C*S+(D+ +h[X+(A<<4)>>3]),D*S+(+h[X+(A<<4)+8>>3]-C))|0;X=c[f>>2]|0;kq(k,L+ +h[X+(A<<4)>>3],+h[X+(A<<4)+8>>3]-O)|0;break a}}while(0);X=c[f>>2]|0;kq(k,L+ +h[X+(A<<4)>>3],+h[X+(A<<4)+8>>3]-O)|0;break}}}while(0);mq(k)|0}if((a[(c[g>>2]|0)+128|0]&1)==0){u=A;break}if((u|0)>=(E|0)){if((u|0)<(y+2|0)){nq(k,r,q,J,I)}else{nq(k,r,q,v+1|0,x);nq(k,r,q,t,I)}nq(k,r,q,R,R)}w=M?I:w;s=M?G:s;if(!B){u=A;t=p;p=K;v=r;r=I;x=q;q=G;break}if((u|0)<(y+2|0)){nq(k,I,G,J,(c[m>>2]|0)+ -1|0)}else{nq(k,I,G,r+1|0,q);nq(k,I,G,p,(c[m>>2]|0)+ -1|0)}if(!z){u=A;z=0;t=p;p=K;v=r;r=I;x=q;q=G;break}nq(k,I,G,J,w);u=s+1|0;nq(k,I,G,u,u);nq(k,w,s,Q,G);nq(k,w,s,K,(c[m>>2]|0)+ -1|0);u=A;z=1;t=p;p=K;v=r;r=I;x=q;q=G}else{u=u+1|0;J=G}}while(0);if((u|0)<((c[l>>2]|0)+ -1|0)){G=J}else{break}}}if((f|0)==(e|0)|(f|0)==0){i=j;return k|0}hq(f);HW(f);i=j;return k|0}function mp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;o=i;j=i;i=i+80|0;s=i;i=i+8|0;u=i;i=i+8|0;v=i;i=i+8|0;k=i;i=i+8|0;r=i;i=i+8|0;l=r;q=i;i=i+8|0;m=q;if((c[d+8>>2]|0)==0){B=2;i=o;return B|0}n=FW(12)|0;p=b+4|0;t=c[p>>2]|0;Pq(n,d,t,+h[t+104>>3],1);t=b+188|0;if((a[t]&1)!=0){Vq(n)}Wq(n);d=FW(52)|0;$q(d,n,e);if((a[t]&1)==0){B=c[d+8>>2]|0;c[s>>2]=B;w=c[d+12>>2]|0;c[u>>2]=w;s=c[d+16>>2]|0;c[v>>2]=s;e=c[d+20>>2]|0;c[k>>2]=e;v=s;s=B}else{br(d,s,u,v,k);e=c[k>>2]|0;v=c[v>>2]|0;w=c[u>>2]|0;s=c[s>>2]|0}s=Jp(c[(c[p>>2]|0)+132>>2]|0,s,w,v,e)|0;a:do{if((s|0)!=1){x=c[u>>2]|0;v=(c[p>>2]|0)+132|0;w=c[v>>2]|0;e=c[w+44>>2]|0;if((x|0)<(e|0)){c[u>>2]=e;w=c[v>>2]|0}else{e=x}v=c[w+52>>2]|0;if((c[k>>2]|0)>(v|0)){c[k>>2]=v}jp(b,j,0,e,f,0,g,(a[t]&1)!=0,0);w=c[u>>2]|0;f=(w|0)>(c[k>>2]|0);if((a[t]&1)!=0){if(f){break}f=b+8|0;t=(s|0)==0;while(1){hr(d,c[f>>2]|0,l,m,w);if(!t){Lp(c[(c[p>>2]|0)+132>>2]|0,c[f>>2]|0,l,m,w)}pp(b,j,c[r>>2]|0,c[q>>2]|0,w);if((w|0)<(c[k>>2]|0)){w=w+1|0}else{break a}}}if(f){break}u=(s|0)==0;e=b+168|0;v=b+176|0;f=b+172|0;t=b+180|0;while(1){if(fr(d,w,l,m)|0){do{x=c[r>>2]|0;do{if(u){y=c[q>>2]|0;tp(b,j,x,w);if((x|0)<=(y|0)){z=x;while(1){up(b,j);if((z|0)<(y|0)){z=z+1|0}else{break}}}z=c[e>>2]|0;if((z|0)>(x|0)){c[e>>2]=x;z=x}A=c[v>>2]|0;if((A|0)<(x|0)){c[v>>2]=x}else{x=A}if((z|0)>(y|0)){c[e>>2]=y}if((x|0)<(y|0)){c[v>>2]=y}if((c[f>>2]|0)>(w|0)){c[f>>2]=w}if((c[t>>2]|0)>=(w|0)){break}c[t>>2]=w}else{y=(c[p>>2]|0)+132|0;z=c[y>>2]|0;A=c[z+40>>2]|0;if((x|0)<(A|0)){c[r>>2]=A;x=A;z=c[y>>2]|0}B=c[q>>2]|0;A=c[z+48>>2]|0;if((B|0)>(A|0)){c[q>>2]=A;z=c[y>>2]|0}else{A=B}B=Kp(z,x,A,w)|0;kp(b,j,c[r>>2]|0,c[q>>2]|0,w,(B|0)==0)}}while(0);}while(fr(d,w,l,m)|0)}if((w|0)<(c[k>>2]|0)){w=w+1|0}else{break}}}}while(0);c[b+184>>2]=s;if((d|0)!=0){ar(d);HW(d)}if((n|0)==0){B=0;i=o;return B|0}Uq(n);HW(n);B=0;i=o;return B|0}function np(a,b,d,e,f,g,j,k,l,m,n,o){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;j=+j;k=+k;l=+l;m=m|0;n=+n;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0.0,O=0.0,P=0,Q=0;r=i;s=i;i=i+24600|0;a=s;B=i;i=i+24600|0;p=B;w=i;i=i+4104|0;q=w;h[s>>3]=b;h[B>>3]=d;h[a+8>>3]=e;h[p+8>>3]=f;h[a+16>>3]=g;h[p+16>>3]=j;h[a+24576>>3]=k;h[p+24576>>3]=l;c[w>>2]=1024;w=m+16|0;B=m+32|0;s=m+8|0;t=m+24|0;u=m+40|0;v=0;while(1){z=a+(v*24|0)|0;A=p+(v*24|0)|0;P=a+(v*24|0)+8|0;C=p+(v*24|0)+8|0;D=a+(v*24|0)+16|0;E=p+(v*24|0)+16|0;F=q+(v<<2)|0;H=+h[m>>3];I=+h[w>>3];G=+h[B>>3];K=+h[s>>3];L=+h[t>>3];J=+h[u>>3];while(1){y=+h[z>>3];l=+h[A>>3];x=+h[P>>3];k=+h[C>>3];j=+h[D>>3];g=+h[E>>3];M=c[F>>2]|0;N=+h[a+(M*24|0)>>3];O=+h[p+(M*24|0)>>3];f=(y+N)*.5;b=(l+O)*.5;d=G+(H*f+I*b);b=J+(f*K+b*L);f=G+(x*H+k*I)-d;e=J+(x*K+k*L)-b;d=G+(j*H+g*I)-d;b=J+(j*K+g*L)-b;if((M-v|0)==1){break}if(!(f*f+e*e>n|d*d+b*b>n)){break}e=(y+x)*.5;f=(l+k)*.5;x=(x+j)*.5;y=(k+g)*.5;k=(e+x)*.5;l=(f+y)*.5;N=(j+N)*.5;O=(g+O)*.5;x=(x+N)*.5;y=(y+O)*.5;Q=(M+v|0)/2|0;h[P>>3]=e;h[C>>3]=f;h[D>>3]=k;h[E>>3]=l;c[F>>2]=Q;h[a+(Q*24|0)>>3]=(k+x)*.5;h[p+(Q*24|0)>>3]=(l+y)*.5;h[a+(Q*24|0)+8>>3]=x;h[p+(Q*24|0)+8>>3]=y;h[a+(Q*24|0)+16>>3]=N;h[p+(Q*24|0)+16>>3]=O;c[q+(Q<<2)>>2]=M}kq(o,N,O)|0;if((M|0)<1024){v=M}else{break}}i=r;return}function op(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;l=i;j=i;i=i+40|0;g=j;m=i;i=i+8|0;do{if((a[b+189|0]&1)!=0){c[m>>2]=f&1;Kb(53976,m|0)|0;m=e+8|0;if((c[m>>2]|0)<=0){break}n=e+4|0;o=0;do{p=c[e>>2]|0;s=+h[p+(o<<4)>>3];r=+h[p+(o<<4)+8>>3];p=d[(c[n>>2]|0)+o|0]|0;c[j>>2]=o;q=g+4|0;h[k>>3]=s;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];q=g+12|0;h[k>>3]=r;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[g+20>>2]=(p&1|0)!=0?54576:54584;c[g+24>>2]=(p&2|0)!=0?54592:54584;c[g+28>>2]=(p&4|0)!=0?54600:54584;c[g+32>>2]=(p&8|0)!=0?54608:54584;Kb(54544,g|0)|0;o=o+1|0;}while((o|0)<(c[m>>2]|0))}}while(0);q=c[b+4>>2]|0;q=mp(b,e,f,c[q+52>>2]|0,+h[q+72>>3])|0;i=l;return q|0}function pp(b,e,f,g,j){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;q=i;A=c[b+8>>2]|0;z=c[A+20>>2]|0;x=f>>1;A=c[A+12>>2]|0;w=A+x|0;B=w+A|0;tp(b,e,f,j);if((f|0)>(g|0)){i=q;return}k=b+4|0;t=e+52|0;s=e+36|0;v=e+48|0;u=e+44|0;r=e+40|0;l=e+56|0;m=b+168|0;n=b+176|0;o=b+172|0;p=b+180|0;y=z+x|0;x=z+w|0;w=z+B|0;C=z+(B+A)|0;while(1){D=d[y]|0;if((f&1|0)==0){A=x;z=w;B=C;w=(c[54680+((d[x]|0)>>>4<<2)>>2]|0)+(c[54680+(D>>>4<<2)>>2]|0)+(c[54680+((d[w]|0)>>>4<<2)>>2]|0)+(c[54680+((d[C]|0)>>>4<<2)>>2]|0)|0}else{y=y+1|0;A=x+1|0;z=w+1|0;B=C+1|0;w=(c[54680+((a[x]&15)<<2)>>2]|0)+(c[54680+((D&15)<<2)>>2]|0)+(c[54680+((a[w]&15)<<2)>>2]|0)+(c[54680+((a[C]&15)<<2)>>2]|0)|0}do{if((w|0)==0){c[e>>2]=(c[e>>2]|0)+1;if((c[(c[k>>2]|0)+136>>2]|0)!=0){c[r>>2]=(c[r>>2]|0)+1}a:do{switch(c[(c[b>>2]|0)+16>>2]|0){case 3:case 2:{c[u>>2]=(c[u>>2]|0)+3;break};case 1:{c[u>>2]=(c[u>>2]|0)+1;break};case 4:{c[u>>2]=(c[u>>2]|0)+4;break};case 0:{D=c[v>>2]>>1;c[v>>2]=D;if((D|0)!=0){break a}c[v>>2]=128;c[u>>2]=(c[u>>2]|0)+1;break};default:{}}}while(0);w=c[t>>2]|0;if((w|0)!=0){c[t>>2]=w+1}w=c[s>>2]|0;if((w|0)==0){break}c[s>>2]=w+1}else{h[l>>3]=+h[b+32+(w<<3)>>3];up(b,e);if((c[m>>2]|0)>(f|0)){c[m>>2]=f}if((c[n>>2]|0)<(f|0)){c[n>>2]=f}if((c[o>>2]|0)>(j|0)){c[o>>2]=j}if((c[p>>2]|0)>=(j|0)){break}c[p>>2]=j}}while(0);if((f|0)<(g|0)){x=A;w=z;C=B;f=f+1|0}else{break}}i=q;return}function qp(b,d,e,f,g){b=b|0;d=+d;e=+e;f=f|0;g=g|0;var j=0,l=0,m=0,n=0,o=0,p=0.0,q=0;l=i;o=i;i=i+32|0;n=o;j=i;i=i+32|0;m=i;i=i+8|0;if((a[b+189|0]&1)!=0){q=o;h[k>>3]=d;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];q=n+8|0;h[k>>3]=e;c[q>>2]=c[k>>2];c[q+4>>2]=c[k+4>>2];c[n+16>>2]=f;c[n+20>>2]=f;c[n+24>>2]=f;Kb(53992,n|0)|0}n=c[b+4>>2]|0;p=+h[n+32>>3]+(+h[n>>3]*d+ +h[n+16>>3]*e);e=+h[n+40>>3]+(+h[n+8>>3]*d+ +h[n+24>>3]*e);if(p>0.0){d=p}else{d=+R(+p)}o=~~d;p=(p- +(o|0))*4.0;if(p<=0.0){p=+R(+p)}if(e>0.0){d=e}else{d=+R(+e)}q=~~d;e=(e- +(q|0))*4.0;if(e<=0.0){e=+R(+e)}if(!(Fd[c[(c[g>>2]|0)+8>>2]&7](g,f,~~p,~~e,j,o,q,c[n+132>>2]|0,m)|0)){q=6;i=l;return q|0}g=c[m>>2]|0;if((g|0)==1){m=1}else{rp(b,o,q,j,(g|0)==0);m=c[m>>2]|0}c[b+184>>2]=m;if((a[j+24|0]&1)==0){q=0;i=l;return q|0}Fe(c[j+20>>2]|0);q=0;i=l;return q|0}function rp(b,e,f,g,j){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0;k=i;m=i;i=i+80|0;l=m;q=c[g+20>>2]|0;e=e-(c[g>>2]|0)|0;f=f-(c[g+4>>2]|0)|0;p=g+8|0;r=c[p>>2]|0;n=c[g+12>>2]|0;if((f|0)<0){q=q+(da(r,0-f|0)|0)|0;o=0;n=n+f|0}else{o=f}if((e|0)<0){q=q+(0-e)|0;f=0;e=r+e|0}else{f=e;e=r}s=c[b>>2]|0;t=c[s>>2]|0;e=(e+f|0)<(t|0)?e:t-f|0;s=c[s+4>>2]|0;n=(n+o|0)<(s|0)?n:s-o|0;g=(a[g+16|0]&1)!=0;if(j){if(!g){p=~~+ca(+(+(r|0)*.125));u=b+4|0;F=c[u>>2]|0;jp(b,l,f,o,c[F+52>>2]|0,0,+h[F+72>>3],0,0);if((n|0)<=0){i=k;return}y=(e|0)>0;g=l+52|0;j=l+36|0;s=l+48|0;r=l+44|0;z=l+40|0;x=b+168|0;w=b+176|0;v=b+172|0;t=b+180|0;A=0;while(1){tp(b,l,f,o);if(y){D=f;B=0;do{C=d[q+((B|0)/8|0)|0]|0;E=0;while(1){if((E+B|0)>=(e|0)){break}do{if((C&128|0)==0){c[m>>2]=(c[m>>2]|0)+1;if((c[(c[u>>2]|0)+136>>2]|0)!=0){c[z>>2]=(c[z>>2]|0)+1}a:do{switch(c[(c[b>>2]|0)+16>>2]|0){case 4:{c[r>>2]=(c[r>>2]|0)+4;break};case 0:{F=c[s>>2]>>1;c[s>>2]=F;if((F|0)!=0){break a}c[s>>2]=128;c[r>>2]=(c[r>>2]|0)+1;break};case 1:{c[r>>2]=(c[r>>2]|0)+1;break};case 3:case 2:{c[r>>2]=(c[r>>2]|0)+3;break};default:{}}}while(0);F=c[g>>2]|0;if((F|0)!=0){c[g>>2]=F+1}F=c[j>>2]|0;if((F|0)==0){break}c[j>>2]=F+1}else{up(b,l);if((c[x>>2]|0)>(D|0)){c[x>>2]=D}if((c[w>>2]|0)<(D|0)){c[w>>2]=D}if((c[v>>2]|0)>(o|0)){c[v>>2]=o}if((c[t>>2]|0)>=(o|0)){break}c[t>>2]=o}}while(0);E=E+1|0;D=D+1|0;if((E|0)<8){C=C<<1}else{break}}B=B+8|0;}while((B|0)<(e|0))}A=A+1|0;if((A|0)<(n|0)){q=q+p|0;o=o+1|0}else{break}}i=k;return}j=b+4|0;g=c[j>>2]|0;r=c[g+52>>2]|0;G=+h[g+72>>3];tp(b,l,f,o);g=l+8|0;c[g>>2]=0;if((r|0)==0){c[l+28>>2]=0}else{if(jd[c[(c[r>>2]|0)+16>>2]&511](r)|0){g=l+32|0;pd[c[(c[r>>2]|0)+12>>2]&63](r,f,o,g)|0}else{c[g>>2]=r;g=l+32|0}c[l+28>>2]=g}r=l+16|0;h[r>>3]=G;g=c[j>>2]|0;if((c[g+136>>2]|0)==0){h[r>>3]=G*255.0}a[l+24|0]=1;a[l+64|0]=0;r=c[(c[b>>2]|0)+16>>2]|0;if((c[g+60>>2]|0)==0){c[l+68>>2]=c[53896+(r<<2)>>2]}else{c[l+68>>2]=c[53920+(r<<2)>>2]}c[l+72>>2]=0;if((n|0)<=0){i=k;return}g=(e|0)>0;u=l+52|0;t=l+36|0;w=l+48|0;v=l+44|0;x=l+40|0;r=l+56|0;s=b+168|0;z=b+176|0;A=b+172|0;y=b+180|0;C=0;while(1){tp(b,l,f,o);if(g){B=f;D=0;while(1){E=a[q+D|0]|0;do{if(E<<24>>24==0){c[m>>2]=(c[m>>2]|0)+1;if((c[(c[j>>2]|0)+136>>2]|0)!=0){c[x>>2]=(c[x>>2]|0)+1}b:do{switch(c[(c[b>>2]|0)+16>>2]|0){case 1:{c[v>>2]=(c[v>>2]|0)+1;break};case 4:{c[v>>2]=(c[v>>2]|0)+4;break};case 0:{F=c[w>>2]>>1;c[w>>2]=F;if((F|0)!=0){break b}c[w>>2]=128;c[v>>2]=(c[v>>2]|0)+1;break};case 3:case 2:{c[v>>2]=(c[v>>2]|0)+3;break};default:{}}}while(0);E=c[u>>2]|0;if((E|0)!=0){c[u>>2]=E+1}E=c[t>>2]|0;if((E|0)==0){break}c[t>>2]=E+1}else{h[r>>3]=+(E&255|0)/255.0;up(b,l);if((c[s>>2]|0)>(B|0)){c[s>>2]=B}if((c[z>>2]|0)<(B|0)){c[z>>2]=B}if((c[A>>2]|0)>(o|0)){c[A>>2]=o}if((c[y>>2]|0)>=(o|0)){break}c[y>>2]=o}}while(0);D=D+1|0;if((D|0)<(e|0)){B=B+1|0}else{break}}}C=C+1|0;if((C|0)<(n|0)){q=q+(c[p>>2]|0)|0;o=o+1|0}else{break}}i=k;return}if(!g){w=~~+ca(+(+(r|0)*.125));g=b+4|0;F=c[g>>2]|0;jp(b,l,f,o,c[F+52>>2]|0,0,+h[F+72>>3],0,0);if((n|0)<=0){i=k;return}z=(e|0)>0;j=l+52|0;x=l+36|0;s=l+48|0;v=l+44|0;y=l+40|0;p=b+168|0;t=b+176|0;r=b+172|0;u=b+180|0;A=0;while(1){tp(b,l,f,o);if(z){D=f;B=0;do{C=d[q+((B|0)/8|0)|0]|0;E=0;while(1){if((E+B|0)>=(e|0)){break}do{if(vp(c[(c[g>>2]|0)+132>>2]|0,D,o)|0){if((C&128|0)!=0){up(b,l);if((c[p>>2]|0)>(D|0)){c[p>>2]=D}if((c[t>>2]|0)<(D|0)){c[t>>2]=D}if((c[r>>2]|0)>(o|0)){c[r>>2]=o}if((c[u>>2]|0)>=(o|0)){break}c[u>>2]=o;break}c[m>>2]=(c[m>>2]|0)+1;if((c[(c[g>>2]|0)+136>>2]|0)!=0){c[y>>2]=(c[y>>2]|0)+1}c:do{switch(c[(c[b>>2]|0)+16>>2]|0){case 0:{F=c[s>>2]>>1;c[s>>2]=F;if((F|0)!=0){break c}c[s>>2]=128;c[v>>2]=(c[v>>2]|0)+1;break};case 1:{c[v>>2]=(c[v>>2]|0)+1;break};case 3:case 2:{c[v>>2]=(c[v>>2]|0)+3;break};case 4:{c[v>>2]=(c[v>>2]|0)+4;break};default:{}}}while(0);F=c[j>>2]|0;if((F|0)!=0){c[j>>2]=F+1}F=c[x>>2]|0;if((F|0)==0){break}c[x>>2]=F+1}else{c[m>>2]=(c[m>>2]|0)+1;if((c[(c[g>>2]|0)+136>>2]|0)!=0){c[y>>2]=(c[y>>2]|0)+1}d:do{switch(c[(c[b>>2]|0)+16>>2]|0){case 0:{F=c[s>>2]>>1;c[s>>2]=F;if((F|0)!=0){break d}c[s>>2]=128;c[v>>2]=(c[v>>2]|0)+1;break};case 1:{c[v>>2]=(c[v>>2]|0)+1;break};case 3:case 2:{c[v>>2]=(c[v>>2]|0)+3;break};case 4:{c[v>>2]=(c[v>>2]|0)+4;break};default:{}}}while(0);F=c[j>>2]|0;if((F|0)!=0){c[j>>2]=F+1}F=c[x>>2]|0;if((F|0)==0){break}c[x>>2]=F+1}}while(0);E=E+1|0;D=D+1|0;if((E|0)<8){C=C<<1}else{break}}B=B+8|0;}while((B|0)<(e|0))}A=A+1|0;if((A|0)<(n|0)){q=q+w|0;o=o+1|0}else{break}}i=k;return}j=b+4|0;r=c[j>>2]|0;g=c[r+52>>2]|0;G=+h[r+72>>3];tp(b,l,f,o);r=l+8|0;c[r>>2]=0;if((g|0)==0){c[l+28>>2]=0}else{if(jd[c[(c[g>>2]|0)+16>>2]&511](g)|0){F=l+32|0;pd[c[(c[g>>2]|0)+12>>2]&63](g,f,o,F)|0;g=F}else{c[r>>2]=g;g=l+32|0}c[l+28>>2]=g}r=l+16|0;h[r>>3]=G;g=c[j>>2]|0;if((c[g+136>>2]|0)==0){h[r>>3]=G*255.0}a[l+24|0]=1;a[l+64|0]=0;r=c[(c[b>>2]|0)+16>>2]|0;if((c[g+60>>2]|0)==0){c[l+68>>2]=c[53896+(r<<2)>>2]}else{c[l+68>>2]=c[53920+(r<<2)>>2]}c[l+72>>2]=0;if((n|0)<=0){i=k;return}s=(e|0)>0;A=l+52|0;z=l+36|0;u=l+48|0;t=l+44|0;r=l+40|0;y=l+56|0;x=b+168|0;w=b+176|0;v=b+172|0;g=b+180|0;C=0;while(1){tp(b,l,f,o);e:do{if(s){B=f;D=0;while(1){do{if(vp(c[(c[j>>2]|0)+132>>2]|0,B,o)|0){E=a[q+D|0]|0;if(E<<24>>24!=0){h[y>>3]=+(E&255|0)/255.0;up(b,l);if((c[x>>2]|0)>(B|0)){c[x>>2]=B}if((c[w>>2]|0)<(B|0)){c[w>>2]=B}if((c[v>>2]|0)>(o|0)){c[v>>2]=o}if((c[g>>2]|0)>=(o|0)){break}c[g>>2]=o;break}c[m>>2]=(c[m>>2]|0)+1;if((c[(c[j>>2]|0)+136>>2]|0)!=0){c[r>>2]=(c[r>>2]|0)+1}f:do{switch(c[(c[b>>2]|0)+16>>2]|0){case 0:{F=c[u>>2]>>1;c[u>>2]=F;if((F|0)!=0){break f}c[u>>2]=128;c[t>>2]=(c[t>>2]|0)+1;break};case 1:{c[t>>2]=(c[t>>2]|0)+1;break};case 3:case 2:{c[t>>2]=(c[t>>2]|0)+3;break};case 4:{c[t>>2]=(c[t>>2]|0)+4;break};default:{}}}while(0);E=c[A>>2]|0;if((E|0)!=0){c[A>>2]=E+1}E=c[z>>2]|0;if((E|0)==0){break}c[z>>2]=E+1}else{c[m>>2]=(c[m>>2]|0)+1;if((c[(c[j>>2]|0)+136>>2]|0)!=0){c[r>>2]=(c[r>>2]|0)+1}g:do{switch(c[(c[b>>2]|0)+16>>2]|0){case 4:{c[t>>2]=(c[t>>2]|0)+4;break};case 0:{F=c[u>>2]>>1;c[u>>2]=F;if((F|0)!=0){break g}c[u>>2]=128;c[t>>2]=(c[t>>2]|0)+1;break};case 1:{c[t>>2]=(c[t>>2]|0)+1;break};case 3:case 2:{c[t>>2]=(c[t>>2]|0)+3;break};default:{}}}while(0);E=c[A>>2]|0;if((E|0)!=0){c[A>>2]=E+1}E=c[z>>2]|0;if((E|0)==0){break}c[z>>2]=E+1}}while(0);D=D+1|0;if((D|0)>=(e|0)){break e}B=B+1|0}}}while(0);C=C+1|0;if((C|0)<(n|0)){q=q+(c[p>>2]|0)|0;o=o+1|0}else{break}}i=k;return}function sp(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,g=0,j=0,k=0.0,l=0,m=0,n=0;f=i;g=c[a+4>>2]|0;k=+h[g+32>>3]+(+h[g>>3]*b+ +h[g+16>>3]*d);b=+h[g+40>>3]+(+h[g+8>>3]*b+ +h[g+24>>3]*d);if(k<=0.0){k=+R(+k)}j=~~k;if(b<=0.0){b=+R(+b)}l=~~b;n=j-(c[e>>2]|0)|0;m=l-(c[e+4>>2]|0)|0;g=Jp(c[g+132>>2]|0,n,m,n+ -1+(c[e+8>>2]|0)|0,m+ -1+(c[e+12>>2]|0)|0)|0;if((g|0)==1){n=a+184|0;c[n>>2]=g;i=f;return}rp(a,j,l,e,(g|0)==0);n=a+184|0;c[n>>2]=g;i=f;return}function tp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;c[d>>2]=e;c[d+4>>2]=f;h=b+4|0;j=c[(c[h>>2]|0)+136>>2]|0;if((j|0)!=0){k=(da(c[j+12>>2]|0,f)|0)+e|0;c[d+40>>2]=(c[j+20>>2]|0)+k}j=c[b>>2]|0;switch(c[j+16>>2]|0){case 3:case 2:{c[d+44>>2]=(da(c[j+12>>2]|0,f)|0)+(e*3|0)+(c[j+20>>2]|0);break};case 1:{c[d+44>>2]=(da(c[j+12>>2]|0,f)|0)+e+(c[j+20>>2]|0);break};case 0:{c[d+44>>2]=(da(c[j+12>>2]|0,f)|0)+(e>>3)+(c[j+20>>2]|0);c[d+48>>2]=128>>>(e&7);break};case 4:{c[d+44>>2]=(da(c[j+12>>2]|0,f)|0)+(e<<2)+(c[j+20>>2]|0);break};default:{}}j=c[b>>2]|0;k=c[j+24>>2]|0;if((k|0)==0){c[d+52>>2]=0}else{c[d+52>>2]=k+((da(c[j>>2]|0,f)|0)+e)}do{if((a[(c[h>>2]|0)+141|0]&1)!=0){h=c[b+16>>2]|0;j=c[h+24>>2]|0;if((j|0)==0){break}k=da((c[b+24>>2]|0)+f|0,c[h>>2]|0)|0;c[d+36>>2]=j+((c[b+20>>2]|0)+e+k);i=g;return}}while(0);c[d+36>>2]=0;i=g;return}function up(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0;f=i;j=i;i=i+8|0;m=j;o=i;i=i+8|0;q=o;g=c[e+8>>2]|0;do{if((g|0)!=0){if(pd[c[(c[g>>2]|0)+12>>2]&63](g,c[e>>2]|0,c[e+4>>2]|0,e+32|0)|0){break}a:do{switch(c[(c[b>>2]|0)+16>>2]|0){case 4:{u=e+44|0;c[u>>2]=(c[u>>2]|0)+4;break};case 0:{t=e+48|0;u=c[t>>2]>>1;c[t>>2]=u;if((u|0)!=0){break a}u=e+44|0;c[u>>2]=(c[u>>2]|0)+1;break};case 1:{u=e+44|0;c[u>>2]=(c[u>>2]|0)+1;break};case 2:case 3:{u=e+44|0;c[u>>2]=(c[u>>2]|0)+3;break};default:{}}}while(0);g=e+52|0;b=c[g>>2]|0;if((b|0)!=0){c[g>>2]=b+1}c[e>>2]=(c[e>>2]|0)+1;i=f;return}}while(0);p=e+64|0;do{if((a[p]&1)==0){l=26}else{g=c[b+4>>2]|0;if((c[g+60>>2]|0)!=0){l=26;break}b:do{switch(c[(c[b>>2]|0)+16>>2]|0){case 2:{t=e+28|0;u=a[c[t>>2]|0]|0;s=e+44|0;r=c[s>>2]|0;c[s>>2]=r+1;a[r]=u;r=a[(c[t>>2]|0)+1|0]|0;u=c[s>>2]|0;c[s>>2]=u+1;a[u]=r;t=a[(c[t>>2]|0)+2|0]|0;u=c[s>>2]|0;c[s>>2]=u+1;a[u]=t;break};case 4:{s=e+28|0;u=a[(c[s>>2]|0)+2|0]|0;t=e+44|0;r=c[t>>2]|0;c[t>>2]=r+1;a[r]=u;r=a[(c[s>>2]|0)+1|0]|0;u=c[t>>2]|0;c[t>>2]=u+1;a[u]=r;s=a[c[s>>2]|0]|0;u=c[t>>2]|0;c[t>>2]=u+1;a[u]=s;u=c[t>>2]|0;c[t>>2]=u+1;a[u]=-1;break};case 0:{u=(Gq(c[g+56>>2]|0,c[e>>2]|0,c[e+4>>2]|0,a[c[e+28>>2]|0]|0)|0)==0;b=e+48|0;g=c[b>>2]|0;if(u){u=c[e+44>>2]|0;a[u]=(d[u]|0)&(g^255)}else{u=c[e+44>>2]|0;a[u]=d[u]|0|g}u=c[b>>2]>>1;c[b>>2]=u;if((u|0)!=0){break b}c[b>>2]=128;u=e+44|0;c[u>>2]=(c[u>>2]|0)+1;break};case 3:{t=e+28|0;u=a[(c[t>>2]|0)+2|0]|0;s=e+44|0;r=c[s>>2]|0;c[s>>2]=r+1;a[r]=u;r=a[(c[t>>2]|0)+1|0]|0;u=c[s>>2]|0;c[s>>2]=u+1;a[u]=r;t=a[c[t>>2]|0]|0;u=c[s>>2]|0;c[s>>2]=u+1;a[u]=t;break};case 1:{t=a[c[e+28>>2]|0]|0;s=e+44|0;u=c[s>>2]|0;c[s>>2]=u+1;a[u]=t;break};default:{}}}while(0);b=e+52|0;g=c[b>>2]|0;if((g|0)==0){break}c[b>>2]=g+1;a[g]=-1}}while(0);do{if((l|0)==26){r=(c[b>>2]|0)+16|0;switch(c[r>>2]|0){case 0:{a[j]=(((d[c[e+44>>2]|0]|0)&c[e+48>>2]|0)!=0)<<31>>31;break};case 3:{u=c[e+44>>2]|0;a[j]=a[u+2|0]|0;a[m+1|0]=a[u+1|0]|0;a[m+2|0]=a[u]|0;break};case 2:{u=c[e+44>>2]|0;a[j]=a[u]|0;a[m+1|0]=a[u+1|0]|0;a[m+2|0]=a[u+2|0]|0;break};case 4:{u=c[e+44>>2]|0;a[j]=a[u+2|0]|0;a[m+1|0]=a[u+1|0]|0;a[m+2|0]=a[u]|0;a[m+3|0]=-1;break};case 1:{a[j]=a[c[e+44>>2]|0]|0;break};default:{}}g=e+52|0;k=c[g>>2]|0;if((k|0)==0){n=255}else{n=d[k]|0}k=b+4|0;t=c[k>>2]|0;s=c[t+60>>2]|0;if((s|0)!=0){Jd[s&63](c[e+28>>2]|0,m,q,c[r>>2]|0);t=c[k>>2]|0}r=(a[e+24|0]&1)!=0;do{if((c[t+136>>2]|0)==0){if(!r){r=a[e+25|0]|0;break}v=+h[e+16>>3]*+h[e+56>>3]+.5;if(v<=0.0){v=+R(+v)}r=~~v&255}else{v=+h[e+16>>3];t=e+40|0;u=c[t>>2]|0;c[t>>2]=u+1;v=v*+(d[u]|0|0);if(r){v=v*+h[e+56>>3]+.5;if(v<=0.0){v=+R(+v)}r=~~v&255;break}else{v=v+.5;if(v<=0.0){v=+R(+v)}r=~~v&255;break}}}while(0);do{if((a[p]&1)==0){s=r&255;t=da(s,n)|0;t=s+n-((t+128+(t>>>8)|0)>>>8&255)|0;s=t&255;u=e+36|0;p=c[u>>2]|0;if((p|0)==0){p=s;break}c[u>>2]=p+1;w=d[p]|0;u=da(w,t&255)|0;p=s;s=w+t-((u+128+(u>>>8)|0)>>>8)&255}else{p=-1;s=-1}}while(0);c:do{switch(c[e+68>>2]|0){case 1:{s=c[e+28>>2]|0;t=n^255;r=0;q=0;l=55;break};case 0:{t=n^255;s=c[e+28>>2]|0;l=(da(d[s+2|0]|0,t)|0)+(da(d[q+2|0]|0,n)|0)|0;r=(da(d[s+1|0]|0,t)|0)+(da(d[q+1|0]|0,n)|0)|0;r=(r+128+(r>>>8)|0)>>>8&255;q=(l+128+(l>>>8)|0)>>>8&255;l=55;break};case 2:{o=s&255;if(s<<24>>24==0){o=0;r=0;q=0;break c}r=r&255;o=(((da(d[j]|0,o-r|0)|0)+(da(d[c[e+28>>2]|0]|0,r)|0)|0)/(o|0)|0)&255;r=0;q=0;break};case 3:{q=s&255;if(s<<24>>24==0){o=0;r=0;q=0;break c}w=r&255;t=q-w|0;o=da(d[j]|0,t)|0;u=c[e+28>>2]|0;o=(((da(d[u]|0,w)|0)+o|0)/(q|0)|0)&255;r=(((da(d[m+1|0]|0,t)|0)+(da(d[u+1|0]|0,w)|0)|0)/(q|0)|0)&255;q=(((da(d[m+2|0]|0,t)|0)+(da(d[u+2|0]|0,w)|0)|0)/(q|0)|0)&255;break};case 5:{t=s&255;if(s<<24>>24==0){o=0;r=0;q=0;break c}w=r&255;x=t-w|0;r=da(d[j]|0,x)|0;u=n^255;s=c[e+28>>2]|0;o=(((((da((da(d[s]|0,u)|0)+(da(d[o]|0,n)|0)|0,w)|0)>>>0)/255|0)+r|0)/(t|0)|0)&255;r=(((da(d[m+1|0]|0,x)|0)+(((da((da(d[s+1|0]|0,u)|0)+(da(d[q+1|0]|0,n)|0)|0,w)|0)>>>0)/255|0)|0)/(t|0)|0)&255;q=(((da(d[m+2|0]|0,x)|0)+(((da((da(d[s+2|0]|0,u)|0)+(da(d[q+2|0]|0,n)|0)|0,w)|0)>>>0)/255|0)|0)/(t|0)|0)&255;break};case 4:{q=s&255;if(s<<24>>24==0){o=0;r=0;q=0;break c}r=r&255;o=(((da(d[j]|0,q-r|0)|0)+(((da((da(d[c[e+28>>2]|0]|0,n^255)|0)+(da(d[o]|0,n)|0)|0,r)|0)>>>0)/255|0)|0)/(q|0)|0)&255;r=0;q=0;break};default:{o=0;r=0;q=0}}}while(0);if((l|0)==55){x=da(d[s]|0,t)|0;o=(da(d[o]|0,n)|0)+x|0;o=(o+128+(o>>>8)|0)>>>8&255}s=p&255;do{if(p<<24>>24!=0){l=c[e+72>>2]|0;if((l|0)==1){l=da(s^255,n)|0;n=s*255|0}else if((l|0)==3){q=q&255;w=da(s^255,n)|0;x=s*255|0;q=((da(w,q-(d[m+2|0]|0)|0)|0)/(x|0)|0)+q&255;r=r&255;l=w;n=x;r=((da(w,r-(d[m+1|0]|0)|0)|0)/(x|0)|0)+r&255}else{break}o=o&255;o=((da(l,o-(d[j]|0)|0)|0)/(n|0)|0)+o&255}}while(0);d:do{switch(c[(c[b>>2]|0)+16>>2]|0){case 4:{w=e+44|0;x=c[w>>2]|0;c[w>>2]=x+1;a[x]=q;x=c[w>>2]|0;c[w>>2]=x+1;a[x]=r;x=c[w>>2]|0;c[w>>2]=x+1;a[x]=o;x=c[w>>2]|0;c[w>>2]=x+1;a[x]=-1;break};case 3:{w=e+44|0;x=c[w>>2]|0;c[w>>2]=x+1;a[x]=q;x=c[w>>2]|0;c[w>>2]=x+1;a[x]=r;x=c[w>>2]|0;c[w>>2]=x+1;a[x]=o;break};case 1:{w=e+44|0;x=c[w>>2]|0;c[w>>2]=x+1;a[x]=o;break};case 2:{w=e+44|0;x=c[w>>2]|0;c[w>>2]=x+1;a[x]=o;x=c[w>>2]|0;c[w>>2]=x+1;a[x]=r;x=c[w>>2]|0;c[w>>2]=x+1;a[x]=q;break};case 0:{x=(Gq(c[(c[k>>2]|0)+56>>2]|0,c[e>>2]|0,c[e+4>>2]|0,o)|0)==0;b=e+48|0;j=c[b>>2]|0;if(x){x=c[e+44>>2]|0;a[x]=(d[x]|0)&(j^255)}else{x=c[e+44>>2]|0;a[x]=d[x]|0|j}x=c[b>>2]>>1;c[b>>2]=x;if((x|0)!=0){break d}c[b>>2]=128;x=e+44|0;c[x>>2]=(c[x>>2]|0)+1;break};default:{}}}while(0);b=c[g>>2]|0;if((b|0)==0){break}c[g>>2]=b+1;a[b]=p}}while(0);c[e>>2]=(c[e>>2]|0)+1;i=f;return}function vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;if((c[b+40>>2]|0)>(d|0)){j=0;i=f;return j|0}if((c[b+48>>2]|0)<(d|0)){j=0;i=f;return j|0}if((c[b+44>>2]|0)>(e|0)){j=0;i=f;return j|0}if((c[b+52>>2]|0)<(e|0)){j=0;i=f;return j|0}g=b+68|0;h=(c[g>>2]|0)>0;if((a[b]&1)==0){if(!h){j=1;i=f;return j|0}j=b+64|0;b=0;while(1){h=b+1|0;if(!(dr(c[(c[j>>2]|0)+(b<<2)>>2]|0,d,e)|0)){e=0;g=14;break}if((h|0)<(c[g>>2]|0)){b=h}else{e=1;g=14;break}}if((g|0)==14){i=f;return e|0}}else{if(!h){j=1;i=f;return j|0}h=b+64|0;d=d<<2;b=e<<2;j=0;while(1){e=j+1|0;if(!(dr(c[(c[h>>2]|0)+(j<<2)>>2]|0,d,b)|0)){e=0;g=14;break}if((e|0)<(c[g>>2]|0)){j=e}else{e=1;g=14;break}}if((g|0)==14){i=f;return e|0}}return 0}function wp(b,e,f,g,j,l,m){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0.0;n=i;r=i;i=i+56|0;p=r;B=i;i=i+80|0;o=B;if((a[b+189|0]&1)!=0){q=+h[l>>3];u=+h[l+8>>3];v=+h[l+16>>3];y=+h[l+24>>3];ba=+h[l+32>>3];qa=+h[l+40>>3];c[r>>2]=g;c[p+4>>2]=j;pa=p+8|0;h[k>>3]=q;c[pa>>2]=c[k>>2];c[pa+4>>2]=c[k+4>>2];pa=p+16|0;h[k>>3]=u;c[pa>>2]=c[k>>2];c[pa+4>>2]=c[k+4>>2];pa=p+24|0;h[k>>3]=v;c[pa>>2]=c[k>>2];c[pa+4>>2]=c[k+4>>2];pa=p+32|0;h[k>>3]=y;c[pa>>2]=c[k>>2];c[pa+4>>2]=c[k+4>>2];pa=p+40|0;h[k>>3]=ba;c[pa>>2]=c[k>>2];c[pa+4>>2]=c[k+4>>2];pa=p+48|0;h[k>>3]=qa;c[pa>>2]=c[k>>2];c[pa+4>>2]=c[k+4>>2];Kb(54040,p|0)|0}if((j|g|0)==0){pa=254;i=n;return pa|0}q=+h[l>>3];v=+h[l+24>>3];qa=q*v;ba=+h[l+8>>3];y=+h[l+16>>3];u=ba*y;if(+S(+(qa-u))<1.0e-6){pa=8;i=n;return pa|0}p=+S(+ba)>+S(+q);if(p){qa=y-qa/ba;u=-0.0-ba;y=(-0.0-v)/qa;v=qa;q=(-0.0-q)/ba}else{v=v-u/q;u=q;y=y/v;q=ba/q}s=u>=0.0;ba=+h[l+32>>3];do{if(m){qa=ba+.5;if(qa<=0.0){qa=+R(+qa)}r=~~qa;if(s){ba=u+ba+.5;if(ba<=0.0){ba=+R(+ba)}s=~~ba+ -1|0;break}else{ba=u+ba+.5;if(ba<=0.0){ba=+R(+ba)}s=~~ba;r=r+ -1|0;break}}else{if(s){qa=ba+-.01;if(qa<=0.0){qa=+R(+qa)}ba=u+ba+.01;if(ba<=0.0){ba=+R(+ba)}s=~~ba;r=~~qa;break}else{qa=ba+.01;if(qa<=0.0){qa=+R(+qa)}ba=u+ba+-.01;if(ba<=0.0){ba=+R(+ba)}s=~~ba;r=~~qa;break}}}while(0);s=s-r|0;I=(s|0)>-1?s:0-s|0;s=I+1|0;t=v>=0.0;ba=+h[l+40>>3];do{if(m){qa=ba+.5;if(qa<=0.0){qa=+R(+qa)}m=~~qa;if(t){ba=v+ba+.5;if(ba<=0.0){ba=+R(+ba)}l=~~ba+ -1|0;break}else{ba=v+ba+.5;if(ba<=0.0){ba=+R(+ba)}l=~~ba;m=m+ -1|0;break}}else{if(t){qa=ba+-.01;if(qa<=0.0){qa=+R(+qa)}ba=v+ba+.01;if(ba<=0.0){ba=+R(+ba)}l=~~ba;m=~~qa;break}else{qa=ba+.01;if(qa<=0.0){qa=+R(+qa)}ba=v+ba+-.01;if(ba<=0.0){ba=+R(+ba)}l=~~ba;m=~~qa;break}}}while(0);l=l-m|0;J=(l|0)>-1?l:0-l|0;l=J+1|0;V=u<0.0;t=V?-1:1;x=v<0.0?-1:1;u=q*+(t|0);w=da(I,t)|0;z=~~(q*+(w|0));v=+(x|0);y=y*v;ba=y*+(J|0)+.5;if(ba>0.0){A=~~ba;C=da(J,x)|0;D=~~(q*+(A|0))+C|0}else{ba=+R(+ba);A=~~ba;C=da(J,x)|0;D=~~(q*+(A|0))+C|0}F=~~ba+w|0;H=~~(q*+(F|0))+C|0;if(p){G=H;E=z;C=D;A=m-A|0;D=m-F|0;F=m-w|0}else{G=F;E=w;C=A;A=D+m|0;D=H+m|0;F=m+z|0}K=C+r|0;H=E+r|0;G=G+r|0;do{if((E|0)>0){if((C|0)>0){L=(r|0)<(G|0)?r:G;z=63;break}else{C=(K|0)<(G|0)?K:G;z=67;break}}else{if((H|0)<(K|0)){L=(H|0)<(G|0)?H:G;z=63;break}else{L=(K|0)<(G|0)?K:G;z=63;break}}}while(0);do{if((z|0)==63){if((E|0)>=0){C=L;z=67;break}if((C|0)<0){C=L;E=(r|0)>(G|0)?r:G;break}else{C=L;E=(K|0)>(G|0)?K:G;break}}}while(0);do{if((z|0)==67){if((H|0)>(K|0)){E=(H|0)>(G|0)?H:G;break}else{E=(K|0)>(G|0)?K:G;break}}}while(0);do{if((m|0)<(F|0)){if((m|0)<(A|0)){G=(m|0)<(D|0)?m:D;break}else{G=(A|0)<(D|0)?A:D;break}}else{if((F|0)<(A|0)){G=(F|0)<(D|0)?F:D;break}else{G=(A|0)<(D|0)?A:D;break}}}while(0);do{if((m|0)>(F|0)){if((m|0)>(A|0)){D=(m|0)>(D|0)?m:D;break}else{D=(A|0)>(D|0)?A:D;break}}else{if((F|0)>(A|0)){D=(F|0)>(D|0)?F:D;break}else{D=(A|0)>(D|0)?A:D;break}}}while(0);A=b+4|0;C=Jp(c[(c[A>>2]|0)+132>>2]|0,C,G,E,D)|0;c[b+184>>2]=C;D=(j|0)/(l|0)|0;E=(j|0)%(l|0)|0;j=(g|0)/(s|0)|0;F=(g|0)%(s|0)|0;if((D|0)<0|(D|0)==2147483647){pa=9;i=n;return pa|0}H=D+1|0;G=ye(H,g)|0;K=c[A>>2]|0;L=c[K+52>>2]|0;ba=+h[K+72>>3];c[B>>2]=0;c[o+4>>2]=0;B=c[K+136>>2]|0;if((B|0)!=0){c[o+40>>2]=c[B+20>>2]}B=c[b>>2]|0;switch(c[B+16>>2]|0){case 3:case 2:{c[o+44>>2]=c[B+20>>2];break};case 0:{c[o+44>>2]=c[B+20>>2];c[o+48>>2]=128;break};case 1:{c[o+44>>2]=c[B+20>>2];break};case 4:{c[o+44>>2]=c[B+20>>2];break};default:{}}c[o+52>>2]=c[B+24>>2];do{if((a[K+141|0]&1)==0){z=95}else{M=c[b+16>>2]|0;B=c[M+24>>2]|0;if((B|0)==0){z=95;break}pa=da(c[M>>2]|0,c[b+24>>2]|0)|0;c[o+36>>2]=B+((c[b+20>>2]|0)+pa)}}while(0);if((z|0)==95){c[o+36>>2]=0}B=o+8|0;c[B>>2]=0;if((L|0)==0){c[o+28>>2]=0}else{if(jd[c[(c[L>>2]|0)+16>>2]&511](L)|0){B=o+32|0;pd[c[(c[L>>2]|0)+12>>2]&63](L,0,0,B)|0}else{c[B>>2]=L;B=o+32|0}c[o+28>>2]=B;K=c[A>>2]|0}B=o+16|0;h[B>>3]=ba;if((c[K+136>>2]|0)==0){h[B>>3]=ba*255.0}a[o+24|0]=1;a[o+64|0]=0;B=c[(c[b>>2]|0)+16>>2]|0;if((c[K+60>>2]|0)==0){c[o+68>>2]=c[53896+(B<<2)>>2]}else{c[o+68>>2]=c[53920+(B<<2)>>2]}c[o+72>>2]=0;B=b+188|0;if((a[B]&1)!=0){c[b+12>>2]=-1}if((J|0)>-1){J=(D|0)>0;K=(C|0)==0|p;T=u<0.0;U=(I|0)>-1;M=o+56|0;O=b+168|0;Q=b+176|0;N=b+172|0;L=b+180|0;P=V?I:0;I=V?0:I;Y=1;X=0;V=0;while(1){pa=V+E|0;W=(pa|0)<(l|0);V=pa-(W?0:l)|0;W=W?D:H;Z=J?W:Y;if((Z|0)>0){_=0;Y=G;while(1){Bd[e&255](f,Y)|0;_=_+1|0;if((_|0)<(Z|0)){Y=Y+g|0}else{break}}}ba=+(X|0);qa=y*ba+.5;if(qa<=0.0){qa=+R(+qa)}$=~~qa;qa=q*+($|0);do{if(K){_=C;z=118}else{Y=~~qa;if((Y|0)!=(~~(q*+($+w|0))|0)){_=C;z=118;break}pa=$+r|0;_=(da(X,x)|0)+m+Y|0;_=Kp(c[(c[A>>2]|0)+132>>2]|0,pa-P|0,pa+I|0,_)|0;if((_|0)!=1){z=118}}}while(0);do{if((z|0)==118){z=0;ba=v*ba+qa;if(T){ba=ba+.999}Y=(W|0)<1?1:W;if(!U){break}Z=(Y|0)>0;_=(_|0)==0;aa=0;ca=0;ea=0;while(1){pa=ea+F|0;fa=(pa|0)<(s|0);ea=pa-(fa?0:s)|0;fa=j+(fa&1^1)|0;ga=~~ba;ha=p?ga:$;ga=p?0-$|0:ga;ia=(fa|0)<1?1:fa;la=G+aa|0;do{if(Z){ja=g-ia|0;if((ia|0)<=0){break}ka=(fa|0)>1?fa:1;ma=0;oa=0;while(1){pa=0;na=la;while(1){oa=(d[na]|0)+oa|0;pa=pa+1|0;if((pa|0)<(ia|0)){na=na+1|0}else{break}}ma=ma+1|0;if((ma|0)<(Y|0)){la=la+(ka+ja)|0}else{break}}if((oa|0)==0){break}ia=da(ia,Y)|0;if((oa|0)==(ia|0)){qa=1.0}else{qa=+(oa|0)/+(ia|0)}h[M>>3]=qa;ha=ha+r|0;ga=ga+m|0;if(!((a[B]&1)==0|_)){xp(b,o,ha,ga);break}if((ga|0)<0){break}if(!_){if(!(vp(c[(c[A>>2]|0)+132>>2]|0,ha,ga)|0)){break}}tp(b,o,ha,ga);up(b,o);if((c[O>>2]|0)>(ha|0)){c[O>>2]=ha}if((c[Q>>2]|0)<(ha|0)){c[Q>>2]=ha}if((c[N>>2]|0)>(ga|0)){c[N>>2]=ga}if((c[L>>2]|0)>=(ga|0)){break}c[L>>2]=ga}}while(0);ca=ca+1|0;if((ca|0)<(s|0)){$=$+t|0;aa=fa+aa|0;ba=u+ba}else{break}}}}while(0);X=X+1|0;if((X|0)<(l|0)){Y=W}else{break}}}Fe(G);pa=0;i=n;return pa|0}function xp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;k=i;i=i+8|0;l=i;i=i+8|0;if((f|0)<0){i=j;return}if((c[c[b>>2]>>2]|0)<=(f|0)){i=j;return}m=b+4|0;n=c[(c[m>>2]|0)+132>>2]|0;if((c[n+44>>2]|0)>(g|0)){i=j;return}if((c[n+52>>2]|0)<(g|0)){i=j;return}n=b+12|0;o=b+8|0;if((c[n>>2]|0)!=(g|0)){p=c[o>>2]|0;bX(c[p+20>>2]|0,-1,da(c[p+4>>2]|0,c[p+12>>2]|0)|0)|0;c[k>>2]=0;c[l>>2]=(c[c[b>>2]>>2]|0)+ -1;Lp(c[(c[m>>2]|0)+132>>2]|0,c[o>>2]|0,k,l,g);c[n>>2]=g}l=c[o>>2]|0;m=c[l+20>>2]|0;k=f>>1;l=c[l+12>>2]|0;n=d[m+k|0]|0;if((f&1|0)==0){k=(c[54616+((d[m+(l+k)|0]|0)>>>4<<2)>>2]|0)+(c[54616+(n>>>4<<2)>>2]|0)+(c[54616+((d[m+((l<<1)+k)|0]|0)>>>4<<2)>>2]|0)+(c[54616+((d[m+((l*3|0)+k)|0]|0)>>>4<<2)>>2]|0)|0}else{k=(c[54616+((a[m+(l+k)|0]&15)<<2)>>2]|0)+(c[54616+((n&15)<<2)>>2]|0)+(c[54616+((a[m+((l<<1)+k)|0]&15)<<2)>>2]|0)+(c[54616+((a[m+((l*3|0)+k)|0]&15)<<2)>>2]|0)|0}if((k|0)==0){i=j;return}tp(b,e,f,g);p=e+56|0;h[p>>3]=+h[b+32+(k<<3)>>3]*+h[p>>3];up(b,e);e=b+168|0;if((c[e>>2]|0)>(f|0)){c[e>>2]=f}e=b+176|0;if((c[e>>2]|0)<(f|0)){c[e>>2]=f}f=b+172|0;if((c[f>>2]|0)>(g|0)){c[f>>2]=g}b=b+180|0;if((c[b>>2]|0)>=(g|0)){i=j;return}c[b>>2]=g;i=j;return}function yp(b,e,f,g,j,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0.0,x=0,y=0,z=0.0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0.0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0.0,Ia=0.0;o=i;s=i;i=i+64|0;q=s;L=i;i=i+80|0;p=L;U=i;i=i+8|0;if((a[b+189|0]&1)!=0){w=+h[n>>3];z=+h[n+8>>3];A=+h[n+16>>3];ma=+h[n+24>>3];Ha=+h[n+32>>3];Ia=+h[n+40>>3];c[s>>2]=g;c[q+4>>2]=j&1;c[q+8>>2]=l;c[q+12>>2]=m;Ga=q+16|0;h[k>>3]=w;c[Ga>>2]=c[k>>2];c[Ga+4>>2]=c[k+4>>2];Ga=q+24|0;h[k>>3]=z;c[Ga>>2]=c[k>>2];c[Ga+4>>2]=c[k+4>>2];Ga=q+32|0;h[k>>3]=A;c[Ga>>2]=c[k>>2];c[Ga+4>>2]=c[k+4>>2];Ga=q+40|0;h[k>>3]=ma;c[Ga>>2]=c[k>>2];c[Ga+4>>2]=c[k+4>>2];Ga=q+48|0;h[k>>3]=Ha;c[Ga>>2]=c[k>>2];c[Ga+4>>2]=c[k+4>>2];Ga=q+56|0;h[k>>3]=Ia;c[Ga>>2]=c[k>>2];c[Ga+4>>2]=c[k+4>>2];Kb(54104,q|0)|0}a:do{switch(c[(c[b>>2]|0)+16>>2]|0){case 2:{if((g|0)==2){ba=3;break a}else{f=7}i=o;return f|0};case 3:{if((g|0)==3){ba=3;break a}else{f=7}i=o;return f|0};case 1:case 0:{if((g|0)==1){ba=1;break a}else{f=7}i=o;return f|0};case 4:{if((g|0)==4){ba=4;break a}else{f=7}i=o;return f|0};default:{Ga=7;i=o;return Ga|0}}}while(0);ma=+h[n>>3];z=+h[n+24>>3];w=ma*z;r=+h[n+8>>3];A=+h[n+16>>3];Ha=r*A;if(+S(+(w-Ha))<1.0e-6){Ga=8;i=o;return Ga|0}q=+S(+r)>+S(+ma);if(q){Ia=A-w/r;w=-0.0-r;A=(-0.0-z)/Ia;z=Ia;r=(-0.0-ma)/r}else{z=z-Ha/ma;w=ma;A=A/z;r=r/ma}ma=+h[n+32>>3];do{if(w<0.0){Ha=ma+.01;if(Ha<=0.0){Ha=+R(+Ha)}s=~~Ha;ma=w+ma+-.01;if(ma>0.0){break}ma=+R(+ma)}else{Ha=ma+-.01;if(Ha<=0.0){Ha=+R(+Ha)}s=~~Ha;ma=w+ma+.01;if(ma>0.0){break}ma=+R(+ma)}}while(0);t=~~ma-s|0;aa=(t|0)>-1?t:0-t|0;t=aa+1|0;ma=+h[n+40>>3];do{if(z<0.0){Ha=ma+.01;if(Ha<=0.0){Ha=+R(+Ha)}n=~~Ha;ma=z+ma+-.01;if(ma>0.0){break}ma=+R(+ma)}else{Ha=ma+-.01;if(Ha<=0.0){Ha=+R(+Ha)}n=~~Ha;ma=z+ma+.01;if(ma>0.0){break}ma=+R(+ma)}}while(0);u=~~ma-n|0;M=(u|0)>-1?u:0-u|0;u=M+1|0;ca=w<0.0;v=ca?-1:1;y=z<0.0?-1:1;w=r*+(v|0);x=da(aa,v)|0;B=~~(r*+(x|0));z=+(y|0);A=A*z;ma=A*+(M|0)+.5;if(ma>0.0){F=~~ma;D=da(M,y)|0;C=~~(r*+(F|0))+D|0}else{ma=+R(+ma);F=~~ma;D=da(M,y)|0;C=~~(r*+(F|0))+D|0}G=~~ma+x|0;H=~~(r*+(G|0))+D|0;if(q){J=H;D=B;E=C;C=n-F|0;F=n-G|0;G=n-x|0}else{J=G;D=x;E=F;C=C+n|0;F=H+n|0;G=n+B|0}H=E+s|0;I=D+s|0;J=J+s|0;do{if((D|0)>0){if((E|0)>0){K=(s|0)<(J|0)?s:J;B=43;break}else{D=(H|0)<(J|0)?H:J;B=47;break}}else{if((I|0)<(H|0)){K=(I|0)<(J|0)?I:J;B=43;break}else{K=(H|0)<(J|0)?H:J;B=43;break}}}while(0);do{if((B|0)==43){if((D|0)>=0){D=K;B=47;break}if((E|0)<0){D=K;H=(s|0)>(J|0)?s:J;break}else{D=K;H=(H|0)>(J|0)?H:J;break}}}while(0);do{if((B|0)==47){if((I|0)>(H|0)){H=(I|0)>(J|0)?I:J;break}else{H=(H|0)>(J|0)?H:J;break}}}while(0);do{if((n|0)<(G|0)){if((n|0)<(C|0)){E=(n|0)<(F|0)?n:F;break}else{E=(C|0)<(F|0)?C:F;break}}else{if((G|0)<(C|0)){E=(G|0)<(F|0)?G:F;break}else{E=(C|0)<(F|0)?C:F;break}}}while(0);do{if((n|0)>(G|0)){if((n|0)>(C|0)){F=(n|0)>(F|0)?n:F;break}else{F=(C|0)>(F|0)?C:F;break}}else{if((G|0)>(C|0)){F=(G|0)>(F|0)?G:F;break}else{F=(C|0)>(F|0)?C:F;break}}}while(0);C=b+4|0;D=Jp(c[(c[C>>2]|0)+132>>2]|0,D,E,H,F)|0;c[b+184>>2]=D;if((D|0)==1){Ga=0;i=o;return Ga|0}E=(m|0)/(u|0)|0;K=(m|0)%(u|0)|0;J=(l|0)/(t|0)|0;H=(l|0)%(t|0)|0;if((E|0)<0|(E|0)==2147483647){Ga=9;i=o;return Ga|0}I=E+1|0;m=Ae(I,l,ba)|0;if(j){G=U;O=1;F=ye(I,l)|0}else{G=U;O=(D|0)!=0&(a[b+188|0]&1)!=0;F=0}N=c[C>>2]|0;ma=+h[N+72>>3];c[L>>2]=0;c[p+4>>2]=0;L=N+136|0;P=c[L>>2]|0;if((P|0)!=0){c[p+40>>2]=c[P+20>>2]}Q=c[b>>2]|0;P=Q+16|0;switch(c[P>>2]|0){case 1:{c[p+44>>2]=c[Q+20>>2];break};case 3:case 2:{c[p+44>>2]=c[Q+20>>2];break};case 4:{c[p+44>>2]=c[Q+20>>2];break};case 0:{c[p+44>>2]=c[Q+20>>2];c[p+48>>2]=128;break};default:{}}c[p+52>>2]=c[Q+24>>2];Q=N+141|0;do{if((a[Q]&1)==0){B=79}else{V=c[b+16>>2]|0;T=c[V+24>>2]|0;if((T|0)==0){B=79;break}Ga=da(c[V>>2]|0,c[b+24>>2]|0)|0;c[p+36>>2]=T+((c[b+20>>2]|0)+Ga)}}while(0);if((B|0)==79){c[p+36>>2]=0}c[p+8>>2]=0;c[p+28>>2]=G;T=p+16|0;h[T>>3]=ma;do{if((c[L>>2]|0)==0){Ha=ma*255.0;if(O){h[T>>3]=Ha;break}Ha=Ha+.5;if(Ha<=0.0){Ha=+R(+Ha)}a[p+25|0]=~~Ha}}while(0);a[p+24|0]=O&1;do{if(ma==1.0){if((c[L>>2]|0)!=0|O){B=90;break}if((a[Q]&1)!=0){B=90;break}a[p+64|0]=1;c[p+68>>2]=c[53872+(c[P>>2]<<2)>>2]}else{B=90}}while(0);do{if((B|0)==90){a[p+64|0]=0;L=c[P>>2]|0;if((c[N+60>>2]|0)==0){c[p+68>>2]=c[53896+(L<<2)>>2];break}else{c[p+68>>2]=c[53920+(L<<2)>>2];break}}}while(0);c[p+72>>2]=0;L=b+188|0;if((a[L]&1)!=0){c[b+12>>2]=-1}M=(M|0)>-1;do{if(j){if(!M){break}O=(E|0)>0;T=(D|0)==0;M=T|q;j=w<0.0;N=(aa|0)>-1;P=U+1|0;Q=U+2|0;W=U+3|0;X=p+56|0;_=b+168|0;$=b+176|0;Y=b+172|0;U=b+180|0;V=J+1|0;Z=ca?aa:0;aa=ca?0:aa;ba=da(ba,l)|0;ga=1;ca=0;ea=0;while(1){Ga=ea+K|0;fa=(Ga|0)<(u|0);ea=Ga-(fa?0:u)|0;fa=fa?E:I;ia=O?fa:ga;if((ia|0)>0){ja=0;ga=m;ha=F;while(1){sd[e&127](f,ga,ha)|0;ja=ja+1|0;if((ja|0)<(ia|0)){ha=ha+l|0;ga=ga+ba|0}else{break}}}ma=+(ca|0);Ha=A*ma+.5;if(Ha<=0.0){Ha=+R(+Ha)}ja=~~Ha;Ha=r*+(ja|0);do{if(M){ia=D;B=107}else{ga=~~Ha;if((ga|0)!=(~~(r*+(ja+x|0))|0)){ia=D;B=107;break}Ga=ja+s|0;ia=(da(ca,y)|0)+n+ga|0;ia=Kp(c[(c[C>>2]|0)+132>>2]|0,Ga-Z|0,Ga+aa|0,ia)|0;if((ia|0)!=1){B=107}}}while(0);b:do{if((B|0)==107){B=0;ma=z*ma+Ha;if(j){ma=ma+.999}ga=(fa|0)<1?1:fa;switch(g|0){case 3:case 2:{if(!N){break b}ha=(ga|0)>0;ia=(ia|0)==0;ka=0;la=0;na=0;while(1){Ga=na+H|0;oa=(Ga|0)<(t|0);na=Ga-(oa?0:t)|0;oa=oa?J:V;pa=~~ma;qa=q?pa:ja;pa=q?0-ja|0:pa;ra=(oa|0)<1?1:oa;if(ha){ua=(ra|0)>0;va=l-ra|0;sa=va*3|0;wa=(oa|0)>1?oa:1;ta=wa*3|0;Fa=0;xa=0;ya=m+(ka*3|0)|0;Ga=0;Ea=0;Ca=0;Ba=F+ka|0;while(1){if(ua){za=Ba+wa|0;Da=0;Aa=ya;while(1){Ga=(d[Aa]|0)+Ga|0;Ea=(d[Aa+1|0]|0)+Ea|0;Ca=(d[Aa+2|0]|0)+Ca|0;Fa=(d[Ba]|0)+Fa|0;Da=Da+1|0;if((Da|0)<(ra|0)){Ba=Ba+1|0;Aa=Aa+3|0}else{break}}ya=ya+ta|0;Da=Ga;Aa=Ea}else{Da=Ga;Aa=Ea;za=Ba}xa=xa+1|0;if((xa|0)<(ga|0)){ya=ya+sa|0;Ga=Da;Ea=Aa;Ba=za+va|0}else{break}}}else{Fa=0;Da=0;Aa=0;Ca=0}Ha=1.0/+(da(ra,ga)|0);Ia=+(Fa|0)*Ha*.00392156862745098;do{if(Ia>0.0){a[G]=~~(+(Da|0)*Ha);a[P]=~~(+(Aa|0)*Ha);a[Q]=~~(+(Ca|0)*Ha);h[X>>3]=Ia;qa=qa+s|0;pa=pa+n|0;if(!((a[L]&1)==0|T)){xp(b,p,qa,pa);break}if((pa|0)<0){break}if(!ia){if(!(vp(c[(c[C>>2]|0)+132>>2]|0,qa,pa)|0)){break}}tp(b,p,qa,pa);up(b,p);if((c[_>>2]|0)>(qa|0)){c[_>>2]=qa}if((c[$>>2]|0)<(qa|0)){c[$>>2]=qa}if((c[Y>>2]|0)>(pa|0)){c[Y>>2]=pa}if((c[U>>2]|0)>=(pa|0)){break}c[U>>2]=pa}}while(0);la=la+1|0;if((la|0)<(t|0)){ja=ja+v|0;ka=oa+ka|0;ma=w+ma}else{break}}break};case 4:{if(!N){break b}ha=(ga|0)>0;ia=(ia|0)==0;ka=0;la=0;na=0;while(1){Ga=na+H|0;oa=(Ga|0)<(t|0);na=Ga-(oa?0:t)|0;oa=oa?J:V;pa=~~ma;qa=q?pa:ja;pa=q?0-ja|0:pa;ra=(oa|0)<1?1:oa;if(ha){ua=(ra|0)>0;va=l-ra|0;wa=va<<2;ta=(oa|0)>1?oa:1;sa=ta<<2;Ea=0;xa=0;ya=m+(ka<<2)|0;Ga=0;Fa=0;Da=0;Ba=F+ka|0;while(1){if(ua){za=Ba+ta|0;Ca=0;Aa=ya;while(1){Ga=(d[Aa]|0)+Ga|0;Fa=(d[Aa+1|0]|0)+Fa|0;Da=(d[Aa+2|0]|0)+Da|0;Ea=(d[Ba]|0)+Ea|0;Ca=Ca+1|0;if((Ca|0)<(ra|0)){Ba=Ba+1|0;Aa=Aa+4|0}else{break}}ya=ya+sa|0;Ca=Ga;Aa=Fa}else{Ca=Ga;Aa=Fa;za=Ba}xa=xa+1|0;if((xa|0)<(ga|0)){ya=ya+wa|0;Ga=Ca;Fa=Aa;Ba=za+va|0}else{break}}}else{Ea=0;Ca=0;Aa=0;Da=0}Ha=1.0/+(da(ra,ga)|0);Ia=+(Ea|0)*Ha*.00392156862745098;do{if(Ia>0.0){a[G]=~~(+(Ca|0)*Ha);a[P]=~~(+(Aa|0)*Ha);a[Q]=~~(+(Da|0)*Ha);a[W]=-1;h[X>>3]=Ia;qa=qa+s|0;pa=pa+n|0;if(!((a[L]&1)==0|T)){xp(b,p,qa,pa);break}if((pa|0)<0){break}if(!ia){if(!(vp(c[(c[C>>2]|0)+132>>2]|0,qa,pa)|0)){break}}tp(b,p,qa,pa);up(b,p);if((c[_>>2]|0)>(qa|0)){c[_>>2]=qa}if((c[$>>2]|0)<(qa|0)){c[$>>2]=qa}if((c[Y>>2]|0)>(pa|0)){c[Y>>2]=pa}if((c[U>>2]|0)>=(pa|0)){break}c[U>>2]=pa}}while(0);la=la+1|0;if((la|0)<(t|0)){ja=ja+v|0;ka=oa+ka|0;ma=w+ma}else{break}}break};case 1:case 0:{if(!N){break b}ha=(ga|0)>0;ia=(ia|0)==0;ka=0;la=0;na=0;while(1){Ga=na+H|0;oa=(Ga|0)<(t|0);na=Ga-(oa?0:t)|0;oa=oa?J:V;qa=~~ma;pa=q?qa:ja;qa=q?0-ja|0:qa;ra=(oa|0)<1?1:oa;if(ha){sa=(ra|0)>0;ta=l-ra|0;ua=(oa|0)>1?oa:1;ya=0;va=0;wa=m+ka|0;Ba=0;za=F+ka|0;while(1){if(sa){xa=za+ua|0;Ca=ya;Aa=0;ya=wa;while(1){Ba=(d[ya]|0)+Ba|0;Ca=(d[za]|0)+Ca|0;Aa=Aa+1|0;if((Aa|0)<(ra|0)){za=za+1|0;ya=ya+1|0}else{break}}ya=Ca;wa=wa+ua|0}else{xa=za}va=va+1|0;if((va|0)<(ga|0)){wa=wa+ta|0;za=xa+ta|0}else{break}}}else{ya=0;Ba=0}Ha=1.0/+(da(ra,ga)|0);Ia=+(ya|0)*Ha*.00392156862745098;do{if(Ia>0.0){a[G]=~~(+(Ba|0)*Ha);h[X>>3]=Ia;pa=pa+s|0;qa=qa+n|0;if(!((a[L]&1)==0|T)){xp(b,p,pa,qa);break}if((qa|0)<0){break}if(!ia){if(!(vp(c[(c[C>>2]|0)+132>>2]|0,pa,qa)|0)){break}}tp(b,p,pa,qa);up(b,p);if((c[_>>2]|0)>(pa|0)){c[_>>2]=pa}if((c[$>>2]|0)<(pa|0)){c[$>>2]=pa}if((c[Y>>2]|0)>(qa|0)){c[Y>>2]=qa}if((c[U>>2]|0)>=(qa|0)){break}c[U>>2]=qa}}while(0);la=la+1|0;if((la|0)<(t|0)){ja=ja+v|0;ka=oa+ka|0;ma=w+ma}else{break}}break};default:{break b}}}}while(0);ca=ca+1|0;if((ca|0)<(u|0)){ga=fa}else{break}}}else{if(!M){break}Q=(E|0)>0;O=(D|0)==0;P=O|q;j=w<0.0;T=(aa|0)>-1;M=U+1|0;N=U+2|0;W=U+3|0;X=b+168|0;Y=b+176|0;V=b+172|0;$=b+180|0;Z=p+56|0;_=J+1|0;U=ca?aa:0;aa=ca?0:aa;ba=da(ba,l)|0;ga=1;fa=0;ca=0;while(1){Ga=ca+K|0;ea=(Ga|0)<(u|0);ca=Ga-(ea?0:u)|0;ea=ea?E:I;ga=Q?ea:ga;if((ga|0)>0){ia=0;ha=m;while(1){sd[e&127](f,ha,0)|0;ia=ia+1|0;if((ia|0)<(ga|0)){ha=ha+ba|0}else{break}}}ma=+(fa|0);Ha=A*ma+.5;if(Ha<=0.0){Ha=+R(+Ha)}ka=~~Ha;Ha=r*+(ka|0);do{if(P){ia=D;B=190}else{ga=~~Ha;if((ga|0)!=(~~(r*+(ka+x|0))|0)){ia=D;B=190;break}Ga=ka+s|0;ia=(da(fa,y)|0)+n+ga|0;ia=Kp(c[(c[C>>2]|0)+132>>2]|0,Ga-U|0,Ga+aa|0,ia)|0;if((ia|0)!=1){B=190}}}while(0);c:do{if((B|0)==190){B=0;ma=z*ma+Ha;if(j){ma=ma+.999}ga=(ea|0)<1?1:ea;switch(g|0){case 1:case 0:{if(!T){break c}ha=(ga|0)>0;ia=(ia|0)==0;ja=0;la=0;na=0;while(1){Ga=na+H|0;oa=(Ga|0)<(t|0);na=Ga-(oa?0:t)|0;oa=oa?J:_;pa=~~ma;qa=q?pa:ka;pa=q?0-ka|0:pa;ra=(oa|0)<1?1:oa;if(ha){ua=(ra|0)>0;sa=l-ra|0;ta=(oa|0)>1?oa:1;va=0;wa=m+ja|0;ya=0;while(1){if(ua){za=0;xa=wa;while(1){ya=(d[xa]|0)+ya|0;za=za+1|0;if((za|0)<(ra|0)){xa=xa+1|0}else{break}}wa=wa+ta|0}va=va+1|0;if((va|0)<(ga|0)){wa=wa+sa|0}else{break}}}else{ya=0}a[G]=~~(+(ya|0)*(1.0/+(da(ra,ga)|0)));do{if((a[L]&1)==0|O){qa=qa+s|0;pa=pa+n|0;if((pa|0)<0){break}if(!ia){if(!(vp(c[(c[C>>2]|0)+132>>2]|0,qa,pa)|0)){break}}tp(b,p,qa,pa);up(b,p);if((c[X>>2]|0)>(qa|0)){c[X>>2]=qa}if((c[Y>>2]|0)<(qa|0)){c[Y>>2]=qa}if((c[V>>2]|0)>(pa|0)){c[V>>2]=pa}if((c[$>>2]|0)>=(pa|0)){break}c[$>>2]=pa}else{h[Z>>3]=1.0;xp(b,p,qa+s|0,pa+n|0)}}while(0);la=la+1|0;if((la|0)<(t|0)){ka=ka+v|0;ja=oa+ja|0;ma=w+ma}else{break}}break};case 3:case 2:{if(!T){break c}ha=(ga|0)>0;ia=(ia|0)==0;ja=0;la=0;na=0;while(1){Ga=na+H|0;oa=(Ga|0)<(t|0);na=Ga-(oa?0:t)|0;oa=oa?J:_;qa=~~ma;pa=q?qa:ka;qa=q?0-ka|0:qa;ra=(oa|0)<1?1:oa;if(ha){sa=(ra|0)>0;ta=(l-ra|0)*3|0;ua=(oa|0)>1?oa*3|0:3;va=0;wa=m+(ja*3|0)|0;Ba=0;Aa=0;za=0;while(1){if(sa){ya=0;xa=wa;while(1){Ba=(d[xa]|0)+Ba|0;Aa=(d[xa+1|0]|0)+Aa|0;za=(d[xa+2|0]|0)+za|0;ya=ya+1|0;if((ya|0)<(ra|0)){xa=xa+3|0}else{break}}wa=wa+ua|0}va=va+1|0;if((va|0)<(ga|0)){wa=wa+ta|0}else{break}}}else{Ba=0;Aa=0;za=0}Ia=1.0/+(da(ra,ga)|0);a[G]=~~(+(Ba|0)*Ia);a[M]=~~(+(Aa|0)*Ia);a[N]=~~(+(za|0)*Ia);do{if((a[L]&1)==0|O){pa=pa+s|0;qa=qa+n|0;if((qa|0)<0){break}if(!ia){if(!(vp(c[(c[C>>2]|0)+132>>2]|0,pa,qa)|0)){break}}tp(b,p,pa,qa);up(b,p);if((c[X>>2]|0)>(pa|0)){c[X>>2]=pa}if((c[Y>>2]|0)<(pa|0)){c[Y>>2]=pa}if((c[V>>2]|0)>(qa|0)){c[V>>2]=qa}if((c[$>>2]|0)>=(qa|0)){break}c[$>>2]=qa}else{h[Z>>3]=1.0;xp(b,p,pa+s|0,qa+n|0)}}while(0);la=la+1|0;if((la|0)<(t|0)){ka=ka+v|0;ja=oa+ja|0;ma=w+ma}else{break}}break};case 4:{if(!T){break c}ha=(ga|0)>0;ia=(ia|0)==0;ja=0;la=0;na=0;while(1){Ga=na+H|0;oa=(Ga|0)<(t|0);na=Ga-(oa?0:t)|0;oa=oa?J:_;qa=~~ma;pa=q?qa:ka;qa=q?0-ka|0:qa;ra=(oa|0)<1?1:oa;if(ha){ua=(ra|0)>0;sa=l-ra<<2;ta=(oa|0)>1?oa<<2:4;va=0;wa=m+(ja<<2)|0;Ba=0;Aa=0;za=0;while(1){if(ua){ya=0;xa=wa;while(1){Ba=(d[xa]|0)+Ba|0;Aa=(d[xa+1|0]|0)+Aa|0;za=(d[xa+2|0]|0)+za|0;ya=ya+1|0;if((ya|0)<(ra|0)){xa=xa+4|0}else{break}}wa=wa+ta|0}va=va+1|0;if((va|0)<(ga|0)){wa=wa+sa|0}else{break}}}else{Ba=0;Aa=0;za=0}Ia=1.0/+(da(ra,ga)|0);a[G]=~~(+(Ba|0)*Ia);a[M]=~~(+(Aa|0)*Ia);a[N]=~~(+(za|0)*Ia);a[W]=-1;do{if((a[L]&1)==0|O){pa=pa+s|0;qa=qa+n|0;if((qa|0)<0){break}if(!ia){if(!(vp(c[(c[C>>2]|0)+132>>2]|0,pa,qa)|0)){break}}tp(b,p,pa,qa);up(b,p);if((c[X>>2]|0)>(pa|0)){c[X>>2]=pa}if((c[Y>>2]|0)<(pa|0)){c[Y>>2]=pa}if((c[V>>2]|0)>(qa|0)){c[V>>2]=qa}if((c[$>>2]|0)>=(qa|0)){break}c[$>>2]=qa}else{h[Z>>3]=1.0;xp(b,p,pa+s|0,qa+n|0)}}while(0);la=la+1|0;if((la|0)<(t|0)){ka=ka+v|0;ja=oa+ja|0;ma=w+ma}else{break}}break};default:{break c}}}}while(0);fa=fa+1|0;if((fa|0)<(u|0)){ga=ea}else{break}}}}while(0);Fe(m);Fe(F);Ga=0;i=o;return Ga|0}function zp(b,d,e,f,g,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0.0,N=0.0;o=i;t=i;i=i+80|0;q=t;r=i;i=i+8|0;if((c[d+16>>2]|0)!=(c[(c[b>>2]|0)+16>>2]|0)){L=7;i=o;return L|0}u=d+24|0;L=(c[u>>2]|0)==0;p=b+4|0;M=+h[(c[p>>2]|0)+72>>3];tp(b,q,g,j);c[q+8>>2]=0;c[q+28>>2]=r;x=q+16|0;h[x>>3]=M;v=c[p>>2]|0;w=v+136|0;y=(c[w>>2]|0)==0;if(!L){if(y){h[x>>3]=M*255.0}a[q+24|0]=1;a[q+64|0]=0;x=(c[b>>2]|0)+16|0;w=c[x>>2]|0;if((c[v+60>>2]|0)==0){c[q+68>>2]=c[53896+(w<<2)>>2]}else{c[q+68>>2]=c[53920+(w<<2)>>2]}if(n){c[q+72>>2]=c[55024+(c[x>>2]<<2)>>2]}else{c[q+72>>2]=0}if((l|0)<=0){L=0;i=o;return L|0}n=(k|0)>0;z=q+56|0;v=b+168|0;w=b+176|0;x=b+172|0;y=b+180|0;A=q+52|0;E=q+36|0;C=q+48|0;B=q+44|0;D=q+40|0;H=0;while(1){F=H+j|0;tp(b,q,g,F);I=H+f|0;if(n){K=(da(c[d>>2]|0,I)|0)+e|0;K=(c[u>>2]|0)+K|0;J=0;while(1){G=K+1|0;K=a[K]|0;do{if(m){L=J+g|0;s=18}else{L=J+g|0;if(vp(c[(c[p>>2]|0)+132>>2]|0,L,F)|0){s=18;break}c[t>>2]=(c[t>>2]|0)+1;if((c[(c[p>>2]|0)+136>>2]|0)!=0){c[D>>2]=(c[D>>2]|0)+1}a:do{switch(c[(c[b>>2]|0)+16>>2]|0){case 4:{c[B>>2]=(c[B>>2]|0)+4;break};case 1:{c[B>>2]=(c[B>>2]|0)+1;break};case 3:case 2:{c[B>>2]=(c[B>>2]|0)+3;break};case 0:{L=c[C>>2]>>1;c[C>>2]=L;if((L|0)!=0){break a}c[C>>2]=128;c[B>>2]=(c[B>>2]|0)+1;break};default:{}}}while(0);K=c[A>>2]|0;if((K|0)!=0){c[A>>2]=K+1}K=c[E>>2]|0;if((K|0)==0){break}c[E>>2]=K+1}}while(0);do{if((s|0)==18){s=0;Oe(d,J+e|0,I,r);h[z>>3]=+(K&255|0)/255.0;up(b,q);if((c[v>>2]|0)>(L|0)){c[v>>2]=L}if((c[w>>2]|0)<(L|0)){c[w>>2]=L}if((c[x>>2]|0)>(F|0)){c[x>>2]=F}if((c[y>>2]|0)>=(F|0)){break}c[y>>2]=F}}while(0);J=J+1|0;if((J|0)<(k|0)){K=G}else{break}}}H=H+1|0;if((H|0)>=(l|0)){p=0;break}}i=o;return p|0}if(y){N=M*255.0+.5;if(N<=0.0){N=+R(+N)}a[q+25|0]=~~N}a[q+24|0]=0;do{if(M==1.0){if((c[w>>2]|0)!=0){s=48;break}if((a[v+141|0]&1)!=0){s=48;break}a[q+64|0]=1;w=c[b>>2]|0;c[q+68>>2]=c[53872+(c[w+16>>2]<<2)>>2]}else{s=48}}while(0);do{if((s|0)==48){a[q+64|0]=0;w=c[b>>2]|0;u=c[w+16>>2]|0;if((c[v+60>>2]|0)==0){c[q+68>>2]=c[53896+(u<<2)>>2];break}else{c[q+68>>2]=c[53920+(u<<2)>>2];break}}}while(0);if(n){c[q+72>>2]=c[55024+(c[w+16>>2]<<2)>>2]}else{c[q+72>>2]=0}if((l|0)<=0){L=0;i=o;return L|0}u=(k|0)>0;w=b+168|0;n=b+176|0;x=b+172|0;y=b+180|0;A=q+52|0;z=q+36|0;C=q+48|0;B=q+44|0;v=q+40|0;G=0;while(1){F=G+j|0;tp(b,q,g,F);if(u){E=G+f|0;D=0;do{do{if(m){H=D+g|0;s=61}else{H=D+g|0;if(vp(c[(c[p>>2]|0)+132>>2]|0,H,F)|0){s=61;break}c[t>>2]=(c[t>>2]|0)+1;if((c[(c[p>>2]|0)+136>>2]|0)!=0){c[v>>2]=(c[v>>2]|0)+1}b:do{switch(c[(c[b>>2]|0)+16>>2]|0){case 1:{c[B>>2]=(c[B>>2]|0)+1;break};case 3:case 2:{c[B>>2]=(c[B>>2]|0)+3;break};case 0:{L=c[C>>2]>>1;c[C>>2]=L;if((L|0)!=0){break b}c[C>>2]=128;c[B>>2]=(c[B>>2]|0)+1;break};case 4:{c[B>>2]=(c[B>>2]|0)+4;break};default:{}}}while(0);H=c[A>>2]|0;if((H|0)!=0){c[A>>2]=H+1}H=c[z>>2]|0;if((H|0)==0){break}c[z>>2]=H+1}}while(0);do{if((s|0)==61){s=0;Oe(d,D+e|0,E,r);up(b,q);if((c[w>>2]|0)>(H|0)){c[w>>2]=H}if((c[n>>2]|0)<(H|0)){c[n>>2]=H}if((c[x>>2]|0)>(F|0)){c[x>>2]=F}if((c[y>>2]|0)>=(F|0)){break}c[y>>2]=F}}while(0);D=D+1|0;}while((D|0)<(k|0))}G=G+1|0;if((G|0)>=(l|0)){p=0;break}}i=o;return p|0}function Ap(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;g=i;i=i+8|0;m=c[b>>2]|0;if((c[m+24>>2]|0)==0){Qe(-1,54192,g);i=f;return}a:do{switch(c[m+16>>2]|0){case 3:case 2:{g=a[e]|0;h=a[e+1|0]|0;l=a[e+2|0]|0;if((c[m+4>>2]|0)<=0){break a}e=g&255;j=h&255;k=l&255;o=m;m=0;while(1){n=c[o>>2]|0;if((n|0)>0){q=da(n,m)|0;n=(c[o+20>>2]|0)+(da(c[o+12>>2]|0,m)|0)|0;q=(c[o+24>>2]|0)+q|0;p=0;while(1){o=q+1|0;r=a[q]|0;q=r&255;if(r<<24>>24==0){a[n]=g;a[n+1|0]=h;a[n+2|0]=l}else if(r<<24>>24!=-1){s=~r&255;t=da(s,e)|0;t=(da(d[n]|0,q)|0)+t|0;a[n]=(t+128+(t>>>8)|0)>>>8;t=da(s,j)|0;r=n+1|0;t=(da(d[r]|0,q)|0)+t|0;a[r]=(t+128+(t>>>8)|0)>>>8;s=da(s,k)|0;r=n+2|0;q=(da(d[r]|0,q)|0)+s|0;a[r]=(q+128+(q>>>8)|0)>>>8}p=p+1|0;q=c[b>>2]|0;if((p|0)<(c[q>>2]|0)){n=n+3|0;q=o}else{o=q;break}}}m=m+1|0;if((m|0)>=(c[o+4>>2]|0)){m=o;break}}break};case 1:{if((c[m+4>>2]|0)<=0){break a}g=d[e]|0;h=0;do{e=c[m>>2]|0;if((e|0)>0){j=da(e,h)|0;e=(c[m+20>>2]|0)+(da(c[m+12>>2]|0,h)|0)|0;j=(c[m+24>>2]|0)+j|0;k=0;while(1){t=a[j]|0;m=da(~t&255,g)|0;m=(da(d[e]|0,t&255)|0)+m|0;a[e]=(m+128+(m>>>8)|0)>>>8;k=k+1|0;m=c[b>>2]|0;if((k|0)<(c[m>>2]|0)){j=j+1|0;e=e+1|0}else{break}}}h=h+1|0;}while((h|0)<(c[m+4>>2]|0));break};case 0:{if((c[m+4>>2]|0)<=0){break a}g=d[e]|0;h=0;do{e=c[m>>2]|0;if((e|0)>0){j=da(e,h)|0;k=128;e=(c[m+20>>2]|0)+(da(c[m+12>>2]|0,h)|0)|0;j=(c[m+24>>2]|0)+j|0;l=0;while(1){t=a[j]|0;m=d[e]|0;t=(da(((m&k|0)!=0)<<31>>31&255,t&255)|0)+(da(~t&255,g)|0)|0;if(((t+128+(t>>>8)|0)>>>8&255)<<24>>24<0){m=m|k}else{m=m&(k^255)}a[e]=m;k=k>>1;n=(k|0)==0;l=l+1|0;m=c[b>>2]|0;if((l|0)<(c[m>>2]|0)){k=n?128:k;e=n?e+1|0:e;j=j+1|0}else{break}}}h=h+1|0;}while((h|0)<(c[m+4>>2]|0));break};case 4:{g=a[e]|0;h=a[e+1|0]|0;k=a[e+2|0]|0;if((c[m+4>>2]|0)<=0){break a}l=g&255;e=h&255;j=k&255;o=m;m=0;while(1){n=c[o>>2]|0;if((n|0)>0){q=da(n,m)|0;n=(c[o+20>>2]|0)+(da(c[o+12>>2]|0,m)|0)|0;q=(c[o+24>>2]|0)+q|0;p=0;while(1){o=q+1|0;q=a[q]|0;r=q&255;if(q<<24>>24==0){a[n]=g;a[n+1|0]=h;a[n+2|0]=k}else if(q<<24>>24!=-1){s=~q&255;q=da(s,l)|0;q=(da(d[n]|0,r)|0)+q|0;a[n]=(q+128+(q>>>8)|0)>>>8;q=da(s,e)|0;t=n+1|0;q=(da(d[t]|0,r)|0)+q|0;a[t]=(q+128+(q>>>8)|0)>>>8;s=da(s,j)|0;t=n+2|0;s=(da(d[t]|0,r)|0)+s|0;a[t]=(s+128+(s>>>8)|0)>>>8}a[n+3|0]=-1;p=p+1|0;q=c[b>>2]|0;if((p|0)<(c[q>>2]|0)){n=n+4|0;q=o}else{o=q;break}}}m=m+1|0;if((m|0)>=(c[o+4>>2]|0)){m=o;break}}break};default:{}}}while(0);bX(c[m+24>>2]|0,-1,da(c[m+4>>2]|0,c[m>>2]|0)|0)|0;i=f;return}function Bp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0,ca=0.0,ea=0.0,fa=0.0,ga=0,ha=0.0,ia=0,ja=0.0,ka=0,la=0,ma=0.0,na=0.0,oa=0,pa=0.0,qa=0,ra=0,sa=0.0,ta=0.0,ua=0.0,va=0,wa=0;j=i;r=i;i=i+24|0;p=r;n=i;i=i+24|0;q=n;w=i;i=i+16|0;u=w;y=i;i=i+16|0;x=y;m=i;i=i+80|0;f=m;g=i;i=i+8|0;v=i;i=i+24|0;t=v;bX(r|0,0,24)|0;bX(n|0,0,24)|0;bX(w|0,0,12)|0;bX(y|0,0,12)|0;C=c[b>>2]|0;l=c[C>>2]|0;o=c[b+4>>2]|0;s=c[o+132>>2]|0;H=C+20|0;B=c[H>>2]|0;I=C+24|0;A=c[I>>2]|0;D=C+16|0;z=c[D>>2]|0;E=(A|0)!=0;G=C+12|0;e=c[G>>2]|0;if((z|0)==1){k=z}else if((z|0)==4){k=z}else if((z|0)==2){k=3}else if((z|0)==3){k=z}else{k=0}Z=+h[o+64>>3];c[m>>2]=0;c[f+4>>2]=0;m=o+136|0;J=c[m>>2]|0;if((J|0)!=0){c[f+40>>2]=c[J+20>>2]}switch(c[D>>2]|0){case 3:case 2:{c[f+44>>2]=c[H>>2];break};case 4:{c[f+44>>2]=c[H>>2];break};case 1:{c[f+44>>2]=c[H>>2];break};case 0:{c[f+44>>2]=c[H>>2];c[f+48>>2]=128;break};default:{}}c[f+52>>2]=c[I>>2];H=o+141|0;do{if((a[H]&1)==0){F=16}else{I=c[b+16>>2]|0;J=c[I+24>>2]|0;if((J|0)==0){F=16;break}wa=da(c[I>>2]|0,c[b+24>>2]|0)|0;c[f+36>>2]=J+((c[b+20>>2]|0)+wa)}}while(0);if((F|0)==16){c[f+36>>2]=0}c[f+8>>2]=0;c[f+28>>2]=g;h[f+16>>3]=Z;if((c[m>>2]|0)==0){_=Z*255.0+.5;if(_<=0.0){_=+R(+_)}a[f+25|0]=~~_}a[f+24|0]=0;do{if(Z==1.0){if((c[m>>2]|0)!=0){F=25;break}if((a[H]&1)!=0){F=25;break}a[f+64|0]=1;c[f+68>>2]=c[53872+(c[D>>2]<<2)>>2];H=1}else{F=25}}while(0);do{if((F|0)==25){a[f+64|0]=0;m=c[D>>2]|0;if((c[o+60>>2]|0)==0){c[f+68>>2]=c[53896+(m<<2)>>2];H=0;break}else{c[f+68>>2]=c[53920+(m<<2)>>2];H=0;break}}}while(0);c[f+72>>2]=0;m=b+188|0;do{if((a[m]&1)==0){if(H<<24>>24==0){F=33;break}if((c[o+60>>2]|0)==0){D=1}else{F=33}}else{if((c[b+8>>2]|0)==0){wa=0;i=j;return wa|0}else{c[b+12>>2]=-1;F=33;break}}}while(0);do{if((F|0)==33){E=FW(28)|0;Ke(E,c[C>>2]|0,c[C+4>>2]|0,c[C+8>>2]|0,c[D>>2]|0,1,(c[G>>2]|0)>-1);B=c[E+20>>2]|0;A=c[E+24>>2]|0;C=c[b>>2]|0;C=da(c[C+4>>2]|0,c[C>>2]|0)|0;if((C|0)<=0){D=0;C=E;E=1;break}bX(A|0,0,C|0)|0;D=0;C=E;E=1}}while(0);if(!(jd[c[(c[d>>2]|0)+20>>2]&511](d)|0)){wa=0;i=j;return wa|0}a:do{if((jd[c[(c[d>>2]|0)+24>>2]&511](d)|0)>0){L=p+8|0;M=q+8|0;J=t+8|0;O=p+16|0;G=q+16|0;H=t+16|0;U=o+16|0;W=o+32|0;I=o+8|0;K=o+24|0;P=o+40|0;V=x+4|0;F=u+4|0;Q=x+8|0;T=u+8|0;N=0;b:while(1){rd[c[(c[d>>2]|0)+28>>2]&1](d,N,p,q,t,L,M,J,O,G,H);ua=+h[r>>3];Z=+h[n>>3];_=+h[W>>3]+(ua*+h[o>>3]+Z*+h[U>>3]);Z=+h[P>>3]+(ua*+h[I>>3]+Z*+h[K>>3]);h[r>>3]=_;h[n>>3]=Z;_=_+.5;if(_<=0.0){_=+R(+_)}ia=~~_;c[w>>2]=ia;Z=Z+.5;if(Z<=0.0){Z=+R(+Z)}X=~~Z;c[y>>2]=X;ua=+h[L>>3];Z=+h[M>>3];_=+h[W>>3]+(ua*+h[o>>3]+Z*+h[U>>3]);Z=+h[P>>3]+(ua*+h[I>>3]+Z*+h[K>>3]);h[L>>3]=_;h[M>>3]=Z;_=_+.5;if(_<=0.0){_=+R(+_)}Y=~~_;c[F>>2]=Y;Z=Z+.5;if(Z<=0.0){Z=+R(+Z)}ba=~~Z;c[V>>2]=ba;ua=+h[O>>3];Z=+h[G>>3];_=+h[W>>3]+(ua*+h[o>>3]+Z*+h[U>>3]);Z=+h[P>>3]+(ua*+h[I>>3]+Z*+h[K>>3]);h[O>>3]=_;h[G>>3]=Z;_=_+.5;if(_<=0.0){_=+R(+_)}la=~~_;c[T>>2]=la;Z=Z+.5;if(Z<=0.0){Z=+R(+Z)}ga=~~Z;c[Q>>2]=ga;if((X|0)>(ba|0)){c[w>>2]=Y;c[F>>2]=ia;c[y>>2]=ba;c[V>>2]=X;ua=+h[v>>3];h[v>>3]=+h[J>>3];h[J>>3]=ua;ka=Y;Y=X}else{ka=ia;ia=Y;Y=ba;ba=X}if((ba|0)>(Y|0)){F=45;break}do{if((Y|0)>(ga|0)){Z=+h[H>>3];c[T>>2]=ia;c[Q>>2]=Y;h[H>>3]=+h[J>>3];if((ba|0)>(ga|0)){c[F>>2]=ka;c[V>>2]=ba;h[J>>3]=+h[v>>3];c[w>>2]=la;c[y>>2]=ga;h[v>>3]=Z;aa=ka;ka=la;X=ba;ba=ga;break}else{c[F>>2]=la;c[V>>2]=ga;h[J>>3]=Z;aa=la;X=ga;break}}else{aa=ia;ia=la;X=Y;Y=ga}}while(0);if((ba|0)>(X|0)){F=51;break}if((X|0)>(Y|0)){F=53;break}do{if((da(ka-ia|0,X-Y|0)|0)!=(da(aa-ia|0,ba-Y|0)|0)){ga=(ba|0)==(X|0);la=ga?2:1;ga=ga&1;ra=c[x+(ga<<2)>>2]|0;wa=c[x+(la<<2)>>2]|0;if((ra|0)>=(wa|0)){F=56;break b}if((ba|0)>=(Y|0)){F=58;break b}va=c[u+(ga<<2)>>2]|0;ha=+((c[u+(la<<2)>>2]|0)-va|0)/+(wa-ra|0);fa=+(va|0)- +(ra|0)*ha;_=+(ia-ka|0)/+(Y-ba|0);$=+(ka|0)- +(ba|0)*_;Z=+(X|0);if(fa+ha*Z>$+_*Z){qa=ra;va=wa;ra=ba;wa=Y;ca=$;ea=_;ka=2;oa=0}else{qa=ba;va=Y;ca=fa;ea=ha;fa=$;ha=_;ka=la;oa=ga;la=2;ga=0}ma=+h[t+(oa<<3)>>3];na=(+h[t+(ka<<3)>>3]-ma)/+(wa-ra|0);pa=+h[t+(ga<<3)>>3];sa=(+h[t+(la<<3)>>3]-pa)/+(va-qa|0);if((ba|0)>(Y|0)){break}_=+(ia-aa|0);$=+(aa|0);aa=ba;ia=(X|0)<(Y|0);ja=na;ma=ma- +(ra|0)*na;na=sa;pa=pa- +(qa|0)*sa;ba=da(ba,e)|0;while(1){if(ia&(aa|0)==(X|0)){do{if((ka|0)==1){ma=+(Y-X|0);ea=_/ma;ua=+h[J>>3];ma=(+h[H>>3]-ua)/ma;ca=$-Z*ea;ka=2;oa=1;ja=ma;ma=ua-Z*ma}else{if((la|0)!=1){break}pa=+(Y-X|0);ha=_/pa;ua=+h[J>>3];pa=(+h[H>>3]-ua)/pa;fa=$-Z*ha;la=2;ga=1;na=pa;pa=ua-Z*pa}}while(0);if((c[x+(oa<<2)>>2]|0)>=(c[x+(ka<<2)>>2]|0)){F=69;break b}if((c[x+(ga<<2)>>2]|0)<(c[x+(la<<2)>>2]|0)){ia=0}else{F=71;break b}}ta=+(aa|0);sa=ta*ja+ma;ua=ca+ta*ea+.5;if(ua<=0.0){ua=+R(+ua)}ra=~~ua;ua=fa+ta*ha+.5;if(ua<=0.0){ua=+R(+ua)}qa=~~ua;if((qa|0)==(ra|0)){ta=0.0}else{ta=(ta*na+pa-sa)/+(qa-ra|0)}ua=+(ra|0)*ta;sa=sa-ua;if((ra|0)>(qa|0)){qa=ra-qa|0;if((((qa|0)>-1?qa:0-qa|0)|0)>=3){F=80;break b}}else{wa=da(aa,l)|0;va=ra;ra=(da(ra,k)|0)+ba|0;ua=ua+sa;while(1){do{if(vp(s,va,aa)|0){if(+S(+(ua-(sa+ta*+(va|0))))>=1.0e-10){F=84;break b}od[c[(c[d>>2]|0)+32>>2]&1](d,ua,z,B+ra|0);if(!E){break}a[A+(va+wa)|0]=-1}}while(0);if((va|0)<(qa|0)){va=va+1|0;ra=ra+k|0;ua=ta+ua}else{break}}}if((aa|0)<(Y|0)){aa=aa+1|0;ba=ba+e|0}else{break}}}}while(0);N=N+1|0;if((N|0)>=(jd[c[(c[d>>2]|0)+24>>2]&511](d)|0)){break a}}if((F|0)==45){Ya(54248,54264,3348,54280)}else if((F|0)==51){Ya(54248,54264,3363,54280)}else if((F|0)==53){Ya(54312,54264,3364,54280)}else if((F|0)==56){Ya(54328,54264,3392,54280)}else if((F|0)==58){Ya(54368,54264,3393,54280)}else if((F|0)==69){Ya(54328,54264,3451,54280)}else if((F|0)==71){Ya(54368,54264,3452,54280)}else if((F|0)==80){Ya(54408,54264,3474,54280)}else if((F|0)==84){Ya(54472,54264,3487,54280)}}}while(0);if(D){wa=1;i=j;return wa|0}o=c[C>>2]|0;n=c[C+4>>2]|0;if((o|0)>0){t=(n|0)>0;d=(k|0)==0;s=b+168|0;r=b+176|0;q=b+172|0;y=b+180|0;u=0;do{if(t){v=da(u,k)|0;w=0;do{do{if((a[A+((da(w,l)|0)+u)|0]|0)!=0){x=(da(w,e)|0)+v|0;if(!d){p=0;do{a[g+p|0]=a[B+(x+p)|0]|0;p=p+1|0;}while((p|0)<(k|0))}if((a[m]&1)!=0){xp(b,f,u,w);break}tp(b,f,u,w);up(b,f);if((c[s>>2]|0)>(u|0)){c[s>>2]=u}if((c[r>>2]|0)<(u|0)){c[r>>2]=u}if((c[q>>2]|0)>(w|0)){c[q>>2]=w}if((c[y>>2]|0)>=(w|0)){break}c[y>>2]=w}}while(0);w=w+1|0;}while((w|0)<(n|0))}u=u+1|0;}while((u|0)<(o|0))}if((C|0)==0){wa=1;i=j;return wa|0}Le(C);HW(C);wa=1;i=j;return wa|0}function Cp(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=i;n=i;i=i+8|0;o=n;q=c[e+16>>2]|0;p=c[b>>2]|0;if((q|0)!=(c[p+16>>2]|0)){x=7;i=m;return x|0}a:do{switch(q|0){case 0:{if((l|0)<=0){break a}r=h>>3;q=128>>>(h&7);s=(k|0)>0;t=0;while(1){if(s){w=da(c[p+12>>2]|0,t+j|0)|0;u=t+g|0;v=q;p=(c[p+20>>2]|0)+(w+r)|0;w=0;while(1){Oe(e,w+f|0,u,o);if((a[n]|0)==0){x=d[p]&(v^255)}else{x=d[p]|v}a[p]=x;v=v>>1;x=(v|0)==0;w=w+1|0;if((w|0)<(k|0)){v=x?128:v;p=x?p+1|0:p}else{break}}}t=t+1|0;if((t|0)>=(l|0)){break a}p=c[b>>2]|0}break};case 3:case 2:{if((l|0)<=0){break a}o=h*3|0;n=e+12|0;f=f*3|0;e=e+20|0;q=(k|0)>0;r=0;while(1){if(q){s=da(c[n>>2]|0,r+g|0)|0;t=da(c[p+12>>2]|0,r+j|0)|0;p=(c[p+20>>2]|0)+(t+o)|0;s=(c[e>>2]|0)+(s+f)|0;t=0;while(1){a[p]=a[s]|0;a[p+1|0]=a[s+1|0]|0;a[p+2|0]=a[s+2|0]|0;t=t+1|0;if((t|0)<(k|0)){s=s+3|0;p=p+3|0}else{break}}}r=r+1|0;if((r|0)>=(l|0)){break a}p=c[b>>2]|0}break};case 1:{if((l|0)<=0){break a}q=(k|0)>0;r=0;while(1){if(q){t=da(c[p+12>>2]|0,r+j|0)|0;s=r+g|0;p=(c[p+20>>2]|0)+(t+h)|0;t=0;while(1){Oe(e,t+f|0,s,o);a[p]=a[n]|0;t=t+1|0;if((t|0)<(k|0)){p=p+1|0}else{break}}}r=r+1|0;if((r|0)>=(l|0)){break a}p=c[b>>2]|0}break};case 4:{if((l|0)<=0){break a}n=h<<2;o=e+12|0;f=f<<2;e=e+20|0;q=(k|0)>0;r=0;while(1){if(q){s=da(c[o>>2]|0,r+g|0)|0;t=da(c[p+12>>2]|0,r+j|0)|0;p=(c[p+20>>2]|0)+(t+n)|0;s=(c[e>>2]|0)+(s+f)|0;t=0;while(1){a[p]=a[s]|0;a[p+1|0]=a[s+1|0]|0;a[p+2|0]=a[s+2|0]|0;a[p+3|0]=-1;t=t+1|0;if((t|0)<(k|0)){s=s+4|0;p=p+4|0}else{break}}}r=r+1|0;if((r|0)>=(l|0)){break a}p=c[b>>2]|0}break};default:{}}}while(0);e=c[b>>2]|0;g=c[e+24>>2]|0;if((g|0)!=0&(l|0)>0){f=0}else{x=0;i=m;return x|0}while(1){bX(g+((da(c[e>>2]|0,f+j|0)|0)+h)|0,0,k|0)|0;f=f+1|0;if((f|0)>=(l|0)){h=0;break}e=c[b>>2]|0;g=c[e+24>>2]|0}i=m;return h|0}function Dp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;r=i;j=i;i=i+80|0;u=i;i=i+8|0;t=i;i=i+8|0;s=i;i=i+8|0;m=i;i=i+8|0;k=i;i=i+8|0;o=k;l=i;i=i+8|0;p=l;n=b+8|0;if((c[n>>2]|0)==0){y=255;i=r;return y|0}if((c[d+8>>2]|0)==0){y=2;i=r;return y|0}g=FW(12)|0;q=b+4|0;y=c[q>>2]|0;Pq(g,d,y,+h[y+104>>3],1);Vq(g);Wq(g);d=FW(52)|0;$q(d,g,0);br(d,u,t,s,m);s=Jp(c[(c[q>>2]|0)+132>>2]|0,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[m>>2]|0)|0;do{if((s|0)!=1){y=c[t>>2]|0;u=c[q>>2]|0;w=u+132|0;x=c[w>>2]|0;v=c[x+44>>2]|0;if((y|0)<(v|0)){c[t>>2]=v;x=c[w>>2]|0}else{v=y}w=c[x+52>>2]|0;if((c[m>>2]|0)>(w|0)){c[m>>2]=w}jp(b,j,0,v,f,0,+h[u+72>>3],(a[b+188|0]&1)!=0&(e^1),0);e=c[t>>2]|0;if((e|0)>(c[m>>2]|0)){break}t=(s|0)==0;while(1){hr(d,c[n>>2]|0,o,p,e);if(!t){Lp(c[(c[q>>2]|0)+132>>2]|0,c[n>>2]|0,o,p,e)}pp(b,j,c[k>>2]|0,c[l>>2]|0,e);if((e|0)<(c[m>>2]|0)){e=e+1|0}else{break}}}}while(0);c[b+184>>2]=s;if((d|0)!=0){ar(d);HW(d)}if((g|0)==0){y=0;i=r;return y|0}Uq(g);HW(g);y=0;i=r;return y|0}function Ep(b,d,e,f,g,j){b=b|0;d=+d;e=+e;f=+f;g=+g;j=j|0;var k=0,l=0.0,m=0;k=i;a[b]=j&1;j=b+8|0;if(d<f){h[j>>3]=d;h[b+24>>3]=f;l=f}else{h[j>>3]=f;h[b+24>>3]=d;l=d;d=f}j=b+16|0;if(e<g){h[j>>3]=e;h[b+32>>3]=g;f=g}else{h[j>>3]=g;h[b+32>>3]=e;f=e;e=g}if(d<=0.0){d=+R(+d)}c[b+40>>2]=~~d;if(e<=0.0){e=+R(+e)}c[b+44>>2]=~~e;if(l<=0.0){l=+R(+l)}c[b+48>>2]=~~l;if(f>0.0){d=f;m=~~d;j=b+52|0;c[j>>2]=m;j=b+56|0;bX(j|0,0,20)|0;i=k;return}d=+R(+f);j=~~d;m=b+52|0;c[m>>2]=j;m=b+56|0;bX(m|0,0,20)|0;i=k;return}function Fp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;e=i;a[b]=a[d]&1;h[b+8>>3]=+h[d+8>>3];h[b+16>>3]=+h[d+16>>3];h[b+24>>3]=+h[d+24>>3];h[b+32>>3]=+h[d+32>>3];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];j=b+68|0;c[j>>2]=c[d+68>>2];g=c[d+72>>2]|0;l=b+72|0;c[l>>2]=g;f=b+56|0;c[f>>2]=ye(g,4)|0;g=b+60|0;c[g>>2]=ye(c[l>>2]|0,1)|0;b=b+64|0;c[b>>2]=ye(c[l>>2]|0,4)|0;if((c[j>>2]|0)<=0){i=e;return}k=d+56|0;d=d+60|0;l=0;do{n=c[(c[k>>2]|0)+(l<<2)>>2]|0;m=FW(12)|0;Tq(m,n);c[(c[f>>2]|0)+(l<<2)>>2]=m;a[(c[g>>2]|0)+l|0]=a[(c[d>>2]|0)+l|0]|0;m=FW(52)|0;$q(m,c[(c[f>>2]|0)+(l<<2)>>2]|0,(a[(c[g>>2]|0)+l|0]&1)!=0);c[(c[b>>2]|0)+(l<<2)>>2]=m;l=l+1|0;}while((l|0)<(c[j>>2]|0));i=e;return}function Gp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=i;e=a+68|0;f=a+56|0;h=c[f>>2]|0;b=a+64|0;if((c[e>>2]|0)>0){g=0;do{h=c[h+(g<<2)>>2]|0;if((h|0)!=0){Uq(h);HW(h)}h=c[(c[b>>2]|0)+(g<<2)>>2]|0;if((h|0)!=0){ar(h);HW(h)}g=g+1|0;h=c[f>>2]|0}while((g|0)<(c[e>>2]|0))}Fe(h);Fe(c[a+60>>2]|0);Fe(c[b>>2]|0);i=d;return}function Hp(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0,j=0,k=0.0;g=i;j=a+8|0;k=+h[j>>3];do{if(b<e){if(k<b){h[j>>3]=b;if(b<=0.0){b=+R(+b)}c[a+40>>2]=~~b}j=a+24|0;if(+h[j>>3]<=e){break}h[j>>3]=e;if(e<=0.0){e=+R(+e)}c[a+48>>2]=~~e}else{if(k<e){h[j>>3]=e;if(e<=0.0){e=+R(+e)}c[a+40>>2]=~~e}j=a+24|0;if(+h[j>>3]<=b){break}h[j>>3]=b;if(b<=0.0){b=+R(+b)}c[a+48>>2]=~~b}}while(0);j=a+16|0;e=+h[j>>3];if(d<f){if(e<d){h[j>>3]=d;if(d<=0.0){d=+R(+d)}c[a+44>>2]=~~d}j=a+32|0;if(+h[j>>3]<=f){i=g;return 0}h[j>>3]=f;if(f<=0.0){f=+R(+f)}c[a+52>>2]=~~f;i=g;return 0}else{if(e<f){h[j>>3]=f;if(f<=0.0){f=+R(+f)}c[a+44>>2]=~~f}j=a+32|0;if(+h[j>>3]<=d){i=g;return 0}h[j>>3]=d;if(d<=0.0){d=+R(+d)}c[a+52>>2]=~~d;i=g;return 0}return 0}
function Ip(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=+f;g=g|0;var j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0;j=i;k=FW(12)|0;Pq(k,d,e,f,1);e=c[k+4>>2]|0;if((e|0)==4){l=8}else if((e|0)==0){m=+h[b+8>>3]+-1.0;h[b+24>>3]=m;f=+h[b+16>>3]+-1.0;h[b+32>>3]=f;if(m<=0.0){m=+R(+m)}c[b+48>>2]=~~m;if(f<=0.0){f=+R(+f)}c[b+52>>2]=~~f;if((k|0)==0){i=j;return 0}Uq(k);HW(k);i=j;return 0}do{if((l|0)==8){e=c[k>>2]|0;f=+h[e>>3];m=+h[e+16>>3];do{if(f==m){if(f!=+h[e+56>>3]){l=20;break}if(f!=+h[e+184>>3]){l=20;break}o=+h[e+112>>3];if(o!=+h[e+128>>3]){l=20;break}if(o!=+h[e+72>>3]){l=20;break}if(o!=+h[e+168>>3]){l=20;break}n=+h[e+64>>3];if(n!=+h[e+80>>3]){l=20;break}if(n!=+h[e+24>>3]){l=20;break}p=+h[e+120>>3];if(n!=p){l=20;break}q=+h[e+176>>3];if(q!=+h[e+192>>3]){l=20;break}n=+h[e+8>>3];if(q!=n){l=20;break}if(q!=+h[e+136>>3]){l=20}}else{l=20}}while(0);if((l|0)==20){n=+h[e+8>>3];if(n!=+h[e+24>>3]){break}if(n!=+h[e+64>>3]){break}if(n!=+h[e+192>>3]){break}p=+h[e+120>>3];if(p!=+h[e+136>>3]){break}if(p!=+h[e+80>>3]){break}if(p!=+h[e+176>>3]){break}q=+h[e+56>>3];if(!(q==+h[e+72>>3]&q==m)){break}o=+h[e+112>>3];if(q!=o){break}m=+h[e+168>>3];if(!(m==+h[e+184>>3]&m==f)){break}if(m!=+h[e+128>>3]){break}}Hp(b,f,n,o,p)|0;if((k|0)==0){i=j;return 0}Uq(k);HW(k);i=j;return 0}}while(0);l=b+68|0;s=c[l>>2]|0;d=s+1|0;e=b+72|0;r=c[e>>2]|0;if((s|0)>=(r|0)){if((r|0)==0){c[e>>2]=32;r=32}if((r|0)<(d|0)){do{r=r<<1;}while((r|0)<(d|0));c[e>>2]=r}s=b+56|0;c[s>>2]=Ce(c[s>>2]|0,r,4)|0;s=b+60|0;c[s>>2]=Ce(c[s>>2]|0,c[e>>2]|0,1)|0;s=b+64|0;c[s>>2]=Ce(c[s>>2]|0,c[e>>2]|0,4)|0}if((a[b]&1)!=0){Vq(k)}Wq(k);c[(c[b+56>>2]|0)+(c[l>>2]<<2)>>2]=k;a[(c[b+60>>2]|0)+(c[l>>2]|0)|0]=g&1;s=FW(52)|0;$q(s,k,g);c[(c[b+64>>2]|0)+(c[l>>2]<<2)>>2]=s;c[l>>2]=(c[l>>2]|0)+1;i=j;return 0}function Jp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;g=i;j=+(e+1|0);k=+h[a+8>>3];if(j<=k){e=1;i=g;return e|0}m=+(b|0);l=+h[a+24>>3];if(m>l){e=1;i=g;return e|0}o=+(f+1|0);n=+h[a+16>>3];if(o<=n){e=1;i=g;return e|0}p=+(d|0);q=+h[a+32>>3];if(p>q){e=1;i=g;return e|0}do{if(!(m<k|j>l|p<n|o>q)){if((c[a+68>>2]|0)==0){a=0}else{break}i=g;return a|0}}while(0);e=2;i=g;return e|0}function Kp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0;g=i;r=+(e+1|0);q=+h[b+8>>3];if(r<=q){t=1;i=g;return t|0}p=+(d|0);l=+h[b+24>>3];if(p>l){t=1;i=g;return t|0}n=+(f+1|0);m=+h[b+16>>3];if(n<=m){t=1;i=g;return t|0}o=+(f|0);k=+h[b+32>>3];if(o>k){t=1;i=g;return t|0}if(p<q|r>l|o<m|n>k){t=2;i=g;return t|0}j=b+68|0;s=(c[j>>2]|0)>0;if((a[b]&1)==0){if(!s){t=0;i=g;return t|0}t=b+64|0;s=0;while(1){b=s+1|0;if(!(er(c[(c[t>>2]|0)+(s<<2)>>2]|0,d,e,f)|0)){e=2;f=15;break}if((b|0)<(c[j>>2]|0)){s=b}else{e=0;f=15;break}}if((f|0)==15){i=g;return e|0}}else{if(!s){t=0;i=g;return t|0}b=b+64|0;d=d<<2;e=e<<2|3;f=f<<2;s=0;while(1){t=s+1|0;if(!(er(c[(c[b>>2]|0)+(s<<2)>>2]|0,d,e,f)|0)){e=2;f=15;break}if((t|0)<(c[j>>2]|0)){s=t}else{e=0;f=15;break}}if((f|0)==15){i=g;return e|0}}return 0}function Lp(b,e,f,g,j){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0;k=i;n=c[f>>2]|0;s=n<<2;l=b+8|0;v=+h[l>>3]*4.0;if(v<=0.0){v=+R(+v)}m=~~v;o=c[e>>2]|0;m=(m|0)>(o|0)?o:m;if((s|0)<(m|0)){o=s&-8;q=e+20|0;p=e+12|0;r=n>>1;n=255>>>(m&7);u=(c[q>>2]|0)+r|0;do{if((s|7|0)<(m|0)){t=o;while(1){s=u+1|0;a[u]=0;u=t+8|0;if((t+15|0)<(m|0)){t=u;u=s}else{break}}if((u|0)<(m|0)){a[s]=(d[s]|0)&n}u=(c[q>>2]|0)+((c[p>>2]|0)+r)|0;t=o;while(1){s=u+1|0;a[u]=0;u=t+8|0;if((t+15|0)<(m|0)){t=u;u=s}else{break}}if((u|0)<(m|0)){a[s]=(d[s]|0)&n}u=(c[q>>2]|0)+((c[p>>2]<<1)+r)|0;s=o;while(1){t=u+1|0;a[u]=0;u=s+8|0;if((s+15|0)<(m|0)){s=u;u=t}else{break}}if((u|0)<(m|0)){a[t]=(d[t]|0)&n}p=(c[q>>2]|0)+(((c[p>>2]|0)*3|0)+r)|0;while(1){q=p+1|0;a[p]=0;p=o+8|0;if((o+15|0)<(m|0)){o=p;p=q}else{break}}if((p|0)>=(m|0)){break}a[q]=(d[q]|0)&n}else{if((o|0)>=(m|0)){break}a[u]=(d[u]|0)&n;u=(c[q>>2]|0)+((c[p>>2]|0)+r)|0;a[u]=(d[u]|0)&n;u=(c[q>>2]|0)+((c[p>>2]<<1)+r)|0;a[u]=(d[u]|0)&n;u=(c[q>>2]|0)+(((c[p>>2]|0)*3|0)+r)|0;a[u]=(d[u]|0)&n}}while(0);v=+h[l>>3];if(v<=0.0){v=+R(+v)}c[f>>2]=~~v}l=b+24|0;v=+h[l>>3]*4.0;if(v<=0.0){v=+R(+v)}m=~~v+1|0;r=(m|0)<0?0:m;m=(c[g>>2]<<2)+4|0;if((r|0)<(m|0)){p=e+20|0;o=e+12|0;n=r>>3;w=r&7;s=65280>>>w;q=r+8&-8;t=c[p>>2]|0;u=t+n|0;do{if((w|0)==0){if((r|0)<(m|0)){q=r;while(1){a[u]=0;q=q+8|0;if((q|0)<(m|0)){u=u+1|0}else{break}}t=c[p>>2]|0}q=c[o>>2]|0;if((r|0)<(m|0)){q=t+(q+n)|0;s=r;while(1){a[q]=0;s=s+8|0;if((s|0)<(m|0)){q=q+1|0}else{break}}q=c[o>>2]|0;t=c[p>>2]|0}if((r|0)<(m|0)){q=t+((q<<1)+n)|0;s=r;while(1){a[q]=0;s=s+8|0;if((s|0)<(m|0)){q=q+1|0}else{break}}q=c[o>>2]|0;t=c[p>>2]|0}if((r|0)<(m|0)){n=t+((q*3|0)+n)|0}else{break}while(1){a[n]=0;r=r+8|0;if((r|0)<(m|0)){n=n+1|0}else{break}}}else{a[u]=(d[u]|0)&s;if((q|0)<(m|0)){r=t+(n+1)|0;t=q;while(1){a[r]=0;t=t+8|0;if((t|0)<(m|0)){r=r+1|0}else{break}}}r=c[p>>2]|0;t=(c[o>>2]|0)+n|0;w=r+t|0;a[w]=(d[w]|0)&s;if((q|0)<(m|0)){r=r+(t+1)|0;t=q;while(1){a[r]=0;t=t+8|0;if((t|0)<(m|0)){r=r+1|0}else{break}}}r=c[p>>2]|0;t=(c[o>>2]<<1)+n|0;w=r+t|0;a[w]=(d[w]|0)&s;if((q|0)<(m|0)){r=r+(t+1)|0;t=q;while(1){a[r]=0;t=t+8|0;if((t|0)<(m|0)){r=r+1|0}else{break}}}p=c[p>>2]|0;n=((c[o>>2]|0)*3|0)+n|0;w=p+n|0;a[w]=(d[w]|0)&s;if((q|0)<(m|0)){n=p+(n+1)|0}else{break}while(1){a[n]=0;q=q+8|0;if((q|0)<(m|0)){n=n+1|0}else{break}}}}while(0);v=+h[l>>3];if(v<=0.0){v=+R(+v)}c[g>>2]=~~v}l=b+68|0;if((c[l>>2]|0)<=0){i=k;return}b=b+64|0;m=0;do{ir(c[(c[b>>2]|0)+(m<<2)>>2]|0,e,f,g,j);m=m+1|0;}while((m|0)<(c[l>>2]|0));i=k;return}function Mp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;bX(a|0,0,64)|0;if(b){c[a+64>>2]=fH(e,d)|0;i=f;return}else{c[a+64>>2]=0;i=f;return}}function Np(a){a=a|0;var b=0,d=0,e=0;b=i;d=0;do{e=c[a+(d<<2)>>2]|0;if((e|0)!=0){fd[c[(c[e>>2]|0)+4>>2]&511](e)}d=d+1|0;}while((d|0)<16);a=c[a+64>>2]|0;if((a|0)==0){i=b;return}gH(a);HW(a);i=b;return}function Op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;e=0;a:while(1){f=c[a+(e<<2)>>2]|0;do{if((f|0)!=0){f=c[f+4>>2]|0;if((f|0)==0){break}g=c[f+8>>2]|0;if(Bd[c[(c[g>>2]|0)+8>>2]&255](g,b)|0){b=6;break a}}}while(0);e=e+1|0;if((e|0)>=16){f=0;b=6;break}}if((b|0)==6){i=d;return f|0}return 0}function Pp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;b=c[b+64>>2]|0;if((b|0)==0){d=0}else{d=hH(b,d,e,f)|0}if((a[e]&1)==0){i=g;return d|0}Zp(e);i=g;return d|0}function Qp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;b=c[b+64>>2]|0;if((b|0)==0){d=0}else{d=iH(b,d,e,f)|0}if((a[e]&1)==0){i=g;return d|0}Zp(e);i=g;return d|0}function Rp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;b=c[b+64>>2]|0;if((b|0)==0){d=0}else{d=jH(b,d,e,f)|0}if((a[e]&1)==0){i=g;return d|0}Zp(e);i=g;return d|0}function Sp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=i;b=c[b+64>>2]|0;if((b|0)==0){d=0}else{d=kH(b,d,e)|0}if((a[e]&1)==0){i=f;return d|0}Zp(e);i=f;return d|0}function Tp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=i;b=c[b+64>>2]|0;if((b|0)==0){d=0}else{d=lH(b,d,e)|0}if((a[e]&1)==0){i=f;return d|0}Zp(e);i=f;return d|0}function Up(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0;j=i;b=c[b+64>>2]|0;if((b|0)==0){k=3}else{d=mH(b,d,e,f,g,h)|0;if((d|0)==0){k=3}}if((k|0)==3){Fe(f);d=0}if((a[e]&1)==0){i=j;return d|0}Zp(e);i=j;return d|0}function Vp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0.0;f=i;q=i;i=i+32|0;g=q;k=+h[d>>3];u=+h[e>>3];j=+h[d+8>>3];p=+h[e+16>>3];n=k*u+j*p;h[q>>3]=n;t=+h[e+8>>3];o=+h[e+24>>3];r=-0.0-(k*t+j*o);e=g+8|0;h[e>>3]=r;m=+h[d+16>>3];l=+h[d+24>>3];p=m*u+l*p;h[g+16>>3]=p;o=-0.0-(m*t+l*o);s=g+24|0;h[s>>3]=o;if(+S(+(n*o-p*r))<.01){h[q>>3]=.01;bX(e|0,0,16)|0;h[s>>3]=.01;o=.01;p=0.0;r=0.0;n=.01}q=c[a>>2]|0;do{if((q|0)==0){e=1}else{if((c[q+4>>2]|0)!=(b|0)){e=1;break}if(n!=+h[q+8>>3]){e=1;break}if(r!=+h[q+16>>3]){e=1;break}if(p!=+h[q+24>>3]){e=1;break}if(o!=+h[q+32>>3]){e=1;break}if(k!=+h[q+40>>3]){e=1;break}if(j!=+h[q+48>>3]){e=1;break}if(m!=+h[q+56>>3]){e=1;break}if(l!=+h[q+64>>3]){e=1;break}i=f;return q|0}}while(0);a:while(1){q=c[a+(e<<2)>>2]|0;do{if((q|0)!=0){if((c[q+4>>2]|0)!=(b|0)){break}if(n!=+h[q+8>>3]){break}if(r!=+h[q+16>>3]){break}if(p!=+h[q+24>>3]){break}if(o!=+h[q+32>>3]){break}if(k!=+h[q+40>>3]){break}if(j!=+h[q+48>>3]){break}if(m!=+h[q+56>>3]){break}if(l==+h[q+64>>3]){s=23;break a}}}while(0);e=e+1|0;if((e|0)>=16){s=27;break}}if((s|0)==23){if((e|0)>0){while(1){b=e+ -1|0;c[a+(e<<2)>>2]=c[a+(b<<2)>>2];if((b|0)>0){e=b}else{break}}}c[a>>2]=q;s=q;i=f;return s|0}else if((s|0)==27){b=sd[c[(c[b>>2]|0)+8>>2]&127](b,g,d)|0;d=a+60|0;g=c[d>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g)}e=a+56|0;c[d>>2]=c[e>>2];s=a+52|0;c[e>>2]=c[s>>2];e=a+48|0;c[s>>2]=c[e>>2];s=a+44|0;c[e>>2]=c[s>>2];e=a+40|0;c[s>>2]=c[e>>2];s=a+36|0;c[e>>2]=c[s>>2];e=a+32|0;c[s>>2]=c[e>>2];s=a+28|0;c[e>>2]=c[s>>2];e=a+24|0;c[s>>2]=c[e>>2];s=a+20|0;c[e>>2]=c[s>>2];e=a+16|0;c[s>>2]=c[e>>2];s=a+12|0;c[e>>2]=c[s>>2];e=a+8|0;c[s>>2]=c[e>>2];s=a+4|0;c[e>>2]=c[s>>2];c[s>>2]=c[a>>2];c[a>>2]=b;s=b;i=f;return s|0}return 0}function Wp(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=54752;c[b+8>>2]=d;c[b+12>>2]=e;d=e+16|0;c[d>>2]=(c[d>>2]|0)+1;c[b+16>>2]=0;a[b+4|0]=0;i=i;return}function Xp(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=54752;Zp(c[a+12>>2]|0);d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function Yp(a){a=a|0;var b=0;b=i;c[a>>2]=54752;Zp(c[a+12>>2]|0);a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Zp(b){b=b|0;var d=0,e=0,f=0;d=i;f=b+16|0;e=(c[f>>2]|0)+ -1|0;c[f>>2]=e;if((e|0)!=0|(b|0)==0){i=d;return}do{if((a[b+20|0]&1)!=0){if((a[b]&1)==0){e=c[b+8>>2]|0;if((e|0)==0){break}Fe(e);break}else{e=c[b+4>>2]|0;if((e|0)==0){break}hb(c[e+28>>2]|0)|0;break}}}while(0);do{if((a[b]&1)!=0){e=c[b+4>>2]|0;if((e|0)==0){break}ke(e);HW(e)}}while(0);HW(b);i=d;return}function _p(a){a=a|0;a=a+16|0;c[a>>2]=(c[a>>2]|0)+1;i=i;return}function $p(a){a=a|0;var b=0,d=0,e=0;b=i;e=a+16|0;d=(c[e>>2]|0)+ -1|0;c[e>>2]=d;if((d|0)!=0|(a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function aq(b){b=b|0;a[b]=0;a[b+20|0]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+16>>2]=1;i=i;return}function bq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;a[b]=1;g=FW(32)|0;ie(g,d);c[b+4>>2]=g;a[b+20|0]=e&1;i=f;return}function cq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;a[b]=0;c[b+8>>2]=d;c[b+12>>2]=e;a[b+20|0]=f&1;i=i;return}function dq(a){a=a|0;c[a>>2]=54808;i=i;return}function eq(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function fq(a){a=a|0;i=i;return}function gq(a){a=a|0;var b=0;b=i;bX(a|0,0,32)|0;i=b;return}function hq(a){a=a|0;var b=0;b=i;Fe(c[a>>2]|0);Fe(c[a+4>>2]|0);Fe(c[a+20>>2]|0);i=b;return}function iq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;g=b+8|0;j=c[g>>2]|0;c[b+16>>2]=(c[d+16>>2]|0)+j;f=d+8|0;k=c[f>>2]|0;j=j+k|0;h=b+12|0;l=c[h>>2]|0;if((j|0)>(l|0)){if((l|0)==0){c[h>>2]=32;l=32}if((l|0)<(j|0)){do{l=l<<1;}while((l|0)<(j|0));c[h>>2]=l}c[b>>2]=Ce(c[b>>2]|0,l,16)|0;k=b+4|0;c[k>>2]=Ce(c[k>>2]|0,c[h>>2]|0,1)|0;k=c[f>>2]|0}if((k|0)<=0){i=e;return}l=d+4|0;k=b+4|0;h=c[g>>2]|0;j=0;do{$W((c[b>>2]|0)+(h<<4)|0,(c[d>>2]|0)+(j<<4)|0,16)|0;a[(c[k>>2]|0)+(c[g>>2]|0)|0]=a[(c[l>>2]|0)+j|0]|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;j=j+1|0;}while((j|0)<(c[f>>2]|0));i=e;return}function jq(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;j=i;g=b+16|0;f=b+8|0;m=c[f>>2]|0;if((c[g>>2]|0)==(m+ -1|0)){n=3;i=j;return n|0}l=m+1|0;k=b+12|0;n=c[k>>2]|0;if((m|0)<(n|0)){k=b;b=b+4|0}else{if((n|0)==0){c[k>>2]=32;n=32}if((n|0)<(l|0)){do{n=n<<1;}while((n|0)<(l|0));c[k>>2]=n}c[b>>2]=Ce(c[b>>2]|0,n,16)|0;n=b+4|0;c[n>>2]=Ce(c[n>>2]|0,c[k>>2]|0,1)|0;m=c[f>>2]|0;k=b;b=n}h[(c[k>>2]|0)+(m<<4)>>3]=d;h[(c[k>>2]|0)+(c[f>>2]<<4)+8>>3]=e;a[(c[b>>2]|0)+(c[f>>2]|0)|0]=3;n=c[f>>2]|0;c[f>>2]=n+1;c[g>>2]=n;n=0;i=j;return n|0}function kq(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;g=i;f=b+8|0;k=c[f>>2]|0;if((c[b+16>>2]|0)==(k|0)){n=1;i=g;return n|0}j=b+4|0;m=(c[j>>2]|0)+(k+ -1)|0;a[m]=a[m]&-3;m=c[f>>2]|0;l=m+1|0;k=b+12|0;n=c[k>>2]|0;if((m|0)>=(n|0)){if((n|0)==0){c[k>>2]=32;n=32}if((n|0)<(l|0)){do{n=n<<1;}while((n|0)<(l|0));c[k>>2]=n}c[b>>2]=Ce(c[b>>2]|0,n,16)|0;c[j>>2]=Ce(c[j>>2]|0,c[k>>2]|0,1)|0;m=c[f>>2]|0}h[(c[b>>2]|0)+(m<<4)>>3]=d;h[(c[b>>2]|0)+(c[f>>2]<<4)+8>>3]=e;a[(c[j>>2]|0)+(c[f>>2]|0)|0]=2;c[f>>2]=(c[f>>2]|0)+1;n=0;i=g;return n|0}function lq(b,d,e,f,g,j,k){b=b|0;d=+d;e=+e;f=+f;g=+g;j=+j;k=+k;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=i;m=b+8|0;o=c[m>>2]|0;if((c[b+16>>2]|0)==(o|0)){r=1;i=n;return r|0}l=b+4|0;r=(c[l>>2]|0)+(o+ -1)|0;a[r]=a[r]&-3;r=c[m>>2]|0;p=r+3|0;o=b+12|0;q=c[o>>2]|0;if((p|0)>(q|0)){if((q|0)==0){c[o>>2]=32;q=32}if((q|0)<(p|0)){do{q=q<<1;}while((q|0)<(p|0));c[o>>2]=q}c[b>>2]=Ce(c[b>>2]|0,q,16)|0;c[l>>2]=Ce(c[l>>2]|0,c[o>>2]|0,1)|0;r=c[m>>2]|0}h[(c[b>>2]|0)+(r<<4)>>3]=d;h[(c[b>>2]|0)+(c[m>>2]<<4)+8>>3]=e;a[(c[l>>2]|0)+(c[m>>2]|0)|0]=8;r=(c[m>>2]|0)+1|0;c[m>>2]=r;h[(c[b>>2]|0)+(r<<4)>>3]=f;h[(c[b>>2]|0)+(c[m>>2]<<4)+8>>3]=g;a[(c[l>>2]|0)+(c[m>>2]|0)|0]=8;r=(c[m>>2]|0)+1|0;c[m>>2]=r;h[(c[b>>2]|0)+(r<<4)>>3]=j;h[(c[b>>2]|0)+(c[m>>2]<<4)+8>>3]=k;a[(c[l>>2]|0)+(c[m>>2]|0)|0]=2;c[m>>2]=(c[m>>2]|0)+1;r=0;i=n;return r|0}function mq(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;e=i;g=b+16|0;j=c[g>>2]|0;f=b+8|0;k=c[f>>2]|0;if((j|0)==(k|0)){l=1;i=e;return l|0}l=k+ -1|0;k=c[b>>2]|0;do{if((j|0)==(l|0)){m=+h[k+(j<<4)>>3];d=6}else{m=+h[k+(j<<4)>>3];if(+h[k+(l<<4)>>3]!=m){d=6;break}if(+h[k+(l<<4)+8>>3]!=+h[k+(j<<4)+8>>3]){d=6}}}while(0);if((d|0)==6){kq(b,m,+h[k+(j<<4)+8>>3])|0;j=c[g>>2]|0}l=b+4|0;k=(c[l>>2]|0)+j|0;a[k]=a[k]|4;l=(c[l>>2]|0)+((c[f>>2]|0)+ -1)|0;a[l]=a[l]|4;c[g>>2]=c[f>>2];l=0;i=e;return l|0}function nq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;h=a+24|0;j=c[h>>2]|0;k=a+28|0;if((j|0)==(c[k>>2]|0)){l=(j|0)==0?8:j<<1;c[k>>2]=l;j=a+20|0;k=Ce(c[j>>2]|0,l,16)|0;c[j>>2]=k;j=c[h>>2]|0}else{k=c[a+20>>2]|0}l=a+20|0;c[k+(j<<4)>>2]=b;c[(c[l>>2]|0)+(c[h>>2]<<4)+4>>2]=d;c[(c[l>>2]|0)+(c[h>>2]<<4)+8>>2]=e;c[(c[l>>2]|0)+(c[h>>2]<<4)+12>>2]=f;c[h>>2]=(c[h>>2]|0)+1;i=g;return}function oq(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,j=0;e=i;f=a+8|0;if((c[f>>2]|0)<=0){i=e;return}g=0;do{j=(c[a>>2]|0)+(g<<4)|0;h[j>>3]=+h[j>>3]+b;j=(c[a>>2]|0)+(g<<4)+8|0;h[j>>3]=+h[j>>3]+d;g=g+1|0;}while((g|0)<(c[f>>2]|0));i=e;return}function pq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=a+8|0;f=c[g>>2]|0;if((c[a+16>>2]|0)==(f|0)){d=0;i=e;return d|0}h[b>>3]=+h[(c[a>>2]|0)+(f+ -1<<4)>>3];h[d>>3]=+h[(c[a>>2]|0)+((c[g>>2]|0)+ -1<<4)+8>>3];d=1;i=e;return d|0}function qq(a){a=a|0;c[a>>2]=54864;i=i;return}function rq(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function sq(a){a=a|0;i=i;return}function tq(b,d){b=b|0;d=d|0;c[b>>2]=54896;a[b+4|0]=a[d]|0;a[b+5|0]=a[d+1|0]|0;a[b+6|0]=a[d+2|0]|0;i=i;return}function uq(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function vq(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;a[e]=a[b+4|0]|0;a[e+1|0]=a[b+5|0]|0;a[e+2|0]=a[b+6|0]|0;i=i;return-1}function wq(b){b=b|0;var d=0,e=0;e=i;d=FW(8)|0;c[d>>2]=54896;a[d+4|0]=a[b+4|0]|0;a[d+5|0]=a[b+5|0]|0;a[d+6|0]=a[b+6|0]|0;i=e;return d|0}function xq(a){a=a|0;i=i;return-1}function yq(a,b){a=a|0;b=b|0;var d=0;d=i;c[a>>2]=(b|0)!=0?b:54984;bX(a+4|0,0,10)|0;i=d;return}function zq(b){b=b|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;e=i;j=c[b>>2]|0;f=c[j>>2]|0;if((f|0)==0){g=b+8|0;f=j+4|0;k=1;while(1){c[g>>2]=k;if((k|0)<(c[f>>2]|0)){k=k<<1}else{break}}c[b+4>>2]=ye(da(k,k)|0,1)|0;s=(c[g>>2]|0)/2|0;Aq(b,s,s,1,s,1)}else if((f|0)==2){f=c[j+4>>2]|0;k=j+8|0;g=c[k>>2]<<1;s=(f|0)<(g|0)?g:f;c[b+8>>2]=s;c[b+4>>2]=ye(da(s,s)|0,1)|0;Cq(b,c[k>>2]|0)}else if((f|0)==1){f=c[j+4>>2]&-2;s=(f|0)<2?2:f;c[b+8>>2]=s;c[b+4>>2]=ye(da(s,s)|0,1)|0;Bq(b)}g=b+12|0;a[g]=-1;f=b+13|0;a[f]=0;t=+h[j+24>>3]*255.0+.5;if(t<=0.0){t=+R(+t)}k=~~t;k=(k&255|0)==0?1:k&255;t=+h[j+32>>3]*255.0+.5;if(t<=0.0){t=+R(+t)}l=~~t;l=(l|0)>255?-1:l&255;m=b+8|0;s=c[m>>2]|0;if((da(s,s)|0)==0){i=e;return}b=b+4|0;q=j+16|0;n=k&255;j=l&255;p=0;do{o=(c[b>>2]|0)+p|0;t=+U(+(+(d[o]|0)/255.0),+(+h[q>>3]))*255.0+.5;if(t<=0.0){t=+R(+t)}s=~~t;r=s&255;if(r>>>0<n>>>0){r=k}else{r=r>>>0<j>>>0?s&255:l}a[o]=r;do{if((r&255)<(d[g]|0)){a[g]=r}else{if((r&255)<=(d[f]|0)){break}a[f]=r}}while(0);p=p+1|0;s=c[m>>2]|0;}while((p|0)<(da(s,s)|0));i=e;return}function Aq(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;k=b+8|0;if((g|0)==0){n=c[k>>2]|0}else{while(1){m=(g|0)/2|0;l=h<<2;Aq(b,d,e,f,m,l);n=g+d|0;p=c[k>>2]|0;o=g+e|0;Aq(b,(n|0)%(p|0)|0,(o|0)%(p|0)|0,h+f|0,m,l);Aq(b,(n|0)%(c[k>>2]|0)|0,e,(h<<1)+f|0,m,l);n=c[k>>2]|0;d=((g<<1)+d|0)%(n|0)|0;e=(o|0)%(n|0)|0;f=(h*3|0)+f|0;if((g+1|0)>>>0<3){break}else{h=l;g=m}}}o=(((f*254|0)+ -254|0)/((da(n,n)|0)+ -1|0)|0)+1&255;p=(da(n,d)|0)+e|0;a[(c[b+4>>2]|0)+p|0]=o;i=j;return}function Bq(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0;f=i;d=b+8|0;l=c[d>>2]|0;e=l>>1;if((l|0)>0){g=b+4|0;j=0;do{if((l|0)>0){k=0;while(1){l=(da(l,j)|0)+k|0;a[(c[g>>2]|0)+l|0]=0;k=k+1|0;l=c[d>>2]|0;if((k|0)<(l|0)){}else{break}}}j=j+1|0;}while((j|0)<(l|0))}g=ye(da(l,e)|0,8)|0;j=(e|0)>0;do{if(j){n=e+ -1|0;w=+(e|0);m=0;do{v=+(m|0)+.5;l=da(m,e)|0;s=v-w;k=0;do{x=+(k|0)+.5;if((k+m|0)<(n|0)){y=v}else{x=x-w;y=s}h[g+(k+l<<3)>>3]=y*y+x*x;k=k+1|0;}while((k|0)<(e|0));m=m+1|0;}while((m|0)<(e|0));if(!j){break}s=+(e|0);k=0;do{w=+(k|0)+.5;v=w-s;l=da(k+e|0,e)|0;m=0;do{x=+(m|0)+.5;if((m|0)<(k|0)){y=v}else{x=x-s;y=w}h[g+(m+l<<3)>>3]=y*y+x*x;m=m+1|0;}while((m|0)<(e|0));k=k+1|0;}while((k|0)<(e|0))}}while(0);a[b+12|0]=1;a[b+13|0]=0;m=c[d>>2]|0;if((da(m,e)|0)<=0){Fe(g);i=f;return}k=b+4|0;b=e<<1;l=0;u=0;r=0;do{if(!((m|0)<1|j^1)){s=-1.0;q=0;do{n=da(m,q)|0;p=c[k>>2]|0;o=da(q,e)|0;t=0;do{do{if((a[p+(n+t)|0]|0)==0){v=+h[g+(t+o<<3)>>3];if(v<=s){break}s=v;u=t;r=q}}while(0);t=t+1|0;}while((t|0)<(e|0));q=q+1|0;}while((q|0)<(m|0))}t=((l*508|0)/((da(b,m)|0)+ -1|0)|0)+1&255;n=(da(m,r)|0)+u|0;a[(c[k>>2]|0)+n|0]=t;n=c[d>>2]|0;m=(((l<<1|1)*254|0)/((da(b,n)|0)+ -1|0)|0)+1&255;if((r|0)<(e|0)){t=u+e+(da(n,r+e|0)|0)|0;a[(c[k>>2]|0)+t|0]=m}else{t=u+e+(da(n,r-e|0)|0)|0;a[(c[k>>2]|0)+t|0]=m}l=l+1|0;m=c[d>>2]|0;}while((l|0)<(da(m,e)|0));Fe(g);i=f;return}function Cq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=i;Eb(123);g=b+8|0;e=c[g>>2]|0;e=ye(da(e,e)|0,12)|0;k=c[g>>2]|0;if((k|0)>0){j=0;h=0;do{if((k|0)>0){k=0;while(1){c[e+(j*12|0)>>2]=k;c[e+(j*12|0)+4>>2]=h;j=j+1|0;l=k+1|0;k=c[g>>2]|0;if((l|0)<(k|0)){k=l}else{break}}}h=h+1|0;}while((h|0)<(k|0))}j=da(k,k)|0;if((j|0)!=0){h=0;do{w=~~(+(j-h|0)*+(kb()|0)*4.656612873077393e-10)+h|0;r=e+(h*12|0)|0;t=c[r>>2]|0;s=e+(h*12|0)+4|0;v=c[s>>2]|0;u=e+(w*12|0)|0;c[r>>2]=c[u>>2];w=e+(w*12|0)+4|0;c[s>>2]=c[w>>2];c[u>>2]=t;c[w>>2]=v;h=h+1|0;w=c[g>>2]|0;j=da(w,w)|0;}while((h|0)<(j|0))}m=d+1|0;k=ye(da(m,m)|0,1)|0;l=(d|0)<0;if(!l){n=da(d,d)|0;o=0;while(1){j=da(o,m)|0;h=0;while(1){a[k+(h+j)|0]=(da(h,o)|0)<=(n|0)|0;if((h|0)<(d|0)){h=h+1|0}else{break}}if((o|0)<(d|0)){o=o+1|0}else{break}}}n=c[g>>2]|0;n=ye(da(n,n)|0,1)|0;o=c[g>>2]|0;if((o|0)>0){h=0;do{if((o|0)>0){j=0;while(1){a[n+((da(o,h)|0)+j)|0]=0;j=j+1|0;o=c[g>>2]|0;if((j|0)<(o|0)){}else{break}}}h=h+1|0;}while((h|0)<(o|0))}j=ye(32,12)|0;s=c[g>>2]|0;if((da(s,s)|0)==0){h=0}else{h=0;p=32;o=0;while(1){t=e+(o*12|0)|0;r=c[t>>2]|0;q=c[e+(o*12|0)+4>>2]|0;if((a[n+((da(q,s)|0)+r)|0]|0)==0){if((h|0)==(p|0)){w=h<<1;p=w;j=Ce(j,w,12)|0}s=h+1|0;$W(j+(h*12|0)|0,t|0,12)|0;a:do{if(!l){h=0;while(1){t=c[g>>2]|0;u=(h+q|0)%(t|0)|0;t=(q-h+t|0)%(t|0)|0;w=da(h,m)|0;v=0;while(1){if((a[k+(v+w)|0]|0)!=0){z=c[g>>2]|0;y=(v+r|0)%(z|0)|0;x=(r-v+z|0)%(z|0)|0;a[n+((da(z,u)|0)+y)|0]=1;a[n+((da(c[g>>2]|0,u)|0)+x)|0]=1;a[n+((da(c[g>>2]|0,t)|0)+y)|0]=1;a[n+((da(c[g>>2]|0,t)|0)+x)|0]=1}if((v|0)<(d|0)){v=v+1|0}else{break}}if((h|0)>=(d|0)){break a}h=h+1|0}}}while(0);q=c[g>>2]|0;h=s}else{q=s}o=o+1|0;if((o|0)<(da(q,q)|0)){s=q}else{break}}}Fe(k);Fe(n);k=c[g>>2]|0;k=ye(da(k,k)|0,4)|0;d=c[g>>2]|0;d=ye(da(d,d)|0,4)|0;o=c[g>>2]|0;if((o|0)>0){l=j+4|0;m=(h|0)>1;n=0;do{if((o|0)>0){p=0;do{q=(c[j>>2]|0)-p|0;q=(q|0)>-1?q:0-q|0;r=o-q|0;q=(q|0)<(r|0)?q:r;r=(c[l>>2]|0)-n|0;s=(r|0)>-1?r:0-r|0;r=o-s|0;r=(s|0)<(r|0)?s:r;r=(da(r,r)|0)+(da(q,q)|0)|0;if(m){s=0;q=1;while(1){t=(c[j+(q*12|0)>>2]|0)-p|0;u=(t|0)>-1?t:0-t|0;t=o-u|0;t=(u|0)<(t|0)?u:t;u=(c[j+(q*12|0)+4>>2]|0)-n|0;u=(u|0)>-1?u:0-u|0;v=o-u|0;u=(u|0)<(v|0)?u:v;t=(da(u,u)|0)+(da(t,t)|0)|0;u=(t|0)<(r|0);s=u?q:s;r=u?t:r;q=q+1|0;if((q|0)<(h|0)){}else{break}}}else{s=0}c[k+((da(o,n)|0)+p<<2)>>2]=s;c[d+((da(c[g>>2]|0,n)|0)+p<<2)>>2]=r;p=p+1|0;o=c[g>>2]|0;}while((p|0)<(o|0))}n=n+1|0;}while((n|0)<(o|0))}if((h|0)<=0){Fe(e);Fe(k);Fe(d);Fe(j);i=f;return}b=b+4|0;l=0;while(1){do{if((o|0)>0){m=j+(l*12|0)|0;n=j+(l*12|0)+4|0;r=0;p=0;do{if((o|0)>0){q=0;do{if((c[k+((da(o,p)|0)+q<<2)>>2]|0)==(l|0)){c[e+(r*12|0)>>2]=q;c[e+(r*12|0)+4>>2]=p;o=(c[m>>2]|0)-q|0;s=(o|0)>-1?o:0-o|0;o=c[g>>2]|0;t=o-s|0;s=(s|0)<(t|0)?s:t;t=(c[n>>2]|0)-p|0;t=(t|0)>-1?t:0-t|0;o=o-t|0;o=(t|0)<(o|0)?t:o;c[e+(r*12|0)+8>>2]=(da(o,o)|0)+(da(s,s)|0);o=c[g>>2]|0;r=r+1|0}q=q+1|0;}while((q|0)<(o|0))}p=p+1|0;}while((p|0)<(o|0));pb(e|0,r|0,12,183);if((r|0)<=0){break}m=r+ -1|0;n=0;do{z=da(c[g>>2]|0,c[e+(n*12|0)+4>>2]|0)|0;a[(c[b>>2]|0)+(z+(c[e+(n*12|0)>>2]|0))|0]=255-((n*254|0)/(m|0)|0);n=n+1|0;}while((n|0)<(r|0))}else{pb(e|0,0,12,183)}}while(0);l=l+1|0;if((l|0)>=(h|0)){break}o=c[g>>2]|0}Fe(e);Fe(k);Fe(d);Fe(j);i=f;return}function Dq(a,b){a=a|0;b=b|0;i=i;return(c[a+8>>2]|0)-(c[b+8>>2]|0)|0}function Eq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;c[b>>2]=c[d>>2];g=c[d+8>>2]|0;f=b+8|0;c[f>>2]=g;g=ye(da(g,g)|0,1)|0;c[b+4>>2]=g;f=c[f>>2]|0;$W(g|0,c[d+4>>2]|0,da(f,f)|0)|0;a[b+12|0]=a[d+12|0]|0;a[b+13|0]=a[d+13|0]|0;i=e;return}function Fq(a){a=a|0;var b=0;b=i;Fe(c[a+4>>2]|0);i=b;return}function Gq(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=i;h=a+4|0;if((c[h>>2]|0)==0){zq(a)}if((d[a+12|0]|0)>(f&255)){b=0;i=g;return b|0}if((d[a+13|0]|0)<=(f&255)){b=1;i=g;return b|0}a=c[a+8>>2]|0;b=(b|0)%(a|0)|0;e=(e|0)%(a|0)|0;b=(da((e|0)<0?0-e|0:e,a)|0)+((b|0)<0?0-b|0:b)|0;b=(d[(c[h>>2]|0)+b|0]|0)<=(f&255)|0;i=g;return b|0}function Hq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0;j=i;k=i;i=i+8|0;l=k;h[b>>3]=1.0;bX(b+8|0,0,16)|0;h[b+24>>3]=1.0;bX(b+32|0,0,16)|0;c[k>>2]=0;k=FW(8)|0;tq(k,l);c[b+48>>2]=k;k=FW(8)|0;tq(k,l);c[b+52>>2]=k;k=FW(16)|0;yq(k,g);c[b+56>>2]=k;c[b+60>>2]=0;h[b+64>>3]=1.0;h[b+72>>3]=1.0;bX(b+80|0,0,16)|0;h[b+96>>3]=10.0;h[b+104>>3]=1.0;bX(b+112|0,0,17)|0;g=FW(80)|0;Ep(g,0.0,0.0,+(d|0)+-.001,+(e|0)+-.001,f);c[b+132>>2]=g;c[b+136>>2]=0;a[b+140|0]=0;a[b+141|0]=0;c[b+144>>2]=0;i=j;return}function Iq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0;j=i;k=i;i=i+8|0;l=k;h[b>>3]=1.0;bX(b+8|0,0,16)|0;h[b+24>>3]=1.0;bX(b+32|0,0,16)|0;c[k>>2]=0;k=FW(8)|0;tq(k,l);c[b+48>>2]=k;k=FW(8)|0;tq(k,l);c[b+52>>2]=k;k=FW(16)|0;Eq(k,g);c[b+56>>2]=k;c[b+60>>2]=0;h[b+64>>3]=1.0;h[b+72>>3]=1.0;bX(b+80|0,0,16)|0;h[b+96>>3]=10.0;h[b+104>>3]=1.0;bX(b+112|0,0,17)|0;g=FW(80)|0;Ep(g,0.0,0.0,+(d|0)+-.001,+(e|0)+-.001,f);c[b+132>>2]=g;c[b+136>>2]=0;a[b+140|0]=0;a[b+141|0]=0;c[b+144>>2]=0;i=j;return}function Jq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0;e=i;$W(b|0,d|0,48)|0;g=c[d+48>>2]|0;c[b+48>>2]=jd[c[c[g>>2]>>2]&511](g)|0;g=c[d+52>>2]|0;c[b+52>>2]=jd[c[c[g>>2]>>2]&511](g)|0;g=c[d+56>>2]|0;f=FW(16)|0;Eq(f,g);c[b+56>>2]=f;c[b+60>>2]=c[d+60>>2];h[b+64>>3]=+h[d+64>>3];h[b+72>>3]=+h[d+72>>3];h[b+80>>3]=+h[d+80>>3];c[b+88>>2]=c[d+88>>2];c[b+92>>2]=c[d+92>>2];h[b+96>>3]=+h[d+96>>3];h[b+104>>3]=+h[d+104>>3];f=d+112|0;if((c[f>>2]|0)==0){c[b+112>>2]=0;c[b+116>>2]=0}else{j=c[d+116>>2]|0;g=b+116|0;c[g>>2]=j;j=ye(j,8)|0;c[b+112>>2]=j;$W(j|0,c[f>>2]|0,c[g>>2]<<3|0)|0}h[b+120>>3]=+h[d+120>>3];a[b+128|0]=a[d+128|0]&1;g=c[d+132>>2]|0;j=FW(80)|0;Fp(j,g);c[b+132>>2]=j;c[b+136>>2]=c[d+136>>2];a[b+140|0]=0;a[b+141|0]=a[d+141|0]&1;c[b+144>>2]=0;i=e;return}function Kq(b){b=b|0;var d=0,e=0;d=i;e=c[b+48>>2]|0;if((e|0)!=0){fd[c[(c[e>>2]|0)+8>>2]&511](e)}e=c[b+52>>2]|0;if((e|0)!=0){fd[c[(c[e>>2]|0)+8>>2]&511](e)}e=c[b+56>>2]|0;if((e|0)!=0){Fq(e);HW(e)}Fe(c[b+112>>2]|0);e=c[b+132>>2]|0;if((e|0)!=0){Gp(e);HW(e)}if((a[b+140|0]&1)==0){i=d;return}b=c[b+136>>2]|0;if((b|0)==0){i=d;return}Le(b);HW(b);i=d;return}function Lq(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;a=a+48|0;e=c[a>>2]|0;if((e|0)!=0){fd[c[(c[e>>2]|0)+8>>2]&511](e)}c[a>>2]=b;i=d;return}function Mq(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;a=a+52|0;e=c[a>>2]|0;if((e|0)!=0){fd[c[(c[e>>2]|0)+8>>2]&511](e)}c[a>>2]=b;i=d;return}function Nq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,j=0;f=i;j=a+112|0;Fe(c[j>>2]|0);g=a+116|0;c[g>>2]=d;if((d|0)>0){d=ye(d,8)|0;c[j>>2]=d;$W(d|0,b|0,c[g>>2]<<3|0)|0;d=a+120|0;h[d>>3]=e;i=f;return}else{c[j>>2]=0;d=a+120|0;h[d>>3]=e;i=f;return}}function Oq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=i;e=b+140|0;b=b+136|0;do{if((a[e]&1)!=0){g=c[b>>2]|0;if((g|0)==0){break}Le(g);HW(g)}}while(0);c[b>>2]=d;a[e]=1;i=f;return}function Pq(b,e,f,g,j){b=b|0;e=e|0;f=f|0;g=+g;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,t=0.0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0,D=0,E=0,F=0,G=0;l=i;m=e+8|0;k=ye(c[m>>2]|0,16)|0;if((c[m>>2]|0)>0){C=f+16|0;w=f+32|0;n=f+8|0;o=f+24|0;D=f+40|0;s=0;do{G=c[e>>2]|0;A=+h[G+(s<<4)>>3];B=+h[G+(s<<4)+8>>3];h[k+(s<<4)>>3]=+h[w>>3]+(A*+h[f>>3]+B*+h[C>>3]);h[k+(s<<4)+8>>3]=+h[D>>3]+(A*+h[n>>3]+B*+h[o>>3]);s=s+1|0;}while((s|0)<(c[m>>2]|0))}s=e+20|0;a:do{if((c[s>>2]|0)!=0){o=e+24|0;n=ye(c[o>>2]|0,88)|0;f=c[o>>2]|0;b:do{if((f|0)>0){w=0;while(1){f=c[s>>2]|0;F=c[f+(w<<4)>>2]|0;C=F+1|0;G=c[m>>2]|0;if((C|0)>=(G|0)){p=8;break}E=c[f+(w<<4)+4>>2]|0;D=E+1|0;if((D|0)>=(G|0)){p=8;break}q=+h[k+(F<<4)>>3];t=+h[k+(F<<4)+8>>3];v=+h[k+(C<<4)+8>>3];r=+h[k+(E<<4)>>3];u=+h[k+(E<<4)+8>>3];x=+h[k+(D<<4)+8>>3];do{if(q==+h[k+(C<<4)>>3]){if(r!=+h[k+(D<<4)>>3]){p=12;break}a[n+(w*88|0)+8|0]=1}else{p=12}}while(0);if((p|0)==12){p=0;if(!(t==v&u==x)){p=14;break}a[n+(w*88|0)+8|0]=0;q=t;r=u}C=q>r;t=C?r:q;q=C?q:r;r=q-t+.5;if(r<=0.0){r=+R(+r)}C=~~r;h[n+(w*88|0)+16>>3]=t+-.01;h[n+(w*88|0)+24>>3]=t+.01;B=(t+q)*.5;h[n+(w*88|0)+32>>3]=B+-.01;h[n+(w*88|0)+40>>3]=B+.01;h[n+(w*88|0)+48>>3]=q+-.01;h[n+(w*88|0)+56>>3]=q+.01;q=t+.5;if(q<=0.0){q=+R(+q)}q=+(~~q|0);h[n+(w*88|0)+64>>3]=q;B=((C|0)==0?1.0:+(C|0))+q+-.01;h[n+(w*88|0)+72>>3]=B;h[n+(w*88|0)+80>>3]=(q+B)*.5;c[n+(w*88|0)>>2]=c[f+(w<<4)+8>>2];c[n+(w*88|0)+4>>2]=c[f+(w<<4)+12>>2];w=w+1|0;f=c[o>>2]|0;if((w|0)>=(f|0)){break b}}if((p|0)==8){Fe(n);break a}else if((p|0)==14){Fe(n);break a}}}while(0);if((n|0)==0){break}if((f|0)>0){p=n;s=0;while(1){C=c[p>>2]|0;w=p+4|0;if((C|0)<=(c[w>>2]|0)){while(1){Qq(0,p,k+(C<<4)|0,k+(C<<4)+8|0);if((C|0)<(c[w>>2]|0)){C=C+1|0}else{break}}f=c[o>>2]|0}s=s+1|0;if((s|0)<(f|0)){p=p+88|0}else{break}}}Fe(n)}}while(0);c[b>>2]=0;c[b+8>>2]=0;c[b+4>>2]=0;w=c[m>>2]|0;if((w|0)<=0){Fe(k);i=l;return}e=e+4|0;o=0;s=0;q=0.0;r=0.0;c:while(1){n=k+(o<<4)|0;o=k+(o<<4)+8|0;p=s;t=q;x=r;while(1){f=c[e>>2]|0;s=d[f+p|0]|0;if((s&1|0)!=0){break}v=+h[k+(p<<4)>>3];u=+h[k+(p<<4)+8>>3];if((s&8|0)==0){C=d[f+(p+ -1)|0]|0;w=(C&1|0)!=0;f=s&2;if(j|w^1){C=0}else{C=(C&4|0)==0}if((f|0)==0|j){s=0}else{s=(s&4|0)==0}Sq(b,t,x,v,u,w,(f|0)!=0,C,s);p=p+1|0;t=v}else{C=p+1|0;A=+h[k+(C<<4)>>3];B=+h[k+(C<<4)+8>>3];C=p+2|0;z=+h[k+(C<<4)>>3];y=+h[k+(C<<4)+8>>3];w=d[f+(p+ -1)|0]|0;s=(w&1|0)!=0;C=a[f+C|0]|0;f=(C&2)!=0;if(j|s^1){w=0}else{w=(w&4|0)==0}do{if(j){C=0}else{C=C&255;if((C&2|0)==0){C=0;break}C=(C&4|0)==0}}while(0);Rq(b,t,x,v,u,A,B,z,y,g,s,f,w,C);p=p+3|0;t=z;u=y}do{if(j){s=p+ -1|0;if((a[(c[e>>2]|0)+s|0]&2)==0){break}if(+h[k+(s<<4)>>3]==+h[n>>3]){if(+h[k+(s<<4)+8>>3]==+h[o>>3]){break}}Sq(b,t,u,q,r,0,1,0,0)}}while(0);w=c[m>>2]|0;if((p|0)<(w|0)){x=u}else{p=50;break c}}s=p+1|0;if((s|0)<(w|0)){o=p;q=+h[k+(p<<4)>>3];r=+h[k+(p<<4)+8>>3]}else{p=50;break}}if((p|0)==50){Fe(k);i=l;return}}function Qq(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0;b=i;if((a[c+8|0]&1)==0){f=+h[e>>3];do{if(f>+h[c+16>>3]){if(f>=+h[c+24>>3]){break}h[e>>3]=+h[c+64>>3];i=b;return}}while(0);do{if(f>+h[c+32>>3]){if(f>=+h[c+40>>3]){break}h[e>>3]=+h[c+80>>3];i=b;return}}while(0);if(f<=+h[c+48>>3]){i=b;return}if(f>=+h[c+56>>3]){i=b;return}h[e>>3]=+h[c+72>>3];i=b;return}else{f=+h[d>>3];do{if(f>+h[c+16>>3]){if(f>=+h[c+24>>3]){break}h[d>>3]=+h[c+64>>3];i=b;return}}while(0);do{if(f>+h[c+32>>3]){if(f>=+h[c+40>>3]){break}h[d>>3]=+h[c+80>>3];i=b;return}}while(0);if(f<=+h[c+48>>3]){i=b;return}if(f>=+h[c+56>>3]){i=b;return}h[d>>3]=+h[c+72>>3];i=b;return}}function Rq(a,b,d,e,f,g,j,k,l,m,n,o,p,q){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;j=+j;k=+k;l=+l;m=+m;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,I=0;u=i;E=i;i=i+24600|0;r=E;H=i;i=i+24600|0;s=H;v=i;i=i+4104|0;t=v;m=m*m;h[E>>3]=b;h[H>>3]=d;h[r+8>>3]=e;h[s+8>>3]=f;h[r+16>>3]=g;h[s+16>>3]=j;h[r+24576>>3]=k;h[s+24576>>3]=l;c[v>>2]=1024;v=0;while(1){H=r+(v*24|0)|0;y=s+(v*24|0)|0;z=r+(v*24|0)+8|0;A=s+(v*24|0)+8|0;B=r+(v*24|0)+16|0;C=s+(v*24|0)+16|0;D=t+(v<<2)|0;while(1){F=+h[H>>3];G=+h[y>>3];k=+h[z>>3];j=+h[A>>3];g=+h[B>>3];f=+h[C>>3];E=c[D>>2]|0;w=+h[r+(E*24|0)>>3];l=+h[s+(E*24|0)>>3];b=(F+w)*.5;x=(G+l)*.5;e=k-b;d=j-x;b=g-b;x=f-x;if((E-v|0)==1){break}if(!(e*e+d*d>m|b*b+x*x>m)){break}d=(F+k)*.5;e=(G+j)*.5;b=(k+g)*.5;x=(j+f)*.5;j=(d+b)*.5;k=(e+x)*.5;F=(g+w)*.5;G=(f+l)*.5;w=(b+F)*.5;x=(x+G)*.5;I=(E+v|0)/2|0;h[z>>3]=d;h[A>>3]=e;h[B>>3]=j;h[C>>3]=k;c[D>>2]=I;h[r+(I*24|0)>>3]=(j+w)*.5;h[s+(I*24|0)>>3]=(k+x)*.5;h[r+(I*24|0)+8>>3]=w;h[s+(I*24|0)+8>>3]=x;h[r+(I*24|0)+16>>3]=F;h[s+(I*24|0)+16>>3]=G;c[t+(I<<2)>>2]=E}H=(v|0)==0;I=(E|0)==1024;Sq(a,F,G,w,l,H&n,I&o,H&p,I&q);if((E|0)<1024){v=E}else{break}}i=u;return}function Sq(a,b,d,e,f,g,j,k,l){a=a|0;b=+b;d=+d;e=+e;f=+f;g=g|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0;m=i;n=a+4|0;q=c[n>>2]|0;o=q+1|0;p=a+8|0;r=c[p>>2]|0;if((q|0)<(r|0)){o=c[a>>2]|0}else{if((r|0)==0){c[p>>2]=32;r=32}if((r|0)<(o|0)){do{r=r<<1;}while((r|0)<(o|0));c[p>>2]=r}o=Ce(c[a>>2]|0,r,56)|0;c[a>>2]=o;q=c[n>>2]|0}h[o+(q*56|0)>>3]=b;h[(c[a>>2]|0)+((c[n>>2]|0)*56|0)+8>>3]=d;h[(c[a>>2]|0)+((c[n>>2]|0)*56|0)+16>>3]=e;h[(c[a>>2]|0)+((c[n>>2]|0)*56|0)+24>>3]=f;c[(c[a>>2]|0)+((c[n>>2]|0)*56|0)+48>>2]=0;if(g){r=(c[a>>2]|0)+((c[n>>2]|0)*56|0)+48|0;c[r>>2]=c[r>>2]|1}if(j){r=(c[a>>2]|0)+((c[n>>2]|0)*56|0)+48|0;c[r>>2]=c[r>>2]|2}if(k){r=(c[a>>2]|0)+((c[n>>2]|0)*56|0)+48|0;c[r>>2]=c[r>>2]|4}if(l){r=(c[a>>2]|0)+((c[n>>2]|0)*56|0)+48|0;c[r>>2]=c[r>>2]|8}do{if(f==d){h[(c[a>>2]|0)+((c[n>>2]|0)*56|0)+40>>3]=0.0;h[(c[a>>2]|0)+((c[n>>2]|0)*56|0)+32>>3]=0.0;r=(c[a>>2]|0)+((c[n>>2]|0)*56|0)+48|0;c[r>>2]=c[r>>2]|16;if(e!=b){break}r=(c[a>>2]|0)+((c[n>>2]|0)*56|0)+48|0;c[r>>2]=c[r>>2]|32}else{if(e==b){h[(c[a>>2]|0)+((c[n>>2]|0)*56|0)+40>>3]=0.0;h[(c[a>>2]|0)+((c[n>>2]|0)*56|0)+32>>3]=0.0;r=(c[a>>2]|0)+((c[n>>2]|0)*56|0)+48|0;c[r>>2]=c[r>>2]|32;break}else{h[(c[a>>2]|0)+((c[n>>2]|0)*56|0)+32>>3]=(e-b)/(f-d);r=c[n>>2]|0;q=c[a>>2]|0;h[q+(r*56|0)+40>>3]=1.0/+h[q+(r*56|0)+32>>3];break}}}while(0);if(d<=f){q=n;q=c[q>>2]|0;q=q+1|0;r=n;c[r>>2]=q;i=m;return}q=(c[a>>2]|0)+((c[n>>2]|0)*56|0)+48|0;c[q>>2]=c[q>>2]|64;q=n;q=c[q>>2]|0;q=q+1|0;r=n;c[r>>2]=q;i=m;return}function Tq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=a+4|0;c[e>>2]=c[b+4>>2];f=c[b+8>>2]|0;c[a+8>>2]=f;f=ye(f,56)|0;c[a>>2]=f;$W(f|0,c[b>>2]|0,(c[e>>2]|0)*56|0)|0;i=d;return}function Uq(a){a=a|0;var b=0;b=i;Fe(c[a>>2]|0);i=b;return}function Vq(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=a+4|0;if((c[d>>2]|0)<=0){i=b;return}e=0;a=c[a>>2]|0;while(1){h[a>>3]=+h[a>>3]*4.0;f=a+8|0;h[f>>3]=+h[f>>3]*4.0;f=a+16|0;h[f>>3]=+h[f>>3]*4.0;f=a+24|0;h[f>>3]=+h[f>>3]*4.0;e=e+1|0;if((e|0)<(c[d>>2]|0)){a=a+56|0}else{break}}i=b;return}function Wq(a){a=a|0;var b=0,d=0,e=0;b=i;d=i;i=i+8|0;e=c[a>>2]|0;a=e+((c[a+4>>2]|0)*56|0)|0;c[d>>2]=184;Yq(e,a,d);i=b;return}function Xq(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0,j=0.0,k=0.0;d=i;if((c[a+48>>2]&64|0)==0){g=a;a=a+8|0}else{g=a+16|0;a=a+24|0}e=+h[a>>3];f=+h[g>>3];if((c[b+48>>2]&64|0)==0){g=b;b=b+8|0}else{g=b+16|0;b=b+24|0}j=+h[b>>3];k=+h[g>>3];if(e!=j){a=e<j;i=d;return a|0}else{a=f!=k&f<k;i=d;return a|0}return 0}function Yq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=i;h=i;i=i+56|0;r=i;i=i+56|0;o=i;i=i+56|0;q=i;i=i+56|0;n=i;i=i+56|0;E=i;i=i+56|0;G=i;i=i+56|0;C=i;i=i+56|0;F=i;i=i+56|0;D=i;i=i+56|0;z=i;i=i+56|0;J=i;i=i+56|0;y=i;i=i+56|0;B=i;i=i+56|0;f=i;i=i+56|0;g=f;p=i;i=i+56|0;k=i;i=i+56|0;j=i;i=i+56|0;l=i;i=i+56|0;w=i;i=i+56|0;t=i;i=i+56|0;v=i;i=i+56|0;s=i;i=i+56|0;u=i;i=i+56|0;M=i;i=i+56|0;L=i;i=i+56|0;I=i;i=i+56|0;H=i;i=i+56|0;x=i;i=i+56|0;A=i;i=i+56|0;a:while(1){m=b+ -56|0;b:while(1){O=b-a|0;switch((O|0)/56|0|0){case 2:{K=4;break a};case 3:{K=6;break a};case 5:{K=15;break a};case 4:{K=14;break a};case 1:case 0:{K=81;break a};default:{}}if((O|0)<1736){K=21;break a}P=(O|0)/112|0;N=a+(P*56|0)|0;do{if((O|0)>55944){Q=(O|0)/224|0;O=a+(Q*56|0)|0;Q=a+((Q+P|0)*56|0)|0;P=Zq(a,O,N,Q,d)|0;if(!(Bd[c[d>>2]&255](m,Q)|0)){break}$W(B|0,Q|0,56)|0;$W(Q|0,m|0,56)|0;$W(m|0,B|0,56)|0;if(!(Bd[c[d>>2]&255](Q,N)|0)){P=P+1|0;break}$W(J|0,N|0,56)|0;$W(N|0,Q|0,56)|0;$W(Q|0,J|0,56)|0;if(!(Bd[c[d>>2]&255](N,O)|0)){P=P+2|0;break}$W(z|0,O|0,56)|0;$W(O|0,N|0,56)|0;$W(N|0,z|0,56)|0;if(!(Bd[c[d>>2]&255](O,a)|0)){P=P+3|0;break}$W(y|0,a|0,56)|0;$W(a|0,O|0,56)|0;$W(O|0,y|0,56)|0;P=P+4|0}else{S=Bd[c[d>>2]&255](N,a)|0;O=Bd[c[d>>2]&255](m,N)|0;if(!S){if(!O){P=0;break}$W(D|0,N|0,56)|0;$W(N|0,m|0,56)|0;$W(m|0,D|0,56)|0;if(!(Bd[c[d>>2]&255](N,a)|0)){P=1;break}$W(C|0,a|0,56)|0;$W(a|0,N|0,56)|0;$W(N|0,C|0,56)|0;P=2;break}if(O){$W(E|0,a|0,56)|0;$W(a|0,m|0,56)|0;$W(m|0,E|0,56)|0;P=1;break}$W(G|0,a|0,56)|0;$W(a|0,N|0,56)|0;$W(N|0,G|0,56)|0;if(!(Bd[c[d>>2]&255](m,N)|0)){P=1;break}$W(F|0,N|0,56)|0;$W(N|0,m|0,56)|0;$W(m|0,F|0,56)|0;P=2}}while(0);do{if(Bd[c[d>>2]&255](a,N)|0){Q=m}else{Q=m;while(1){Q=Q+ -56|0;if((a|0)==(Q|0)){break}if(Bd[c[d>>2]&255](Q,N)|0){K=64;break}else{}}if((K|0)==64){K=0;$W(I|0,a|0,56)|0;$W(a|0,Q|0,56)|0;$W(Q|0,I|0,56)|0;P=P+1|0;break}O=a+56|0;if(!(Bd[c[d>>2]&255](a,m)|0)){if((O|0)==(m|0)){K=81;break a}while(1){N=O+56|0;if(Bd[c[d>>2]&255](a,O)|0){break}if((N|0)==(m|0)){K=81;break a}else{O=N}}$W(x|0,O|0,56)|0;$W(O|0,m|0,56)|0;$W(m|0,x|0,56)|0;O=N}if((O|0)==(m|0)){K=81;break a}else{N=m}while(1){while(1){P=O+56|0;if(Bd[c[d>>2]&255](a,O)|0){break}else{O=P}}do{N=N+ -56|0;}while(Bd[c[d>>2]&255](a,N)|0);if(O>>>0>=N>>>0){a=O;continue b}$W(H|0,O|0,56)|0;$W(O|0,N|0,56)|0;$W(N|0,H|0,56)|0;O=P}}}while(0);O=a+56|0;c:do{if(O>>>0<Q>>>0){while(1){S=O;while(1){O=S+56|0;if(Bd[c[d>>2]&255](S,N)|0){S=O}else{R=Q;break}}do{R=R+ -56|0;}while(!(Bd[c[d>>2]&255](R,N)|0));if(S>>>0>R>>>0){O=S;break c}$W(L|0,S|0,56)|0;$W(S|0,R|0,56)|0;$W(R|0,L|0,56)|0;Q=R;N=(N|0)==(S|0)?R:N;P=P+1|0}}}while(0);do{if((O|0)!=(N|0)){if(!(Bd[c[d>>2]&255](N,O)|0)){break}$W(M|0,O|0,56)|0;$W(O|0,N|0,56)|0;$W(N|0,M|0,56)|0;P=P+1|0}}while(0);if((P|0)==0){P=_q(a,O,d)|0;N=O+56|0;if(_q(N,b,d)|0){K=76;break}if(P){a=N;continue}}if((O-a|0)>=(b-O|0)){K=80;break}Yq(a,O,d);a=O+56|0}if((K|0)==76){K=0;if(P){K=81;break}else{b=O;continue}}else if((K|0)==80){K=0;Yq(O+56|0,b,d);b=O;continue}}if((K|0)==4){if(!(Bd[c[d>>2]&255](m,a)|0)){i=e;return}$W(A|0,a|0,56)|0;$W(a|0,m|0,56)|0;$W(m|0,A|0,56)|0;i=e;return}else if((K|0)==6){f=a+56|0;S=Bd[c[d>>2]&255](f,a)|0;g=Bd[c[d>>2]&255](m,f)|0;if(!S){if(!g){i=e;return}$W(u|0,f|0,56)|0;$W(f|0,m|0,56)|0;$W(m|0,u|0,56)|0;if(!(Bd[c[d>>2]&255](f,a)|0)){i=e;return}$W(v|0,a|0,56)|0;$W(a|0,f|0,56)|0;$W(f|0,v|0,56)|0;i=e;return}if(g){$W(w|0,a|0,56)|0;$W(a|0,m|0,56)|0;$W(m|0,w|0,56)|0;i=e;return}$W(t|0,a|0,56)|0;$W(a|0,f|0,56)|0;$W(f|0,t|0,56)|0;if(!(Bd[c[d>>2]&255](m,f)|0)){i=e;return}$W(s|0,f|0,56)|0;$W(f|0,m|0,56)|0;$W(m|0,s|0,56)|0;i=e;return}else if((K|0)==14){Zq(a,a+56|0,a+112|0,m,d)|0;i=e;return}else if((K|0)==15){b=a+56|0;f=a+112|0;g=a+168|0;Zq(a,b,f,g,d)|0;if(!(Bd[c[d>>2]&255](m,g)|0)){i=e;return}$W(l|0,g|0,56)|0;$W(g|0,m|0,56)|0;$W(m|0,l|0,56)|0;if(!(Bd[c[d>>2]&255](g,f)|0)){i=e;return}$W(k|0,f|0,56)|0;$W(f|0,g|0,56)|0;$W(g|0,k|0,56)|0;if(!(Bd[c[d>>2]&255](f,b)|0)){i=e;return}$W(p|0,b|0,56)|0;$W(b|0,f|0,56)|0;$W(f|0,p|0,56)|0;if(!(Bd[c[d>>2]&255](b,a)|0)){i=e;return}$W(j|0,a|0,56)|0;$W(a|0,b|0,56)|0;$W(b|0,j|0,56)|0;i=e;return}else if((K|0)==21){j=a+112|0;l=a+56|0;S=Bd[c[d>>2]&255](l,a)|0;k=Bd[c[d>>2]&255](j,l)|0;do{if(S){if(k){$W(h|0,a|0,56)|0;$W(a|0,j|0,56)|0;$W(j|0,h|0,56)|0;break}$W(r|0,a|0,56)|0;$W(a|0,l|0,56)|0;$W(l|0,r|0,56)|0;if(!(Bd[c[d>>2]&255](j,l)|0)){break}$W(q|0,l|0,56)|0;$W(l|0,j|0,56)|0;$W(j|0,q|0,56)|0}else{if(!k){break}$W(n|0,l|0,56)|0;$W(l|0,j|0,56)|0;$W(j|0,n|0,56)|0;if(!(Bd[c[d>>2]&255](l,a)|0)){break}$W(o|0,a|0,56)|0;$W(a|0,l|0,56)|0;$W(l|0,o|0,56)|0}}while(0);h=a+168|0;if((h|0)==(b|0)){i=e;return}while(1){if(Bd[c[d>>2]&255](h,j)|0){$W(f|0,h|0,56)|0;k=h;while(1){$W(k|0,j|0,56)|0;if((j|0)==(a|0)){break}k=j+ -56|0;if(Bd[c[d>>2]&255](g,k)|0){S=j;j=k;k=S}else{break}}$W(j|0,f|0,56)|0}j=h+56|0;if((j|0)==(b|0)){break}else{S=h;h=j;j=S}}i=e;return}else if((K|0)==81){i=e;return}}function Zq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;n=i;i=i+56|0;p=i;i=i+56|0;l=i;i=i+56|0;o=i;i=i+56|0;m=i;i=i+56|0;h=i;i=i+56|0;g=i;i=i+56|0;j=i;i=i+56|0;r=Bd[c[f>>2]&255](b,a)|0;q=Bd[c[f>>2]&255](d,b)|0;do{if(r){if(q){$W(n|0,a|0,56)|0;$W(a|0,d|0,56)|0;$W(d|0,n|0,56)|0;l=1;break}$W(p|0,a|0,56)|0;$W(a|0,b|0,56)|0;$W(b|0,p|0,56)|0;if(!(Bd[c[f>>2]&255](d,b)|0)){l=1;break}$W(o|0,b|0,56)|0;$W(b|0,d|0,56)|0;$W(d|0,o|0,56)|0;l=2}else{if(!q){l=0;break}$W(m|0,b|0,56)|0;$W(b|0,d|0,56)|0;$W(d|0,m|0,56)|0;if(!(Bd[c[f>>2]&255](b,a)|0)){l=1;break}$W(l|0,a|0,56)|0;$W(a|0,b|0,56)|0;$W(b|0,l|0,56)|0;l=2}}while(0);if(!(Bd[c[f>>2]&255](e,d)|0)){r=l;i=k;return r|0}$W(j|0,d|0,56)|0;$W(d|0,e|0,56)|0;$W(e|0,j|0,56)|0;if(!(Bd[c[f>>2]&255](d,b)|0)){r=l+1|0;i=k;return r|0}$W(h|0,b|0,56)|0;$W(b|0,d|0,56)|0;$W(d|0,h|0,56)|0;if(!(Bd[c[f>>2]&255](b,a)|0)){r=l+2|0;i=k;return r|0}$W(g|0,a|0,56)|0;$W(a|0,b|0,56)|0;$W(b|0,g|0,56)|0;r=l+3|0;i=k;return r|0}function _q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=i;n=i;i=i+56|0;r=i;i=i+56|0;s=i;i=i+56|0;q=i;i=i+56|0;t=i;i=i+56|0;m=i;i=i+56|0;j=i;i=i+56|0;l=i;i=i+56|0;k=i;i=i+56|0;u=i;i=i+56|0;w=i;i=i+56|0;p=i;i=i+56|0;v=i;i=i+56|0;o=i;i=i+56|0;x=i;i=i+56|0;g=i;i=i+56|0;h=g;switch((b-a|0)/56|0|0){case 3:{f=a+56|0;b=b+ -56|0;x=Bd[c[d>>2]&255](f,a)|0;g=Bd[c[d>>2]&255](b,f)|0;if(!x){if(!g){x=1;i=e;return x|0}$W(o|0,f|0,56)|0;$W(f|0,b|0,56)|0;$W(b|0,o|0,56)|0;if(!(Bd[c[d>>2]&255](f,a)|0)){x=1;i=e;return x|0}$W(p|0,a|0,56)|0;$W(a|0,f|0,56)|0;$W(f|0,p|0,56)|0;x=1;i=e;return x|0}if(g){$W(u|0,a|0,56)|0;$W(a|0,b|0,56)|0;$W(b|0,u|0,56)|0;x=1;i=e;return x|0}$W(w|0,a|0,56)|0;$W(a|0,f|0,56)|0;$W(f|0,w|0,56)|0;if(!(Bd[c[d>>2]&255](b,f)|0)){x=1;i=e;return x|0}$W(v|0,f|0,56)|0;$W(f|0,b|0,56)|0;$W(b|0,v|0,56)|0;x=1;i=e;return x|0};case 5:{g=a+56|0;h=a+112|0;f=a+168|0;b=b+ -56|0;Zq(a,g,h,f,d)|0;if(!(Bd[c[d>>2]&255](b,f)|0)){x=1;i=e;return x|0}$W(k|0,f|0,56)|0;$W(f|0,b|0,56)|0;$W(b|0,k|0,56)|0;if(!(Bd[c[d>>2]&255](f,h)|0)){x=1;i=e;return x|0}$W(j|0,h|0,56)|0;$W(h|0,f|0,56)|0;$W(f|0,j|0,56)|0;if(!(Bd[c[d>>2]&255](h,g)|0)){x=1;i=e;return x|0}$W(m|0,g|0,56)|0;$W(g|0,h|0,56)|0;$W(h|0,m|0,56)|0;if(!(Bd[c[d>>2]&255](g,a)|0)){x=1;i=e;return x|0}$W(l|0,a|0,56)|0;$W(a|0,g|0,56)|0;$W(g|0,l|0,56)|0;x=1;i=e;return x|0};case 1:case 0:{x=1;i=e;return x|0};case 4:{Zq(a,a+56|0,a+112|0,b+ -56|0,d)|0;x=1;i=e;return x|0};case 2:{b=b+ -56|0;if(!(Bd[c[d>>2]&255](b,a)|0)){x=1;i=e;return x|0}$W(x|0,a|0,56)|0;$W(a|0,b|0,56)|0;$W(b|0,x|0,56)|0;x=1;i=e;return x|0};default:{j=a+112|0;k=a+56|0;x=Bd[c[d>>2]&255](k,a)|0;l=Bd[c[d>>2]&255](j,k)|0;do{if(x){if(l){$W(n|0,a|0,56)|0;$W(a|0,j|0,56)|0;$W(j|0,n|0,56)|0;break}$W(r|0,a|0,56)|0;$W(a|0,k|0,56)|0;$W(k|0,r|0,56)|0;if(!(Bd[c[d>>2]&255](j,k)|0)){break}$W(q|0,k|0,56)|0;$W(k|0,j|0,56)|0;$W(j|0,q|0,56)|0}else{if(!l){break}$W(t|0,k|0,56)|0;$W(k|0,j|0,56)|0;$W(j|0,t|0,56)|0;if(!(Bd[c[d>>2]&255](k,a)|0)){break}$W(s|0,a|0,56)|0;$W(a|0,k|0,56)|0;$W(k|0,s|0,56)|0}}while(0);k=a+168|0;if((k|0)==(b|0)){x=1;i=e;return x|0}l=0;while(1){if(Bd[c[d>>2]&255](k,j)|0){$W(g|0,k|0,56)|0;m=k;while(1){$W(m|0,j|0,56)|0;if((j|0)==(a|0)){break}m=j+ -56|0;if(Bd[c[d>>2]&255](h,m)|0){x=j;j=m;m=x}else{break}}$W(j|0,g|0,56)|0;l=l+1|0;if((l|0)==8){break}}j=k+56|0;if((j|0)==(b|0)){a=1;f=35;break}else{x=k;k=j;j=x}}if((f|0)==35){i=e;return a|0}x=(k+56|0)==(b|0);i=e;return x|0}}return 0}function $q(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0;f=i;c[b>>2]=d;a[b+4|0]=e&1;e=c[d+4>>2]|0;if((e|0)==0){c[b+12>>2]=1;c[b+8>>2]=1;c[b+20>>2]=0;c[b+16>>2]=0;j=0;o=b+24|0;c[o>>2]=j;o=b+36|0;bX(o|0,0,16)|0;i=f;return}d=c[d>>2]|0;g=+h[d>>3];k=+h[d+16>>3];j=g>k;l=j?k:g;m=j?g:k;if((c[d+48>>2]&64|0)==0){o=d+24|0;j=d+8|0}else{o=d+8|0;j=d+24|0}k=+h[o>>3];g=+h[j>>3];if((e|0)>1){j=1;do{n=+h[d+(j*56|0)>>3];do{if(n<l){l=n}else{if(n<=m){break}m=n}}while(0);n=+h[d+(j*56|0)+16>>3];do{if(n<l){l=n}else{if(n<=m){break}m=n}}while(0);do{if((c[d+(j*56|0)+48>>2]&64|0)==0){n=+h[d+(j*56|0)+24>>3];if(n<=k){break}k=n}else{n=+h[d+(j*56|0)+8>>3];if(n<=k){break}k=n}}while(0);j=j+1|0;}while((j|0)<(e|0))}if(l<=0.0){l=+R(+l)}c[b+8>>2]=~~l;if(m<=0.0){m=+R(+m)}c[b+16>>2]=~~m;if(g<=0.0){g=+R(+g)}e=~~g;c[b+12>>2]=e;if(k<=0.0){k=+R(+k)}c[b+20>>2]=~~k;j=e+ -1|0;o=b+24|0;c[o>>2]=j;o=b+36|0;bX(o|0,0,16)|0;i=f;return}function ar(a){a=a|0;var b=0;b=i;Fe(c[a+40>>2]|0);i=b;return}function br(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[b>>2]=(c[a+8>>2]|0)/4|0;c[d>>2]=(c[a+12>>2]|0)/4|0;c[e>>2]=(c[a+16>>2]|0)/4|0;c[f>>2]=(c[a+20>>2]|0)/4|0;i=i;return}function cr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0,z=0.0,A=0,B=0.0,C=0,D=0,E=0.0,F=0,G=0.0,H=0.0;f=i;j=i;i=i+8|0;g=j;e=b+24|0;if((c[e>>2]|0)>(d|0)){r=0}else{r=c[b+36>>2]|0}y=c[b>>2]|0;l=y+4|0;m=c[l>>2]|0;a:do{if((r|0)<(m|0)){n=+(d|0);k=c[y>>2]|0;while(1){if(+h[k+(r*56|0)+8>>3]>=n){break a}q=r+1|0;if(+h[k+(r*56|0)+24>>3]>=n){break a}if((q|0)<(m|0)){r=q}else{r=q;break}}}}while(0);c[b+36>>2]=r;k=b+44|0;c[k>>2]=0;if((r|0)>=(c[l>>2]|0)){F=0;D=b+40|0;D=c[D>>2]|0;F=F*12|0;F=D+F|0;C=j;A=185;c[C>>2]=A;jr(D,F,g);F=e;c[F>>2]=d;F=b+28|0;c[F>>2]=0;F=b+32|0;c[F>>2]=0;i=f;return}n=+(d+1|0);p=+(d|0);q=b+48|0;l=b+40|0;o=p+1.0;m=b+4|0;w=0;while(1){v=c[y>>2]|0;A=v+(r*56|0)|0;s=v+(r*56|0)+48|0;C=c[s>>2]|0;if((C&64|0)==0){F=v+(r*56|0)+24|0;D=v+(r*56|0)+8|0}else{F=v+(r*56|0)+8|0;D=v+(r*56|0)+24|0}t=+h[F>>3];u=+h[D>>3];if(u>=n){v=46;break}if(t>=p){if((w|0)==(c[q>>2]|0)){C=(w|0)==0?16:w<<1;c[q>>2]=C;c[l>>2]=Ce(c[l>>2]|0,C,12)|0;C=c[s>>2]|0}do{if((C&16|0)==0){z=+h[A>>3];if((C&32|0)!=0){B=z;x=z;v=33;break}B=+h[v+(r*56|0)+16>>3];w=z<B;x=w?B:z;B=w?z:B;H=+h[v+(r*56|0)+8>>3];E=+h[v+(r*56|0)+32>>3];G=z+(p-H)*E;E=z+(o-H)*E;do{if(G<B){z=B}else{if(G<=x){z=G;break}z=x}}while(0);if(E<B){x=B;v=27;break}if(E<=x){x=E;v=27;break}v=27}else{z=+h[A>>3];x=+h[v+(r*56|0)+16>>3];v=27}}while(0);do{if((v|0)==27){v=0;if(z>=x){B=z;v=33;break}if(z<=0.0){z=+R(+z)}c[(c[l>>2]|0)+((c[k>>2]|0)*12|0)>>2]=~~z;if(x<=0.0){x=+R(+x)}c[(c[l>>2]|0)+((c[k>>2]|0)*12|0)+4>>2]=~~x}}while(0);if((v|0)==33){v=0;if(x<=0.0){x=+R(+x)}c[(c[l>>2]|0)+((c[k>>2]|0)*12|0)>>2]=~~x;if(B<=0.0){B=+R(+B)}c[(c[l>>2]|0)+((c[k>>2]|0)*12|0)+4>>2]=~~B}do{if(u<=p&p<t){s=c[s>>2]|0;if((s&16|0)!=0){v=43;break}if((a[m]&1)==0){s=(s>>>5&2)+ -1|0}else{s=1}c[(c[l>>2]|0)+((c[k>>2]|0)*12|0)+8>>2]=s}else{v=43}}while(0);if((v|0)==43){c[(c[l>>2]|0)+((c[k>>2]|0)*12|0)+8>>2]=0}w=(c[k>>2]|0)+1|0;c[k>>2]=w;y=c[b>>2]|0}r=r+1|0;if((r|0)>=(c[y+4>>2]|0)){v=46;break}}if((v|0)==46){D=l;D=c[D>>2]|0;F=w*12|0;F=D+F|0;C=j;A=185;c[C>>2]=A;jr(D,F,g);F=e;c[F>>2]=d;F=b+28|0;c[F>>2]=0;F=b+32|0;c[F>>2]=0;i=f;return}}function dr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;if((c[b+24>>2]|0)!=(e|0)){cr(b,e)}e=c[b+44>>2]|0;a:do{if((e|0)>0){g=c[b+40>>2]|0;j=0;h=0;while(1){if((c[g+(h*12|0)>>2]|0)>(d|0)){break a}if((c[g+(h*12|0)+4>>2]|0)>=(d|0)){b=1;break}j=(c[g+(h*12|0)+8>>2]|0)+j|0;h=h+1|0;if((h|0)>=(e|0)){break a}}i=f;return b|0}else{j=0}}while(0);if((a[b+4|0]&1)==0){b=(j|0)!=0|0}else{b=j&1}j=(b|0)!=0;i=f;return j|0}function er(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;if((c[b+24>>2]|0)!=(f|0)){cr(b,f)}f=c[b+44>>2]|0;a:do{if((f|0)>0){h=c[b+40>>2]|0;j=0;k=0;do{if((c[h+(k*12|0)+4>>2]|0)>=(d|0)){break a}j=(c[h+(k*12|0)+8>>2]|0)+j|0;k=k+1|0;}while((k|0)<(f|0))}else{j=0;k=0}}while(0);if((d|0)>(e|0)){m=1;i=g;return m|0}h=b+40|0;b=b+4|0;l=d+ -1|0;while(1){if((k|0)>=(f|0)){e=0;f=16;break}d=c[h>>2]|0;if((c[d+(k*12|0)>>2]|0)>(l+1|0)){if((a[b]&1)==0){m=(j|0)!=0|0}else{m=j&1}if((m|0)==0){e=0;f=16;break}}m=c[d+(k*12|0)+4>>2]|0;l=(m|0)>(l|0)?m:l;if((l|0)<(e|0)){j=(c[d+(k*12|0)+8>>2]|0)+j|0;k=k+1|0}else{e=1;f=16;break}}if((f|0)==16){i=g;return e|0}return 0}function fr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;if((c[b+24>>2]|0)!=(d|0)){cr(b,d)}k=b+28|0;n=c[k>>2]|0;h=c[b+44>>2]|0;if((n|0)>=(h|0)){p=0;i=g;return p|0}j=c[b+40>>2]|0;d=c[j+(n*12|0)>>2]|0;o=c[j+(n*12|0)+4>>2]|0;l=b+32|0;m=(c[l>>2]|0)+(c[j+(n*12|0)+8>>2]|0)|0;c[l>>2]=m;n=n+1|0;c[k>>2]=n;a:do{if((n|0)<(h|0)){b=b+4|0;do{if((c[j+(n*12|0)>>2]|0)>(o|0)){if((a[b]&1)==0){p=(m|0)!=0|0}else{p=m&1}if((p|0)==0){break a}}p=c[j+(n*12|0)+4>>2]|0;o=(p|0)>(o|0)?p:o;m=m+(c[j+(n*12|0)+8>>2]|0)|0;c[l>>2]=m;n=n+1|0;c[k>>2]=n;}while((n|0)<(h|0))}}while(0);c[e>>2]=d;c[f>>2]=o;p=1;i=g;return p|0}function gr(a,b){a=a|0;b=b|0;i=i;return(c[a>>2]|0)<(c[b>>2]|0)|0}function hr(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;l=i;j=e+20|0;k=e+12|0;bX(c[j>>2]|0,0,da(c[e+4>>2]|0,c[k>>2]|0)|0)|0;n=h<<2;m=b+28|0;p=b+44|0;h=b+40|0;o=b+32|0;q=b+4|0;s=-1;t=c[e>>2]|0;r=0;do{cr(b,r+n|0);y=c[m>>2]|0;u=c[p>>2]|0;if((y|0)<(u|0)){do{w=c[h>>2]|0;v=c[w+(y*12|0)>>2]|0;z=c[w+(y*12|0)+4>>2]|0;x=(c[o>>2]|0)+(c[w+(y*12|0)+8>>2]|0)|0;c[o>>2]=x;y=y+1|0;c[m>>2]=y;a:do{if((y|0)<(u|0)){do{if((c[w+(y*12|0)>>2]|0)>(z|0)){if((a[q]&1)==0){A=(x|0)!=0|0}else{A=x&1}if((A|0)==0){break a}}A=c[w+(y*12|0)+4>>2]|0;z=(A|0)>(z|0)?A:z;x=x+(c[w+(y*12|0)+8>>2]|0)|0;c[o>>2]=x;y=y+1|0;c[m>>2]=y;}while((y|0)<(u|0))}}while(0);u=(v|0)<0?0:v;v=c[e>>2]|0;v=(z|0)<(v|0)?z+1|0:v;do{if((u|0)<(v|0)){x=c[j>>2]|0;y=(da(c[k>>2]|0,r)|0)+(u>>3)|0;w=x+y|0;z=u&7;if((z|0)==0){x=u}else{A=255>>>z;z=u&-8;if((z|0)==(v&-8|0)){A=65280>>>(v&7)&A&255}else{A=A&255}a[w]=a[w]|A;w=x+(y+1)|0;x=z+8|0}if((x+7|0)<(v|0)){z=x;while(1){x=w+1|0;a[w]=-1;y=z+8|0;if((z+15|0)<(v|0)){z=y;w=x}else{w=x;x=y;break}}}if((x|0)>=(v|0)){break}a[w]=d[w]|0|65280>>>(v&7)}}while(0);t=(u|0)<(t|0)?u:t;s=(v|0)>(s|0)?v:s;y=c[m>>2]|0;u=c[p>>2]|0;}while((y|0)<(u|0))}r=r+1|0;}while((r|0)<4);c[f>>2]=(t|0)/4|0;c[g>>2]=(s+ -1|0)/4|0;i=l;return}function ir(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;j=i;m=h<<2;k=b+28|0;r=b+44|0;p=e+20|0;q=e+12|0;l=b+40|0;n=b+32|0;o=b+4|0;h=0;do{s=c[f>>2]<<2;cr(b,h+m|0);y=c[k>>2]|0;u=c[r>>2]|0;a:do{if((y|0)<(u|0)){do{if((s|0)>=((c[g>>2]<<2)+4|0)){break a}w=c[l>>2]|0;v=c[w+(y*12|0)>>2]|0;t=c[w+(y*12|0)+4>>2]|0;x=(c[n>>2]|0)+(c[w+(y*12|0)+8>>2]|0)|0;c[n>>2]=x;y=y+1|0;c[k>>2]=y;b:do{if((y|0)<(u|0)){do{if((c[w+(y*12|0)>>2]|0)>(t|0)){if((a[o]&1)==0){z=(x|0)!=0|0}else{z=x&1}if((z|0)==0){break b}}z=c[w+(y*12|0)+4>>2]|0;t=(z|0)>(t|0)?z:t;x=x+(c[w+(y*12|0)+8>>2]|0)|0;c[n>>2]=x;y=y+1|0;c[k>>2]=y;}while((y|0)<(u|0))}}while(0);u=c[e>>2]|0;u=(v|0)>(u|0)?u:v;do{if((s|0)<(u|0)){w=c[p>>2]|0;v=(da(c[q>>2]|0,h)|0)+(s>>3)|0;x=w+v|0;y=s&7;if((y|0)!=0){y=65280>>>y;s=s&-8;if((s|0)==(u&-8|0)){y=(255>>>(u&7)|y)&255}else{y=y&255}a[x]=a[x]&y;x=w+(v+1)|0;s=s+8|0}if((s+7|0)<=(u|0)){v=x;while(1){x=v+1|0;a[v]=0;v=s+8|0;if((s+15|0)>(u|0)){s=v;break}else{s=v;v=x}}}if((s|0)>=(u|0)){break}a[x]=(d[x]|0)&255>>>(u&7)}}while(0);s=(t|0)<(s|0)?s:t+1|0;y=c[k>>2]|0;u=c[r>>2]|0;}while((y|0)<(u|0))}}while(0);u=(c[g>>2]<<2)+4|0;t=c[e>>2]|0;t=(u|0)>(t|0)?t:u;do{if((s|0)<(t|0)){v=c[p>>2]|0;w=(da(c[q>>2]|0,h)|0)+(s>>3)|0;u=v+w|0;x=s&7;if((x|0)!=0){x=65280>>>x;s=s&-8;if((s|0)==(t&-8|0)){x=255>>>(t&7)&x&255}else{x=x&255}a[u]=a[u]&x;u=v+(w+1)|0;s=s+8|0}if((s+7|0)<=(t|0)){w=u;v=s;while(1){u=w+1|0;a[w]=0;s=v+8|0;if((v+15|0)>(t|0)){break}else{v=s;w=u}}}if((s|0)>=(t|0)){break}a[u]=(d[u]|0)&255>>>(t&7)}}while(0);h=h+1|0;}while((h|0)<4);i=j;return}function jr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=i;l=i;i=i+16|0;q=i;i=i+16|0;r=i;i=i+16|0;p=i;i=i+16|0;o=i;i=i+16|0;E=i;i=i+16|0;G=i;i=i+16|0;C=i;i=i+16|0;F=i;i=i+16|0;D=i;i=i+16|0;z=i;i=i+16|0;A=i;i=i+16|0;y=i;i=i+16|0;B=i;i=i+16|0;g=i;i=i+16|0;f=g;h=i;i=i+16|0;j=i;i=i+16|0;n=i;i=i+16|0;k=i;i=i+16|0;u=i;i=i+16|0;s=i;i=i+16|0;t=i;i=i+16|0;w=i;i=i+16|0;v=i;i=i+16|0;M=i;i=i+16|0;L=i;i=i+16|0;I=i;i=i+16|0;H=i;i=i+16|0;x=i;i=i+16|0;J=i;i=i+16|0;a:while(1){m=b+ -12|0;b:while(1){O=b-a|0;switch((O|0)/12|0|0){case 4:{K=14;break a};case 3:{K=6;break a};case 5:{K=15;break a};case 1:case 0:{K=81;break a};case 2:{K=4;break a};default:{}}if((O|0)<372){K=21;break a}P=(O|0)/24|0;N=a+(P*12|0)|0;do{if((O|0)>11988){Q=(O|0)/48|0;O=a+(Q*12|0)|0;Q=a+((Q+P|0)*12|0)|0;P=kr(a,O,N,Q,d)|0;if(!(Bd[c[d>>2]&255](m,Q)|0)){break}$W(B|0,Q|0,12)|0;$W(Q|0,m|0,12)|0;$W(m|0,B|0,12)|0;if(!(Bd[c[d>>2]&255](Q,N)|0)){P=P+1|0;break}$W(A|0,N|0,12)|0;$W(N|0,Q|0,12)|0;$W(Q|0,A|0,12)|0;if(!(Bd[c[d>>2]&255](N,O)|0)){P=P+2|0;break}$W(z|0,O|0,12)|0;$W(O|0,N|0,12)|0;$W(N|0,z|0,12)|0;if(!(Bd[c[d>>2]&255](O,a)|0)){P=P+3|0;break}$W(y|0,a|0,12)|0;$W(a|0,O|0,12)|0;$W(O|0,y|0,12)|0;P=P+4|0}else{S=Bd[c[d>>2]&255](N,a)|0;O=Bd[c[d>>2]&255](m,N)|0;if(!S){if(!O){P=0;break}$W(D|0,N|0,12)|0;$W(N|0,m|0,12)|0;$W(m|0,D|0,12)|0;if(!(Bd[c[d>>2]&255](N,a)|0)){P=1;break}$W(C|0,a|0,12)|0;$W(a|0,N|0,12)|0;$W(N|0,C|0,12)|0;P=2;break}if(O){$W(E|0,a|0,12)|0;$W(a|0,m|0,12)|0;$W(m|0,E|0,12)|0;P=1;break}$W(G|0,a|0,12)|0;$W(a|0,N|0,12)|0;$W(N|0,G|0,12)|0;if(!(Bd[c[d>>2]&255](m,N)|0)){P=1;break}$W(F|0,N|0,12)|0;$W(N|0,m|0,12)|0;$W(m|0,F|0,12)|0;P=2}}while(0);do{if(Bd[c[d>>2]&255](a,N)|0){Q=m}else{Q=m;while(1){Q=Q+ -12|0;if((a|0)==(Q|0)){break}if(Bd[c[d>>2]&255](Q,N)|0){K=64;break}else{}}if((K|0)==64){K=0;$W(I|0,a|0,12)|0;$W(a|0,Q|0,12)|0;$W(Q|0,I|0,12)|0;P=P+1|0;break}O=a+12|0;if(!(Bd[c[d>>2]&255](a,m)|0)){if((O|0)==(m|0)){K=81;break a}while(1){N=O+12|0;if(Bd[c[d>>2]&255](a,O)|0){break}if((N|0)==(m|0)){K=81;break a}else{O=N}}$W(x|0,O|0,12)|0;$W(O|0,m|0,12)|0;$W(m|0,x|0,12)|0;O=N}if((O|0)==(m|0)){K=81;break a}else{N=m}while(1){while(1){P=O+12|0;if(Bd[c[d>>2]&255](a,O)|0){break}else{O=P}}do{N=N+ -12|0;}while(Bd[c[d>>2]&255](a,N)|0);if(O>>>0>=N>>>0){a=O;continue b}$W(H|0,O|0,12)|0;$W(O|0,N|0,12)|0;$W(N|0,H|0,12)|0;O=P}}}while(0);O=a+12|0;c:do{if(O>>>0<Q>>>0){while(1){S=O;while(1){O=S+12|0;if(Bd[c[d>>2]&255](S,N)|0){S=O}else{R=Q;break}}do{R=R+ -12|0;}while(!(Bd[c[d>>2]&255](R,N)|0));if(S>>>0>R>>>0){O=S;break c}$W(L|0,S|0,12)|0;$W(S|0,R|0,12)|0;$W(R|0,L|0,12)|0;Q=R;N=(N|0)==(S|0)?R:N;P=P+1|0}}}while(0);do{if((O|0)!=(N|0)){if(!(Bd[c[d>>2]&255](N,O)|0)){break}$W(M|0,O|0,12)|0;$W(O|0,N|0,12)|0;$W(N|0,M|0,12)|0;P=P+1|0}}while(0);if((P|0)==0){P=lr(a,O,d)|0;N=O+12|0;if(lr(N,b,d)|0){K=76;break}if(P){a=N;continue}}if((O-a|0)>=(b-O|0)){K=80;break}jr(a,O,d);a=O+12|0}if((K|0)==76){K=0;if(P){K=81;break}else{b=O;continue}}else if((K|0)==80){K=0;jr(O+12|0,b,d);b=O;continue}}if((K|0)==4){if(!(Bd[c[d>>2]&255](m,a)|0)){i=e;return}$W(J|0,a|0,12)|0;$W(a|0,m|0,12)|0;$W(m|0,J|0,12)|0;i=e;return}else if((K|0)==6){f=a+12|0;S=Bd[c[d>>2]&255](f,a)|0;g=Bd[c[d>>2]&255](m,f)|0;if(!S){if(!g){i=e;return}$W(v|0,f|0,12)|0;$W(f|0,m|0,12)|0;$W(m|0,v|0,12)|0;if(!(Bd[c[d>>2]&255](f,a)|0)){i=e;return}$W(t|0,a|0,12)|0;$W(a|0,f|0,12)|0;$W(f|0,t|0,12)|0;i=e;return}if(g){$W(u|0,a|0,12)|0;$W(a|0,m|0,12)|0;$W(m|0,u|0,12)|0;i=e;return}$W(s|0,a|0,12)|0;$W(a|0,f|0,12)|0;$W(f|0,s|0,12)|0;if(!(Bd[c[d>>2]&255](m,f)|0)){i=e;return}$W(w|0,f|0,12)|0;$W(f|0,m|0,12)|0;$W(m|0,w|0,12)|0;i=e;return}else if((K|0)==14){kr(a,a+12|0,a+24|0,m,d)|0;i=e;return}else if((K|0)==15){b=a+12|0;f=a+24|0;g=a+36|0;kr(a,b,f,g,d)|0;if(!(Bd[c[d>>2]&255](m,g)|0)){i=e;return}$W(k|0,g|0,12)|0;$W(g|0,m|0,12)|0;$W(m|0,k|0,12)|0;if(!(Bd[c[d>>2]&255](g,f)|0)){i=e;return}$W(j|0,f|0,12)|0;$W(f|0,g|0,12)|0;$W(g|0,j|0,12)|0;if(!(Bd[c[d>>2]&255](f,b)|0)){i=e;return}$W(h|0,b|0,12)|0;$W(b|0,f|0,12)|0;$W(f|0,h|0,12)|0;if(!(Bd[c[d>>2]&255](b,a)|0)){i=e;return}$W(n|0,a|0,12)|0;$W(a|0,b|0,12)|0;$W(b|0,n|0,12)|0;i=e;return}else if((K|0)==21){h=a+24|0;k=a+12|0;S=Bd[c[d>>2]&255](k,a)|0;j=Bd[c[d>>2]&255](h,k)|0;do{if(S){if(j){$W(l|0,a|0,12)|0;$W(a|0,h|0,12)|0;$W(h|0,l|0,12)|0;break}$W(q|0,a|0,12)|0;$W(a|0,k|0,12)|0;$W(k|0,q|0,12)|0;if(!(Bd[c[d>>2]&255](h,k)|0)){break}$W(p|0,k|0,12)|0;$W(k|0,h|0,12)|0;$W(h|0,p|0,12)|0}else{if(!j){break}$W(o|0,k|0,12)|0;$W(k|0,h|0,12)|0;$W(h|0,o|0,12)|0;if(!(Bd[c[d>>2]&255](k,a)|0)){break}$W(r|0,a|0,12)|0;$W(a|0,k|0,12)|0;$W(k|0,r|0,12)|0}}while(0);j=a+36|0;if((j|0)==(b|0)){i=e;return}while(1){if(Bd[c[d>>2]&255](j,h)|0){$W(g|0,j|0,12)|0;k=j;while(1){$W(k|0,h|0,12)|0;if((h|0)==(a|0)){break}k=h+ -12|0;if(Bd[c[d>>2]&255](f,k)|0){S=h;h=k;k=S}else{break}}$W(h|0,g|0,12)|0}h=j+12|0;if((h|0)==(b|0)){break}else{S=j;j=h;h=S}}i=e;return}else if((K|0)==81){i=e;return}}function kr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;n=i;i=i+16|0;p=i;i=i+16|0;l=i;i=i+16|0;o=i;i=i+16|0;m=i;i=i+16|0;h=i;i=i+16|0;g=i;i=i+16|0;j=i;i=i+16|0;r=Bd[c[f>>2]&255](b,a)|0;q=Bd[c[f>>2]&255](d,b)|0;do{if(r){if(q){$W(n|0,a|0,12)|0;$W(a|0,d|0,12)|0;$W(d|0,n|0,12)|0;l=1;break}$W(p|0,a|0,12)|0;$W(a|0,b|0,12)|0;$W(b|0,p|0,12)|0;if(!(Bd[c[f>>2]&255](d,b)|0)){l=1;break}$W(o|0,b|0,12)|0;$W(b|0,d|0,12)|0;$W(d|0,o|0,12)|0;l=2}else{if(!q){l=0;break}$W(m|0,b|0,12)|0;$W(b|0,d|0,12)|0;$W(d|0,m|0,12)|0;if(!(Bd[c[f>>2]&255](b,a)|0)){l=1;break}$W(l|0,a|0,12)|0;$W(a|0,b|0,12)|0;$W(b|0,l|0,12)|0;l=2}}while(0);if(!(Bd[c[f>>2]&255](e,d)|0)){r=l;i=k;return r|0}$W(j|0,d|0,12)|0;$W(d|0,e|0,12)|0;$W(e|0,j|0,12)|0;if(!(Bd[c[f>>2]&255](d,b)|0)){r=l+1|0;i=k;return r|0}$W(h|0,b|0,12)|0;$W(b|0,d|0,12)|0;$W(d|0,h|0,12)|0;if(!(Bd[c[f>>2]&255](b,a)|0)){r=l+2|0;i=k;return r|0}$W(g|0,a|0,12)|0;$W(a|0,b|0,12)|0;$W(b|0,g|0,12)|0;r=l+3|0;i=k;return r|0}function lr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=i;n=i;i=i+16|0;r=i;i=i+16|0;s=i;i=i+16|0;q=i;i=i+16|0;t=i;i=i+16|0;k=i;i=i+16|0;j=i;i=i+16|0;l=i;i=i+16|0;m=i;i=i+16|0;u=i;i=i+16|0;w=i;i=i+16|0;p=i;i=i+16|0;v=i;i=i+16|0;o=i;i=i+16|0;x=i;i=i+16|0;g=i;i=i+16|0;h=g;switch((b-a|0)/12|0|0){case 3:{f=a+12|0;b=b+ -12|0;x=Bd[c[d>>2]&255](f,a)|0;g=Bd[c[d>>2]&255](b,f)|0;if(!x){if(!g){x=1;i=e;return x|0}$W(o|0,f|0,12)|0;$W(f|0,b|0,12)|0;$W(b|0,o|0,12)|0;if(!(Bd[c[d>>2]&255](f,a)|0)){x=1;i=e;return x|0}$W(p|0,a|0,12)|0;$W(a|0,f|0,12)|0;$W(f|0,p|0,12)|0;x=1;i=e;return x|0}if(g){$W(u|0,a|0,12)|0;$W(a|0,b|0,12)|0;$W(b|0,u|0,12)|0;x=1;i=e;return x|0}$W(w|0,a|0,12)|0;$W(a|0,f|0,12)|0;$W(f|0,w|0,12)|0;if(!(Bd[c[d>>2]&255](b,f)|0)){x=1;i=e;return x|0}$W(v|0,f|0,12)|0;$W(f|0,b|0,12)|0;$W(b|0,v|0,12)|0;x=1;i=e;return x|0};case 4:{kr(a,a+12|0,a+24|0,b+ -12|0,d)|0;x=1;i=e;return x|0};case 2:{b=b+ -12|0;if(!(Bd[c[d>>2]&255](b,a)|0)){x=1;i=e;return x|0}$W(x|0,a|0,12)|0;$W(a|0,b|0,12)|0;$W(b|0,x|0,12)|0;x=1;i=e;return x|0};case 5:{h=a+12|0;f=a+24|0;g=a+36|0;b=b+ -12|0;kr(a,h,f,g,d)|0;if(!(Bd[c[d>>2]&255](b,g)|0)){x=1;i=e;return x|0}$W(m|0,g|0,12)|0;$W(g|0,b|0,12)|0;$W(b|0,m|0,12)|0;if(!(Bd[c[d>>2]&255](g,f)|0)){x=1;i=e;return x|0}$W(j|0,f|0,12)|0;$W(f|0,g|0,12)|0;$W(g|0,j|0,12)|0;if(!(Bd[c[d>>2]&255](f,h)|0)){x=1;i=e;return x|0}$W(k|0,h|0,12)|0;$W(h|0,f|0,12)|0;$W(f|0,k|0,12)|0;if(!(Bd[c[d>>2]&255](h,a)|0)){x=1;i=e;return x|0}$W(l|0,a|0,12)|0;$W(a|0,h|0,12)|0;$W(h|0,l|0,12)|0;x=1;i=e;return x|0};case 1:case 0:{x=1;i=e;return x|0};default:{j=a+24|0;k=a+12|0;x=Bd[c[d>>2]&255](k,a)|0;l=Bd[c[d>>2]&255](j,k)|0;do{if(x){if(l){$W(n|0,a|0,12)|0;$W(a|0,j|0,12)|0;$W(j|0,n|0,12)|0;break}$W(r|0,a|0,12)|0;$W(a|0,k|0,12)|0;$W(k|0,r|0,12)|0;if(!(Bd[c[d>>2]&255](j,k)|0)){break}$W(q|0,k|0,12)|0;$W(k|0,j|0,12)|0;$W(j|0,q|0,12)|0}else{if(!l){break}$W(t|0,k|0,12)|0;$W(k|0,j|0,12)|0;$W(j|0,t|0,12)|0;if(!(Bd[c[d>>2]&255](k,a)|0)){break}$W(s|0,a|0,12)|0;$W(a|0,k|0,12)|0;$W(k|0,s|0,12)|0}}while(0);k=a+36|0;if((k|0)==(b|0)){x=1;i=e;return x|0}l=0;while(1){if(Bd[c[d>>2]&255](k,j)|0){$W(g|0,k|0,12)|0;m=k;while(1){$W(m|0,j|0,12)|0;if((j|0)==(a|0)){break}m=j+ -12|0;if(Bd[c[d>>2]&255](h,m)|0){x=j;j=m;m=x}else{break}}$W(j|0,g|0,12)|0;l=l+1|0;if((l|0)==8){break}}j=k+12|0;if((j|0)==(b|0)){a=1;f=35;break}else{x=k;k=j;j=x}}if((f|0)==35){i=e;return a|0}x=(k+12|0)==(b|0);i=e;return x|0}}return 0}function mr(a){a=a|0;var b=0;b=i;do{if((a|0)==0){a=5}else{if((te(a,55048)|0)==0){a=0;break}if((te(a,55056)|0)==0){a=1;break}if((te(a,55064)|0)==0){a=2;break}if((te(a,55072)|0)==0){a=3;break}if((te(a,55088)|0)==0){a=4;break}if((te(a,55104)|0)==0){a=6;break}if((te(a,55112)|0)==0){a=7;break}if((te(a,55128)|0)==0){a=8;break}a=(te(a,55144)|0)==0;a=a?9:5}}while(0);i=b;return a|0}function nr(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;d=i;j=i;i=i+16|0;k=j;o=i;i=i+16|0;n=o;r=i;i=i+16|0;q=r;t=i;i=i+16|0;u=t;l=i;i=i+16|0;f=l;if((c[a+12>>2]|0)!=4){u=0;i=d;return u|0}c[l>>2]=13;g=f+8|0;c[g>>2]=0;c[g+4>>2]=0;do{if(((c[(ut(a,0,f)|0)>>2]|0)+ -1|0)>>>0<2){s=c[l>>2]|0;if((s+ -1|0)>>>0>=2){c[t>>2]=s;c[u+4>>2]=1;c[u+8>>2]=2;Qe(0,72608,u);tc()}if((s|0)==1){e=+(c[g>>2]|0);break}else{e=+h[g>>3];break}}else{e=0.0}}while(0);Of(f);do{if(((c[(ut(a,1,f)|0)>>2]|0)+ -1|0)>>>0<2){s=c[l>>2]|0;if((s+ -1|0)>>>0>=2){c[r>>2]=s;c[q+4>>2]=1;c[q+8>>2]=2;Qe(0,72608,q);tc()}if((s|0)==1){m=+(c[g>>2]|0);break}else{m=+h[g>>3];break}}else{m=0.0}}while(0);Of(f);do{if(((c[(ut(a,2,f)|0)>>2]|0)+ -1|0)>>>0<2){q=c[l>>2]|0;if((q+ -1|0)>>>0>=2){c[o>>2]=q;c[n+4>>2]=1;c[n+8>>2]=2;Qe(0,72608,n);tc()}if((q|0)==1){p=+(c[g>>2]|0);break}else{p=+h[g>>3];break}}else{p=0.0}}while(0);Of(f);do{if(((c[(ut(a,3,f)|0)>>2]|0)+ -1|0)>>>0<2){l=c[l>>2]|0;if((l+ -1|0)>>>0>=2){c[j>>2]=l;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,72608,k);tc()}if((l|0)==1){v=+(c[g>>2]|0);break}else{v=+h[g>>3];break}}else{v=0.0}}while(0);Of(f);if(!(v!=0.0&((e<0.0|m<0.0|p<0.0)^1))){u=0;i=d;return u|0}x=+h[b+16>>3];w=+h[b>>3];if(x-w-e-p<0.0){u=0;i=d;return u|0}y=+h[b+24>>3];z=+h[b+8>>3];if(y-z-m-v<0.0){u=0;i=d;return u|0}u=FW(32)|0;bX(u|0,0,24)|0;h[u>>3]=e+w;h[u+8>>3]=m+z;h[u+16>>3]=x-p;h[u+24>>3]=y-v;i=d;return u|0}function or(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;d=i;g=i;i=i+16|0;j=g;m=i;i=i+8|0;l=m;k=i;i=i+16|0;e=k;c[k>>2]=13;f=e+8|0;c[f>>2]=0;c[f+4>>2]=0;do{if((c[(Yu(b,55152,e,0)|0)>>2]|0)==4){n=FW(32)|0;o=c[k>>2]|0;if((o|0)!=4){c[m>>2]=o;c[l+4>>2]=4;Qe(0,72520,l);tc()}fe(n,c[f>>2]|0);c[a>>2]=(te(n,55160)|0)==0;if((n|0)==0){break}ke(n);HW(n)}else{c[a>>2]=0}}while(0);Of(e);do{if(((c[(Yu(b,55168,e,0)|0)>>2]|0)+ -1|0)>>>0<2){if((c[a>>2]|0)!=1){break}k=c[k>>2]|0;if((k+ -1|0)>>>0>=2){c[g>>2]=k;c[j+4>>2]=1;c[j+8>>2]=2;Qe(0,72608,j);tc()}if((k|0)==1){p=+(c[f>>2]|0)}else{p=+h[f>>3]}h[a+8>>3]=p;Of(e);i=d;return}}while(0);h[a+8>>3]=0.0;Of(e);i=d;return}function pr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0.0;d=i;l=i;i=i+16|0;n=l;f=i;i=i+16|0;g=f;e=i;i=i+8|0;k=i;i=i+16|0;j=k;p=c[b+12>>2]|0;if((p&1|0)!=0){Qe(-1,55176,e);i=d;return}o=(p|0)/2|0;e=ye(o,4)|0;bX(e|0,0,o<<2|0)|0;a:do{if((p|0)>1){p=j+8|0;q=p+4|0;r=0;b:while(1){c[k>>2]=13;c[p>>2]=0;c[q>>2]=0;u=r<<1;do{if(((c[(ut(b,u,j)|0)>>2]|0)+ -1|0)>>>0<2){t=c[k>>2]|0;if((t+ -1|0)>>>0>=2){m=7;break b}if((t|0)==1){t=1;s=+(c[p>>2]|0);break}else{t=1;s=+h[p>>3];break}}else{t=0;s=0.0}}while(0);Of(j);if(((c[(ut(b,u|1,j)|0)>>2]|0)+ -1|0)>>>0>=2){m=12;break}u=c[k>>2]|0;if((u+ -1|0)>>>0>=2){m=14;break}if((u|0)==1){v=+(c[p>>2]|0);Of(j);if(!t){break}}else{v=+h[p>>3];Of(j);if(!t){break}}u=FW(16)|0;h[u>>3]=s;h[u+8>>3]=v;c[e+(r<<2)>>2]=u;r=r+1|0;if((r|0)>=(o|0)){break a}}if((m|0)==7){c[f>>2]=t;c[g+4>>2]=1;c[g+8>>2]=2;Qe(0,72608,g);tc()}else if((m|0)==12){Of(j)}else if((m|0)==14){c[l>>2]=u;c[n+4>>2]=1;c[n+8>>2]=2;Qe(0,72608,n);tc()}if((r|0)>0){do{r=r+ -1|0;f=c[e+(r<<2)>>2]|0;if((f|0)!=0){HW(f)}}while((r|0)>0)}Fe(e);i=d;return}}while(0);c[a>>2]=e;c[a+4>>2]=o;i=d;return}function qr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,R=0.0;e=i;g=i;i=i+8|0;j=i;i=i+16|0;l=j;n=i;i=i+64|0;o=n;t=i;i=i+16|0;p=t;s=c[b+12>>2]|0;c[a>>2]=0;m=a+4|0;c[m>>2]=0;if((s&7|0)!=0){i=e;return}r=(s|0)/8|0;f=ye(r,4)|0;bX(f|0,0,r<<2|0)|0;a:do{if((s|0)>7){C=p+8|0;u=C+4|0;E=d+24|0;D=d+8|0;F=d+16|0;v=o+8|0;w=o+16|0;x=o+24|0;y=o+32|0;z=o+40|0;A=o+48|0;B=o+56|0;s=0;b:while(1){H=s<<3;G=0;do{c[t>>2]=13;c[C>>2]=0;c[u>>2]=0;if(((c[(ut(b,G+H|0,p)|0)>>2]|0)+ -1|0)>>>0>=2){break b}I=c[t>>2]|0;if((I+ -1|0)>>>0>=2){q=7;break b}I=(I|0)==1;if(I){K=c[C>>2]|0;J=K;L=+(K|0)}else{L=+h[C>>3];h[k>>3]=L;J=c[k>>2]|0}if(((G|0)%2|0|0)==1){M=+h[E>>3];do{if(L<=M){if(I){K=J;L=+(J|0)}else{L=+h[C>>3];h[k>>3]=L;K=c[k>>2]|0}M=+h[D>>3];if(L<M){break}if(I){M=+(K|0);break}else{M=+h[C>>3];break}}}while(0);h[o+(G<<3)>>3]=M}else{M=+h[F>>3];do{if(L<=M){if(I){K=J;L=+(J|0)}else{L=+h[C>>3];h[k>>3]=L;K=c[k>>2]|0}M=+h[d>>3];if(L<M){break}if(I){M=+(K|0);break}else{M=+h[C>>3];break}}}while(0);h[o+(G<<3)>>3]=M}Of(p);G=G+1|0;}while((G|0)<8);K=FW(64)|0;R=+h[v>>3];Q=+h[w>>3];P=+h[x>>3];O=+h[y>>3];N=+h[z>>3];L=+h[A>>3];M=+h[B>>3];h[K>>3]=+h[n>>3];h[K+8>>3]=R;h[K+16>>3]=Q;h[K+24>>3]=P;h[K+32>>3]=O;h[K+40>>3]=N;h[K+48>>3]=L;h[K+56>>3]=M;c[f+(s<<2)>>2]=K;s=s+1|0;if((s|0)>=(r|0)){break a}}if((q|0)==7){c[j>>2]=I;c[l+4>>2]=1;c[l+8>>2]=2;Qe(0,72608,l);tc()}Of(p);Qe(-1,55224,g);if((s|0)>0){g=0;do{j=c[f+(g<<2)>>2]|0;if((j|0)!=0){HW(j)}g=g+1|0;}while((g|0)<(s|0))}Fe(f);i=e;return}}while(0);c[m>>2]=r;c[a>>2]=f;i=e;return}function rr(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=55264;d=c[a+20>>2]|0;if((d|0)==0){HW(a);i=b;return}Fe(d);HW(a);i=b;return}function sr(a){a=a|0;var b=0;b=i;c[a>>2]=55264;a=c[a+20>>2]|0;if((a|0)==0){i=b;return}Fe(a);i=b;return}function tr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;l=i;g=i;i=i+16|0;j=g;r=i;i=i+8|0;q=r;t=i;i=i+16|0;u=t;w=i;i=i+16|0;v=w;x=i;i=i+16|0;y=x;k=i;i=i+16|0;f=k;c[a+4>>2]=0;o=a+8|0;h[o>>3]=1.0;p=a+16|0;c[p>>2]=0;m=a+20|0;c[m>>2]=0;n=a+24|0;c[n>>2]=0;c[a>>2]=55304;c[k>>2]=13;d=f+8|0;c[d>>2]=0;c[d+4>>2]=0;z=c[b+12>>2]|0;s=(z|0)==4;do{if((z+ -3|0)>>>0<2){if(((c[(ut(b,0,f)|0)>>2]|0)+ -1|0)>>>0<2){z=c[k>>2]|0;if((z+ -1|0)>>>0>=2){c[x>>2]=z;c[y+4>>2]=1;c[y+8>>2]=2;Qe(0,72608,y);tc()}if((z|0)==1){A=+(c[d>>2]|0)}else{A=+h[d>>3]}h[a+32>>3]=A;x=1}else{x=0}Of(f);if(((c[(ut(b,1,f)|0)>>2]|0)+ -1|0)>>>0<2){y=c[k>>2]|0;if((y+ -1|0)>>>0>=2){c[w>>2]=y;c[v+4>>2]=1;c[v+8>>2]=2;Qe(0,72608,v);tc()}if((y|0)==1){A=+(c[d>>2]|0)}else{A=+h[d>>3]}h[a+40>>3]=A}else{x=0}Of(f);if(((c[(ut(b,2,f)|0)>>2]|0)+ -1|0)>>>0<2){a=c[k>>2]|0;if((a+ -1|0)>>>0>=2){c[t>>2]=a;c[u+4>>2]=1;c[u+8>>2]=2;Qe(0,72608,u);tc()}if((a|0)==1){A=+(c[d>>2]|0)}else{A=+h[d>>3]}h[o>>3]=A}else{x=0}Of(f);if(!s){if((x&1)==0){break}i=l;return}if((c[(ut(b,3,f)|0)>>2]|0)!=6){Of(f);break}b=c[k>>2]|0;if((b|0)!=6){c[r>>2]=b;c[q+4>>2]=6;Qe(0,72520,q);tc()}b=c[d>>2]|0;q=c[b+12>>2]|0;r=ye(q,8)|0;a:do{if((q|0)>0){s=0;b:while(1){if((x&1)==0){e=x;break a}do{if(((c[(ut(b,s,f)|0)>>2]|0)+ -1|0)>>>0<2){t=c[k>>2]|0;if((t+ -1|0)>>>0>=2){break b}if((t|0)==1){A=+(c[d>>2]|0)}else{A=+h[d>>3]}h[r+(s<<3)>>3]=A;if(A>=0.0){break}x=0}else{x=0}}while(0);Of(f);s=s+1|0;if(!((s|0)<(q|0)&(s|0)<10)){e=x;break a}}c[g>>2]=t;c[j+4>>2]=1;c[j+8>>2]=2;Qe(0,72608,j);tc()}else{e=x}}while(0);if((e&1)==0){Fe(r);Of(f);break}c[p>>2]=q;c[m>>2]=r;c[n>>2]=1;Of(f);i=l;return}}while(0);h[o>>3]=0.0;i=l;return}function ur(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;n=i;d=i;i=i+16|0;m=d;j=i;i=i+8|0;k=j;t=i;i=i+8|0;s=t;x=i;i=i+16|0;w=x;p=i;i=i+16|0;q=p;y=i;i=i+16|0;u=y;o=i;i=i+16|0;e=o;c[a+4>>2]=0;v=a+8|0;h[v>>3]=1.0;f=a+16|0;c[f>>2]=0;l=a+20|0;c[l>>2]=0;g=a+24|0;c[g>>2]=0;c[a>>2]=55344;c[p>>2]=13;a=q+8|0;c[a>>2]=0;c[a+4>>2]=0;c[y>>2]=13;z=u+8|0;c[z>>2]=0;c[z+4>>2]=0;Yu(b,55376,q,0)|0;Yu(b,55152,u,0)|0;do{if(((c[p>>2]|0)+ -1|0)>>>0<2){if((c[y>>2]|0)!=4){r=21;break}y=FW(32)|0;fe(y,c[z>>2]|0);z=c[p>>2]|0;if((z+ -1|0)>>>0>=2){c[x>>2]=z;c[w+4>>2]=1;c[w+8>>2]=2;Qe(0,72608,w);tc()}if((z|0)==1){A=+(c[a>>2]|0)}else{A=+h[a>>3]}h[v>>3]=A;do{if((te(y,55152)|0)==0){c[g>>2]=0}else{if((te(y,55384)|0)==0){c[g>>2]=1;break}if((te(y,55392)|0)==0){c[g>>2]=2;break}if((te(y,55168)|0)==0){c[g>>2]=3;break}if((te(y,55400)|0)==0){c[g>>2]=4;break}else{c[g>>2]=0;break}}}while(0);if((y|0)==0){break}ke(y);HW(y)}else{r=21}}while(0);if((r|0)==21){h[v>>3]=0.0}Of(u);Of(q);a:do{if((c[(Yu(b,55384,q,0)|0)>>2]|0)==6){r=c[p>>2]|0;if((r|0)!=6){c[t>>2]=r;c[s+4>>2]=6;Qe(0,72520,s);tc()}t=c[(c[a>>2]|0)+12>>2]|0;s=ye(t,8)|0;do{if((t|0)>=1){r=e+8|0;u=r+4|0;v=1;b=0;b:while(1){c[o>>2]=13;c[r>>2]=0;c[u>>2]=0;w=c[p>>2]|0;if((w|0)!=6){r=28;break}do{if(((c[(ut(c[a>>2]|0,b,e)|0)>>2]|0)+ -1|0)>>>0<2){w=c[o>>2]|0;if((w+ -1|0)>>>0>=2){r=31;break b}if((w|0)==1){A=+(c[r>>2]|0)}else{A=+h[r>>3]}h[s+(b<<3)>>3]=A;if(A>=0.0){break}v=0}else{v=0}}while(0);Of(e);b=b+1|0;if((b|0)>=(t|0)|v^1){r=38;break}}if((r|0)==28){c[j>>2]=w;c[k+4>>2]=6;Qe(0,72520,k);tc()}else if((r|0)==31){c[d>>2]=w;c[m+4>>2]=1;c[m+8>>2]=2;Qe(0,72608,m);tc()}else if((r|0)==38){if(v){break}Fe(s);break a}}}while(0);c[f>>2]=t;c[l>>2]=s;c[g>>2]=1}}while(0);if((c[l>>2]|0)!=0){Of(q);i=n;return}c[f>>2]=1;z=ye(1,8)|0;c[l>>2]=z;h[z>>3]=3.0;Of(q);i=n;return}function vr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;f=i;m=i;i=i+16|0;l=m;j=i;i=i+16|0;k=j;n=c[b+12>>2]|0;e=a+32|0;n=(n|0)>4?4:n;c[e>>2]=n;a:do{if((n|0)>0){n=k+8|0;o=n+4|0;p=0;while(1){c[j>>2]=13;c[n>>2]=0;c[o>>2]=0;if(((c[(ut(b,p,k)|0)>>2]|0)+ -1|0)>>>0<2){q=c[j>>2]|0;if((q+ -1|0)>>>0>=2){break}if((q|0)==1){r=+(c[n>>2]|0)}else{r=+h[n>>3]}h[a+(p<<3)>>3]=r<0.0|r>1.0?0.0:r}else{h[a+(p<<3)>>3]=0.0}Of(k);p=p+1|0;q=c[e>>2]|0;if((p|0)>=(q|0)){g=q;break a}}c[m>>2]=q;c[l+4>>2]=1;c[l+8>>2]=2;Qe(0,72608,l);tc()}else{g=n}}while(0);b=(g|0)==4?0-d|0:d;if((b|0)>0){if((g|0)>0){g=0}else{i=f;return}do{q=a+(g<<3)|0;h[q>>3]=+h[q>>3]*.5+.5;g=g+1|0;}while((g|0)<(c[e>>2]|0));i=f;return}else{if((b|0)<0&(g|0)>0){g=0}else{i=f;return}do{q=a+(g<<3)|0;h[q>>3]=+h[q>>3]*.5;g=g+1|0;}while((g|0)<(c[e>>2]|0));i=f;return}}function wr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0;k=i;j=i;i=i+8|0;e=j;p=i;i=i+16|0;o=p;s=i;i=i+8|0;q=s;t=i;i=i+16|0;u=t;w=i;i=i+8|0;v=w;x=i;i=i+8|0;y=x;A=i;i=i+8|0;z=A;m=i;i=i+16|0;f=m;r=i;i=i+16|0;n=r;c[m>>2]=13;g=f+8|0;c[g>>2]=0;c[g+4>>2]=0;do{if((c[(Yu(d,55408,f,0)|0)>>2]|0)==4){B=FW(32)|0;C=c[m>>2]|0;if((C|0)!=4){c[A>>2]=C;c[z+4>>2]=4;Qe(0,72520,z);tc()}fe(B,c[g>>2]|0);do{if((te(B,55392)|0)==0){c[b>>2]=1}else{if((te(B,55152)|0)==0){c[b>>2]=2;break}if((te(B,55416)|0)==0){c[b>>2]=3;break}else{c[b>>2]=0;break}}}while(0);if((B|0)==0){break}ke(B);HW(B)}else{c[b>>2]=0}}while(0);Of(f);do{if((c[(Yu(d,55152,f,0)|0)>>2]|0)==4){z=FW(32)|0;A=c[m>>2]|0;if((A|0)!=4){c[x>>2]=A;c[y+4>>2]=4;Qe(0,72520,y);tc()}fe(z,c[g>>2]|0);c[b+4>>2]=(te(z,55424)|0)!=0;if((z|0)==0){break}ke(z);HW(z)}else{c[b+4>>2]=1}}while(0);Of(f);do{if((c[(Yu(d,55424,f,0)|0)>>2]|0)==6){x=c[m>>2]|0;if((x|0)!=6){c[w>>2]=x;c[v+4>>2]=6;Qe(0,72520,v);tc()}w=c[g>>2]|0;if((c[w+12>>2]|0)!=2){l=46;break}c[r>>2]=13;v=n+8|0;c[v>>2]=0;c[v+4>>2]=0;if(((c[(ut(w,0,n)|0)>>2]|0)+ -1|0)>>>0<2){w=c[r>>2]|0;if((w+ -1|0)>>>0>=2){c[t>>2]=w;c[u+4>>2]=1;c[u+8>>2]=2;Qe(0,72608,u);tc()}if((w|0)==1){D=+(c[v>>2]|0)}else{D=+h[v>>3]}h[b+8>>3]=D}else{h[b+8>>3]=0.0}Of(n);t=c[m>>2]|0;if((t|0)!=6){c[s>>2]=t;c[q+4>>2]=6;Qe(0,72520,q);tc()}if(((c[(ut(c[g>>2]|0,1,n)|0)>>2]|0)+ -1|0)>>>0<2){q=c[r>>2]|0;if((q+ -1|0)>>>0>=2){c[p>>2]=q;c[o+4>>2]=1;c[o+8>>2]=2;Qe(0,72608,o);tc()}if((q|0)==1){D=+(c[v>>2]|0)}else{D=+h[v>>3]}h[b+16>>3]=D}else{h[b+16>>3]=0.0}Of(n);n=b+8|0;D=+h[n>>3];if(D<0.0|D>1.0){h[n>>3]=.5}n=b+16|0;D=+h[n>>3];if(!(D<0.0|D>1.0)){break}h[n>>3]=.5}else{l=46}}while(0);if((l|0)==46){h[b+16>>3]=.5;h[b+8>>3]=.5}Of(f);if((c[(Yu(d,55432,f,0)|0)>>2]|0)!=0){a[b+24|0]=0;Of(f);i=k;return}l=c[m>>2]|0;if((l|0)!=0){c[j>>2]=l;c[e+4>>2]=0;Qe(0,72520,e);tc()}a[b+24|0]=a[g]&1;Of(f);i=k;return}function xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=i;g=i;i=i+8|0;d=g;k=i;i=i+8|0;l=k;n=i;i=i+8|0;m=n;p=i;i=i+8|0;o=p;r=i;i=i+8|0;q=r;s=i;i=i+8|0;t=s;v=i;i=i+8|0;u=v;x=i;i=i+8|0;w=x;j=i;i=i+16|0;e=j;c[j>>2]=13;f=e+8|0;c[f>>2]=0;c[f+4>>2]=0;do{if((c[(Yu(b,55440,e,0)|0)>>2]|0)==1){y=c[j>>2]|0;if((y|0)==1){c[a>>2]=c[f>>2];break}else{c[x>>2]=y;c[w+4>>2]=1;Qe(0,72520,w);tc()}}else{c[a>>2]=0}}while(0);Of(e);do{if((c[(Yu(b,55448,e,0)|0)>>2]|0)==6){w=FW(40)|0;x=c[j>>2]|0;if((x|0)==6){vr(w,c[f>>2]|0,0);c[a+4>>2]=w;break}else{c[v>>2]=x;c[u+4>>2]=6;Qe(0,72520,u);tc()}}else{c[a+4>>2]=0}}while(0);Of(e);do{if((c[(Yu(b,55456,e,0)|0)>>2]|0)==6){u=FW(40)|0;v=c[j>>2]|0;if((v|0)==6){vr(u,c[f>>2]|0,0);c[a+8>>2]=u;break}else{c[s>>2]=v;c[t+4>>2]=6;Qe(0,72520,t);tc()}}else{c[a+8>>2]=0}}while(0);Of(e);do{if((c[(Yu(b,55464,e,0)|0)>>2]|0)==4){s=FW(32)|0;t=c[j>>2]|0;if((t|0)==4){fe(s,c[f>>2]|0);c[a+12>>2]=s;break}else{c[r>>2]=t;c[q+4>>2]=4;Qe(0,72520,q);tc()}}else{c[a+12>>2]=0}}while(0);Of(e);do{if((c[(Yu(b,55472,e,0)|0)>>2]|0)==4){q=FW(32)|0;r=c[j>>2]|0;if((r|0)==4){fe(q,c[f>>2]|0);c[a+16>>2]=q;break}else{c[p>>2]=r;c[o+4>>2]=4;Qe(0,72520,o);tc()}}else{c[a+16>>2]=0}}while(0);Of(e);do{if((c[(Yu(b,55480,e,0)|0)>>2]|0)==4){o=FW(32)|0;p=c[j>>2]|0;if((p|0)==4){fe(o,c[f>>2]|0);c[a+20>>2]=o;break}else{c[n>>2]=p;c[m+4>>2]=4;Qe(0,72520,m);tc()}}else{c[a+20>>2]=0}}while(0);Of(e);do{if((c[(Yu(b,55488,e,0)|0)>>2]|0)==7){m=FW(32)|0;n=c[j>>2]|0;if((n|0)==7){wr(m,c[f>>2]|0);c[a+24>>2]=m;break}else{c[k>>2]=n;c[l+4>>2]=7;Qe(0,72520,l);tc()}}else{c[a+24>>2]=0}}while(0);Of(e);if((c[(Yu(b,55496,e,0)|0)>>2]|0)!=1){c[a+28>>2]=0;Of(e);i=h;return}b=c[j>>2]|0;if((b|0)!=1){c[g>>2]=b;c[d+4>>2]=1;Qe(0,72520,d);tc()}c[a+28>>2]=c[f>>2];Of(e);i=h;return}function yr(a){a=a|0;var b=0,d=0;b=i;d=c[a+4>>2]|0;if((d|0)!=0){HW(d)}d=c[a+8>>2]|0;if((d|0)!=0){HW(d)}d=c[a+12>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+16>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+20>>2]|0;if((d|0)!=0){ke(d);HW(d)}a=c[a+24>>2]|0;if((a|0)==0){i=b;return}HW(a);i=b;return}function zr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0.0,sa=0.0;k=i;j=i;i=i+8|0;g=j;o=i;i=i+8|0;l=o;q=i;i=i+8|0;r=q;v=i;i=i+8|0;s=v;t=i;i=i+8|0;u=t;L=i;i=i+8|0;K=L;A=i;i=i+8|0;y=A;B=i;i=i+8|0;C=B;E=i;i=i+8|0;G=E;I=i;i=i+8|0;H=I;M=i;i=i+8|0;N=M;O=i;i=i+8|0;P=O;Q=i;i=i+8|0;R=Q;T=i;i=i+8|0;S=T;U=i;i=i+8|0;V=U;ga=i;i=i+8|0;Z=i;i=i+16|0;_=Z;aa=i;i=i+8|0;ba=aa;da=i;i=i+16|0;ca=da;fa=i;i=i+8|0;ea=fa;ia=i;i=i+16|0;ha=ia;ja=i;i=i+8|0;ka=ja;la=i;i=i+16|0;ma=la;pa=i;i=i+8|0;oa=pa;p=i;i=i+16|0;m=p;$=i;i=i+16|0;Y=$;J=i;i=i+16|0;w=J;D=i;i=i+16|0;x=D;F=i;i=i+16|0;z=F;c[p>>2]=13;n=m+8|0;c[n>>2]=0;c[n+4>>2]=0;c[b+52>>2]=0;c[b+56>>2]=65535;na=b+144|0;a[na]=1;c[b+112>>2]=d;c[b+124>>2]=0;h[b+136>>3]=0.0;d=b+64|0;qa=b+72|0;c[qa>>2]=0;c[qa+4>>2]=0;c[d>>2]=5;qa=FW(32)|0;bX(qa|0,0,32)|0;X=b+28|0;c[X>>2]=qa;do{if((c[(Yu(e,55528,m,0)|0)>>2]|0)==6){qa=c[p>>2]|0;if((qa|0)!=6){c[pa>>2]=qa;c[oa+4>>2]=6;Qe(0,72520,oa);tc()}oa=c[n>>2]|0;if((c[oa+12>>2]|0)!=4){W=47;break}c[$>>2]=13;ga=Y+8|0;c[ga>>2]=0;c[ga+4>>2]=0;if(((c[(ut(oa,0,Y)|0)>>2]|0)+ -1|0)>>>0<2){na=c[$>>2]|0;if((na+ -1|0)>>>0>=2){c[la>>2]=na;c[ma+4>>2]=1;c[ma+8>>2]=2;Qe(0,72608,ma);tc()}if((na|0)==1){ra=+(c[ga>>2]|0)}else{ra=+h[ga>>3]}h[c[X>>2]>>3]=ra}else{h[c[X>>2]>>3]=0.0}Of(Y);la=c[p>>2]|0;if((la|0)!=6){c[ja>>2]=la;c[ka+4>>2]=6;Qe(0,72520,ka);tc()}if(((c[(ut(c[n>>2]|0,1,Y)|0)>>2]|0)+ -1|0)>>>0<2){ja=c[$>>2]|0;if((ja+ -1|0)>>>0>=2){c[ia>>2]=ja;c[ha+4>>2]=1;c[ha+8>>2]=2;Qe(0,72608,ha);tc()}if((ja|0)==1){ra=+(c[ga>>2]|0)}else{ra=+h[ga>>3]}h[(c[X>>2]|0)+8>>3]=ra}else{h[(c[X>>2]|0)+8>>3]=0.0}Of(Y);ha=c[p>>2]|0;if((ha|0)!=6){c[fa>>2]=ha;c[ea+4>>2]=6;Qe(0,72520,ea);tc()}if(((c[(ut(c[n>>2]|0,2,Y)|0)>>2]|0)+ -1|0)>>>0<2){ea=c[$>>2]|0;if((ea+ -1|0)>>>0>=2){c[da>>2]=ea;c[ca+4>>2]=1;c[ca+8>>2]=2;Qe(0,72608,ca);tc()}if((ea|0)==1){ra=+(c[ga>>2]|0)}else{ra=+h[ga>>3]}h[(c[X>>2]|0)+16>>3]=ra}else{h[(c[X>>2]|0)+16>>3]=1.0}Of(Y);ca=c[p>>2]|0;if((ca|0)!=6){c[aa>>2]=ca;c[ba+4>>2]=6;Qe(0,72520,ba);tc()}if(((c[(ut(c[n>>2]|0,3,Y)|0)>>2]|0)+ -1|0)>>>0<2){$=c[$>>2]|0;if(($+ -1|0)>>>0>=2){c[Z>>2]=$;c[_+4>>2]=1;c[_+8>>2]=2;Qe(0,72608,_);tc()}if(($|0)==1){ra=+(c[ga>>2]|0)}else{ra=+h[ga>>3]}h[(c[X>>2]|0)+24>>3]=ra}else{h[(c[X>>2]|0)+24>>3]=1.0}Of(Y);Y=c[X>>2]|0;sa=+h[Y>>3];ra=+h[Y+16>>3];if(sa>ra){h[Y>>3]=ra;h[(c[X>>2]|0)+16>>3]=sa;Z=c[X>>2]|0}else{Z=Y}Y=Z+8|0;ra=+h[Y>>3];sa=+h[Z+24>>3];if(ra<=sa){break}h[Y>>3]=sa;h[(c[X>>2]|0)+24>>3]=ra}else{W=47}}while(0);if((W|0)==47){h[(c[X>>2]|0)+8>>3]=0.0;h[c[X>>2]>>3]=0.0;h[(c[X>>2]|0)+24>>3]=1.0;h[(c[X>>2]|0)+16>>3]=1.0;Qe(-1,55536,ga);a[na]=0}Of(m);do{if((c[(Yu(e,55568,m,0)|0)>>2]|0)==3){W=c[p>>2]|0;if((W|0)==3){pa=c[n>>2]|0;qa=FW(32)|0;ie(qa,pa);c[b+32>>2]=qa;break}else{c[U>>2]=W;c[V+4>>2]=3;Qe(0,72520,V);tc()}}else{c[b+32>>2]=0}}while(0);Of(m);if((c[(Zu(e,55584,m)|0)>>2]|0)==9){U=c[p>>2]|0;if((U|0)!=9){c[T>>2]=U;c[S+4>>2]=9;Qe(0,72520,S);tc()}S=n;if((f|0)==0){S=-1}else{S=du(f,c[S>>2]|0,c[S+4>>2]|0)|0}c[b+36>>2]=S}else{c[b+36>>2]=0}Of(m);do{if((c[(Yu(e,55592,m,0)|0)>>2]|0)==3){S=c[p>>2]|0;if((S|0)==3){pa=c[n>>2]|0;qa=FW(32)|0;ie(qa,pa);c[b+40>>2]=qa;break}else{c[Q>>2]=S;c[R+4>>2]=3;Qe(0,72520,R);tc()}}else{c[b+40>>2]=0}}while(0);Of(m);do{if((c[(Yu(e,55600,m,0)|0)>>2]|0)==3){Q=c[p>>2]|0;if((Q|0)==3){pa=c[n>>2]|0;qa=FW(32)|0;ie(qa,pa);c[b+44>>2]=qa;break}else{c[O>>2]=Q;c[P+4>>2]=3;Qe(0,72520,P);tc()}}else{c[b+44>>2]=0}}while(0);Of(m);do{if((c[(Yu(e,55608,m,0)|0)>>2]|0)==1){O=c[p>>2]|0;if((O|0)==1){qa=b+48|0;c[qa>>2]=c[qa>>2]|c[n>>2];break}else{c[M>>2]=O;c[N+4>>2]=1;Qe(0,72520,N);tc()}}else{c[b+48>>2]=0}}while(0);Of(m);if((c[(Yu(e,55616,m,0)|0)>>2]|0)==7){c[J>>2]=13;M=w+8|0;c[M>>2]=0;c[M+4>>2]=0;do{if((c[(Yu(e,55624,w,0)|0)>>2]|0)==4){c[D>>2]=13;K=x+8|0;c[K>>2]=0;c[K+4>>2]=0;L=FW(32)|0;J=c[J>>2]|0;if((J|0)!=4){c[I>>2]=J;c[H+4>>2]=4;Qe(0,72520,H);tc()}fe(L,c[M>>2]|0);H=b+80|0;c[H>>2]=L;I=c[p>>2]|0;if((I|0)!=7){c[E>>2]=I;c[G+4>>2]=7;Qe(0,72520,G);tc()}if((c[(Yu(c[n>>2]|0,55416,x,0)|0)>>2]|0)==7){c[F>>2]=13;E=z+8|0;c[E>>2]=0;c[E+4>>2]=0;E=c[D>>2]|0;if((E|0)!=7){c[B>>2]=E;c[C+4>>2]=7;Qe(0,72520,C);tc()}do{if((c[(Zu(c[K>>2]|0,c[(c[H>>2]|0)+28>>2]|0,z)|0)>>2]|0)==9){Mf(z,d)|0}else{Of(z);B=c[D>>2]|0;if((B|0)!=7){c[A>>2]=B;c[y+4>>2]=7;Qe(0,72520,y);tc()}if((c[(Zu(c[K>>2]|0,55632,z)|0)>>2]|0)!=9){break}Mf(z,d)|0}}while(0);Of(z)}Of(x)}else{Of(w);c[b+80>>2]=0;x=c[p>>2]|0;if((x|0)!=7){c[L>>2]=x;c[K+4>>2]=7;Qe(0,72520,K);tc()}if((c[(Zu(c[n>>2]|0,55416,w)|0)>>2]|0)!=9){break}Mf(w,d)|0}}while(0);Of(w)}else{c[b+80>>2]=0}Of(m);do{if((c[(Yu(e,55640,m,0)|0)>>2]|0)==7){s=FW(32)|0;v=c[p>>2]|0;if((v|0)==7){ur(s,c[n>>2]|0);c[b+128>>2]=s;break}else{c[t>>2]=v;c[u+4>>2]=7;Qe(0,72520,u);tc()}}else{Of(m);if((c[(Yu(e,55648,m,0)|0)>>2]|0)!=6){c[b+128>>2]=0;break}t=FW(48)|0;u=c[p>>2]|0;if((u|0)==6){tr(t,c[n>>2]|0);c[b+128>>2]=t;break}else{c[v>>2]=u;c[s+4>>2]=6;Qe(0,72520,s);tc()}}}while(0);Of(m);do{if((c[(Yu(e,55160,m,0)|0)>>2]|0)==6){s=FW(40)|0;t=c[p>>2]|0;if((t|0)==6){vr(s,c[n>>2]|0,0);c[b+132>>2]=s;break}else{c[q>>2]=t;c[r+4>>2]=6;Qe(0,72520,r);tc()}}else{c[b+132>>2]=0}}while(0);Of(m);do{if((c[(Yu(e,55656,m,0)|0)>>2]|0)==1){p=c[p>>2]|0;if((p|0)==1){c[b+84>>2]=c[n>>2];break}else{c[o>>2]=p;c[l+4>>2]=1;Qe(0,72520,l);tc()}}else{c[b+84>>2]=0}}while(0);Of(m);if((f|0)==0){l=0}else{l=c[f+160>>2]|0}c[b+88>>2]=l;qa=b+96|0;Zu(e,55672,qa)|0;e=c[qa>>2]|0;if((e|0)==5|(e|0)==9){i=k;return}c[j>>2]=e;Qe(-1,55680,g);i=k;return}function Ar(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;c[b>>2]=55512;h=b+8|0;c[h>>2]=13;j=b+16|0;c[j>>2]=0;c[j+4>>2]=0;c[b+64>>2]=13;j=b+72|0;c[j>>2]=0;c[j+4>>2]=0;c[b+96>>2]=13;j=b+104|0;c[j>>2]=0;c[j+4>>2]=0;a[b+145|0]=0;c[b+48>>2]=0;c[b+24>>2]=0;Kf(h,e)|0;zr(b,d,e,f);i=g;return}function Br(a){a=a|0;var b=0;b=i;Cr(a);HW(a);i=b;return}function Cr(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=55512;Of(a+8|0);d=c[a+28>>2]|0;if((d|0)!=0){HW(d)}d=c[a+32>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+40>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+44>>2]|0;if((d|0)!=0){ke(d);HW(d)}Of(a+64|0);d=c[a+80>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+128>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+132>>2]|0;if((d|0)==0){d=a+96|0;Of(d);i=b;return}HW(d);d=a+96|0;Of(d);i=b;return}function Dr(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=f|0;var g=0,j=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0;g=i;m=i;i=i+48|0;j=m;r=i;i=i+48|0;l=r;v=i;i=i+48|0;q=v;z=i;i=i+48|0;u=z;B=i;i=i+16|0;y=B;a=a+124|0;A=c[a>>2]|0;n=b+e;h[k>>3]=n;c[B>>2]=c[k>>2];c[B+4>>2]=c[k+4>>2];B=y+8|0;h[k>>3]=d;c[B>>2]=c[k>>2];c[B+4>>2]=c[k+4>>2];pe(A,55832,y)|0;y=c[a>>2]|0;o=e*.55228475;w=o+d;p=o+b;x=d+e;h[k>>3]=n;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=u+8|0;h[k>>3]=w;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=u+16|0;h[k>>3]=p;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=u+24|0;h[k>>3]=x;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=u+32|0;h[k>>3]=b;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=u+40|0;h[k>>3]=x;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];pe(y,55856,u)|0;u=c[a>>2]|0;s=b-o;t=b-e;h[k>>3]=s;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];v=q+8|0;h[k>>3]=x;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];v=q+16|0;h[k>>3]=t;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];v=q+24|0;h[k>>3]=w;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];v=q+32|0;h[k>>3]=t;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];v=q+40|0;h[k>>3]=d;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];pe(u,55856,q)|0;q=c[a>>2]|0;o=d-o;e=d-e;h[k>>3]=t;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=l+8|0;h[k>>3]=o;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=l+16|0;h[k>>3]=s;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=l+24|0;h[k>>3]=e;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=l+32|0;h[k>>3]=b;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=l+40|0;h[k>>3]=e;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];pe(q,55856,l)|0;l=c[a>>2]|0;h[k>>3]=p;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=j+8|0;h[k>>3]=e;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=j+16|0;h[k>>3]=n;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=j+24|0;h[k>>3]=o;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=j+32|0;h[k>>3]=n;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=j+40|0;h[k>>3]=d;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];pe(l,55856,j)|0;ne(c[a>>2]|0,f?55912:55920,-1)|0;i=g;return}function Er(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0;g=i;l=i;i=i+8|0;k=l;n=i;i=i+8|0;p=n;r=i;i=i+8|0;s=r;A=i;i=i+8|0;z=A;B=i;i=i+8|0;C=B;G=i;i=i+8|0;E=G;H=i;i=i+8|0;I=H;J=i;i=i+8|0;K=J;M=i;i=i+8|0;L=M;N=i;i=i+8|0;O=N;u=i;i=i+16|0;t=u;F=i;i=i+16|0;D=F;q=i;i=i+16|0;m=q;x=i;i=i+16|0;o=x;c[u>>2]=13;v=t+8|0;c[v>>2]=0;y=v+4|0;c[y>>2]=0;c[F>>2]=13;j=D+8|0;c[j>>2]=0;c[j+4>>2]=0;c[q>>2]=13;j=m+8|0;c[j>>2]=0;c[j+4>>2]=0;w=a+112|0;Jf(m,c[w>>2]|0)|0;a=a+124|0;P=c[(c[a>>2]|0)+24>>2]|0;c[y>>2]=0;c[u>>2]=1;c[v>>2]=P;P=c[q>>2]|0;if((P|0)!=7){c[N>>2]=P;c[O+4>>2]=7;Qe(0,72520,O);tc()}Wu(c[j>>2]|0,55936,t);c[v>>2]=0;c[y>>2]=0;c[u>>2]=4;c[v>>2]=Ge(55952)|0;N=c[q>>2]|0;if((N|0)!=7){c[M>>2]=N;c[L+4>>2]=7;Qe(0,72520,L);tc()}Wu(c[j>>2]|0,55944,t);If(t,c[w>>2]|0)|0;Q=+h[b>>3];c[F>>2]=2;L=D+8|0;h[L>>3]=Q;M=c[u>>2]|0;if((M|0)!=6){c[J>>2]=M;c[K+4>>2]=6;Qe(0,72520,K);tc()}tt(c[v>>2]|0,D);Q=+h[b+8>>3];c[F>>2]=2;h[L>>3]=Q;J=c[u>>2]|0;if((J|0)!=6){c[H>>2]=J;c[I+4>>2]=6;Qe(0,72520,I);tc()}tt(c[v>>2]|0,D);Q=+h[b+16>>3];c[F>>2]=2;h[L>>3]=Q;H=c[u>>2]|0;if((H|0)!=6){c[G>>2]=H;c[E+4>>2]=6;Qe(0,72520,E);tc()}tt(c[v>>2]|0,D);Q=+h[b+24>>3];c[F>>2]=2;h[L>>3]=Q;E=c[u>>2]|0;if((E|0)!=6){c[B>>2]=E;c[C+4>>2]=6;Qe(0,72520,C);tc()}tt(c[v>>2]|0,D);B=c[q>>2]|0;if((B|0)!=7){c[A>>2]=B;c[z+4>>2]=7;Qe(0,72520,z);tc()}Wu(c[j>>2]|0,55960,t);do{if(d){c[x>>2]=13;z=o+8|0;c[z>>2]=0;c[z+4>>2]=0;Jf(o,c[w>>2]|0)|0;c[v>>2]=0;c[y>>2]=0;c[u>>2]=4;c[v>>2]=Ge(55968)|0;u=c[x>>2]|0;if((u|0)!=7){c[r>>2]=u;c[s+4>>2]=7;Qe(0,72520,s);tc()}Wu(c[z>>2]|0,55152,t);r=c[q>>2]|0;if((r|0)==7){Wu(c[j>>2]|0,55984,o);break}else{c[n>>2]=r;c[p+4>>2]=7;Qe(0,72520,p);tc()}}}while(0);if((e|0)==0){P=FW(56)|0;N=a;N=c[N>>2]|0;N=N+28|0;N=c[N>>2]|0;N=Ge(N)|0;O=a;O=c[O>>2]|0;O=O+24|0;O=c[O>>2]|0;Tj(P,N,0,O,m);O=P;O=c[O>>2]|0;O=O+116|0;O=c[O>>2]|0;hd[O&127](P,1);Lf(f,P)|0;i=g;return}n=c[q>>2]|0;if((n|0)!=7){c[l>>2]=n;c[k+4>>2]=7;Qe(0,72520,k);tc()}Wu(c[j>>2]|0,55992,e);P=FW(56)|0;N=a;N=c[N>>2]|0;N=N+28|0;N=c[N>>2]|0;N=Ge(N)|0;O=a;O=c[O>>2]|0;O=O+24|0;O=c[O>>2]|0;Tj(P,N,0,O,m);O=P;O=c[O>>2]|0;O=O+116|0;O=c[O>>2]|0;hd[O&127](P,1);Lf(f,P)|0;i=g;return}function Fr(a,b,d,e,f,g,j){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=i;l=i;i=i+8|0;k=l;q=i;i=i+8|0;p=q;t=i;i=i+8|0;r=t;w=i;i=i+8|0;x=w;A=i;i=i+8|0;z=A;F=i;i=i+8|0;G=F;L=i;i=i+8|0;K=L;H=i;i=i+16|0;v=H;C=i;i=i+16|0;o=C;u=i;i=i+16|0;n=u;E=i;i=i+16|0;D=E;c[H>>2]=13;B=v+8|0;c[B>>2]=0;c[B+4>>2]=0;c[C>>2]=13;y=o+8|0;c[y>>2]=0;c[y+4>>2]=0;c[u>>2]=13;s=n+8|0;c[s>>2]=0;c[s+4>>2]=0;c[E>>2]=13;I=D+8|0;c[I>>2]=0;J=I+4|0;c[J>>2]=0;a=a+112|0;Jf(v,c[a>>2]|0)|0;do{if(f!=1.0){c[E>>2]=2;M=D+8|0;h[M>>3]=f;N=c[H>>2]|0;if((N|0)!=7){c[L>>2]=N;c[K+4>>2]=7;Qe(0,72520,K);tc()}Wu(c[B>>2]|0,55464,D);c[E>>2]=2;h[M>>3]=f;K=c[H>>2]|0;if((K|0)==7){Wu(c[B>>2]|0,56008,D);break}else{c[F>>2]=K;c[G+4>>2]=7;Qe(0,72520,G);tc()}}}while(0);do{if((g|0)!=0){c[I>>2]=0;c[J>>2]=0;c[E>>2]=4;c[I>>2]=Ge(g)|0;E=c[H>>2]|0;if((E|0)==7){Wu(c[B>>2]|0,56016,D);break}else{c[A>>2]=E;c[z+4>>2]=7;Qe(0,72520,z);tc()}}}while(0);Jf(o,c[a>>2]|0)|0;z=c[C>>2]|0;if((z|0)!=7){c[w>>2]=z;c[x+4>>2]=7;Qe(0,72520,x);tc()}Wu(c[y>>2]|0,e,v);Jf(n,c[a>>2]|0)|0;u=c[u>>2]|0;if((u|0)!=7){c[t>>2]=u;c[r+4>>2]=7;Qe(0,72520,r);tc()}Wu(c[s>>2]|0,b,d);Jf(j,c[a>>2]|0)|0;b=c[j>>2]|0;if((b|0)!=7){c[q>>2]=b;c[p+4>>2]=7;Qe(0,72520,p);tc()}p=j+8|0;Wu(c[p>>2]|0,56024,o);o=c[j>>2]|0;if((o|0)==7){Wu(c[p>>2]|0,56040,n);i=m;return}else{c[l>>2]=o;c[k+4>>2]=7;Qe(0,72520,k);tc()}}function Gr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=i;i=i+16|0;f=g;c[g>>2]=13;g=f+8|0;c[g>>2]=0;c[g+4>>2]=0;g=c[a+48>>2]|0;if((g&2|0)!=0){i=e;return}do{if(d){if((g&4|0)!=0){break}i=e;return}else{if((g&32|0)==0){break}i=e;return}}while(0);g=c[a+88>>2]|0;do{if((g|0)!=0){d=a+96|0;if((c[d>>2]|0)!=9){break}if(GF(g,d)|0){break}i=e;return}}while(0);Nf(a+64|0,c[a+112>>2]|0,f,0)|0;d=c[a+28>>2]|0;Tx(b,f,0,c[a+132>>2]|0,+h[d>>3],+h[d+8>>3],+h[d+16>>3],+h[d+24>>3]);Of(f);i=e;return}function Hr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;d=i;g=i;i=i+8|0;h=g;l=i;i=i+16|0;j=l;c[l>>2]=13;f=j+8|0;c[f>>2]=0;c[f+4>>2]=0;k=b+152|0;if((c[(Zu(e,56080,k)|0)>>2]|0)!=9){m=b+160|0;c[m>>2]=0;c[m+4>>2]=0;c[k>>2]=5}if((c[(Yu(e,56088,j,0)|0)>>2]|0)!=0){a[b+168|0]=0;Of(j);i=d;return}e=c[l>>2]|0;if((e|0)!=0){c[g>>2]=e;c[h+4>>2]=0;Qe(0,72520,h);tc()}a[b+168|0]=a[f]&1;Of(j);i=d;return}function Ir(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;k=i;i=i+8|0;j=k;c[b>>2]=55512;h=b+8|0;c[h>>2]=13;m=b+16|0;c[m>>2]=0;c[m+4>>2]=0;c[b+64>>2]=13;m=b+72|0;c[m>>2]=0;c[m+4>>2]=0;c[b+96>>2]=13;m=b+104|0;c[m>>2]=0;c[m+4>>2]=0;m=b+145|0;do{if((c[g>>2]|0)==9){a[m]=1;m=c[g>>2]|0;if((m|0)==9){k=g+8|0;g=c[k+4>>2]|0;m=b+116|0;c[m>>2]=c[k>>2];c[m+4>>2]=g;break}else{c[k>>2]=m;c[j+4>>2]=9;Qe(0,72520,j);tc()}}else{a[m]=0}}while(0);c[b+48>>2]=0;m=b+24|0;c[m>>2]=0;Kf(h,e)|0;zr(b,d,e,f);c[b>>2]=56056;c[b+152>>2]=13;g=b+160|0;c[g>>2]=0;c[g+4>>2]=0;c[m>>2]=16;Hr(b,0,e,0);i=l;return}function Jr(a){a=a|0;var b=0;b=i;c[a>>2]=56056;Of(a+152|0);Cr(a);HW(a);i=b;return}function Kr(a){a=a|0;var b=0;b=i;c[a>>2]=56056;Of(a+152|0);Cr(a);i=b;return}function Lr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0;k=i;m=i;i=i+8|0;l=m;p=i;i=i+8|0;o=p;s=i;i=i+8|0;t=s;v=i;i=i+8|0;u=v;x=i;i=i+8|0;w=x;z=i;i=i+8|0;y=z;B=i;i=i+16|0;A=B;D=i;i=i+8|0;C=D;F=i;i=i+8|0;E=F;n=i;i=i+16|0;g=n;r=i;i=i+16|0;j=r;c[r>>2]=13;q=j+8|0;c[q>>2]=0;c[q+4>>2]=0;do{if((c[(Yu(d,56120,j,0)|0)>>2]|0)==3){G=c[r>>2]|0;if((G|0)==3){F=c[q>>2]|0;G=FW(32)|0;ie(G,F);c[a+148>>2]=G;break}else{c[F>>2]=G;c[E+4>>2]=3;Qe(0,72520,E);tc()}}else{c[a+148>>2]=0}}while(0);Of(j);do{if((c[(Yu(d,56072,j,0)|0)>>2]|0)==7){E=FW(176)|0;F=c[r>>2]|0;if((F|0)==7){Ir(E,b,c[q>>2]|0,e,f);c[a+152>>2]=E;break}else{c[D>>2]=F;c[C+4>>2]=7;Qe(0,72520,C);tc()}}else{c[a+152>>2]=0}}while(0);Of(j);if(((c[(Yu(d,55464,j,0)|0)>>2]|0)+ -1|0)>>>0<2){f=c[r>>2]|0;if((f+ -1|0)>>>0>=2){c[B>>2]=f;c[A+4>>2]=1;c[A+8>>2]=2;Qe(0,72608,A);tc()}if((f|0)==1){H=+(c[q>>2]|0)}else{H=+h[q>>3]}h[a+160>>3]=H}else{h[a+160>>3]=1.0}Of(j);do{if((c[(Yu(d,56128,j,0)|0)>>2]|0)==3){A=c[r>>2]|0;if((A|0)==3){F=c[q>>2]|0;G=FW(32)|0;ie(G,F);c[a+168>>2]=G;break}else{c[z>>2]=A;c[y+4>>2]=3;Qe(0,72520,y);tc()}}else{c[a+168>>2]=0}}while(0);Of(j);y=a+172|0;do{if((c[(Zu(d,56144,j)|0)>>2]|0)==9){z=c[r>>2]|0;if((z|0)==9){E=q;F=c[E+4>>2]|0;G=y;c[G>>2]=c[E>>2];c[G+4>>2]=F;break}else{c[x>>2]=z;c[w+4>>2]=9;Qe(0,72520,w);tc()}}else{c[y>>2]=0;c[a+176>>2]=0}}while(0);Of(j);do{if((c[(Yu(d,56152,j,0)|0)>>2]|0)==3){w=c[r>>2]|0;if((w|0)==3){F=c[q>>2]|0;G=FW(32)|0;ie(G,F);c[a+180>>2]=G;break}else{c[v>>2]=w;c[u+4>>2]=3;Qe(0,72520,u);tc()}}else{c[a+180>>2]=0}}while(0);Of(j);do{if((c[(Yu(d,56160,j,0)|0)>>2]|0)==4){u=FW(32)|0;v=c[r>>2]|0;if((v|0)!=4){c[s>>2]=v;c[t+4>>2]=4;Qe(0,72520,t);tc()}fe(u,c[q>>2]|0);do{if((te(u,55440)|0)==0){c[a+184>>2]=0}else{s=a+184|0;if((te(u,55984)|0)==0){c[s>>2]=1;break}else{c[s>>2]=0;break}}}while(0);if((u|0)==0){break}ke(u);HW(u)}else{c[a+184>>2]=0}}while(0);Of(j);if((c[(Yu(d,56168,j,0)|0)>>2]|0)!=7){c[a+188>>2]=0;Of(j);i=k;return}d=c[r>>2]|0;if((d|0)!=7){c[p>>2]=d;c[o+4>>2]=7;Qe(0,72520,o);tc()}G=c[q>>2]|0;c[n>>2]=13;p=g+8|0;c[p>>2]=0;c[p+4>>2]=0;do{if((c[(Yu(G,55944,g,0)|0)>>2]|0)==4){o=FW(32)|0;n=c[n>>2]|0;if((n|0)!=4){c[m>>2]=n;c[l+4>>2]=4;Qe(0,72520,l);tc()}fe(o,c[p>>2]|0);l=(te(o,72592)|0)==0|0;if((o|0)==0){break}ke(o);HW(o)}else{l=0}}while(0);Of(g);c[a+188>>2]=l;Of(j);i=k;return}function Mr(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;k=i;i=i+8|0;j=k;c[b>>2]=55512;h=b+8|0;c[h>>2]=13;c[b+16>>2]=0;c[b+20>>2]=0;c[b+64>>2]=13;c[b+72>>2]=0;c[b+76>>2]=0;c[b+96>>2]=13;c[b+104>>2]=0;c[b+108>>2]=0;m=b+145|0;do{if((c[g>>2]|0)==9){a[m]=1;m=c[g>>2]|0;if((m|0)==9){j=g+8|0;k=c[j+4>>2]|0;m=b+116|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;break}else{c[k>>2]=m;c[j+4>>2]=9;Qe(0,72520,j);tc()}}else{a[m]=0}}while(0);c[b+48>>2]=0;c[b+24>>2]=0;Kf(h,e)|0;zr(b,d,e,f);c[b>>2]=56104;Lr(b,d,e,f,g);i=l;return}function Nr(a){a=a|0;var b=0;b=i;Or(a);HW(a);i=b;return}function Or(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=56104;d=c[a+148>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+152>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+168>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+180>>2]|0;if((d|0)==0){Cr(a);i=b;return}ke(d);HW(d);Cr(a);i=b;return}function Pr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;j=i;i=i+8|0;h=j;m=i;i=i+8|0;l=m;q=i;i=i+8|0;p=q;r=i;i=i+8|0;t=r;o=i;i=i+16|0;e=o;k=i;i=i+16|0;g=k;c[o>>2]=13;n=e+8|0;c[n>>2]=0;c[n+4>>2]=0;do{if((c[(Yu(f,56088,e,0)|0)>>2]|0)==0){s=c[o>>2]|0;if((s|0)==0){a[b+192|0]=a[n]&1;break}else{c[r>>2]=s;c[t+4>>2]=0;Qe(0,72520,t);tc()}}else{a[b+192|0]=0}}while(0);Of(e);t=(c[(Yu(f,56208,e,0)|0)>>2]|0)==4;s=FW(32)|0;do{if(t){r=c[o>>2]|0;if((r|0)==4){fe(s,c[n>>2]|0);c[b+196>>2]=s;break}else{c[q>>2]=r;c[p+4>>2]=4;Qe(0,72520,p);tc()}}else{fe(s,56216);c[b+196>>2]=s}}while(0);Of(e);if((c[(Yu(f,56224,e,0)|0)>>2]|0)!=3){c[b+200>>2]=0;Of(e);i=d;return}c[k>>2]=13;p=g+8|0;c[p>>2]=0;c[p+4>>2]=0;o=c[o>>2]|0;if((o|0)!=3){c[m>>2]=o;c[l+4>>2]=3;Qe(0,72520,l);tc()}l=c[n>>2]|0;do{if((c[(Yu(f,56240,g,0)|0)>>2]|0)==3){f=c[k>>2]|0;if((f|0)!=3){c[j>>2]=f;c[h+4>>2]=3;Qe(0,72520,h);tc()}f=c[p>>2]|0;if((te(f,56248)|0)==0){c[b+200>>2]=1;break}if((te(f,56256)|0)==0){c[b+200>>2]=2;break}if((te(f,56272)|0)==0){c[b+200>>2]=3;break}if((te(f,56288)|0)==0){c[b+200>>2]=4;break}if((te(f,56304)|0)==0){c[b+200>>2]=5;break}if((te(f,56320)|0)==0){c[b+200>>2]=6;break}h=b+200|0;if((te(f,56336)|0)==0){c[h>>2]=7;break}else{c[h>>2]=0;break}}else{c[b+200>>2]=0}}while(0);Of(g);if((te(l,56248)|0)==0){b=b+200|0;switch(c[b>>2]|0){case 7:case 6:case 5:case 4:case 3:{c[b>>2]=0;Of(e);i=d;return};case 0:{c[b>>2]=1;Of(e);i=d;return};default:{Of(e);i=d;return}}}b=b+200|0;if((te(l,56344)|0)!=0){c[b>>2]=0;Of(e);i=d;return}g=c[b>>2]|0;if((g|0)==2|(g|0)==1){c[b>>2]=0;Of(e);i=d;return}else if((g|0)==0){c[b>>2]=7;Of(e);i=d;return}else{Of(e);i=d;return}}function Qr(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=56184;d=c[a+196>>2]|0;if((d|0)!=0){ke(d);HW(d)}Or(a);HW(a);i=b;return}function Rr(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=56184;d=c[a+196>>2]|0;if((d|0)==0){Or(a);i=b;return}ke(d);HW(d);Or(a);i=b;return}function Sr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0,A=0,B=0.0,C=0.0,D=0.0;e=i;r=i;i=i+16|0;u=r;v=i;i=i+32|0;q=v;t=i;i=i+40|0;s=t;l=i;i=i+16|0;f=l;p=i;i=i+32|0;j=p;n=i;i=i+16|0;m=n;o=i;i=i+16|0;g=o;c[l>>2]=13;l=f+8|0;c[l>>2]=0;c[l+4>>2]=0;l=c[a+48>>2]|0;if((l&2|0)!=0){i=e;return}do{if(d){if((l&4|0)!=0){break}i=e;return}else{if((l&32|0)==0){break}i=e;return}}while(0);d=c[a+88>>2]|0;do{if((d|0)!=0){l=a+96|0;if((c[l>>2]|0)!=9){break}if(GF(d,l)|0){break}i=e;return}}while(0);l=a+28|0;x=c[l>>2]|0;d=a+64|0;if((c[d>>2]|0)==5){y=+h[a+160>>3];w=FW(32)|0;ee(w);x=a+124|0;c[x>>2]=w;ne(w,56352,-1)|0;w=a+132|0;z=c[w>>2]|0;do{if((z|0)==0){ne(c[x>>2]|0,56360,-1)|0}else{A=c[z+32>>2]|0;if((A|0)==3){A=c[x>>2]|0;C=+h[z+8>>3];B=+h[z+16>>3];h[k>>3]=+h[z>>3];c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];z=q+8|0;h[k>>3]=C;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=q+16|0;h[k>>3]=B;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];c[q+24>>2]=55800;pe(A,55768,q)|0;break}else if((A|0)==4){A=c[x>>2]|0;D=+h[z+8>>3];B=+h[z+16>>3];C=+h[z+24>>3];v=t;h[k>>3]=+h[z>>3];c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];z=s+8|0;h[k>>3]=D;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=s+16|0;h[k>>3]=B;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=s+24|0;h[k>>3]=C;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];c[s+32>>2]=107;pe(A,55728,s)|0;break}else if((A|0)==1){A=c[x>>2]|0;v=r;h[k>>3]=+h[z>>3];c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[u+8>>2]=103;pe(A,55816,u)|0;break}else{break}}}while(0);q=a+196|0;do{if((te(c[q>>2]|0,56216)|0)==0){ne(c[x>>2]|0,56376,-1)|0}else{if((te(c[q>>2]|0,57440)|0)==0){ne(c[x>>2]|0,57448,-1)|0;break}if((te(c[q>>2]|0,58064)|0)==0){ne(c[x>>2]|0,58072,-1)|0;break}if((te(c[q>>2]|0,59480)|0)==0){ne(c[x>>2]|0,59488,-1)|0;break}if((te(c[q>>2]|0,60600)|0)==0){ne(c[x>>2]|0,60616,-1)|0;break}if((te(c[q>>2]|0,61776)|0)==0){ne(c[x>>2]|0,61792,-1)|0;break}if((te(c[q>>2]|0,62360)|0)==0){ne(c[x>>2]|0,62368,-1)|0;break}if((te(c[q>>2]|0,62888)|0)==0){ne(c[x>>2]|0,62896,-1)|0;break}if((te(c[q>>2]|0,55056)|0)!=0){break}ne(c[x>>2]|0,63240,-1)|0}}while(0);ne(c[x>>2]|0,63808,-1)|0;bX(p|0,0,16)|0;h[j+24>>3]=24.0;h[j+16>>3]=24.0;if(y==1.0){Er(a,j,0,0,d)}else{c[n>>2]=13;n=m+8|0;c[n>>2]=0;c[n+4>>2]=0;c[o>>2]=13;n=g+8|0;c[n>>2]=0;c[n+4>>2]=0;Er(a,j,1,0,m);n=c[x>>2]|0;if((n|0)!=0){ke(n);HW(n)}A=FW(32)|0;fe(A,63816);c[x>>2]=A;Fr(a,63832,m,63840,y,0,g);Er(a,j,0,g,d)}g=c[x>>2]|0;if((g|0)!=0){ke(g);HW(g)}A=c[l>>2]|0;y=+h[A>>3]+24.0;B=+h[A+8>>3]+24.0}else{w=a+132|0;y=+h[x+16>>3];B=+h[x+24>>3]}Nf(d,c[a+112>>2]|0,f,0)|0;A=c[l>>2]|0;Tx(b,f,c[a+128>>2]|0,c[w>>2]|0,+h[A>>3],+h[A+8>>3],y,B);Of(f);i=e;return}function Tr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;f=i;i=i+8|0;g=f;n=i;i=i+8|0;l=n;j=i;i=i+16|0;h=j;c[j>>2]=13;b=h+8|0;c[b>>2]=0;c[b+4>>2]=0;Yu(e,63880,a+152|0,0)|0;do{if((c[(Yu(e,63888,h,0)|0)>>2]|0)==4){k=FW(32)|0;m=c[j>>2]|0;if((m|0)!=4){c[n>>2]=m;c[l+4>>2]=4;Qe(0,72520,l);tc()}fe(k,c[b>>2]|0);do{if((te(k,55416)|0)==0){c[a+168>>2]=0}else{if((te(k,55168)|0)==0){c[a+168>>2]=1;break}if((te(k,63896)|0)==0){c[a+168>>2]=2;break}l=a+168|0;if((te(k,55584)|0)==0){c[l>>2]=3;break}else{c[l>>2]=1;break}}}while(0);if((k|0)==0){break}ke(k);HW(k)}else{c[a+168>>2]=1}}while(0);Of(h);if((c[(Yu(e,63904,h,0)|0)>>2]|0)!=6){c[a+176>>2]=0;Of(h);i=d;return}e=FW(8)|0;j=c[j>>2]|0;if((j|0)!=6){c[f>>2]=j;c[g+4>>2]=6;Qe(0,72520,g);tc()}qr(e,c[b>>2]|0,c[a+28>>2]|0);c[a+176>>2]=e;Of(h);i=d;return}function Ur(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;k=i;i=i+8|0;j=k;c[b>>2]=55512;h=b+8|0;c[h>>2]=13;c[b+16>>2]=0;c[b+20>>2]=0;c[b+64>>2]=13;c[b+72>>2]=0;c[b+76>>2]=0;c[b+96>>2]=13;c[b+104>>2]=0;c[b+108>>2]=0;m=b+145|0;do{if((c[g>>2]|0)==9){a[m]=1;m=c[g>>2]|0;if((m|0)==9){k=g+8|0;g=c[k+4>>2]|0;m=b+116|0;c[m>>2]=c[k>>2];c[m+4>>2]=g;break}else{c[k>>2]=m;c[j+4>>2]=9;Qe(0,72520,j);tc()}}else{a[m]=0}}while(0);c[b+48>>2]=0;m=b+24|0;c[m>>2]=0;Kf(h,e)|0;zr(b,d,e,f);c[b>>2]=63856;c[b+152>>2]=13;g=b+160|0;c[g>>2]=0;c[g+4>>2]=0;c[m>>2]=2;Tr(b,0,0,e);i=l;return}function Vr(a){a=a|0;var b=0;b=i;Wr(a);HW(a);i=b;return}function Wr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;d=i;c[a>>2]=63856;Of(a+152|0);b=c[a+176>>2]|0;if((b|0)==0){Cr(a);i=d;return}h=c[b>>2]|0;if((h|0)!=0){e=b+4|0;f=c[e>>2]|0;if((f|0)>0){g=0;do{j=c[h+(g<<2)>>2]|0;if((j|0)!=0){HW(j);h=c[b>>2]|0;f=c[e>>2]|0}g=g+1|0;}while((g|0)<(f|0))}Fe(h)}HW(b);Cr(a);i=d;return}function Xr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=i;i=i+16|0;f=g;c[g>>2]=13;g=f+8|0;c[g>>2]=0;c[g+4>>2]=0;g=c[a+48>>2]|0;if((g&2|0)!=0){i=e;return}do{if(d){if((g&4|0)!=0){break}i=e;return}else{if((g&32|0)==0){break}i=e;return}}while(0);g=c[a+88>>2]|0;do{if((g|0)!=0){d=a+96|0;if((c[d>>2]|0)!=9){break}if(GF(g,d)|0){break}i=e;return}}while(0);Nf(a+64|0,c[a+112>>2]|0,f,0)|0;d=c[a+28>>2]|0;Tx(b,f,c[a+128>>2]|0,c[a+132>>2]|0,+h[d>>3],+h[d+8>>3],+h[d+16>>3],+h[d+24>>3]);Of(f);i=e;return}function Yr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0.0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0;e=i;d=i;i=i+8|0;g=d;n=i;i=i+8|0;m=n;p=i;i=i+8|0;o=p;r=i;i=i+8|0;q=r;u=i;i=i+16|0;v=u;x=i;i=i+8|0;y=x;z=i;i=i+16|0;A=z;C=i;i=i+8|0;B=C;D=i;i=i+16|0;E=D;G=i;i=i+8|0;F=G;H=i;i=i+16|0;I=H;J=i;i=i+8|0;K=J;N=i;i=i+16|0;M=N;P=i;i=i+8|0;O=P;Q=i;i=i+16|0;S=Q;L=i;i=i+8|0;T=L;V=i;i=i+8|0;U=V;X=i;i=i+8|0;W=X;$=i;i=i+8|0;_=i;i=i+8|0;Y=_;l=i;i=i+16|0;k=l;w=i;i=i+16|0;t=w;c[l>>2]=13;j=k+8|0;c[j>>2]=0;c[j+4>>2]=0;do{if((c[(Yu(f,63960,k,0)|0)>>2]|0)==3){$=c[l>>2]|0;if(($|0)==3){_=c[j>>2]|0;$=FW(32)|0;ie($,_);c[b+192>>2]=$;break}else{c[_>>2]=$;c[Y+4>>2]=3;Qe(0,72520,Y);tc()}}else{_=FW(32)|0;ee(_);c[b+192>>2]=_;Qe(-1,63968,$);a[b+144|0]=0}}while(0);Of(k);do{if((c[(Yu(f,64e3,k,0)|0)>>2]|0)==1){Y=c[l>>2]|0;if((Y|0)==1){c[b+196>>2]=c[j>>2];break}else{c[X>>2]=Y;c[W+4>>2]=1;Qe(0,72520,W);tc()}}else{c[b+196>>2]=0}}while(0);Of(k);do{if((c[(Yu(f,64008,k,0)|0)>>2]|0)==3){W=c[l>>2]|0;if((W|0)==3){_=c[j>>2]|0;$=FW(32)|0;ie($,_);c[b+200>>2]=$;break}else{c[V>>2]=W;c[U+4>>2]=3;Qe(0,72520,U);tc()}}else{c[b+200>>2]=0}}while(0);Of(k);do{if((c[(Yu(f,64016,k,0)|0)>>2]|0)==6){U=c[l>>2]|0;if((U|0)!=6){c[L>>2]=U;c[T+4>>2]=6;Qe(0,72520,T);tc()}T=c[j>>2]|0;if((c[T+12>>2]|0)<=3){s=69;break}c[w>>2]=13;L=t+8|0;c[L>>2]=0;c[L+4>>2]=0;do{if(((c[(ut(T,0,t)|0)>>2]|0)+ -1|0)>>>0<2){T=c[w>>2]|0;if((T+ -1|0)>>>0>=2){c[Q>>2]=T;c[S+4>>2]=1;c[S+8>>2]=2;Qe(0,72608,S);tc()}if((T|0)==1){R=+(c[L>>2]|0);break}else{R=+h[L>>3];break}}else{R=0.0}}while(0);Of(t);Q=c[l>>2]|0;if((Q|0)!=6){c[P>>2]=Q;c[O+4>>2]=6;Qe(0,72520,O);tc()}do{if(((c[(ut(c[j>>2]|0,1,t)|0)>>2]|0)+ -1|0)>>>0<2){O=c[w>>2]|0;if((O+ -1|0)>>>0>=2){c[N>>2]=O;c[M+4>>2]=1;c[M+8>>2]=2;Qe(0,72608,M);tc()}if((O|0)==1){Z=+(c[L>>2]|0);break}else{Z=+h[L>>3];break}}else{Z=0.0}}while(0);Of(t);M=c[l>>2]|0;if((M|0)!=6){c[J>>2]=M;c[K+4>>2]=6;Qe(0,72520,K);tc()}do{if(((c[(ut(c[j>>2]|0,2,t)|0)>>2]|0)+ -1|0)>>>0<2){J=c[w>>2]|0;if((J+ -1|0)>>>0>=2){c[H>>2]=J;c[I+4>>2]=1;c[I+8>>2]=2;Qe(0,72608,I);tc()}if((J|0)==1){aa=+(c[L>>2]|0);break}else{aa=+h[L>>3];break}}else{aa=0.0}}while(0);Of(t);H=c[l>>2]|0;if((H|0)!=6){c[G>>2]=H;c[F+4>>2]=6;Qe(0,72520,F);tc()}do{if(((c[(ut(c[j>>2]|0,3,t)|0)>>2]|0)+ -1|0)>>>0<2){F=c[w>>2]|0;if((F+ -1|0)>>>0>=2){c[D>>2]=F;c[E+4>>2]=1;c[E+8>>2]=2;Qe(0,72608,E);tc()}if((F|0)==1){ba=+(c[L>>2]|0);break}else{ba=+h[L>>3];break}}else{ba=0.0}}while(0);Of(t);D=c[l>>2]|0;if((D|0)!=6){c[C>>2]=D;c[B+4>>2]=6;Qe(0,72520,B);tc()}B=c[j>>2]|0;if((c[B+12>>2]|0)!=6){$=FW(40)|0;c[$>>2]=55200;h[$+8>>3]=R;h[$+16>>3]=Z;h[$+24>>3]=aa;h[$+32>>3]=ba;c[b+204>>2]=$;break}do{if(((c[(ut(B,4,t)|0)>>2]|0)+ -1|0)>>>0<2){B=c[w>>2]|0;if((B+ -1|0)>>>0>=2){c[z>>2]=B;c[A+4>>2]=1;c[A+8>>2]=2;Qe(0,72608,A);tc()}if((B|0)==1){ca=+(c[L>>2]|0);break}else{ca=+h[L>>3];break}}else{ca=0.0}}while(0);Of(t);z=c[l>>2]|0;if((z|0)!=6){c[x>>2]=z;c[y+4>>2]=6;Qe(0,72520,y);tc()}do{if(((c[(ut(c[j>>2]|0,5,t)|0)>>2]|0)+ -1|0)>>>0<2){w=c[w>>2]|0;if((w+ -1|0)>>>0>=2){c[u>>2]=w;c[v+4>>2]=1;c[v+8>>2]=2;Qe(0,72608,v);tc()}if((w|0)==1){da=+(c[L>>2]|0);break}else{da=+h[L>>3];break}}else{da=0.0}}while(0);Of(t);$=FW(56)|0;h[$+8>>3]=R;h[$+16>>3]=Z;h[$+24>>3]=aa;h[$+32>>3]=ba;c[$>>2]=55216;h[$+40>>3]=ca;h[$+48>>3]=da;c[b+204>>2]=$}else{s=69}}while(0);if((s|0)==69){c[b+204>>2]=0}Of(k);do{if((c[(Yu(f,64024,k,0)|0)>>2]|0)==4){s=FW(32)|0;t=c[l>>2]|0;if((t|0)!=4){c[r>>2]=t;c[q+4>>2]=4;Qe(0,72520,q);tc()}fe(s,c[j>>2]|0);do{if((te(s,63944)|0)==0){c[b+208>>2]=0}else{if((te(s,64032)|0)==0){c[b+208>>2]=1;break}q=b+208|0;if((te(s,64048)|0)==0){c[q>>2]=2;break}else{c[q>>2]=0;break}}}while(0);if((s|0)==0){break}ke(s);HW(s)}else{c[b+208>>2]=0}}while(0);Of(k);do{if((c[(Yu(f,64072,k,0)|0)>>2]|0)==7){q=FW(16)|0;r=c[l>>2]|0;if((r|0)==7){or(q,c[j>>2]|0);c[b+212>>2]=q;break}else{c[p>>2]=r;c[o+4>>2]=7;Qe(0,72520,o);tc()}}else{c[b+212>>2]=0}}while(0);Of(k);do{if((c[(Yu(f,64080,k,0)|0)>>2]|0)==6){o=c[l>>2]|0;if((o|0)==6){c[b+216>>2]=nr(c[j>>2]|0,c[b+28>>2]|0)|0;break}else{c[n>>2]=o;c[m+4>>2]=6;Qe(0,72520,m);tc()}}else{c[b+216>>2]=0}}while(0);Of(k);if((c[(Yu(f,64088,k,0)|0)>>2]|0)!=4){c[b+220>>2]=5;Of(k);i=e;return}f=FW(32)|0;l=c[l>>2]|0;if((l|0)!=4){c[d>>2]=l;c[g+4>>2]=4;Qe(0,72520,g);tc()}fe(f,c[j>>2]|0);c[b+220>>2]=mr(f)|0;if((f|0)==0){Of(k);i=e;return}ke(f);HW(f);Of(k);i=e;return}function Zr(a){a=a|0;var b=0;b=i;_r(a);HW(a);i=b;return}function _r(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=63928;d=c[a+192>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+200>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+204>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+212>>2]|0;if((d|0)!=0){HW(d)}d=c[a+216>>2]|0;if((d|0)==0){Or(a);i=b;return}HW(d);Or(a);i=b;return}function $r(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0.0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0,ma=0.0,na=0.0;d=i;j=i;i=i+16|0;k=j;m=i;i=i+8|0;o=m;r=i;i=i+16|0;q=r;s=i;i=i+8|0;t=s;u=i;i=i+8|0;v=u;w=i;i=i+16|0;x=w;y=i;i=i+8|0;z=y;A=i;i=i+8|0;B=A;D=i;i=i+16|0;C=D;E=i;i=i+16|0;F=E;H=i;i=i+8|0;G=H;J=i;i=i+8|0;K=J;M=i;i=i+8|0;O=M;Q=i;i=i+8|0;P=Q;R=i;i=i+8|0;S=R;V=i;i=i+16|0;U=V;Y=i;i=i+8|0;X=Y;_=i;i=i+16|0;Z=_;aa=i;i=i+8|0;ba=aa;da=i;i=i+16|0;ea=da;fa=i;i=i+8|0;ga=fa;ia=i;i=i+16|0;ha=ia;ka=i;i=i+8|0;$=ka;p=i;i=i+16|0;g=p;W=i;i=i+16|0;T=W;N=i;i=i+16|0;L=N;n=i;i=i+16|0;e=n;c[p>>2]=13;l=g+8|0;c[l>>2]=0;c[l+4>>2]=0;do{if((c[(Yu(f,64128,g,0)|0)>>2]|0)==6){ja=c[p>>2]|0;if((ja|0)!=6){c[ka>>2]=ja;c[$+4>>2]=6;Qe(0,72520,$);tc()}ja=c[l>>2]|0;if((c[ja+12>>2]|0)!=4){I=36;break}c[W>>2]=13;$=T+8|0;c[$>>2]=0;c[$+4>>2]=0;do{if(((c[(ut(ja,0,T)|0)>>2]|0)+ -1|0)>>>0<2){ja=c[W>>2]|0;if((ja+ -1|0)>>>0>=2){c[ia>>2]=ja;c[ha+4>>2]=1;c[ha+8>>2]=2;Qe(0,72608,ha);tc()}if((ja|0)==1){ca=+(c[$>>2]|0);break}else{ca=+h[$>>3];break}}else{ca=0.0}}while(0);Of(T);ha=c[p>>2]|0;if((ha|0)!=6){c[fa>>2]=ha;c[ga+4>>2]=6;Qe(0,72520,ga);tc()}do{if(((c[(ut(c[l>>2]|0,1,T)|0)>>2]|0)+ -1|0)>>>0<2){fa=c[W>>2]|0;if((fa+ -1|0)>>>0>=2){c[da>>2]=fa;c[ea+4>>2]=1;c[ea+8>>2]=2;Qe(0,72608,ea);tc()}if((fa|0)==1){la=+(c[$>>2]|0);break}else{la=+h[$>>3];break}}else{la=0.0}}while(0);Of(T);da=c[p>>2]|0;if((da|0)!=6){c[aa>>2]=da;c[ba+4>>2]=6;Qe(0,72520,ba);tc()}do{if(((c[(ut(c[l>>2]|0,2,T)|0)>>2]|0)+ -1|0)>>>0<2){aa=c[W>>2]|0;if((aa+ -1|0)>>>0>=2){c[_>>2]=aa;c[Z+4>>2]=1;c[Z+8>>2]=2;Qe(0,72608,Z);tc()}if((aa|0)==1){ma=+(c[$>>2]|0);break}else{ma=+h[$>>3];break}}else{ma=0.0}}while(0);Of(T);Z=c[p>>2]|0;if((Z|0)!=6){c[Y>>2]=Z;c[X+4>>2]=6;Qe(0,72520,X);tc()}do{if(((c[(ut(c[l>>2]|0,3,T)|0)>>2]|0)+ -1|0)>>>0<2){W=c[W>>2]|0;if((W+ -1|0)>>>0>=2){c[V>>2]=W;c[U+4>>2]=1;c[U+8>>2]=2;Qe(0,72608,U);tc()}if((W|0)==1){na=+(c[$>>2]|0);break}else{na=+h[$>>3];break}}else{na=0.0}}while(0);Of(T);ka=FW(16)|0;h[ka>>3]=ca;h[ka+8>>3]=la;c[b+192>>2]=ka;ka=FW(16)|0;h[ka>>3]=ma;h[ka+8>>3]=na;c[b+196>>2]=ka}else{I=36}}while(0);if((I|0)==36){ka=FW(16)|0;bX(ka|0,0,16)|0;c[b+192>>2]=ka;ka=FW(16)|0;bX(ka|0,0,16)|0;c[b+196>>2]=ka}Of(g);do{if((c[(Yu(f,64088,g,0)|0)>>2]|0)==6){T=c[p>>2]|0;if((T|0)!=6){c[R>>2]=T;c[S+4>>2]=6;Qe(0,72520,S);tc()}S=c[l>>2]|0;if((c[S+12>>2]|0)!=2){I=54;break}c[N>>2]=13;R=L+8|0;c[R>>2]=0;c[R+4>>2]=0;do{if((c[(ut(S,0,L)|0)>>2]|0)==3){S=c[N>>2]|0;if((S|0)==3){c[b+200>>2]=mr(c[R>>2]|0)|0;break}else{c[Q>>2]=S;c[P+4>>2]=3;Qe(0,72520,P);tc()}}else{c[b+200>>2]=5}}while(0);Of(L);P=c[p>>2]|0;if((P|0)!=6){c[M>>2]=P;c[O+4>>2]=6;Qe(0,72520,O);tc()}do{if((c[(ut(c[l>>2]|0,1,L)|0)>>2]|0)==3){M=c[N>>2]|0;if((M|0)==3){c[b+204>>2]=mr(c[R>>2]|0)|0;break}else{c[J>>2]=M;c[K+4>>2]=3;Qe(0,72520,K);tc()}}else{c[b+204>>2]=5}}while(0);Of(L)}else{I=54}}while(0);if((I|0)==54){c[b+204>>2]=5;c[b+200>>2]=5}Of(g);do{if((c[(Yu(f,64136,g,0)|0)>>2]|0)==6){I=FW(40)|0;J=c[p>>2]|0;if((J|0)==6){vr(I,c[l>>2]|0,0);c[b+208>>2]=I;break}else{c[H>>2]=J;c[G+4>>2]=6;Qe(0,72520,G);tc()}}else{c[b+208>>2]=0}}while(0);Of(g);if(((c[(Yu(f,64144,g,0)|0)>>2]|0)+ -1|0)>>>0<2){G=c[p>>2]|0;if((G+ -1|0)>>>0>=2){c[E>>2]=G;c[F+4>>2]=1;c[F+8>>2]=2;Qe(0,72608,F);tc()}if((G|0)==1){ca=+(c[l>>2]|0)}else{ca=+h[l>>3]}h[b+216>>3]=ca}else{h[b+216>>3]=0.0}Of(g);do{if(((c[(Yu(f,64152,g,0)|0)>>2]|0)+ -1|0)>>>0<2){E=c[p>>2]|0;if((E+ -1|0)>>>0>=2){c[D>>2]=E;c[C+4>>2]=1;c[C+8>>2]=2;Qe(0,72608,C);tc()}if((E|0)==1){ca=+(c[l>>2]|0)}else{ca=+h[l>>3]}C=b+224|0;h[C>>3]=ca;if(ca>=0.0){break}h[C>>3]=0.0}else{h[b+224>>3]=0.0}}while(0);Of(g);do{if((c[(Yu(f,64160,g,0)|0)>>2]|0)==0){C=c[p>>2]|0;if((C|0)==0){a[b+232|0]=a[l]&1;break}else{c[A>>2]=C;c[B+4>>2]=0;Qe(0,72520,B);tc()}}else{a[b+232|0]=0}}while(0);Of(g);do{if((c[(Yu(f,64024,g,0)|0)>>2]|0)==4){A=FW(32)|0;B=c[p>>2]|0;if((B|0)!=4){c[y>>2]=B;c[z+4>>2]=4;Qe(0,72520,z);tc()}fe(A,c[l>>2]|0);do{if((te(A,64168)|0)==0){c[b+236>>2]=0}else{y=b+236|0;if((te(A,64184)|0)==0){c[y>>2]=1;break}else{c[y>>2]=0;break}}}while(0);if((A|0)==0){break}ke(A);HW(A)}else{c[b+236>>2]=0}}while(0);Of(g);do{if(((c[(Yu(f,64200,g,0)|0)>>2]|0)+ -1|0)>>>0<2){y=c[p>>2]|0;if((y+ -1|0)>>>0>=2){c[w>>2]=y;c[x+4>>2]=1;c[x+8>>2]=2;Qe(0,72608,x);tc()}if((y|0)==1){ca=+(c[l>>2]|0)}else{ca=+h[l>>3]}w=b+240|0;h[w>>3]=ca;if(ca>=0.0){break}h[w>>3]=0.0}else{h[b+240>>3]=0.0}}while(0);Of(g);do{if((c[(Yu(f,64208,g,0)|0)>>2]|0)==4){w=FW(32)|0;x=c[p>>2]|0;if((x|0)!=4){c[u>>2]=x;c[v+4>>2]=4;Qe(0,72520,v);tc()}fe(w,c[l>>2]|0);do{if((te(w,64216)|0)==0){c[b+248>>2]=0}else{u=b+248|0;if((te(w,64224)|0)==0){c[u>>2]=1;break}else{c[u>>2]=0;break}}}while(0);if((w|0)==0){break}ke(w);HW(w)}else{c[b+248>>2]=0}}while(0);Of(g);Yu(f,64232,g,0)|0;c[b+252>>2]=0;Of(g);do{if((c[(Yu(f,64240,g,0)|0)>>2]|0)==6){f=c[p>>2]|0;if((f|0)!=6){c[s>>2]=f;c[t+4>>2]=6;Qe(0,72520,t);tc()}s=c[l>>2]|0;if((c[s+12>>2]|0)!=2){break}c[n>>2]=13;f=e+8|0;c[f>>2]=0;c[f+4>>2]=0;if(((c[(ut(s,0,e)|0)>>2]|0)+ -1|0)>>>0<2){s=c[n>>2]|0;if((s+ -1|0)>>>0>=2){c[r>>2]=s;c[q+4>>2]=1;c[q+8>>2]=2;Qe(0,72608,q);tc()}if((s|0)==1){ca=+(c[f>>2]|0)}else{ca=+h[f>>3]}h[b+256>>3]=ca}else{h[b+256>>3]=0.0}Of(e);p=c[p>>2]|0;if((p|0)!=6){c[m>>2]=p;c[o+4>>2]=6;Qe(0,72520,o);tc()}if(((c[(ut(c[l>>2]|0,1,e)|0)>>2]|0)+ -1|0)>>>0<2){l=c[n>>2]|0;if((l+ -1|0)>>>0>=2){c[j>>2]=l;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,72608,k);tc()}if((l|0)==1){ca=+(c[f>>2]|0)}else{ca=+h[f>>3]}h[b+264>>3]=ca}else{h[b+264>>3]=0.0}Of(e);Of(g);i=d;return}}while(0);bX(b+256|0,0,16)|0;Of(g);i=d;return}function as(a){a=a|0;var b=0;b=i;bs(a);HW(a);i=b;return}function bs(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=64104;d=c[a+192>>2]|0;if((d|0)!=0){HW(d)}d=c[a+196>>2]|0;if((d|0)!=0){HW(d)}d=c[a+208>>2]|0;if((d|0)!=0){HW(d)}d=c[a+252>>2]|0;if((d|0)==0){Or(a);i=b;return}Su(d);HW(d);Or(a);i=b;return}function cs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0.0,L=0.0;f=i;q=i;i=i+16|0;r=q;o=i;i=i+16|0;p=o;m=i;i=i+8|0;u=m;w=i;i=i+8|0;x=w;B=i;i=i+16|0;D=B;F=i;i=i+32|0;C=F;E=i;i=i+40|0;G=E;v=i;i=i+16|0;e=v;s=i;i=i+32|0;l=s;t=i;i=i+16|0;j=t;n=i;i=i+16|0;g=n;c[v>>2]=13;v=e+8|0;c[v>>2]=0;c[v+4>>2]=0;v=c[a+48>>2]|0;if((v&2|0)!=0){i=f;return}do{if(d){if((v&4|0)!=0){break}i=f;return}else{if((v&32|0)==0){break}i=f;return}}while(0);d=c[a+88>>2]|0;do{if((d|0)!=0){v=a+96|0;if((c[v>>2]|0)!=9){break}if(GF(d,v)|0){break}i=f;return}}while(0);v=a+28|0;d=c[v>>2]|0;A=+h[d+24>>3];if(+h[d+8>>3]==A){y=c[a+128>>2]|0;if((y|0)==0){J=1.0}else{J=+wd[c[(c[y>>2]|0)+12>>2]&1](y);d=c[v>>2]|0;A=+h[d+24>>3]}h[d+24>>3]=J+A}d=a+64|0;do{if((c[d>>2]|0)==5){A=+h[a+160>>3];y=FW(32)|0;ee(y);z=a+124|0;c[z>>2]=y;ne(y,56352,-1)|0;y=a+132|0;H=c[y>>2]|0;do{if((H|0)!=0){I=c[H+32>>2]|0;if((I|0)==3){I=c[z>>2]|0;K=+h[H+8>>3];J=+h[H+16>>3];G=F;h[k>>3]=+h[H>>3];c[G>>2]=c[k>>2];c[G+4>>2]=c[k+4>>2];H=C+8|0;h[k>>3]=K;c[H>>2]=c[k>>2];c[H+4>>2]=c[k+4>>2];H=C+16|0;h[k>>3]=J;c[H>>2]=c[k>>2];c[H+4>>2]=c[k+4>>2];c[C+24>>2]=55808;pe(I,55768,C)|0;break}else if((I|0)==1){I=c[z>>2]|0;G=B;h[k>>3]=+h[H>>3];c[G>>2]=c[k>>2];c[G+4>>2]=c[k+4>>2];c[D+8>>2]=71;pe(I,55816,D)|0;break}else if((I|0)==4){I=c[z>>2]|0;L=+h[H+8>>3];J=+h[H+16>>3];K=+h[H+24>>3];F=E;h[k>>3]=+h[H>>3];c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];H=G+8|0;h[k>>3]=L;c[H>>2]=c[k>>2];c[H+4>>2]=c[k+4>>2];H=G+16|0;h[k>>3]=J;c[H>>2]=c[k>>2];c[H+4>>2]=c[k+4>>2];H=G+24|0;h[k>>3]=K;c[H>>2]=c[k>>2];c[H+4>>2]=c[k+4>>2];c[G+32>>2]=75;pe(I,55728,G)|0;break}else{break}}}while(0);B=a+128|0;C=c[B>>2]|0;if((C|0)!=0){I=(jd[c[(c[C>>2]|0)+24>>2]&511](C)|0)==1;C=c[z>>2]|0;if(I){ne(C,64248,-1)|0;C=c[B>>2]|0;C=jd[c[(c[C>>2]|0)+16>>2]&511](C)|0;D=c[B>>2]|0;D=jd[c[(c[D>>2]|0)+20>>2]&511](D)|0;F=c[z>>2]|0;if((C|0)>0){E=0;while(1){I=w;h[k>>3]=+h[D+(E<<3)>>3];c[I>>2]=c[k>>2];c[I+4>>2]=c[k+4>>2];pe(F,64256,x)|0;E=E+1|0;F=c[z>>2]|0;if((E|0)<(C|0)){}else{break}}}ne(F,64272,-1)|0}else{ne(C,64280,-1)|0}I=c[z>>2]|0;H=c[B>>2]|0;L=+wd[c[(c[H>>2]|0)+12>>2]&1](H);H=m;h[k>>3]=L;c[H>>2]=c[k>>2];c[H+4>>2]=c[k+4>>2];pe(I,64288,u)|0}I=c[z>>2]|0;H=c[a+192>>2]|0;G=c[v>>2]|0;L=+h[H+8>>3]- +h[G+8>>3];F=o;h[k>>3]=+h[H>>3]- +h[G>>3];c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];F=p+8|0;h[k>>3]=L;c[F>>2]=c[k>>2];c[F+4>>2]=c[k+4>>2];pe(I,55832,p)|0;I=c[z>>2]|0;F=c[a+196>>2]|0;G=c[v>>2]|0;L=+h[F+8>>3]- +h[G+8>>3];H=q;h[k>>3]=+h[F>>3]- +h[G>>3];c[H>>2]=c[k>>2];c[H+4>>2]=c[k+4>>2];H=r+8|0;h[k>>3]=L;c[H>>2]=c[k>>2];c[H+4>>2]=c[k+4>>2];pe(I,64304,r)|0;ne(c[z>>2]|0,55928,-1)|0;ne(c[z>>2]|0,63808,-1)|0;bX(s|0,0,16)|0;I=c[v>>2]|0;h[l+16>>3]=+h[I+16>>3]- +h[I>>3];h[l+24>>3]=+h[I+24>>3]- +h[I+8>>3];if(A==1.0){Er(a,l,0,0,d)}else{c[t>>2]=13;m=j+8|0;c[m>>2]=0;c[m+4>>2]=0;c[n>>2]=13;m=g+8|0;c[m>>2]=0;c[m+4>>2]=0;Er(a,l,1,0,j);m=c[z>>2]|0;if((m|0)!=0){ke(m);HW(m)}I=FW(32)|0;fe(I,63816);c[z>>2]=I;Fr(a,63832,j,63840,A,0,g);Er(a,l,0,g,d)}g=c[z>>2]|0;if((g|0)==0){break}ke(g);HW(g)}else{y=a+132|0}}while(0);Nf(d,c[a+112>>2]|0,e,0)|0;I=c[v>>2]|0;Tx(b,e,0,c[y>>2]|0,+h[I>>3],+h[I+8>>3],+h[I+16>>3],+h[I+24>>3]);Of(e);i=f;return}function ds(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;m=i;i=i+8|0;h=i;i=i+8|0;j=h;n=i;i=i+8|0;o=n;k=i;i=i+16|0;e=k;l=i;i=i+32|0;c[k>>2]=13;d=e+8|0;c[d>>2]=0;c[d+4>>2]=0;if((c[(Yu(f,55944,e,0)|0)>>2]|0)==4){p=c[k>>2]|0;if((p|0)!=4){c[n>>2]=p;c[o+4>>2]=4;Qe(0,72520,o);tc()}fe(l,c[d>>2]|0);do{if((te(l,64352)|0)==0){c[b+24>>2]=9}else{if((te(l,64368)|0)==0){c[b+24>>2]=10;break}if((te(l,64384)|0)==0){c[b+24>>2]=11;break}if((te(l,64400)|0)!=0){break}c[b+24>>2]=12}}while(0);ke(l)}Of(e);if((c[(Yu(f,63904,e,0)|0)>>2]|0)!=6){Qe(-1,64416,m);c[b+192>>2]=0;a[b+144|0]=0;Of(e);i=g;return}f=FW(8)|0;k=c[k>>2]|0;if((k|0)!=6){c[h>>2]=k;c[j+4>>2]=6;Qe(0,72520,j);tc()}qr(f,c[d>>2]|0,c[b+28>>2]|0);c[b+192>>2]=f;Of(e);i=g;return}function es(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;d=i;c[a>>2]=64336;b=c[a+192>>2]|0;if((b|0)==0){Or(a);HW(a);i=d;return}h=c[b>>2]|0;if((h|0)!=0){e=b+4|0;f=c[e>>2]|0;if((f|0)>0){g=0;do{j=c[h+(g<<2)>>2]|0;if((j|0)!=0){HW(j);h=c[b>>2]|0;f=c[e>>2]|0}g=g+1|0;}while((g|0)<(f|0))}Fe(h)}HW(b);Or(a);HW(a);i=d;return}function fs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;d=i;c[a>>2]=64336;b=c[a+192>>2]|0;if((b|0)==0){Or(a);i=d;return}h=c[b>>2]|0;if((h|0)!=0){e=b+4|0;f=c[e>>2]|0;if((f|0)>0){g=0;do{j=c[h+(g<<2)>>2]|0;if((j|0)!=0){HW(j);h=c[b>>2]|0;f=c[e>>2]|0}g=g+1|0;}while((g|0)<(f|0))}Fe(h)}HW(b);Or(a);i=d;return}function gs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0,ma=0.0,na=0.0,oa=0.0,pa=0.0,qa=0.0,ra=0.0,sa=0.0,ta=0.0;f=i;y=i;i=i+48|0;w=y;E=i;i=i+16|0;u=E;C=i;i=i+48|0;D=C;A=i;i=i+16|0;B=A;da=i;i=i+16|0;ea=da;ba=i;i=i+32|0;ca=ba;$=i;i=i+40|0;aa=$;o=i;i=i+16|0;n=o;q=i;i=i+16|0;p=q;P=i;i=i+16|0;O=P;R=i;i=i+32|0;Q=R;H=i;i=i+40|0;M=H;ha=i;i=i+16|0;ia=ha;Y=i;i=i+32|0;Z=Y;_=i;i=i+40|0;fa=_;r=i;i=i+16|0;F=r;x=i;i=i+16|0;z=x;L=i;i=i+16|0;K=L;S=i;i=i+32|0;I=S;J=i;i=i+40|0;N=J;T=i;i=i+16|0;U=T;X=i;i=i+32|0;ga=X;V=i;i=i+40|0;W=V;ja=i;i=i+16|0;e=ja;v=i;i=i+16|0;m=v;t=i;i=i+16|0;l=t;s=i;i=i+32|0;j=s;c[ja>>2]=13;ja=e+8|0;c[ja>>2]=0;c[ja+4>>2]=0;ja=c[a+48>>2]|0;if((ja&2|0)!=0){i=f;return}do{if(d){if((ja&4|0)!=0){break}i=f;return}else{if((ja&32|0)==0){break}i=f;return}}while(0);d=c[a+88>>2]|0;do{if((d|0)!=0){ja=a+96|0;if((c[ja>>2]|0)!=9){break}if(GF(d,ja)|0){break}i=f;return}}while(0);d=a+64|0;ka=a+24|0;do{if((c[d>>2]|0)==5){g=11}else{if((c[ka>>2]|0)==9){g=11;break}n=a+132|0}}while(0);do{if((g|0)==11){G=+h[a+160>>3];ja=FW(32)|0;ee(ja);g=a+124|0;c[g>>2]=ja;ka=c[ka>>2]|0;if((ka|0)==12){j=a+132|0;m=c[j>>2]|0;do{if((m|0)!=0){l=c[m+32>>2]|0;if((l|0)==1){ka=ha;h[k>>3]=+h[m>>3];c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];c[ia+8>>2]=71;pe(ja,55816,ia)|0}else if((l|0)==3){ra=+h[m+8>>3];sa=+h[m+16>>3];ka=Y;h[k>>3]=+h[m>>3];c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];ka=Z+8|0;h[k>>3]=ra;c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];ka=Z+16|0;h[k>>3]=sa;c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];c[Z+24>>2]=55808;pe(ja,55768,Z)|0}else if((l|0)==4){qa=+h[m+8>>3];ra=+h[m+16>>3];sa=+h[m+24>>3];ka=_;h[k>>3]=+h[m>>3];c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];ka=fa+8|0;h[k>>3]=qa;c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];ka=fa+16|0;h[k>>3]=ra;c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];ka=fa+24|0;h[k>>3]=sa;c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];c[fa+32>>2]=75;pe(ja,55728,fa)|0}m=c[j>>2]|0;l=c[m+32>>2]|0;if((l|0)==3){ka=c[g>>2]|0;ra=+h[m+8>>3];sa=+h[m+16>>3];ja=R;h[k>>3]=+h[m>>3];c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=Q+8|0;h[k>>3]=ra;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=Q+16|0;h[k>>3]=sa;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];c[Q+24>>2]=55800;pe(ka,55768,Q)|0;break}else if((l|0)==1){ka=c[g>>2]|0;ja=P;h[k>>3]=+h[m>>3];c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];c[O+8>>2]=103;pe(ka,55816,O)|0;break}else if((l|0)==4){ka=c[g>>2]|0;qa=+h[m+8>>3];ra=+h[m+16>>3];sa=+h[m+24>>3];ja=H;h[k>>3]=+h[m>>3];c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=M+8|0;h[k>>3]=qa;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=M+16|0;h[k>>3]=ra;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=M+24|0;h[k>>3]=sa;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];c[M+32>>2]=107;pe(ka,55728,M)|0;break}else{break}}}while(0);m=a+192|0;t=c[m>>2]|0;r=c[t+4>>2]|0;if((r|0)<=0){n=j;break}l=a+28|0;s=0;while(1){t=c[(c[t>>2]|0)+(s<<2)>>2]|0;G=+h[t>>3];if((r|0)>(s|0)){ma=+h[t+8>>3];la=+h[t+16>>3];na=+h[t+40>>3]}else{ma=0.0;la=0.0;na=0.0}t=c[l>>2]|0;ra=G- +h[t>>3];sa=(ma-na)*.5+(na- +h[t+8>>3]);ne(c[g>>2]|0,64456,-1)|0;t=c[g>>2]|0;r=q;h[k>>3]=ra;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=p+8|0;h[k>>3]=sa;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];pe(t,55832,p)|0;t=c[g>>2]|0;r=o;h[k>>3]=la-G+ra;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=n+8|0;h[k>>3]=sa;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];pe(t,64304,n)|0;ne(c[g>>2]|0,55928,-1)|0;s=s+1|0;t=c[m>>2]|0;r=c[t+4>>2]|0;if((s|0)>=(r|0)){n=j;break}}}else if((ka|0)==10){n=a+132|0;j=c[n>>2]|0;do{if((j|0)!=0){l=c[j+32>>2]|0;if((l|0)==1){ka=T;h[k>>3]=+h[j>>3];c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];c[U+8>>2]=71;pe(ja,55816,U)|0}else if((l|0)==4){qa=+h[j+8>>3];ra=+h[j+16>>3];sa=+h[j+24>>3];ka=V;h[k>>3]=+h[j>>3];c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];ka=W+8|0;h[k>>3]=qa;c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];ka=W+16|0;h[k>>3]=ra;c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];ka=W+24|0;h[k>>3]=sa;c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];c[W+32>>2]=75;pe(ja,55728,W)|0}else if((l|0)==3){ra=+h[j+8>>3];sa=+h[j+16>>3];ka=X;h[k>>3]=+h[j>>3];c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];ka=ga+8|0;h[k>>3]=ra;c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];ka=ga+16|0;h[k>>3]=sa;c[ka>>2]=c[k>>2];c[ka+4>>2]=c[k+4>>2];c[ga+24>>2]=55808;pe(ja,55768,ga)|0}l=c[n>>2]|0;j=c[l+32>>2]|0;if((j|0)==1){ka=c[g>>2]|0;ja=L;h[k>>3]=+h[l>>3];c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];c[K+8>>2]=103;pe(ka,55816,K)|0;break}else if((j|0)==4){ka=c[g>>2]|0;qa=+h[l+8>>3];ra=+h[l+16>>3];sa=+h[l+24>>3];ja=J;h[k>>3]=+h[l>>3];c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=N+8|0;h[k>>3]=qa;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=N+16|0;h[k>>3]=ra;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=N+24|0;h[k>>3]=sa;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];c[N+32>>2]=107;pe(ka,55728,N)|0;break}else if((j|0)==3){ka=c[g>>2]|0;ra=+h[l+8>>3];sa=+h[l+16>>3];ja=S;h[k>>3]=+h[l>>3];c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=I+8|0;h[k>>3]=ra;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=I+16|0;h[k>>3]=sa;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];c[I+24>>2]=55800;pe(ka,55768,I)|0;break}else{break}}}while(0);j=a+192|0;p=c[j>>2]|0;m=c[p+4>>2]|0;if((m|0)<=0){break}l=a+28|0;o=0;do{p=c[(c[p>>2]|0)+(o<<2)>>2]|0;G=+h[p>>3];if((m|0)>(o|0)){la=+h[p+16>>3];ma=+h[p+40>>3]}else{la=0.0;ma=0.0}p=c[l>>2]|0;ra=G- +h[p>>3];sa=ma- +h[p+8>>3];ne(c[g>>2]|0,64456,-1)|0;p=c[g>>2]|0;m=x;h[k>>3]=ra;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=z+8|0;h[k>>3]=sa;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];pe(p,55832,z)|0;p=c[g>>2]|0;m=r;h[k>>3]=la-G+ra;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=F+8|0;h[k>>3]=sa;c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];pe(p,64304,F)|0;ne(c[g>>2]|0,55928,-1)|0;o=o+1|0;p=c[j>>2]|0;m=c[p+4>>2]|0;}while((o|0)<(m|0))}else{Of(d);n=a+132|0;p=c[n>>2]|0;do{if((p|0)!=0){o=c[p+32>>2]|0;if((o|0)==4){ka=c[g>>2]|0;qa=+h[p+8>>3];ra=+h[p+16>>3];sa=+h[p+24>>3];ja=$;h[k>>3]=+h[p>>3];c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=aa+8|0;h[k>>3]=qa;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=aa+16|0;h[k>>3]=ra;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=aa+24|0;h[k>>3]=sa;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];c[aa+32>>2]=107;pe(ka,55728,aa)|0;break}else if((o|0)==3){ka=c[g>>2]|0;ra=+h[p+8>>3];sa=+h[p+16>>3];ja=ba;h[k>>3]=+h[p>>3];c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=ca+8|0;h[k>>3]=ra;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];ja=ca+16|0;h[k>>3]=sa;c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];c[ca+24>>2]=55800;pe(ka,55768,ca)|0;break}else if((o|0)==1){ka=c[g>>2]|0;ja=da;h[k>>3]=+h[p>>3];c[ja>>2]=c[k>>2];c[ja+4>>2]=c[k+4>>2];c[ea+8>>2]=103;pe(ka,55816,ea)|0;break}else{break}}}while(0);o=a+192|0;q=c[o>>2]|0;r=c[q+4>>2]|0;if((r|0)>0){p=0;do{q=c[(c[q>>2]|0)+(p<<2)>>2]|0;la=+h[q>>3];if((r|0)>(p|0)){qa=+h[q+24>>3];ma=+h[q+16>>3];na=+h[q+8>>3];pa=+h[q+56>>3];oa=+h[q+48>>3];ra=+h[q+40>>3];sa=+h[q+32>>3]}else{qa=0.0;ma=0.0;na=0.0;pa=0.0;oa=0.0;ra=0.0;sa=0.0}q=~~(na-ra);ta=+(((q|0)>-1?q:0-q|0)|0)*.25;q=c[g>>2]|0;r=A;h[k>>3]=sa;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=B+8|0;h[k>>3]=ra;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];pe(q,55832,B)|0;q=c[g>>2]|0;r=C;h[k>>3]=sa-ta;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=D+8|0;h[k>>3]=ra+ta;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=D+16|0;h[k>>3]=la-ta;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=D+24|0;h[k>>3]=na-ta;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=D+32|0;h[k>>3]=la;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=D+40|0;h[k>>3]=na;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];pe(q,55856,D)|0;q=c[g>>2]|0;r=E;h[k>>3]=ma;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=u+8|0;h[k>>3]=qa;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];pe(q,64304,u)|0;q=c[g>>2]|0;r=y;h[k>>3]=ma+ta;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=w+8|0;h[k>>3]=qa-ta;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=w+16|0;h[k>>3]=oa+ta;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=w+24|0;h[k>>3]=pa+ta;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=w+32|0;h[k>>3]=oa;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];r=w+40|0;h[k>>3]=pa;c[r>>2]=c[k>>2];c[r+4>>2]=c[k+4>>2];pe(q,55856,w)|0;ne(c[g>>2]|0,55912,-1)|0;p=p+1|0;q=c[o>>2]|0;r=c[q+4>>2]|0;}while((p|0)<(r|0))}c[v>>2]=13;o=m+8|0;c[o>>2]=0;c[o+4>>2]=0;c[t>>2]=13;o=l+8|0;c[o>>2]=0;c[o+4>>2]=0;o=c[a+28>>2]|0;h[s>>3]=+h[o>>3];h[j+8>>3]=+h[o+8>>3];h[j+16>>3]=+h[o+16>>3];h[j+24>>3]=+h[o+24>>3];Er(a,j,1,0,m);o=c[g>>2]|0;if((o|0)!=0){ke(o);HW(o)}ka=FW(32)|0;fe(ka,63816);c[g>>2]=ka;Fr(a,63832,m,63840,1.0,64472,l);if(G==1.0){Er(a,j,0,l,d)}else{Er(a,j,1,l,m);o=c[g>>2]|0;if((o|0)!=0){ke(o);HW(o)}ka=FW(32)|0;fe(ka,63816);c[g>>2]=ka;Fr(a,63832,m,63840,G,0,l);Er(a,j,0,l,d)}g=c[g>>2]|0;if((g|0)==0){break}ke(g);HW(g);break}}}while(0);Nf(d,c[a+112>>2]|0,e,0)|0;ka=c[a+28>>2]|0;Tx(b,e,0,c[n>>2]|0,+h[ka>>3],+h[ka+8>>3],+h[ka+16>>3],+h[ka+24>>3]);Of(e);i=f;return}function hs(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;k=i;i=i+8|0;j=k;c[b>>2]=55512;h=b+8|0;c[h>>2]=13;c[b+16>>2]=0;c[b+20>>2]=0;c[b+64>>2]=13;c[b+72>>2]=0;c[b+76>>2]=0;c[b+96>>2]=13;c[b+104>>2]=0;c[b+108>>2]=0;m=b+145|0;do{if((c[g>>2]|0)==9){a[m]=1;m=c[g>>2]|0;if((m|0)==9){k=g+8|0;g=c[k+4>>2]|0;m=b+116|0;c[m>>2]=c[k>>2];c[m+4>>2]=g;break}else{c[k>>2]=m;c[j+4>>2]=9;Qe(0,72520,j);tc()}}else{a[m]=0}}while(0);c[b+48>>2]=0;m=b+24|0;c[m>>2]=0;Kf(h,e)|0;zr(b,d,e,f);c[b>>2]=64496;c[m>>2]=20;c[b+152>>2]=0;is(b,0,f,e);i=l;return}function is(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=i;o=i;i=i+8|0;g=i;i=i+8|0;d=g;n=i;i=i+8|0;m=n;l=i;i=i+16|0;h=l;p=i;i=i+8|0;c[l>>2]=13;j=h+8|0;c[j>>2]=0;c[j+4>>2]=0;q=_t(e)|0;e=b+148|0;c[e>>2]=q;do{if((q|0)!=0){t=b+116|0;s=c[t+4>>2]|0;r=p;c[r>>2]=c[t>>2];c[r+4>>2]=s;$W(o|0,p|0,8)|0;p=Pv(q,o)|0;c[b+152>>2]=p;o=b+176|0;a[o]=0;if((p|0)==0){break}if(((c[p+8>>2]|0)+ -1|0)>>>0>=2){break}a[o]=a[(c[e>>2]|0)+20|0]&1}}while(0);t=c[b+64>>2]|0;if((t|0)==5|(t|0)==13){a[b+176|0]=1}do{if((c[(Yu(f,63888,h,0)|0)>>2]|0)==4){e=FW(32)|0;o=c[l>>2]|0;if((o|0)!=4){c[n>>2]=o;c[m+4>>2]=4;Qe(0,72520,m);tc()}fe(e,c[j>>2]|0);a:do{if((te(e,55416)|0)==0){c[b+156>>2]=0}else{if((te(e,63896)|0)==0){c[b+156>>2]=2;break}do{if((te(e,55584)|0)!=0){if((te(e,56120)|0)==0){break}c[b+156>>2]=1;break a}}while(0);c[b+156>>2]=3}}while(0);if((e|0)==0){break}ke(e);HW(e)}else{c[b+156>>2]=1}}while(0);Of(h);if((c[(Yu(f,64512,h,0)|0)>>2]|0)!=7){c[b+160>>2]=0;Of(h);t=55424;Yu(f,t,h,0)|0;t=b+164|0;c[t>>2]=0;Of(h);t=64520;Yu(f,t,h,0)|0;t=b+168|0;c[t>>2]=0;Of(h);t=56080;Yu(f,t,h,0)|0;t=b+172|0;c[t>>2]=0;Of(h);i=k;return}m=FW(32)|0;l=c[l>>2]|0;if((l|0)!=7){c[g>>2]=l;c[d+4>>2]=7;Qe(0,72520,d);tc()}xr(m,c[j>>2]|0);c[b+160>>2]=m;Of(h);t=55424;Yu(f,t,h,0)|0;t=b+164|0;c[t>>2]=0;Of(h);t=64520;Yu(f,t,h,0)|0;t=b+168|0;c[t>>2]=0;Of(h);t=56080;Yu(f,t,h,0)|0;t=b+172|0;c[t>>2]=0;Of(h);i=k;return}function js(a){a=a|0;var b=0;b=i;ks(a);HW(a);i=b;return}function ks(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=64496;d=c[a+160>>2]|0;if((d|0)!=0){yr(d);HW(d)}d=c[a+164>>2]|0;if((d|0)!=0){Su(d);HW(d)}d=c[a+168>>2]|0;if((d|0)!=0){Su(d);HW(d)}d=c[a+172>>2]|0;if((d|0)==0){Cr(a);i=b;return}Su(d);HW(d);Cr(a);i=b;return}function ls(b,e,f,g,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=+l;m=m|0;n=n|0;var o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0;w=i;J=i;i=i+8|0;I=J;x=i;i=i+8|0;H=i;i=i+8|0;t=H;F=i;i=i+8|0;G=F;o=i;i=i+8|0;q=i;i=i+8|0;v=i;i=i+8|0;r=v;s=i;i=i+8|0;b=i;i=i+8|0;u=i;i=i+8|0;A=ve(e)|0;do{if(A){z=e+24|0;if((c[z>>2]&1|0)==0){S=c[g>>2]|0;if((S|0)!=0){break}c[g>>2]=2;S=2;break}else{Qe(-1,64528,x);i=w;return}}else{S=c[g>>2]|0;z=e+24|0}}while(0);le(f)|0;x=f+24|0;y=e+28|0;e=f+28|0;M=l>0.0;P=c[p>>2]|0;R=0;T=0;O=0.0;while(1){Q=c[g>>2]|0;if((Q|0)>=(c[z>>2]|0)){D=O;break}C=c[x>>2]|0;E=c[y>>2]|0;U=d[E+Q|0]|0;if(A){U=U<<8;c[F>>2]=U;U=d[E+(Q+1)|0]|U;c[F>>2]=U;E=Q+2|0}else{if(!n){U=c[189696+(U<<2)>>2]|0}c[F>>2]=U;E=Q+1|0}c[g>>2]=E;if((U|0)==10){D=O;break}else if((U|0)==13){B=15;break}do{if(n){me(f,U&255)|0}else{K=jd[c[(c[j>>2]|0)+4>>2]&511](j)|0;if((K|0)==0){me(f,(c[F>>2]|0)>>>8&255)|0;me(f,c[F>>2]&255)|0;break}U=(xu(K,G,t,1)|0)==0;uu(K);if(U){c[J>>2]=c[F>>2];Gc(P|0,64576,I|0)|0;break}U=jd[c[c[j>>2]>>2]&511](j)|0;K=c[H>>2]|0;if(U){me(f,K>>>8&255)|0;me(f,c[H>>2]&255)|0;break}else{me(f,K&255)|0;break}}}while(0);if((c[F>>2]|0)==32){K=c[g>>2]|0;L=T?R:C;T=1}else{K=S;L=R;T=0}R=c[x>>2]|0;if((R|0)>(C|0)){h[v>>3]=0.0;xd[c[(c[j>>2]|0)+12>>2]&3](j,(c[e>>2]|0)+C|0,R-C|0,t,o,q,r,s,b,u)|0;N=O+ +h[v>>3]}else{N=O}if(M&N>l){B=37;break}S=K;R=L;T=T<<24>>24!=0;O=N}do{if((B|0)==15){if((E|0)>=(c[z>>2]|0)){D=O;break}B=c[y>>2]|0;f=a[B+E|0]|0;if(!A){if(f<<24>>24!=10){D=O;break}c[g>>2]=E+1;D=O;break}if(f<<24>>24!=0){D=O;break}if((a[B+(E+1)|0]|0)!=10){D=O;break}c[g>>2]=E+2;D=O}else if((B|0)==37){if((L|0)>0){c[g>>2]=K;re(f,L,(c[x>>2]|0)-L|0)|0;D=N;break}if((C|0)<=0){D=N;break}c[g>>2]=Q;re(f,C,(c[x>>2]|0)-C|0)|0;D=N}}while(0);do{if(M&D>l){f=c[g>>2]|0;C=c[z>>2]|0;B=(f|0)<(C|0);if(!A){a:do{if(B){A=C;do{if((a[(c[y>>2]|0)+f|0]|0)!=32){break a}f=f+1|0;c[g>>2]=f;A=c[z>>2]|0;}while((f|0)<(A|0))}else{A=C}}while(0);do{if((f|0)<(A|0)){if((a[(c[y>>2]|0)+f|0]|0)!=13){break}f=f+1|0;c[g>>2]=f;A=c[z>>2]|0}}while(0);if((f|0)>=(A|0)){break}if((a[(c[y>>2]|0)+f|0]|0)!=10){break}c[g>>2]=f+1;break}b:do{if(B){A=C;do{B=c[y>>2]|0;if((a[B+f|0]|0)!=0){break b}if((a[B+(f+1)|0]|0)!=32){break b}f=f+2|0;c[g>>2]=f;A=c[z>>2]|0;}while((f|0)<(A|0))}else{A=C}}while(0);do{if((f|0)<(A|0)){B=c[y>>2]|0;if((a[B+f|0]|0)!=0){break}if((a[B+(f+1)|0]|0)!=13){break}f=f+2|0;c[g>>2]=f;A=c[z>>2]|0}}while(0);if((f|0)>=(A|0)){break}y=c[y>>2]|0;if((a[y+f|0]|0)!=0){break}if((a[y+(f+1)|0]|0)!=10){break}c[g>>2]=f+2}}while(0);y=(k|0)!=0;if((m|0)==0&(y^1)){i=w;return}g=c[e>>2]|0;x=c[x>>2]|0;if(y){h[k>>3]=0.0}e=(m|0)!=0;if(e){c[m>>2]=0}if((x|0)<=0){i=w;return}if(y){if(e){while(1){h[v>>3]=0.0;e=xd[c[(c[j>>2]|0)+12>>2]&3](j,g,x,t,o,q,r,s,b,u)|0;if((e|0)==0){B=81;break}h[k>>3]=+h[v>>3]+ +h[k>>3];c[m>>2]=(c[m>>2]|0)+1;x=x-e|0;if((x|0)>0){g=g+e|0}else{B=81;break}}if((B|0)==81){i=w;return}}else{while(1){h[v>>3]=0.0;m=xd[c[(c[j>>2]|0)+12>>2]&3](j,g,x,t,o,q,r,s,b,u)|0;if((m|0)==0){B=81;break}h[k>>3]=+h[v>>3]+ +h[k>>3];x=x-m|0;if((x|0)>0){g=g+m|0}else{B=81;break}}if((B|0)==81){i=w;return}}}else{if(e){while(1){h[v>>3]=0.0;k=xd[c[(c[j>>2]|0)+12>>2]&3](j,g,x,t,o,q,r,s,b,u)|0;if((k|0)==0){B=81;break}c[m>>2]=(c[m>>2]|0)+1;x=x-k|0;if((x|0)>0){g=g+k|0}else{B=81;break}}if((B|0)==81){i=w;return}}else{while(1){h[v>>3]=0.0;m=xd[c[(c[j>>2]|0)+12>>2]&3](j,g,x,t,o,q,r,s,b,u)|0;if((m|0)==0){B=81;break}x=x-m|0;if((x|0)>0){g=g+m|0}else{B=81;break}}if((B|0)==81){i=w;return}}}}function ms(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;b=i;g=i;i=i+8|0;h=g;me(e,40)|0;f=d+24|0;if((c[f>>2]|0)<=0){me(e,41)|0;i=b;return}d=d+28|0;j=0;do{k=a[(c[d>>2]|0)+j|0]|0;do{if(k<<24>>24==92|k<<24>>24==41|k<<24>>24==40){me(e,92)|0;me(e,k)|0}else{if(k<<24>>24<32){c[g>>2]=k&255;pe(e,64624,h)|0;break}else{me(e,k)|0;break}}}while(0);j=j+1|0;}while((j|0)<(c[f>>2]|0));me(e,41)|0;i=b;return}function ns(b,d,e,f,g,j,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0.0,ma=0,na=0,oa=0,pa=0.0,qa=0,ra=0,sa=0.0,ta=0.0,ua=0.0,va=0.0,wa=0.0,xa=0;p=i;A=i;i=i+8|0;aa=A;$=i;i=i+16|0;_=$;da=i;i=i+8|0;ea=da;ba=i;i=i+8|0;ca=ba;ja=i;i=i+8|0;ka=ja;E=i;i=i+8|0;D=E;V=i;i=i+16|0;U=V;Y=i;i=i+8|0;Z=Y;X=i;i=i+8|0;W=X;ha=i;i=i+8|0;ia=ha;w=i;i=i+16|0;x=w;C=i;i=i+8|0;M=C;N=i;i=i+8|0;O=N;S=i;i=i+8|0;Q=S;u=i;i=i+8|0;z=i;i=i+8|0;oa=i;i=i+8|0;s=i;i=i+8|0;y=s;r=i;i=i+8|0;v=r;na=i;i=i+8|0;ma=na;fa=i;i=i+8|0;ga=fa;K=i;i=i+8|0;J=i;i=i+8|0;I=i;i=i+8|0;L=i;i=i+8|0;B=L;H=i;i=i+8|0;G=i;i=i+8|0;F=i;i=i+8|0;do{if((e|0)==0){q=0;T=37}else{q=FW(16)|0;wo(q);c[r>>2]=0;t=e+24|0;ra=c[t>>2]|0;if((ra|0)>0){P=e+28|0;qa=0;do{a:do{if((qa|0)<(ra|0)){while(1){ra=hE(a[(c[P>>2]|0)+qa|0]|0)|0;qa=c[r>>2]|0;if(!ra){break}qa=qa+1|0;c[r>>2]=qa;ra=c[t>>2]|0;if((qa|0)>=(ra|0)){break a}}ra=c[t>>2]|0}}while(0);if((qa|0)<(ra|0)){while(1){qa=qa+1|0;if((qa|0)>=(ra|0)){break}if(hE(a[(c[P>>2]|0)+qa|0]|0)|0){break}ra=c[t>>2]|0}ra=FW(32)|0;xa=c[r>>2]|0;he(ra,e,xa,qa-xa|0);yo(q,ra);c[r>>2]=qa;ra=c[t>>2]|0}}while((qa|0)<(ra|0))}c[r>>2]=2;t=q+8|0;if((c[t>>2]|0)<=2){T=37;break}qa=2;e=-1;P=-1;do{do{if((qa|0)>1){xa=(te(c[(c[q>>2]|0)+(qa<<2)>>2]|0,64640)|0)==0;ra=c[r>>2]|0;if(xa){qa=ra;e=ra+ -2|0;break}if((ra|0)<=5){qa=ra;break}xa=(te(c[(c[q>>2]|0)+(ra<<2)>>2]|0,64648)|0)==0;ra=c[r>>2]|0;qa=ra;P=xa?ra+ -6|0:P}}while(0);qa=qa+1|0;c[r>>2]=qa;}while((qa|0)<(c[t>>2]|0));ra=(e|0)>-1;do{if(ra&n){qa=c[(c[q>>2]|0)+(e<<2)>>2]|0;if((te(qa,64656)|0)==0){T=25;break}le(qa)|0;ne(qa,64656,-1)|0;u=q}else{T=25}}while(0);if((T|0)==25){if(!ra){T=37;break}u=q}qa=c[(c[u>>2]|0)+(e<<2)>>2]|0;do{if((c[qa+24>>2]|0)>0){qa=c[qa+28>>2]|0;if((a[qa]|0)!=47){T=36;break}if((f|0)!=0){z=wy(f,qa+1|0)|0;if((z|0)!=0){A=0;break}}if(!n){Qe(-1,64688,oa);z=0;A=0;break}oa=FW(24)|0;ra=b+112|0;Qu(oa,c[ra>>2]|0);z=FW(3544)|0;ra=c[ra>>2]|0;c[na>>2]=0;c[ma+4>>2]=0;xa=FW(32)|0;fe(xa,64672);$W(A|0,na|0,8)|0;by(z,ra,64664,aa,xa,1,oa);if((oa|0)!=0){Su(oa);HW(oa)}a[b+177|0]=1;A=1}else{T=36}}while(0);if((T|0)==36){Qe(-1,64728,z);z=0;A=0}ma=e+1|0;pa=+Ie(c[(c[(c[u>>2]|0)+(ma<<2)>>2]|0)+28>>2]|0);if((z|0)==0){break}T=c[b+128>>2]|0;if((T|0)==0){la=0.0}else{la=+wd[c[(c[T>>2]|0)+12>>2]&1](T)}do{if(o){xa=ve(d)|0;o=c[d+24>>2]|0;if(xa){o=(o+ -2|0)/2|0}d=FW(32)|0;ee(d);c[r>>2]=0;if((o|0)<=0){o=0;break}while(1){me(d,42)|0;xa=(c[r>>2]|0)+1|0;c[r>>2]=xa;if((xa|0)>=(o|0)){o=0;break}}}else{o=1}}while(0);T=FW(32)|0;ee(T);aa=b+124|0;if(m){ne(c[aa>>2]|0,64832,-1)|0}ne(c[aa>>2]|0,56352,-1)|0;ne(c[aa>>2]|0,64848,-1)|0;do{if(g){B=b+28|0;E=c[B>>2]|0;sa=+h[E+16>>3]- +h[E>>3]-la*2.0+-4.0;if(pa==0.0){j=d+24|0;D=c[j>>2]|0;pa=20.0;while(1){ua=+h[E+24>>3]- +h[E+8>>3];c[r>>2]=0;if((D|0)>0){ta=sa/pa;while(1){ls(0,d,T,v,z,y,ta,0,n);ua=ua-pa;D=c[j>>2]|0;if((c[r>>2]|0)<(D|0)){}else{break}}}if(ua>=pa*.33){break}pa=pa+-1.0;if(pa<=1.0){break}E=c[B>>2]|0}E=c[(c[u>>2]|0)+(ma<<2)>>2]|0;le(E)|0;xa=S;h[k>>3]=pa;c[xa>>2]=c[k>>2];c[xa+4>>2]=c[k+4>>2];pe(E,64856,Q)|0;E=c[B>>2]|0}ta=+h[E+24>>3]- +h[E+8>>3];if((P|0)>-1){xa=c[(c[u>>2]|0)+(P+4<<2)>>2]|0;le(xa)|0;me(xa,48)|0;xa=c[(c[u>>2]|0)+(P+5<<2)>>2]|0;le(xa)|0;ra=N;h[k>>3]=ta;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];pe(xa,64856,O)|0}do{if((q|0)!=0){c[r>>2]=0;if((c[t>>2]|0)>0){j=0}else{break}do{me(oe(c[aa>>2]|0,c[(c[u>>2]|0)+(j<<2)>>2]|0)|0,32)|0;j=(c[r>>2]|0)+1|0;c[r>>2]=j;}while((j|0)<(c[t>>2]|0))}}while(0);if((P|0)<0){xa=c[aa>>2]|0;ra=C;h[k>>3]=ta;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];pe(xa,64864,M)|0}c[r>>2]=0;j=d+24|0;if((c[j>>2]|0)<=0){break}sa=sa/pa;ua=la+2.0;ta=-0.0-pa;va=0.0;while(1){ls(0,d,T,v,z,y,sa,0,n);wa=pa*+h[s>>3];h[s>>3]=wa;if((l|0)==2){xa=c[B>>2]|0;wa=+h[xa+16>>3]- +h[xa>>3]-la+-2.0-wa}else if((l|0)==1){xa=c[B>>2]|0;wa=(+h[xa+16>>3]- +h[xa>>3]-wa)*.5}else{wa=ua}xa=c[aa>>2]|0;ra=w;h[k>>3]=wa-va;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];ra=x+8|0;h[k>>3]=ta;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];pe(xa,64888,x)|0;ms(0,T,c[aa>>2]|0);ne(c[aa>>2]|0,64912,-1)|0;if((c[r>>2]|0)<(c[j>>2]|0)){va=wa}else{break}}}else{if((j|0)<=0){c[r>>2]=0;ls(0,d,T,v,z,y,0.0,0,n);if(pa==0.0){xa=c[b+28>>2]|0;sa=la*2.0;pa=+h[xa+24>>3]- +h[xa+8>>3]-sa;sa=(+h[xa+16>>3]- +h[xa>>3]+-4.0-sa)/+h[s>>3];pa=+R(+(sa<pa?sa:pa));xa=c[(c[u>>2]|0)+(ma<<2)>>2]|0;le(xa)|0;ra=ja;h[k>>3]=pa;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];pe(xa,64856,ka)|0}sa=pa*+h[s>>3];h[s>>3]=sa;if((l|0)==1){xa=c[b+28>>2]|0;s=xa;la=(+h[xa+16>>3]- +h[xa>>3]-sa)*.5}else if((l|0)==2){xa=c[b+28>>2]|0;s=xa;la=+h[xa+16>>3]- +h[xa>>3]-la+-2.0-sa}else{s=c[b+28>>2]|0;la=la+2.0}pa=(+h[s+24>>3]- +h[s+8>>3])*.5-pa*.4;if((P|0)>-1){xa=c[(c[u>>2]|0)+(P+4<<2)>>2]|0;le(xa)|0;ra=ba;h[k>>3]=la;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];pe(xa,64856,ca)|0;xa=c[(c[u>>2]|0)+(P+5<<2)>>2]|0;le(xa)|0;ra=da;h[k>>3]=pa;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];pe(xa,64856,ea)|0}do{if((q|0)!=0){c[r>>2]=0;if((c[t>>2]|0)>0){s=0}else{break}do{me(oe(c[aa>>2]|0,c[(c[u>>2]|0)+(s<<2)>>2]|0)|0,32)|0;s=(c[r>>2]|0)+1|0;c[r>>2]=s;}while((s|0)<(c[t>>2]|0))}}while(0);if((P|0)<0){xa=c[aa>>2]|0;ra=$;h[k>>3]=la;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];ra=_+8|0;h[k>>3]=pa;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];pe(xa,64920,_)|0}ms(0,T,c[aa>>2]|0);ne(c[aa>>2]|0,64912,-1)|0;break}w=b+28|0;x=c[w>>2]|0;ta=la*2.0;sa=(+h[x+16>>3]- +h[x>>3]-ta)/+(j|0);h[s>>3]=sa;if(pa==0.0){pa=+h[x+24>>3]- +h[x+8>>3]-ta;pa=+R(+(sa<pa?sa:pa));xa=c[(c[u>>2]|0)+(ma<<2)>>2]|0;le(xa)|0;ra=ha;h[k>>3]=pa;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];pe(xa,64856,ia)|0}c[r>>2]=0;ls(0,d,T,v,z,0,0.0,ga,n);v=c[fa>>2]|0;if((v|0)>(j|0)){c[fa>>2]=j;v=j}if((l|0)==1){la=la+ +((j-v|0)/2|0|0)*+h[s>>3]}else if((l|0)==2){la=la+ +h[s>>3]*+(j-v|0)}xa=c[w>>2]|0;sa=(+h[xa+24>>3]- +h[xa+8>>3])*.5-pa*.4;if((P|0)>-1){xa=c[(c[u>>2]|0)+(P+4<<2)>>2]|0;le(xa)|0;ra=X;h[k>>3]=la;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];pe(xa,64856,W)|0;xa=c[(c[u>>2]|0)+(P+5<<2)>>2]|0;le(xa)|0;ra=Y;h[k>>3]=sa;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];pe(xa,64856,Z)|0}do{if((q|0)!=0){c[r>>2]=0;if((c[t>>2]|0)>0){l=0}else{break}do{me(oe(c[aa>>2]|0,c[(c[u>>2]|0)+(l<<2)>>2]|0)|0,32)|0;l=(c[r>>2]|0)+1|0;c[r>>2]=l;}while((l|0)<(c[t>>2]|0))}}while(0);if((P|0)<0){xa=c[aa>>2]|0;ra=V;h[k>>3]=la;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];ra=U+8|0;h[k>>3]=sa;c[ra>>2]=c[k>>2];c[ra+4>>2]=c[k+4>>2];pe(xa,64920,U)|0}v=c[T+28>>2]|0;l=c[T+24>>2]|0;c[r>>2]=0;if((l|0)<=0){break}sa=+h[s>>3];while(1){h[L>>3]=0.0;n=xd[c[(c[z>>2]|0)+12>>2]&3](z,v,l,K,J,I,B,H,G,F)|0;la=pa*+h[L>>3];h[L>>3]=la;wa=+h[s>>3];la=(wa-la)*.5;w=c[aa>>2]|0;xa=E;h[k>>3]=wa+(la-sa);c[xa>>2]=c[k>>2];c[xa+4>>2]=c[k+4>>2];pe(w,64952,D)|0;w=FW(32)|0;ge(w,v,n);ms(0,w,c[aa>>2]|0);ne(c[aa>>2]|0,64912,-1)|0;if((w|0)!=0){ke(w);HW(w)}xa=(c[r>>2]|0)+1|0;c[r>>2]=xa;l=l-n|0;if((xa|0)<(j|0)&(l|0)>0){v=v+n|0;sa=la}else{break}}}}while(0);ne(c[aa>>2]|0,64968,-1)|0;ne(c[aa>>2]|0,63808,-1)|0;if(m){ne(c[aa>>2]|0,64976,-1)|0}if((q|0)!=0){m=c[t>>2]|0;if((m|0)>0){r=0;do{s=c[(c[u>>2]|0)+(r<<2)>>2]|0;if((s|0)!=0){ke(s);HW(s);m=c[t>>2]|0}r=r+1|0;}while((r|0)<(m|0))}xo(q);HW(q)}if(!(o|(d|0)==0)){ke(d);HW(d)}if((T|0)!=0){ke(T);HW(T)}if(!A){i=p;return}Yx(z);i=p;return}}while(0);if((T|0)==37){Qe(-1,64784,u)}if((q|0)==0){i=p;return}r=q+8|0;s=c[r>>2]|0;if((s|0)>0){m=0;do{t=c[(c[q>>2]|0)+(m<<2)>>2]|0;if((t|0)!=0){ke(t);HW(t);s=c[r>>2]|0}m=m+1|0;}while((m|0)<(s|0))}xo(q);HW(q);i=p;return}function os(b,d,e,f,g,j,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0.0,Q=0.0,S=0,T=0,U=0,V=0;n=i;x=i;i=i+16|0;y=x;v=i;i=i+8|0;w=v;A=i;i=i+8|0;u=A;s=i;i=i+32|0;t=s;C=i;i=i+8|0;D=C;I=i;i=i+8|0;H=i;i=i+8|0;G=i;i=i+8|0;r=i;i=i+8|0;q=r;z=i;i=i+8|0;p=z;do{if((j|0)==0){o=0;E=28}else{o=FW(16)|0;wo(o);B=j+24|0;T=c[B>>2]|0;if((T|0)>0){J=j+28|0;S=0;do{a:do{if((S|0)<(T|0)){while(1){V=hE(a[(c[J>>2]|0)+S|0]|0)|0;U=S+1|0;T=c[B>>2]|0;if(!V){break a}if((U|0)<(T|0)){S=U}else{S=U;break}}}}while(0);if((S|0)<(T|0)){U=S+1|0;c[z>>2]=U;b:do{if((U|0)<(T|0)){do{V=hE(a[(c[J>>2]|0)+U|0]|0)|0;U=c[z>>2]|0;if(V){break b}U=U+1|0;c[z>>2]=U;}while((U|0)<(c[B>>2]|0))}}while(0);T=FW(32)|0;he(T,j,S,U-S|0);yo(o,T);T=c[B>>2]|0;S=c[z>>2]|0}}while((S|0)<(T|0))}B=o+8|0;if((c[B>>2]|0)<=2){E=28;break}S=2;J=-1;j=-1;do{do{if((S|0)>1){if((te(c[(c[o>>2]|0)+(S<<2)>>2]|0,64640)|0)==0){J=S+ -2|0;break}if((S|0)<=5){break}V=(te(c[(c[o>>2]|0)+(S<<2)>>2]|0,64648)|0)==0;j=V?S+ -6|0:j}}while(0);S=S+1|0;}while((S|0)<(c[B>>2]|0));if((J|0)<=-1){E=28;break}I=c[(c[o>>2]|0)+(J<<2)>>2]|0;do{if((c[I+24>>2]|0)>0){I=c[I+28>>2]|0;if((a[I]|0)!=47){E=27;break}if((l|0)!=0){l=wy(l,I+1|0)|0;if((l|0)!=0){break}}Qe(-1,64688,G);l=0}else{E=27}}while(0);if((E|0)==27){Qe(-1,64728,H);l=0}G=J+1|0;L=+Ie(c[(c[(c[o>>2]|0)+(G<<2)>>2]|0)+28>>2]|0);if((l|0)==0){break}E=FW(32)|0;ee(E);H=c[b+128>>2]|0;if((H|0)==0){F=0.0}else{F=+wd[c[(c[H>>2]|0)+12>>2]&1](H)}if(L==0.0){if((f|0)>0){H=0;K=0.0;while(1){c[z>>2]=0;ls(0,c[d+(H<<2)>>2]|0,E,p,l,q,0.0,0,0);L=+h[r>>3];K=L>K?L:K;H=H+1|0;if((H|0)<(f|0)){}else{break}}}else{K=0.0}H=b+28|0;V=c[H>>2]|0;Q=F*2.0;L=+h[V+24>>3]- +h[V+8>>3]-Q;K=(+h[V+16>>3]- +h[V>>3]+-4.0-Q)/K;L=+R(+(K<L?K:L));V=c[(c[o>>2]|0)+(G<<2)>>2]|0;le(V)|0;h[k>>3]=L;c[C>>2]=c[k>>2];c[C+4>>2]=c[k+4>>2];pe(V,64856,D)|0;C=H}else{C=b+28|0}J=c[C>>2]|0;K=L*1.1;if((g|0)<(f|0)){I=b+124|0;M=F+2.0;b=(j|0)>-1;G=j+4|0;D=j+5|0;H=(o|0)==0;j=(j|0)<0;N=L*.2;O=F*2.0;P=+h[J+24>>3]- +h[J+8>>3];do{P=P-K;ne(c[I>>2]|0,56352,-1)|0;J=e+g|0;if((a[J]&1)!=0){ne(c[I>>2]|0,64984,-1)|0;V=c[I>>2]|0;U=c[C>>2]|0;Q=+h[U+16>>3]- +h[U>>3]-O;U=s;h[k>>3]=F;c[U>>2]=c[k>>2];c[U+4>>2]=c[k+4>>2];U=t+8|0;h[k>>3]=P-N;c[U>>2]=c[k>>2];c[U+4>>2]=c[k+4>>2];U=t+16|0;h[k>>3]=Q;c[U>>2]=c[k>>2];c[U+4>>2]=c[k+4>>2];U=t+24|0;h[k>>3]=K;c[U>>2]=c[k>>2];c[U+4>>2]=c[k+4>>2];pe(V,64992,t)|0}ne(c[I>>2]|0,64848,-1)|0;c[z>>2]=0;ls(0,c[d+(g<<2)>>2]|0,E,p,l,q,0.0,0,0);Q=L*+h[r>>3];h[r>>3]=Q;if((m|0)==1){V=c[C>>2]|0;Q=(+h[V+16>>3]- +h[V>>3]-Q)*.5}else if((m|0)==2){V=c[C>>2]|0;Q=+h[V+16>>3]- +h[V>>3]-F+-2.0-Q}else{Q=M}if(b){V=c[(c[o>>2]|0)+(G<<2)>>2]|0;le(V)|0;U=A;h[k>>3]=Q;c[U>>2]=c[k>>2];c[U+4>>2]=c[k+4>>2];pe(V,64856,u)|0;V=c[(c[o>>2]|0)+(D<<2)>>2]|0;le(V)|0;U=v;h[k>>3]=P;c[U>>2]=c[k>>2];c[U+4>>2]=c[k+4>>2];pe(V,64856,w)|0}do{if(!H){c[z>>2]=0;if((c[B>>2]|0)>0){S=0}else{break}do{me(oe(c[I>>2]|0,c[(c[o>>2]|0)+(S<<2)>>2]|0)|0,32)|0;S=(c[z>>2]|0)+1|0;c[z>>2]=S;}while((S|0)<(c[B>>2]|0))}}while(0);if(j){V=c[I>>2]|0;U=x;h[k>>3]=Q;c[U>>2]=c[k>>2];c[U+4>>2]=c[k+4>>2];U=y+8|0;h[k>>3]=P;c[U>>2]=c[k>>2];c[U+4>>2]=c[k+4>>2];pe(V,64920,y)|0}if((a[J]&1)!=0){ne(c[I>>2]|0,65032,-1)|0}ms(0,E,c[I>>2]|0);ne(c[I>>2]|0,64912,-1)|0;ne(c[I>>2]|0,64968,-1)|0;ne(c[I>>2]|0,63808,-1)|0;g=g+1|0;}while((g|0)<(f|0))}if((o|0)!=0){q=c[B>>2]|0;if((q|0)>0){p=0;do{r=c[(c[o>>2]|0)+(p<<2)>>2]|0;if((r|0)!=0){ke(r);HW(r);q=c[B>>2]|0}p=p+1|0;}while((p|0)<(q|0))}xo(o);HW(o)}if((E|0)==0){i=n;return}ke(E);HW(E);i=n;return}}while(0);if((E|0)==28){Qe(-1,64784,I)}if((o|0)==0){i=n;return}p=o+8|0;r=c[p>>2]|0;if((r|0)>0){q=0;do{m=c[(c[o>>2]|0)+(q<<2)>>2]|0;if((m|0)!=0){ke(m);HW(m);r=c[p>>2]|0}q=q+1|0;}while((q|0)<(r|0))}xo(o);HW(o);i=n;return}function ps(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0.0,Gb=0,Hb=0,Ib=0.0,Jb=0.0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,id=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ge=0,he=0,je=0,le=0.0,me=0.0,oe=0.0,qe=0.0,re=0.0,te=0.0,ue=0.0,ve=0.0,we=0.0,xe=0.0,ze=0.0,Ae=0.0;f=i;d=i;i=i+8|0;m=d;z=i;i=i+8|0;v=z;l=i;i=i+8|0;j=l;C=i;i=i+8|0;B=C;H=i;i=i+8|0;G=H;Q=i;i=i+8|0;O=Q;S=i;i=i+8|0;U=S;W=i;i=i+8|0;V=W;Y=i;i=i+8|0;X=Y;_=i;i=i+8|0;$=_;aa=i;i=i+8|0;ba=aa;ca=i;i=i+8|0;da=ca;ga=i;i=i+8|0;fa=ga;cb=i;i=i+8|0;oa=i;i=i+8|0;pa=oa;sa=i;i=i+8|0;ta=sa;ra=i;i=i+8|0;qa=ra;Da=i;i=i+8|0;Ea=Da;Ba=i;i=i+8|0;Ca=Ba;Sa=i;i=i+8|0;Ra=Sa;Ta=i;i=i+8|0;Wa=Ta;Za=i;i=i+8|0;ab=Za;Ja=i;i=i+8|0;Ma=Ja;Va=i;i=i+8|0;Ua=Va;Xa=i;i=i+8|0;Ya=Xa;Pa=i;i=i+8|0;Oa=Pa;wa=i;i=i+16|0;va=wa;za=i;i=i+32|0;ua=za;Aa=i;i=i+40|0;ya=Aa;Ia=i;i=i+8|0;Ha=Ia;Ka=i;i=i+8|0;Na=Ka;$a=i;i=i+8|0;bb=$a;fb=i;i=i+8|0;gb=fb;mb=i;i=i+24|0;lb=mb;od=i;i=i+8|0;nd=od;qd=i;i=i+16|0;kd=qd;ud=i;i=i+32|0;rd=ud;md=i;i=i+40|0;vd=md;Nd=i;i=i+8|0;Id=Nd;Pd=i;i=i+8|0;Qd=Pd;pc=i;i=i+8|0;qc=pc;nc=i;i=i+16|0;oc=nc;lc=i;i=i+16|0;mc=lc;jc=i;i=i+16|0;kc=jc;hc=i;i=i+8|0;ic=hc;xc=i;i=i+16|0;yc=xc;vc=i;i=i+32|0;wc=vc;sc=i;i=i+40|0;uc=sc;Oc=i;i=i+8|0;Nc=Oc;Xc=i;i=i+8|0;Wc=Xc;Zc=i;i=i+16|0;Yc=Zc;Uc=i;i=i+16|0;_c=Uc;td=i;i=i+16|0;gd=td;id=i;i=i+8|0;sd=id;xd=i;i=i+16|0;pd=xd;Cd=i;i=i+32|0;yd=Cd;Ad=i;i=i+40|0;Bd=Ad;Hd=i;i=i+8|0;Gd=Hd;ac=i;i=i+24|0;$b=ac;Vb=i;i=i+16|0;Ub=Vb;Xb=i;i=i+32|0;Wb=Xb;Zb=i;i=i+40|0;Yb=Zb;Kc=i;i=i+8|0;Jc=Kc;Lc=i;i=i+8|0;Mc=Lc;Vc=i;i=i+8|0;Tc=Vc;ob=i;i=i+48|0;vb=ob;sb=i;i=i+48|0;tb=sb;wb=i;i=i+16|0;ub=wb;qb=i;i=i+16|0;rb=qb;zb=i;i=i+32|0;pb=zb;yb=i;i=i+40|0;nb=yb;Bb=i;i=i+8|0;Cb=Bb;Eb=i;i=i+48|0;Db=Eb;Hb=i;i=i+48|0;Gb=Hb;Kb=i;i=i+16|0;Lb=Kb;fc=i;i=i+16|0;Tb=fc;cc=i;i=i+32|0;gc=cc;bc=i;i=i+40|0;dc=bc;Ec=i;i=i+8|0;Gc=Ec;cd=i;i=i+16|0;bd=cd;ed=i;i=i+32|0;dd=ed;ad=i;i=i+40|0;$c=ad;Ed=i;i=i+8|0;Dd=Ed;Jd=i;i=i+8|0;Ld=Jd;Qb=i;i=i+16|0;Sb=Qb;Ob=i;i=i+32|0;Pb=Ob;Mb=i;i=i+40|0;Nb=Mb;Ac=i;i=i+8|0;Bc=Ac;Dc=i;i=i+8|0;Cc=Dc;Rc=i;i=i+8|0;Sc=Rc;Rd=i;i=i+8|0;Od=Rd;Xd=i;i=i+16|0;Vd=Xd;_d=i;i=i+16|0;Yd=_d;Zd=i;i=i+32|0;Sd=Zd;Td=i;i=i+40|0;Wd=Td;$d=i;i=i+8|0;ae=$d;be=i;i=i+8|0;ce=be;ge=i;i=i+8|0;ib=ge;A=i;i=i+8|0;he=A;de=i;i=i+16|0;e=de;db=i;i=i+16|0;n=db;R=i;i=i+16|0;M=R;T=i;i=i+16|0;P=T;K=i;i=i+16|0;E=K;I=i;i=i+16|0;F=I;ja=i;i=i+16|0;ha=ja;jb=i;i=i+40|0;Ud=jb;zc=i;i=i+40|0;Rb=zc;Fd=i;i=i+40|0;fd=Fd;Fc=i;i=i+40|0;ec=Fc;Ab=i;i=i+40|0;xb=Ab;Hc=i;i=i+40|0;_b=Hc;Md=i;i=i+40|0;zd=Md;Pc=i;i=i+40|0;rc=Pc;Kd=i;i=i+40|0;ld=Kd;Fa=i;i=i+40|0;xa=Fa;w=i;i=i+8|0;y=w;x=i;i=i+8|0;u=i;i=i+16|0;p=u;t=i;i=i+16|0;q=t;s=i;i=i+16|0;o=s;r=i;i=i+8|0;c[de>>2]=13;kb=e+8|0;c[kb>>2]=0;c[kb+4>>2]=0;c[db>>2]=13;eb=n+8|0;c[eb>>2]=0;c[eb+4>>2]=0;c[R>>2]=13;N=M+8|0;c[N>>2]=0;c[N+4>>2]=0;c[T>>2]=13;hb=P+8|0;c[hb>>2]=0;c[hb+4>>2]=0;c[K>>2]=13;J=E+8|0;c[J>>2]=0;ea=J+4|0;c[ea>>2]=0;c[I>>2]=13;D=F+8|0;c[D>>2]=0;c[D+4>>2]=0;c[ja>>2]=13;ia=ha+8|0;c[ia>>2]=0;c[ia+4>>2]=0;L=b+152|0;Z=c[L>>2]|0;if((Z|0)==0){i=f;return}ma=c[Z+4>>2]|0;if((ma|0)==0){i=f;return}if((c[ma+24>>2]|0)!=7){i=f;return}ma=c[ma+32>>2]|0;je=c[Z+16>>2]|0;if((je|0)!=7){c[A>>2]=je;c[he+4>>2]=7;Qe(0,72520,he);tc()}A=c[Z+24>>2]|0;je=c[(c[b+148>>2]|0)+16>>2]|0;he=c[je>>2]|0;if((he|0)!=7){c[ge>>2]=he;c[ib+4>>2]=7;Qe(0,72520,ib);tc()}ib=c[je+8>>2]|0;if(((a[b+176|0]|a[Z+45|0])&1)==0){i=f;return}je=FW(32)|0;ee(je);Z=b+124|0;c[Z>>2]=je;do{if((c[(Yu(A,64512,e,0)|0)>>2]|0)==7){de=c[de>>2]|0;if((de|0)!=7){c[be>>2]=de;c[ce+4>>2]=7;Qe(0,72520,ce);tc()}kb=c[kb>>2]|0;if((kb|0)==0){jb=0;kb=0;break}do{if((c[(Yu(kb,55456,E,0)|0)>>2]|0)==6){be=c[K>>2]|0;if((be|0)!=6){c[$d>>2]=be;c[ae+4>>2]=6;Qe(0,72520,ae);tc()}$d=c[J>>2]|0;if((c[$d+12>>2]|0)<=0){break}vr(Ud,$d,0);$d=c[Ud+32>>2]|0;if(($d|0)==3){je=c[Z>>2]|0;xe=+h[Ud+8>>3];ze=+h[Ud+16>>3];he=Zd;h[k>>3]=+h[jb>>3];c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Sd+8|0;h[k>>3]=xe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Sd+16|0;h[k>>3]=ze;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[Sd+24>>2]=55800;pe(je,55768,Sd)|0}else if(($d|0)==4){je=c[Z>>2]|0;we=+h[Ud+8>>3];xe=+h[Ud+16>>3];ze=+h[Ud+24>>3];he=Td;h[k>>3]=+h[jb>>3];c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Wd+8|0;h[k>>3]=we;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Wd+16|0;h[k>>3]=xe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Wd+24|0;h[k>>3]=ze;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[Wd+32>>2]=107;pe(je,55728,Wd)|0}else if(($d|0)==1){je=c[Z>>2]|0;he=_d;h[k>>3]=+h[jb>>3];c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[Yd+8>>2]=103;pe(je,55816,Yd)|0}je=c[Z>>2]|0;ge=c[b+28>>2]|0;ze=+h[ge+24>>3]- +h[ge+8>>3];he=Xd;h[k>>3]=+h[ge+16>>3]- +h[ge>>3];c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Vd+8|0;h[k>>3]=ze;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];pe(je,65040,Vd)|0}}while(0);Of(E);jb=1}else{jb=0;kb=0}}while(0);pv(ma,65072,n)|0;do{if((c[(pv(ma,65080,E)|0)>>2]|0)==1){Sd=c[K>>2]|0;if((Sd|0)==1){Ga=c[J>>2]|0;break}else{c[Rd>>2]=Sd;c[Od+4>>2]=1;Qe(0,72520,Od);tc()}}else{Ga=0}}while(0);Of(E);do{if(jb){Od=b+128|0;Rd=c[Od>>2]|0;if((Rd|0)==0){break}Fb=+wd[c[(c[Rd>>2]|0)+12>>2]&1](Rd);if(Fb<=0.0){break}Yu(kb,55448,E,0)|0;if((c[K>>2]|0)==6){if((c[(c[J>>2]|0)+12>>2]|0)>0){ka=33}else{ka=32}}else{ka=32}if((ka|0)==32){Yu(kb,55456,E,0)|0;if((c[K>>2]|0)==6){ka=33}}a:do{if((ka|0)==33){if((c[(c[J>>2]|0)+12>>2]|0)<=0){break}Rd=c[b+28>>2]|0;Jb=+h[Rd+16>>3]- +h[Rd>>3];Ib=+h[Rd+24>>3]- +h[Rd+8>>3];Rd=(c[(Yu(kb,55464,F,0)|0)>>2]|0)==3;Of(F);do{if((c[db>>2]|0)==4){if((Qc(c[eb>>2]|0,65088)|0)!=0){break}if((Ga&32768|0)==0|Rd){break}le=(Jb<Ib?Jb:Ib)*.5;je=c[Od>>2]|0;switch(jd[c[(c[je>>2]|0)+24>>2]&511](je)|0){case 1:{ne(c[Z>>2]|0,64248,-1)|0;lb=c[Od>>2]|0;lb=jd[c[(c[lb>>2]|0)+16>>2]&511](lb)|0;mb=c[Od>>2]|0;mb=jd[c[(c[mb>>2]|0)+20>>2]&511](mb)|0;nb=c[Z>>2]|0;if((lb|0)>0){ob=0;while(1){je=Rc;h[k>>3]=+h[mb+(ob<<3)>>3];c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(nb,64256,Sc)|0;ob=ob+1|0;nb=c[Z>>2]|0;if((ob|0)<(lb|0)){}else{break}}}ne(nb,65096,-1)|0;break};case 4:case 0:{break};case 3:case 2:{lb=c[Z>>2]|0;je=Jd;h[k>>3]=Fb*.5;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(lb,64288,Ld)|0;lb=c[K>>2]|0;if((lb|0)!=6){c[Ed>>2]=lb;c[Dd+4>>2]=6;Qe(0,72520,Dd);tc()}vr(fd,c[J>>2]|0,0);qe=+h[Fd>>3];oe=+h[fd+8>>3];me=+h[fd+16>>3];lb=c[fd+32>>2]|0;if((lb|0)==4){ze=+h[fd+24>>3];je=c[Z>>2]|0;he=ad;h[k>>3]=qe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=$c+8|0;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=$c+16|0;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=$c+24|0;h[k>>3]=ze;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[$c+32>>2]=75;pe(je,55728,$c)|0}else if((lb|0)==3){je=c[Z>>2]|0;he=ed;h[k>>3]=qe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=dd+8|0;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=dd+16|0;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[dd+24>>2]=55808;pe(je,55768,dd)|0}else if((lb|0)==1){je=c[Z>>2]|0;he=cd;h[k>>3]=qe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[bd+8>>2]=71;pe(je,55816,bd)|0}Jb=Jb*.5;Ib=Ib*.5;Dr(b,Jb,Ib,le-Fb*.25,0);lb=c[K>>2]|0;if((lb|0)!=6){c[Ec>>2]=lb;c[Gc+4>>2]=6;Qe(0,72520,Gc);tc()}he=c[J>>2]|0;je=c[Od>>2]|0;je=(jd[c[(c[je>>2]|0)+24>>2]&511](je)|0)==2;vr(ec,he,je?1:-1);oe=+h[Fc>>3];me=+h[ec+8>>3];qe=+h[ec+16>>3];lb=c[ec+32>>2]|0;if((lb|0)==4){ze=+h[ec+24>>3];je=c[Z>>2]|0;he=bc;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=dc+8|0;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=dc+16|0;h[k>>3]=qe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=dc+24|0;h[k>>3]=ze;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[dc+32>>2]=75;pe(je,55728,dc)|0}else if((lb|0)==3){je=c[Z>>2]|0;he=cc;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=gc+8|0;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=gc+16|0;h[k>>3]=qe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[gc+24>>2]=55808;pe(je,55768,gc)|0}else if((lb|0)==1){je=c[Z>>2]|0;he=fc;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[Tb+8>>2]=71;pe(je,55816,Tb)|0}ue=(le-Fb*.75)/1.4142135623730951;lb=c[Z>>2]|0;Fb=Jb+ue;le=Ib+ue;je=Kb;h[k>>3]=Fb;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=Lb+8|0;h[k>>3]=le;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(lb,55832,Lb)|0;lb=c[Z>>2]|0;te=ue*.44771525;re=Jb+te;oe=ue*1.55228475;ze=Ib+oe;qe=Jb-te;me=Jb-ue;je=Hb;h[k>>3]=re;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=Gb+8|0;h[k>>3]=ze;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=Gb+16|0;h[k>>3]=qe;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=Gb+24|0;h[k>>3]=ze;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=Gb+32|0;h[k>>3]=me;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=Gb+40|0;h[k>>3]=le;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(lb,55856,Gb)|0;lb=c[Z>>2]|0;ze=Jb-oe;ve=Ib+te;te=Ib-te;ue=Ib-ue;je=Eb;h[k>>3]=ze;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=Db+8|0;h[k>>3]=ve;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=Db+16|0;h[k>>3]=ze;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=Db+24|0;h[k>>3]=te;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=Db+32|0;h[k>>3]=me;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=Db+40|0;h[k>>3]=ue;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(lb,55856,Db)|0;ne(c[Z>>2]|0,55928,-1)|0;lb=c[K>>2]|0;if((lb|0)!=6){c[Bb>>2]=lb;c[Cb+4>>2]=6;Qe(0,72520,Cb);tc()}he=c[J>>2]|0;je=c[Od>>2]|0;je=(jd[c[(c[je>>2]|0)+24>>2]&511](je)|0)==2;vr(xb,he,je?-1:1);ze=+h[Ab>>3];xe=+h[xb+8>>3];we=+h[xb+16>>3];lb=c[xb+32>>2]|0;if((lb|0)==4){Ae=+h[xb+24>>3];je=c[Z>>2]|0;he=yb;h[k>>3]=ze;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=nb+8|0;h[k>>3]=xe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=nb+16|0;h[k>>3]=we;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=nb+24|0;h[k>>3]=Ae;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[nb+32>>2]=75;pe(je,55728,nb)|0}else if((lb|0)==3){je=c[Z>>2]|0;he=zb;h[k>>3]=ze;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=pb+8|0;h[k>>3]=xe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=pb+16|0;h[k>>3]=we;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[pb+24>>2]=55808;pe(je,55768,pb)|0}else if((lb|0)==1){je=c[Z>>2]|0;he=qb;h[k>>3]=ze;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[rb+8>>2]=71;pe(je,55816,rb)|0}je=c[Z>>2]|0;he=wb;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=ub+8|0;h[k>>3]=ue;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];pe(je,55832,ub)|0;je=c[Z>>2]|0;Ae=Ib-oe;he=sb;h[k>>3]=qe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=tb+8|0;h[k>>3]=Ae;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=tb+16|0;h[k>>3]=re;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=tb+24|0;h[k>>3]=Ae;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=tb+32|0;h[k>>3]=Fb;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=tb+40|0;h[k>>3]=ue;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];pe(je,55856,tb)|0;je=c[Z>>2]|0;Ae=Jb+oe;he=ob;h[k>>3]=Ae;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=vb+8|0;h[k>>3]=te;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=vb+16|0;h[k>>3]=Ae;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=vb+24|0;h[k>>3]=ve;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=vb+32|0;h[k>>3]=Fb;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=vb+40|0;h[k>>3]=le;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];pe(je,55856,vb)|0;ne(c[Z>>2]|0,55928,-1)|0;break a};default:{break a}}lb=c[Z>>2]|0;je=Dc;h[k>>3]=Fb;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(lb,64288,Cc)|0;lb=c[K>>2]|0;if((lb|0)!=6){c[Ac>>2]=lb;c[Bc+4>>2]=6;Qe(0,72520,Bc);tc()}vr(Rb,c[J>>2]|0,0);me=+h[zc>>3];oe=+h[Rb+8>>3];qe=+h[Rb+16>>3];lb=c[Rb+32>>2]|0;if((lb|0)==1){je=c[Z>>2]|0;he=Qb;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[Sb+8>>2]=71;pe(je,55816,Sb)|0}else if((lb|0)==4){Ae=+h[Rb+24>>3];je=c[Z>>2]|0;he=Mb;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Nb+8|0;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Nb+16|0;h[k>>3]=qe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Nb+24|0;h[k>>3]=Ae;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[Nb+32>>2]=75;pe(je,55728,Nb)|0}else if((lb|0)==3){je=c[Z>>2]|0;he=Ob;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Pb+8|0;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Pb+16|0;h[k>>3]=qe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[Pb+24>>2]=55808;pe(je,55768,Pb)|0}Dr(b,Jb*.5,Ib*.5,le-Fb*.5,0);break a}}while(0);je=c[Od>>2]|0;switch(jd[c[(c[je>>2]|0)+24>>2]&511](je)|0){case 3:case 2:{nb=c[K>>2]|0;if((nb|0)!=6){c[Hd>>2]=nb;c[Gd+4>>2]=6;Qe(0,72520,Gd);tc()}he=c[J>>2]|0;je=c[Od>>2]|0;je=(jd[c[(c[je>>2]|0)+24>>2]&511](je)|0)==2;vr(zd,he,je?1:-1);oe=+h[Md>>3];me=+h[zd+8>>3];le=+h[zd+16>>3];nb=c[zd+32>>2]|0;if((nb|0)==4){Ae=+h[zd+24>>3];je=c[Z>>2]|0;he=Ad;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Bd+8|0;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Bd+16|0;h[k>>3]=le;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Bd+24|0;h[k>>3]=Ae;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[Bd+32>>2]=107;pe(je,55728,Bd)|0}else if((nb|0)==3){je=c[Z>>2]|0;he=Cd;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=yd+8|0;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=yd+16|0;h[k>>3]=le;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[yd+24>>2]=55800;pe(je,55768,yd)|0}else if((nb|0)==1){je=c[Z>>2]|0;he=xd;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[pd+8>>2]=103;pe(je,55816,pd)|0}ne(c[Z>>2]|0,65144,-1)|0;nb=c[Z>>2]|0;je=id;h[k>>3]=Ib;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(nb,65152,sd)|0;nb=c[Z>>2]|0;je=td;h[k>>3]=Jb;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=gd+8|0;h[k>>3]=Ib;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(nb,64304,gd)|0;nb=c[Z>>2]|0;le=Jb-Fb;me=Ib-Fb;je=Uc;h[k>>3]=le;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=_c+8|0;h[k>>3]=me;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(nb,64304,_c)|0;nb=c[Z>>2]|0;je=Zc;h[k>>3]=Fb;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];je=Yc+8|0;h[k>>3]=me;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(nb,64304,Yc)|0;nb=c[Z>>2]|0;je=Xc;h[k>>3]=Fb;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(nb,65168,Wc)|0;ne(c[Z>>2]|0,55912,-1)|0;nb=c[K>>2]|0;if((nb|0)!=6){c[Oc>>2]=nb;c[Nc+4>>2]=6;Qe(0,72520,Nc);tc()}he=c[J>>2]|0;je=c[Od>>2]|0;je=(jd[c[(c[je>>2]|0)+24>>2]&511](je)|0)==2;vr(rc,he,je?-1:1);re=+h[Pc>>3];oe=+h[rc+8>>3];qe=+h[rc+16>>3];nb=c[rc+32>>2]|0;if((nb|0)==4){Ae=+h[rc+24>>3];je=c[Z>>2]|0;he=sc;h[k>>3]=re;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=uc+8|0;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=uc+16|0;h[k>>3]=qe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=uc+24|0;h[k>>3]=Ae;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[uc+32>>2]=107;pe(je,55728,uc)|0}else if((nb|0)==3){je=c[Z>>2]|0;he=vc;h[k>>3]=re;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=wc+8|0;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=wc+16|0;h[k>>3]=qe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[wc+24>>2]=55800;pe(je,55768,wc)|0}else if((nb|0)==1){je=c[Z>>2]|0;he=xc;h[k>>3]=re;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[yc+8>>2]=103;pe(je,55816,yc)|0}ne(c[Z>>2]|0,65144,-1)|0;je=c[Z>>2]|0;he=hc;h[k>>3]=Jb;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];pe(je,65192,ic)|0;je=c[Z>>2]|0;he=jc;h[k>>3]=Jb;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=kc+8|0;h[k>>3]=Ib;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];pe(je,64304,kc)|0;je=c[Z>>2]|0;he=lc;h[k>>3]=le;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=mc+8|0;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];pe(je,64304,mc)|0;je=c[Z>>2]|0;he=nc;h[k>>3]=le;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=oc+8|0;h[k>>3]=Fb;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];pe(je,64304,oc)|0;je=c[Z>>2]|0;he=pc;h[k>>3]=Fb;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];pe(je,65168,qc)|0;ne(c[Z>>2]|0,55912,-1)|0;break};case 1:{ne(c[Z>>2]|0,64248,-1)|0;ka=c[Od>>2]|0;ka=jd[c[(c[ka>>2]|0)+16>>2]&511](ka)|0;nb=c[Od>>2]|0;nb=jd[c[(c[nb>>2]|0)+20>>2]&511](nb)|0;pb=c[Z>>2]|0;if((ka|0)>0){ob=0;while(1){je=Vc;h[k>>3]=+h[nb+(ob<<3)>>3];c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(pb,64256,Tc)|0;ob=ob+1|0;pb=c[Z>>2]|0;if((ob|0)<(ka|0)){}else{break}}}ne(pb,65096,-1)|0;ka=71;break};case 0:{ka=71;break};case 4:{nb=c[Z>>2]|0;je=Pd;h[k>>3]=Fb;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(nb,64288,Qd)|0;nb=c[K>>2]|0;if((nb|0)!=6){c[Nd>>2]=nb;c[Id+4>>2]=6;Qe(0,72520,Id);tc()}vr(ld,c[J>>2]|0,0);le=+h[Kd>>3];oe=+h[ld+8>>3];me=+h[ld+16>>3];nb=c[ld+32>>2]|0;if((nb|0)==4){Ae=+h[ld+24>>3];je=c[Z>>2]|0;he=md;h[k>>3]=le;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=vd+8|0;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=vd+16|0;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=vd+24|0;h[k>>3]=Ae;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[vd+32>>2]=75;pe(je,55728,vd)|0}else if((nb|0)==3){je=c[Z>>2]|0;he=ud;h[k>>3]=le;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=rd+8|0;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=rd+16|0;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[rd+24>>2]=55808;pe(je,55768,rd)|0}else if((nb|0)==1){je=c[Z>>2]|0;he=qd;h[k>>3]=le;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[kd+8>>2]=71;pe(je,55816,kd)|0}je=c[Z>>2]|0;he=od;h[k>>3]=Jb;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];pe(je,65208,nd)|0;break};default:{}}if((ka|0)==71){nb=c[Z>>2]|0;je=Lc;h[k>>3]=Fb;c[je>>2]=c[k>>2];c[je+4>>2]=c[k+4>>2];pe(nb,64288,Mc)|0;nb=c[K>>2]|0;if((nb|0)!=6){c[Kc>>2]=nb;c[Jc+4>>2]=6;Qe(0,72520,Jc);tc()}vr(_b,c[J>>2]|0,0);oe=+h[Hc>>3];me=+h[_b+8>>3];le=+h[_b+16>>3];nb=c[_b+32>>2]|0;if((nb|0)==4){Ae=+h[_b+24>>3];je=c[Z>>2]|0;he=Zb;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Yb+8|0;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Yb+16|0;h[k>>3]=le;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Yb+24|0;h[k>>3]=Ae;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[Yb+32>>2]=75;pe(je,55728,Yb)|0}else if((nb|0)==3){je=c[Z>>2]|0;he=Xb;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Wb+8|0;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=Wb+16|0;h[k>>3]=le;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[Wb+24>>2]=55808;pe(je,55768,Wb)|0}else if((nb|0)==1){je=c[Z>>2]|0;he=Vb;h[k>>3]=oe;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[Ub+8>>2]=71;pe(je,55816,Ub)|0}je=c[Z>>2]|0;he=ac;h[k>>3]=Fb*.5;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=$b+8|0;h[k>>3]=Jb-Fb;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=$b+16|0;h[k>>3]=Ib-Fb;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];pe(je,65104,$b)|0}je=c[Z>>2]|0;Ae=Fb*2.0;he=mb;h[k>>3]=Fb;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=lb+8|0;h[k>>3]=Jb-Ae;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=lb+16|0;h[k>>3]=Ib-Ae;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];pe(je,65232,lb)|0}}while(0);Of(E)}}while(0);Yu(ib,65272,P,0)|0;do{if((c[T>>2]|0)==7){if((c[(Yu(c[hb>>2]|0,65280,E,0)|0)>>2]|0)!=7){g=0;break}lb=FW(8)|0;hb=c[K>>2]|0;if((hb|0)==7){uy(lb,c[b+112>>2]|0,0,c[J>>2]|0);g=lb;break}else{c[fb>>2]=hb;c[gb+4>>2]=7;Qe(0,72520,gb);tc()}}else{g=0}}while(0);Of(E);if((c[(pv(ma,63960,E)|0)>>2]|0)==5){Of(E);Yu(ib,63960,E,0)|0}if((c[K>>2]|0)==3){je=c[J>>2]|0;fb=FW(32)|0;ie(fb,je)}else{fb=0}Of(E);b:do{if((c[db>>2]|0)==4){db=c[eb>>2]|0;if((Qc(db|0,65088)|0)==0){if(jb){do{if((c[(Yu(kb,55464,E,0)|0)>>2]|0)==3){la=c[K>>2]|0;if((la|0)==3){je=c[J>>2]|0;_a=FW(32)|0;ie(_a,je);break}else{c[$a>>2]=la;c[bb+4>>2]=3;Qe(0,72520,bb);tc()}}else{_a=0}}while(0);Of(E)}else{_a=0}do{if((Ga&32768|0)==0){if((Ga&65536|0)!=0){if((_a|0)==0){break b}ns(b,_a,fb,g,0,0,1,0,0,0);break}do{if((c[(Yu(A,55624,E,0)|0)>>2]|0)==4){ha=c[K>>2]|0;if((ha|0)!=4){c[Pa>>2]=ha;c[Oa+4>>2]=4;Qe(0,72520,Oa);tc()}if((Qc(c[J>>2]|0,55632)|0)==0){break}if((_a|0)==0){_a=FW(32)|0;fe(_a,65296)}ns(b,_a,fb,g,0,0,1,0,1,0)}}while(0);Of(E);ka=150}else{if((c[(pv(ma,65288,E)|0)>>2]|0)==4){ka=Yu(A,55624,F,0)|0;la=c[K>>2]|0;if((la|0)!=4){c[Ka>>2]=la;c[Na+4>>2]=4;Qe(0,72520,Na);tc()}do{if((c[ka>>2]|0)==4){la=c[J>>2]|0;if((Qc(c[ka+8>>2]|0,la|0)|0)!=0){break}if((Qc(la|0,55632)|0)==0){break}if((_a|0)!=0){ns(b,_a,fb,g,0,0,1,0,1,0);break}if(!jb){break}do{if((c[(Yu(kb,55448,ha,0)|0)>>2]|0)==6){ja=c[ja>>2]|0;if((ja|0)!=6){c[Ia>>2]=ja;c[Ha+4>>2]=6;Qe(0,72520,Ha);tc()}ia=c[ia>>2]|0;if((c[ia+12>>2]|0)<=0){break}je=c[b+28>>2]|0;Fb=+h[je+16>>3]- +h[je>>3];Ib=+h[je+24>>3]- +h[je+8>>3];vr(xa,ia,0);me=+h[Fa>>3];le=+h[xa+8>>3];Jb=+h[xa+16>>3];ia=c[xa+32>>2]|0;if((ia|0)==4){Ae=+h[xa+24>>3];je=c[Z>>2]|0;he=Aa;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=ya+8|0;h[k>>3]=le;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=ya+16|0;h[k>>3]=Jb;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=ya+24|0;h[k>>3]=Ae;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[ya+32>>2]=107;pe(je,55728,ya)|0}else if((ia|0)==3){je=c[Z>>2]|0;he=za;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=ua+8|0;h[k>>3]=le;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];he=ua+16|0;h[k>>3]=Jb;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[ua+24>>2]=55800;pe(je,55768,ua)|0}else if((ia|0)==1){je=c[Z>>2]|0;he=wa;h[k>>3]=me;c[he>>2]=c[k>>2];c[he+4>>2]=c[k+4>>2];c[va+8>>2]=103;pe(je,55816,va)|0}Dr(b,Fb*.5,Ib*.5,(Fb<Ib?Fb:Ib)*.2,1)}}while(0);Of(ha)}}while(0);Of(F)}Of(E);ka=150}}while(0);if((ka|0)==150){if((_a|0)==0){break}}ke(_a);HW(_a);break}if((Qc(db|0,65304)|0)==0){do{if((c[(pv(ma,65288,E)|0)>>2]|0)==3){do{if((c[(pv(ma,64e3,F)|0)>>2]|0)==1){ha=c[I>>2]|0;if((ha|0)==1){La=c[D>>2]|0;break}else{c[Xa>>2]=ha;c[Ya+4>>2]=1;Qe(0,72520,Ya);tc()}}else{La=0}}while(0);Of(F);if((Ga&16777216|0)==0){Qa=0}else{do{if((c[(pv(ma,65312,F)|0)>>2]|0)==1){ha=c[I>>2]|0;if((ha|0)==1){Qa=c[D>>2]|0;break}else{c[Va>>2]=ha;c[Ua+4>>2]=1;Qe(0,72520,Ua);tc()}}else{Qa=0}}while(0);Of(F)}ha=c[K>>2]|0;if((ha|0)==3){ns(b,c[J>>2]|0,fb,g,(Ga&4096|0)!=0,Qa,La,1,0,(Ga&8192|0)!=0);break}else{c[Ja>>2]=ha;c[Ma+4>>2]=3;Qe(0,72520,Ma);tc()}}}while(0);Of(E);break}if((Qc(db|0,65320)|0)!=0){if((Qc(db|0,65344)|0)==0){break}else{ka=223;break}}do{if((c[(pv(ma,64e3,E)|0)>>2]|0)==1){ua=c[K>>2]|0;if((ua|0)==1){la=c[J>>2]|0;break}else{c[Za>>2]=ua;c[ab+4>>2]=1;Qe(0,72520,ab);tc()}}else{la=0}}while(0);Of(E);if((Ga&131072|0)!=0){do{if((c[(pv(ma,65288,E)|0)>>2]|0)==3){ha=c[K>>2]|0;if((ha|0)==3){ns(b,c[J>>2]|0,fb,g,0,0,la,1,0,0);break}else{c[Ta>>2]=ha;c[Wa+4>>2]=3;Qe(0,72520,Wa);tc()}}}while(0);Of(E);break}if((c[(Yu(ma,65328,E,0)|0)>>2]|0)==6){ua=c[K>>2]|0;if((ua|0)!=6){c[Sa>>2]=ua;c[Ra+4>>2]=6;Qe(0,72520,Ra);tc()}va=c[(c[J>>2]|0)+12>>2]|0;ua=ye(va,4)|0;wa=(va|0)>0;c:do{if(wa){ya=0;d:while(1){xa=ua+(ya<<2)|0;c[xa>>2]=0;za=c[K>>2]|0;if((za|0)!=6){ka=185;break}ut(c[J>>2]|0,ya,F)|0;za=c[I>>2]|0;do{if((za|0)==3){he=c[D>>2]|0;je=FW(32)|0;ie(je,he);c[xa>>2]=je}else if((za|0)==6){za=c[D>>2]|0;if((c[za+12>>2]|0)!=2){break}if((c[(ut(za,1,ha)|0)>>2]|0)==3){za=c[ja>>2]|0;if((za|0)!=3){ka=191;break d}he=c[ia>>2]|0;je=FW(32)|0;ie(je,he);c[xa>>2]=je}Of(ha)}}while(0);Of(F);if((c[xa>>2]|0)==0){je=FW(32)|0;ee(je);c[xa>>2]=je}ya=ya+1|0;if((ya|0)>=(va|0)){break c}}if((ka|0)==185){c[Ba>>2]=za;c[Ca+4>>2]=6;Qe(0,72520,Ca);tc()}else if((ka|0)==191){c[Da>>2]=za;c[Ea+4>>2]=3;Qe(0,72520,Ea);tc()}}}while(0);xa=ye(va,1)|0;pv(ma,65288,F)|0;e:do{if(wa){za=0;f:while(1){ya=xa+za|0;a[ya]=0;Aa=c[I>>2]|0;g:do{if((Aa|0)==6){Aa=ua+(za<<2)|0;Ba=0;while(1){Ca=c[D>>2]|0;if((Ba|0)>=(c[Ca+12>>2]|0)){break g}do{if((c[(ut(Ca,Ba,ha)|0)>>2]|0)==3){Ca=c[ja>>2]|0;if((Ca|0)!=3){ka=207;break f}if((se(c[ia>>2]|0,c[Aa>>2]|0)|0)!=0){break}a[ya]=1}}while(0);Of(ha);Ca=c[I>>2]|0;if((Ca|0)==6){Ba=Ba+1|0}else{ka=203;break f}}}else if((Aa|0)==3){if((se(c[D>>2]|0,c[ua+(za<<2)>>2]|0)|0)!=0){break}a[ya]=1}}while(0);za=za+1|0;if((za|0)>=(va|0)){break e}}if((ka|0)==203){c[ra>>2]=Ca;c[qa+4>>2]=6;Qe(0,72520,qa);tc()}else if((ka|0)==207){c[sa>>2]=Ca;c[ta+4>>2]=3;Qe(0,72520,ta);tc()}}}while(0);Of(F);do{if((c[(Yu(ma,65336,F,0)|0)>>2]|0)==1){ha=c[I>>2]|0;if((ha|0)==1){na=c[D>>2]|0;break}else{c[oa>>2]=ha;c[pa+4>>2]=1;Qe(0,72520,pa);tc()}}else{na=0}}while(0);Of(F);os(b,ua,xa,va,na,fb,g,la);if(wa){ia=0;do{ha=c[ua+(ia<<2)>>2]|0;if((ha|0)!=0){ke(ha);HW(ha)}ia=ia+1|0;}while((ia|0)<(va|0))}Fe(ua);Fe(xa)}Of(E)}else{ka=223}}while(0);if((ka|0)==223){Qe(-1,65352,cb)}if((fb|0)!=0){ke(fb);HW(fb)}ha=b+112|0;Jf(M,c[ha>>2]|0)|0;ia=Ge(55936)|0;ja=c[(c[Z>>2]|0)+24>>2]|0;c[ea>>2]=0;c[K>>2]=1;c[J>>2]=ja;ja=c[R>>2]|0;if((ja|0)!=7){c[ga>>2]=ja;c[fa+4>>2]=7;Qe(0,72520,fa);tc()}Tu(c[N>>2]|0,ia,E);fa=Ge(55944)|0;c[J>>2]=0;c[ea>>2]=0;c[K>>2]=4;c[J>>2]=Ge(55952)|0;ea=c[R>>2]|0;if((ea|0)!=7){c[ca>>2]=ea;c[da+4>>2]=7;Qe(0,72520,da);tc()}Tu(c[N>>2]|0,fa,E);If(E,c[ha>>2]|0)|0;c[I>>2]=2;ca=F+8|0;h[ca>>3]=0.0;da=c[K>>2]|0;if((da|0)!=6){c[aa>>2]=da;c[ba+4>>2]=6;Qe(0,72520,ba);tc()}tt(c[J>>2]|0,F);c[I>>2]=2;h[ca>>3]=0.0;aa=c[K>>2]|0;if((aa|0)!=6){c[_>>2]=aa;c[$+4>>2]=6;Qe(0,72520,$);tc()}tt(c[J>>2]|0,F);_=b+28|0;$=c[_>>2]|0;Ae=+h[$+16>>3]- +h[$>>3];c[I>>2]=2;h[ca>>3]=Ae;$=c[K>>2]|0;if(($|0)!=6){c[Y>>2]=$;c[X+4>>2]=6;Qe(0,72520,X);tc()}tt(c[J>>2]|0,F);X=c[_>>2]|0;Ae=+h[X+24>>3]- +h[X+8>>3];c[I>>2]=2;h[ca>>3]=Ae;X=c[K>>2]|0;if((X|0)!=6){c[W>>2]=X;c[V+4>>2]=6;Qe(0,72520,V);tc()}tt(c[J>>2]|0,F);V=Ge(55960)|0;W=c[R>>2]|0;if((W|0)!=7){c[S>>2]=W;c[U+4>>2]=7;Qe(0,72520,U);tc()}Tu(c[N>>2]|0,V,E);do{if((c[T>>2]|0)==7){S=Ge(55992)|0;T=Mf(P,E)|0;R=c[R>>2]|0;if((R|0)==7){Tu(c[N>>2]|0,S,T);break}else{c[Q>>2]=R;c[O+4>>2]=7;Qe(0,72520,O);tc()}}}while(0);Of(P);N=FW(56)|0;O=Ic(c[(c[Z>>2]|0)+28>>2]|0)|0;Tj(N,O,0,c[(c[Z>>2]|0)+24>>2]|0,M);M=b+64|0;Of(M);Lf(M,N)|0;O=c[Z>>2]|0;if((O|0)!=0){ke(O);HW(O)}hd[c[(c[N>>2]|0)+116>>2]&127](N,1);do{if((a[(c[L>>2]|0)+45|0]&1)!=0){do{if((c[(Yu(A,55616,E,0)|0)>>2]|0)==7){K=c[K>>2]|0;if((K|0)!=7){c[H>>2]=K;c[G+4>>2]=7;Qe(0,72520,G);tc()}if((c[(Zu(c[J>>2]|0,55416,F)|0)>>2]|0)!=9){break}G=c[I>>2]|0;if((G|0)==9){ge=D;he=c[ge+4>>2]|0;je=b+52|0;c[je>>2]=c[ge>>2];c[je+4>>2]=he;break}else{c[C>>2]=G;c[B+4>>2]=9;Qe(0,72520,B);tc()}}}while(0);Of(F);Of(E);B=b+52|0;C=c[ha>>2]|0;if((c[B>>2]|0)==0){qn(y,C,M);ge=w;he=c[ge+4>>2]|0;je=B;c[je>>2]=c[ge>>2];c[je+4>>2]=he}else{ge=B;he=c[ge+4>>2]|0;je=x;c[je>>2]=c[ge>>2];c[je+4>>2]=he;$W(z|0,x|0,8)|0;pn(C,M,v)}c[u>>2]=13;v=p+8|0;c[v>>2]=0;c[v+4>>2]=0;Jf(p,c[ha>>2]|0)|0;je=q+8|0;ge=c[B>>2]|0;he=c[b+56>>2]|0;c[t>>2]=9;c[je>>2]=ge;c[je+4>>2]=he;t=c[u>>2]|0;if((t|0)==7){Wu(c[v>>2]|0,55416,q);Wu(A,55616,p);je=FW(24)|0;Ru(je,A);de=je+20|0;c[de>>2]=(c[de>>2]|0)+ -1;c[s>>2]=13;de=o+8|0;c[de>>2]=0;c[de+4>>2]=0;Kf(o,je)|0;je=c[ha>>2]|0;de=b+116|0;ge=c[de+4>>2]|0;he=r;c[he>>2]=c[de>>2];c[he+4>>2]=ge;$W(d|0,r|0,8)|0;pn(je,o,m);Of(o);break}else{c[l>>2]=t;c[j+4>>2]=7;Qe(0,72520,j);tc()}}}while(0);if((g|0)!=0){vy(g);HW(g)}Of(n);Of(e);i=f;return}function qs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=i;r=i;i=i+16|0;f=r;m=i;i=i+16|0;q=m;k=i;i=i+16|0;l=k;n=i;i=i+16|0;o=n;p=i;i=i+16|0;j=p;c[r>>2]=13;r=f+8|0;c[r>>2]=0;c[r+4>>2]=0;r=c[b+48>>2]|0;if((r&2|0)!=0){i=g;return}do{if(e){if((r&4|0)!=0){break}i=g;return}else{if((r&32|0)==0){break}i=g;return}}while(0);r=c[b+88>>2]|0;do{if((r|0)!=0){e=b+96|0;if((c[e>>2]|0)!=9){break}if(GF(r,e)|0){break}i=g;return}}while(0);r=b+177|0;a[r]=0;ps(b);e=b+112|0;Nf(b+64|0,c[e>>2]|0,f,0)|0;do{if((a[r]&1)!=0){u=q+8|0;c[k>>2]=13;s=l+8|0;c[s>>2]=0;t=s+4|0;c[t>>2]=0;c[u>>2]=0;c[u+4>>2]=0;c[m>>2]=4;c[u>>2]=Ge(64672)|0;c[s>>2]=0;c[t>>2]=0;c[k>>2]=4;c[s>>2]=Ge(65376)|0;c[n>>2]=13;k=o+8|0;c[k>>2]=0;c[k+4>>2]=0;k=FW(24)|0;Qu(k,c[e>>2]|0);n=k+20|0;c[n>>2]=(c[n>>2]|0)+ -1;Tu(k,Ge(65384)|0,q);Tu(k,Ge(55944)|0,l);Kf(o,k)|0;c[p>>2]=13;k=j+8|0;c[k>>2]=0;c[k+4>>2]=0;k=FW(24)|0;Qu(k,c[e>>2]|0);q=k+20|0;c[q>>2]=(c[q>>2]|0)+ -1;Tu(k,Ge(64664)|0,o);Kf(j,k)|0;k=FW(24)|0;Qu(k,c[e>>2]|0);Tu(k,Ge(65280)|0,j);Px(d,k);if((k|0)==0){break}Su(k);HW(k)}}while(0);u=c[b+28>>2]|0;Tx(d,f,0,c[b+132>>2]|0,+h[u>>3],+h[u+8>>3],+h[u+16>>3],+h[u+24>>3]);if((a[r]&1)!=0){ux(d)}Of(f);i=g;return}function rs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;m=i;i=i+8|0;n=i;i=i+8|0;h=n;p=i;i=i+16|0;j=p;k=i;i=i+16|0;d=k;o=i;i=i+16|0;g=o;c[p>>2]=13;l=j+8|0;c[l>>2]=0;c[l+4>>2]=0;do{if((c[(Yu(f,56120,j,0)|0)>>2]|0)==3){p=c[p>>2]|0;if((p|0)==3){n=c[l>>2]|0;p=FW(32)|0;ie(p,n);c[b+148>>2]=p;break}else{c[n>>2]=p;c[h+4>>2]=3;Qe(0,72520,h);tc()}}else{c[b+148>>2]=0}}while(0);Of(j);c[k>>2]=13;p=d+8|0;c[p>>2]=0;c[p+4>>2]=0;if((c[(Yu(f,65424,d,0)|0)>>2]|0)!=7){Qe(-1,65432,m);c[b+152>>2]=0;a[b+144|0]=0;Of(d);i=e;return}c[o>>2]=13;p=g+8|0;c[p>>2]=0;c[p+4>>2]=0;Yu(f,55424,g,0)|0;p=(c[o>>2]|0)==7;f=FW(104)|0;if(p){DF(f,d,g);c[b+152>>2]=f}else{CF(f,d);c[b+152>>2]=f}h=b+152|0;if((a[f]&1)==0){if((f|0)!=0){BF(f);HW(f)}c[h>>2]=0;a[b+144|0]=0}Of(g);Of(d);i=e;return}function ss(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;k=i;i=i+8|0;j=k;c[b>>2]=55512;h=b+8|0;c[h>>2]=13;c[b+16>>2]=0;c[b+20>>2]=0;c[b+64>>2]=13;c[b+72>>2]=0;c[b+76>>2]=0;c[b+96>>2]=13;c[b+104>>2]=0;c[b+108>>2]=0;m=b+145|0;do{if((c[g>>2]|0)==9){a[m]=1;m=c[g>>2]|0;if((m|0)==9){k=g+8|0;g=c[k+4>>2]|0;m=b+116|0;c[m>>2]=c[k>>2];c[m+4>>2]=g;break}else{c[k>>2]=m;c[j+4>>2]=9;Qe(0,72520,j);tc()}}else{a[m]=0}}while(0);c[b+48>>2]=0;m=b+24|0;c[m>>2]=0;Kf(h,e)|0;zr(b,d,e,f);c[b>>2]=65408;c[m>>2]=19;rs(b,0,0,e);i=l;return}function ts(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=65408;d=c[a+148>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+152>>2]|0;if((d|0)==0){Cr(a);HW(a);i=b;return}BF(d);HW(d);Cr(a);HW(a);i=b;return}function us(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=65408;d=c[a+148>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+152>>2]|0;if((d|0)==0){Cr(a);i=b;return}BF(d);HW(d);Cr(a);i=b;return}function vs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;g=i;s=i;i=i+8|0;t=s;q=i;i=i+8|0;r=q;o=i;i=i+8|0;p=o;m=i;i=i+8|0;n=m;y=i;i=i+8|0;w=y;C=i;i=i+8|0;B=C;H=i;i=i+8|0;I=H;L=i;i=i+8|0;M=L;R=i;i=i+8|0;O=R;T=i;i=i+8|0;U=T;V=i;i=i+8|0;W=V;Z=i;i=i+8|0;Y=Z;$=i;i=i+8|0;_=$;ba=i;i=i+8|0;aa=ba;ca=i;i=i+8|0;da=ca;ga=i;i=i+8|0;fa=ga;ia=i;i=i+8|0;ha=ia;ja=i;i=i+8|0;ka=ja;la=i;i=i+8|0;ma=la;oa=i;i=i+8|0;na=oa;qa=i;i=i+8|0;pa=qa;ta=i;i=i+8|0;sa=ta;ea=i;i=i+8|0;ua=ea;X=i;i=i+8|0;wa=X;J=i;i=i+16|0;f=J;P=i;i=i+16|0;j=P;va=i;i=i+16|0;ra=va;x=i;i=i+16|0;v=x;G=i;i=i+16|0;D=G;Q=i;i=i+16|0;F=Q;S=i;i=i+16|0;K=S;E=i;i=i+16|0;z=E;A=i;i=i+16|0;l=A;u=i;i=i+32|0;k=u;c[J>>2]=13;J=f+8|0;c[J>>2]=0;c[J+4>>2]=0;J=c[b+48>>2]|0;if((J&2|0)!=0){i=g;return}do{if(e){if((J&4|0)!=0){break}i=g;return}else{if((J&32|0)==0){break}i=g;return}}while(0);e=c[b+88>>2]|0;do{if((e|0)!=0){J=b+96|0;if((c[J>>2]|0)!=9){break}if(GF(e,J)|0){break}i=g;return}}while(0);e=b+64|0;do{if((c[e>>2]|0)==5){J=b+152|0;N=c[J>>2]|0;if((a[N+32|0]&1)==0){break}c[P>>2]=13;xa=j+8|0;c[xa>>2]=0;c[xa+4>>2]=0;Mf(N+16|0,j)|0;J=c[J>>2]|0;N=c[J+4>>2]|0;J=c[J+8>>2]|0;do{if(!((N|0)==-1|(J|0)==-1)){if((c[P>>2]|0)==13){break}xa=FW(32)|0;ee(xa);P=b+124|0;c[P>>2]=xa;ne(xa,56352,-1)|0;xa=c[P>>2]|0;c[X>>2]=N;c[wa+4>>2]=J;pe(xa,65448,wa)|0;ne(c[P>>2]|0,65472,-1)|0;ne(c[P>>2]|0,63808,-1)|0;c[va>>2]=13;wa=ra+8|0;c[wa>>2]=0;c[wa+4>>2]=0;X=b+112|0;Jf(ra,c[X>>2]|0)|0;va=c[va>>2]|0;if((va|0)!=7){c[ea>>2]=va;c[ua+4>>2]=7;Qe(0,72520,ua);tc()}Wu(c[wa>>2]|0,65488,j);c[x>>2]=13;ea=v+8|0;c[ea>>2]=0;c[ea+4>>2]=0;Jf(v,c[X>>2]|0)|0;ua=c[x>>2]|0;if((ua|0)!=7){c[ta>>2]=ua;c[sa+4>>2]=7;Qe(0,72520,sa);tc()}Wu(c[ea>>2]|0,56040,ra);c[G>>2]=13;ra=D+8|0;c[ra>>2]=0;c[ra+4>>2]=0;c[Q>>2]=13;sa=F+8|0;c[sa>>2]=0;va=sa+4|0;c[va>>2]=0;c[S>>2]=13;ua=K+8|0;c[ua>>2]=0;ta=ua+4|0;c[ta>>2]=0;Jf(D,c[X>>2]|0)|0;wa=c[(c[P>>2]|0)+24>>2]|0;c[va>>2]=0;c[Q>>2]=1;c[sa>>2]=wa;wa=c[G>>2]|0;if((wa|0)!=7){c[qa>>2]=wa;c[pa+4>>2]=7;Qe(0,72520,pa);tc()}Wu(c[ra>>2]|0,55936,F);c[sa>>2]=0;c[va>>2]=0;c[Q>>2]=4;c[sa>>2]=Ge(55952)|0;pa=c[G>>2]|0;if((pa|0)!=7){c[oa>>2]=pa;c[na+4>>2]=7;Qe(0,72520,na);tc()}Wu(c[ra>>2]|0,55944,F);c[sa>>2]=0;c[va>>2]=0;c[Q>>2]=4;c[sa>>2]=Ge(65496)|0;na=c[G>>2]|0;if((na|0)!=7){c[la>>2]=na;c[ma+4>>2]=7;Qe(0,72520,ma);tc()}Wu(c[ra>>2]|0,56208,F);If(F,c[X>>2]|0)|0;c[ta>>2]=0;c[S>>2]=1;c[ua>>2]=0;la=c[Q>>2]|0;if((la|0)!=6){c[ja>>2]=la;c[ka+4>>2]=6;Qe(0,72520,ka);tc()}tt(c[sa>>2]|0,K);c[ta>>2]=0;c[S>>2]=1;c[ua>>2]=0;ja=c[Q>>2]|0;if((ja|0)!=6){c[ia>>2]=ja;c[ha+4>>2]=6;Qe(0,72520,ha);tc()}tt(c[sa>>2]|0,K);c[ta>>2]=0;c[S>>2]=1;c[ua>>2]=N;ha=c[Q>>2]|0;if((ha|0)!=6){c[ga>>2]=ha;c[fa+4>>2]=6;Qe(0,72520,fa);tc()}tt(c[sa>>2]|0,K);c[ta>>2]=0;c[S>>2]=1;c[ua>>2]=J;fa=c[Q>>2]|0;if((fa|0)!=6){c[ca>>2]=fa;c[da+4>>2]=6;Qe(0,72520,da);tc()}tt(c[sa>>2]|0,K);ca=c[G>>2]|0;if((ca|0)!=7){c[ba>>2]=ca;c[aa+4>>2]=7;Qe(0,72520,aa);tc()}Wu(c[ra>>2]|0,55960,F);If(F,c[X>>2]|0)|0;c[ta>>2]=0;c[S>>2]=1;c[ua>>2]=1;aa=c[Q>>2]|0;if((aa|0)!=6){c[$>>2]=aa;c[_+4>>2]=6;Qe(0,72520,_);tc()}tt(c[sa>>2]|0,K);c[ta>>2]=0;c[S>>2]=1;c[ua>>2]=0;_=c[Q>>2]|0;if((_|0)!=6){c[Z>>2]=_;c[Y+4>>2]=6;Qe(0,72520,Y);tc()}tt(c[sa>>2]|0,K);c[ta>>2]=0;c[S>>2]=1;c[ua>>2]=0;Y=c[Q>>2]|0;if((Y|0)!=6){c[V>>2]=Y;c[W+4>>2]=6;Qe(0,72520,W);tc()}tt(c[sa>>2]|0,K);c[ta>>2]=0;c[S>>2]=1;c[ua>>2]=1;V=c[Q>>2]|0;if((V|0)!=6){c[T>>2]=V;c[U+4>>2]=6;Qe(0,72520,U);tc()}tt(c[sa>>2]|0,K);c[ta>>2]=0;c[S>>2]=1;c[ua>>2]=(N|0)/-2|0;T=c[Q>>2]|0;if((T|0)!=6){c[R>>2]=T;c[O+4>>2]=6;Qe(0,72520,O);tc()}tt(c[sa>>2]|0,K);c[ta>>2]=0;c[S>>2]=1;c[ua>>2]=(J|0)/-2|0;O=c[Q>>2]|0;if((O|0)!=6){c[L>>2]=O;c[M+4>>2]=6;Qe(0,72520,M);tc()}tt(c[sa>>2]|0,K);K=c[G>>2]|0;if((K|0)!=7){c[H>>2]=K;c[I+4>>2]=7;Qe(0,72520,I);tc()}Wu(c[ra>>2]|0,65504,F);F=c[G>>2]|0;if((F|0)!=7){c[C>>2]=F;c[B+4>>2]=7;Qe(0,72520,B);tc()}Wu(c[ra>>2]|0,55992,v);c[E>>2]=13;B=z+8|0;c[B>>2]=0;c[B+4>>2]=0;B=FW(56)|0;xa=Ge(c[(c[P>>2]|0)+28>>2]|0)|0;Tj(B,xa,0,c[(c[P>>2]|0)+24>>2]|0,D);hd[c[(c[B>>2]|0)+116>>2]&127](B,1);Lf(z,B)|0;B=c[P>>2]|0;if((B|0)!=0){ke(B);HW(B)}c[A>>2]=13;B=l+8|0;c[B>>2]=0;c[B+4>>2]=0;Jf(l,c[X>>2]|0)|0;A=c[A>>2]|0;if((A|0)!=7){c[y>>2]=A;c[w+4>>2]=7;Qe(0,72520,w);tc()}Wu(c[B>>2]|0,65496,z);Jf(v,c[X>>2]|0)|0;w=c[x>>2]|0;if((w|0)!=7){c[m>>2]=w;c[n+4>>2]=7;Qe(0,72520,n);tc()}Wu(c[ea>>2]|0,56040,l);xa=FW(32)|0;ee(xa);c[P>>2]=xa;ne(xa,56352,-1)|0;xa=c[P>>2]|0;c[o>>2]=N;c[p+4>>2]=J;pe(xa,65512,p)|0;ne(c[P>>2]|0,56352,-1)|0;xa=c[P>>2]|0;c[q>>2]=N;c[r+4>>2]=J;pe(xa,65512,r)|0;xa=c[P>>2]|0;c[s>>2]=(N|0)/2|0;c[t+4>>2]=(J|0)/2|0;pe(xa,65536,t)|0;ne(c[P>>2]|0,65560,-1)|0;ne(c[P>>2]|0,63808,-1)|0;ne(c[P>>2]|0,63808,-1)|0;bX(u|0,0,16)|0;h[k+16>>3]=+(N|0);h[k+24>>3]=+(J|0);Er(b,k,0,v,e);k=c[P>>2]|0;if((k|0)==0){break}ke(k);HW(k)}}while(0);Of(j)}}while(0);Nf(e,c[b+112>>2]|0,f,0)|0;xa=c[b+28>>2]|0;Tx(d,f,0,c[b+132>>2]|0,+h[xa>>3],+h[xa+8>>3],+h[xa+16>>3],+h[xa+24>>3]);Of(f);i=g;return}function ws(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;g=i;i=i+8|0;h=g;m=i;i=i+8|0;p=i;i=i+8|0;n=p;l=i;i=i+16|0;k=l;c[l>>2]=13;j=k+8|0;c[j>>2]=0;c[j+4>>2]=0;o=b+148|0;c[o>>2]=0;do{if((c[(Yu(f,56120,k,0)|0)>>2]|0)==3){q=c[l>>2]|0;if((q|0)==3){p=c[j>>2]|0;q=FW(32)|0;ie(q,p);c[o>>2]=q;break}else{c[p>>2]=q;c[n+4>>2]=3;Qe(0,72520,n);tc()}}}while(0);Of(k);n=b+156|0;c[n>>2]=0;do{if((c[(Yu(f,55424,k,0)|0)>>2]|0)==7){q=uE(k,c[e+92>>2]|0)|0;c[n>>2]=q;if((jd[c[(c[q>>2]|0)+12>>2]&511](q)|0)!=6){break}if((c[b+36>>2]|0)!=0){break}Qe(-1,65608,m);e=c[n>>2]|0;if((e|0)!=0){fd[c[(c[e>>2]|0)+4>>2]&511](e)}c[n>>2]=0;a[b+144|0]=0}}while(0);Yu(f,64520,b+160|0,0)|0;b=b+152|0;c[b>>2]=0;if((c[(Yu(f,64512,k,0)|0)>>2]|0)!=7){Of(k);i=d;return}f=FW(32)|0;l=c[l>>2]|0;if((l|0)!=7){c[g>>2]=l;c[h+4>>2]=7;Qe(0,72520,h);tc()}xr(f,c[j>>2]|0);c[b>>2]=f;Of(k);i=d;return}function xs(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;k=i;i=i+8|0;j=k;c[b>>2]=55512;h=b+8|0;c[h>>2]=13;c[b+16>>2]=0;c[b+20>>2]=0;c[b+64>>2]=13;c[b+72>>2]=0;c[b+76>>2]=0;c[b+96>>2]=13;c[b+104>>2]=0;c[b+108>>2]=0;m=b+145|0;do{if((c[g>>2]|0)==9){a[m]=1;m=c[g>>2]|0;if((m|0)==9){k=g+8|0;g=c[k+4>>2]|0;m=b+116|0;c[m>>2]=c[k>>2];c[m+4>>2]=g;break}else{c[k>>2]=m;c[j+4>>2]=9;Qe(0,72520,j);tc()}}else{a[m]=0}}while(0);c[b+48>>2]=0;m=b+24|0;c[m>>2]=0;Kf(h,e)|0;zr(b,d,e,f);c[b>>2]=65584;c[b+160>>2]=13;g=b+168|0;c[g>>2]=0;c[g+4>>2]=0;c[m>>2]=21;ws(b,0,f,e);i=l;return}function ys(a){a=a|0;var b=0;b=i;zs(a);HW(a);i=b;return}function zs(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=65584;d=c[a+148>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+152>>2]|0;if((d|0)!=0){yr(d);HW(d)}d=c[a+156>>2]|0;if((d|0)==0){d=a+160|0;Of(d);Cr(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);d=a+160|0;Of(d);Cr(a);i=b;return}function As(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;h=i;g=i;i=i+8|0;b=g;j=i;i=i+16|0;d=j;c[j>>2]=13;f=d+8|0;c[f>>2]=0;c[f+4>>2]=0;k=(c[(Yu(e,56208,d,0)|0)>>2]|0)==4;e=FW(32)|0;if(!k){fe(e,65712);c[a+192>>2]=e;Of(d);i=h;return}j=c[j>>2]|0;if((j|0)!=4){c[g>>2]=j;c[b+4>>2]=4;Qe(0,72520,b);tc()}fe(e,c[f>>2]|0);c[a+192>>2]=e;Of(d);i=h;return}function Bs(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=65688;d=c[a+192>>2]|0;if((d|0)!=0){ke(d);HW(d)}Or(a);HW(a);i=b;return}function Cs(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=65688;d=c[a+192>>2]|0;if((d|0)==0){Or(a);i=b;return}ke(d);HW(d);Or(a);i=b;return}function Ds(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;f=i;i=i+8|0;g=f;k=i;i=i+8|0;l=k;n=i;i=i+8|0;m=n;o=i;i=i+8|0;p=o;j=i;i=i+16|0;h=j;q=i;i=i+32|0;c[j>>2]=13;b=h+8|0;c[b>>2]=0;c[b+4>>2]=0;if((c[(Yu(e,55944,h,0)|0)>>2]|0)==4){r=c[j>>2]|0;if((r|0)!=4){c[o>>2]=r;c[p+4>>2]=4;Qe(0,72520,p);tc()}fe(q,c[b>>2]|0);do{if((te(q,55048)|0)==0){c[a+24>>2]=5}else{if((te(q,55056)|0)!=0){break}c[a+24>>2]=6}}while(0);ke(q)}Of(h);do{if((c[(Yu(e,64136,h,0)|0)>>2]|0)==6){o=FW(40)|0;p=c[j>>2]|0;if((p|0)==6){vr(o,c[b>>2]|0,0);c[a+192>>2]=o;break}else{c[n>>2]=p;c[m+4>>2]=6;Qe(0,72520,m);tc()}}else{c[a+192>>2]=0}}while(0);Of(h);do{if((c[(Yu(e,64072,h,0)|0)>>2]|0)==7){m=FW(16)|0;n=c[j>>2]|0;if((n|0)==7){or(m,c[b>>2]|0);c[a+196>>2]=m;break}else{c[k>>2]=n;c[l+4>>2]=7;Qe(0,72520,l);tc()}}else{c[a+196>>2]=0}}while(0);Of(h);k=a+200|0;c[k>>2]=0;if((c[(Yu(e,64080,h,0)|0)>>2]|0)!=6){Of(h);i=d;return}e=c[j>>2]|0;if((e|0)!=6){c[f>>2]=e;c[g+4>>2]=6;Qe(0,72520,g);tc()}c[k>>2]=nr(c[b>>2]|0,c[a+28>>2]|0)|0;Of(h);i=d;return}function Es(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=65728;d=c[a+192>>2]|0;if((d|0)!=0){HW(d)}d=c[a+196>>2]|0;if((d|0)!=0){HW(d)}d=c[a+200>>2]|0;if((d|0)==0){Or(a);HW(a);i=b;return}HW(d);Or(a);HW(a);i=b;return}function Fs(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=65728;d=c[a+192>>2]|0;if((d|0)!=0){HW(d)}d=c[a+196>>2]|0;if((d|0)!=0){HW(d)}d=c[a+200>>2]|0;if((d|0)==0){Or(a);i=b;return}HW(d);Or(a);i=b;return}function Gs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0.0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0.0,ca=0.0;f=i;p=i;i=i+48|0;A=p;x=i;i=i+48|0;y=x;v=i;i=i+48|0;w=v;t=i;i=i+48|0;u=t;r=i;i=i+16|0;s=r;G=i;i=i+32|0;q=G;E=i;i=i+16|0;C=E;z=i;i=i+32|0;F=z;B=i;i=i+40|0;H=B;L=i;i=i+8|0;K=L;M=i;i=i+8|0;N=M;T=i;i=i+16|0;Q=T;P=i;i=i+32|0;U=P;S=i;i=i+40|0;R=S;D=i;i=i+16|0;e=D;n=i;i=i+32|0;m=n;o=i;i=i+16|0;l=o;j=i;i=i+16|0;g=j;c[D>>2]=13;D=e+8|0;c[D>>2]=0;c[D+4>>2]=0;D=c[a+48>>2]|0;if((D&2|0)!=0){i=f;return}do{if(d){if((D&4|0)!=0){break}i=f;return}else{if((D&32|0)==0){break}i=f;return}}while(0);D=c[a+88>>2]|0;do{if((D|0)!=0){d=a+96|0;if((c[d>>2]|0)!=9){break}if(GF(D,d)|0){break}i=f;return}}while(0);d=a+64|0;do{if((c[d>>2]|0)==5){J=+h[a+160>>3];D=FW(32)|0;ee(D);I=a+124|0;c[I>>2]=D;ne(D,56352,-1)|0;D=a+132|0;V=c[D>>2]|0;do{if((V|0)!=0){W=c[V+32>>2]|0;if((W|0)==3){W=c[I>>2]|0;X=+h[V+8>>3];O=+h[V+16>>3];T=P;h[k>>3]=+h[V>>3];c[T>>2]=c[k>>2];c[T+4>>2]=c[k+4>>2];V=U+8|0;h[k>>3]=X;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=U+16|0;h[k>>3]=O;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];c[U+24>>2]=55808;pe(W,55768,U)|0;break}else if((W|0)==1){W=c[I>>2]|0;U=T;h[k>>3]=+h[V>>3];c[U>>2]=c[k>>2];c[U+4>>2]=c[k+4>>2];c[Q+8>>2]=71;pe(W,55816,Q)|0;break}else if((W|0)==4){W=c[I>>2]|0;Y=+h[V+8>>3];O=+h[V+16>>3];X=+h[V+24>>3];U=S;h[k>>3]=+h[V>>3];c[U>>2]=c[k>>2];c[U+4>>2]=c[k+4>>2];V=R+8|0;h[k>>3]=Y;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=R+16|0;h[k>>3]=O;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=R+24|0;h[k>>3]=X;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];c[R+32>>2]=75;pe(W,55728,R)|0;break}else{break}}}while(0);Q=a+128|0;P=c[Q>>2]|0;do{if((P|0)!=0){O=+wd[c[(c[P>>2]|0)+12>>2]&1](P);W=c[Q>>2]|0;W=(jd[c[(c[W>>2]|0)+24>>2]&511](W)|0)==1;P=c[I>>2]|0;if(W){ne(P,64248,-1)|0;P=c[Q>>2]|0;P=jd[c[(c[P>>2]|0)+16>>2]&511](P)|0;Q=c[Q>>2]|0;Q=jd[c[(c[Q>>2]|0)+20>>2]&511](Q)|0;S=c[I>>2]|0;if((P|0)>0){R=0;while(1){W=M;h[k>>3]=+h[Q+(R<<3)>>3];c[W>>2]=c[k>>2];c[W+4>>2]=c[k+4>>2];pe(S,64256,N)|0;R=R+1|0;S=c[I>>2]|0;if((R|0)<(P|0)){}else{break}}}ne(S,64272,-1)|0}else{ne(P,64280,-1)|0}W=c[I>>2]|0;h[k>>3]=O;c[L>>2]=c[k>>2];c[L+4>>2]=c[k+4>>2];pe(W,64288,K)|0;K=a+192|0;L=c[K>>2]|0;do{if((L|0)!=0){M=c[L+32>>2]|0;if((M|0)==1){W=c[I>>2]|0;V=E;h[k>>3]=+h[L>>3];c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];c[C+8>>2]=103;pe(W,55816,C)|0;break}else if((M|0)==4){W=c[I>>2]|0;Z=+h[L+8>>3];X=+h[L+16>>3];Y=+h[L+24>>3];V=B;h[k>>3]=+h[L>>3];c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=H+8|0;h[k>>3]=Z;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=H+16|0;h[k>>3]=X;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=H+24|0;h[k>>3]=Y;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];c[H+32>>2]=107;pe(W,55728,H)|0;break}else if((M|0)==3){W=c[I>>2]|0;Y=+h[L+8>>3];Z=+h[L+16>>3];V=z;h[k>>3]=+h[L>>3];c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=F+8|0;h[k>>3]=Y;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=F+16|0;h[k>>3]=Z;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];c[F+24>>2]=55800;pe(W,55768,F)|0;break}else{break}}}while(0);if((c[a+24>>2]|0)==5){W=c[I>>2]|0;X=O*.5;V=c[a+28>>2]|0;Y=+h[V+16>>3]- +h[V>>3]-O;Z=+h[V+24>>3]- +h[V+8>>3]-O;V=G;h[k>>3]=X;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=q+8|0;h[k>>3]=X;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=q+16|0;h[k>>3]=Y;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=q+24|0;h[k>>3]=Z;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];pe(W,65744,q)|0}else{W=c[a+28>>2]|0;aa=+h[W+16>>3]- +h[W>>3];ca=+h[W+24>>3]- +h[W+8>>3];Y=O*.5;Z=ca*.5;W=c[I>>2]|0;V=r;h[k>>3]=Y;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=s+8|0;h[k>>3]=Z;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];pe(W,55832,s)|0;X=ca*.25;ba=Z+X;O=aa*.25;ca=ca-Y;_=aa*.5;W=c[I>>2]|0;V=t;h[k>>3]=Y;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=u+8|0;h[k>>3]=ba;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=u+16|0;h[k>>3]=O;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=u+24|0;h[k>>3]=ca;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=u+32|0;h[k>>3]=_;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=u+40|0;h[k>>3]=ca;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];pe(W,55856,u)|0;aa=aa-Y;$=_+O;W=c[I>>2]|0;V=v;h[k>>3]=$;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=w+8|0;h[k>>3]=ca;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=w+16|0;h[k>>3]=aa;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=w+24|0;h[k>>3]=ba;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=w+32|0;h[k>>3]=aa;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=w+40|0;h[k>>3]=Z;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];pe(W,55856,w)|0;W=c[I>>2]|0;V=x;h[k>>3]=aa;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=y+8|0;h[k>>3]=X;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=y+16|0;h[k>>3]=$;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=y+24|0;h[k>>3]=Y;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=y+32|0;h[k>>3]=_;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=y+40|0;h[k>>3]=Y;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];pe(W,55856,y)|0;W=c[I>>2]|0;V=p;h[k>>3]=O;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=A+8|0;h[k>>3]=Y;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=A+16|0;h[k>>3]=Y;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=A+24|0;h[k>>3]=X;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=A+32|0;h[k>>3]=Y;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];V=A+40|0;h[k>>3]=Z;c[V>>2]=c[k>>2];c[V+4>>2]=c[k+4>>2];pe(W,55856,A)|0}p=c[I>>2]|0;if((c[K>>2]|0)==0){ne(p,55928,-1)|0;break}else{ne(p,65784,-1)|0;break}}}while(0);ne(c[I>>2]|0,63808,-1)|0;p=a+28|0;bX(n|0,0,16)|0;W=c[p>>2]|0;h[m+16>>3]=+h[W+16>>3]- +h[W>>3];h[m+24>>3]=+h[W+24>>3]- +h[W+8>>3];if(J==1.0){Er(a,m,0,0,d)}else{c[o>>2]=13;n=l+8|0;c[n>>2]=0;c[n+4>>2]=0;Er(a,m,1,0,l);n=c[I>>2]|0;if((n|0)!=0){ke(n);HW(n)}c[j>>2]=13;W=g+8|0;c[W>>2]=0;c[W+4>>2]=0;W=FW(32)|0;fe(W,63816);c[I>>2]=W;Fr(a,63832,l,63840,J,0,g);Er(a,m,0,g,d)}g=c[I>>2]|0;if((g|0)==0){break}ke(g);HW(g)}else{D=a+132|0;p=a+28|0}}while(0);Nf(d,c[a+112>>2]|0,e,0)|0;W=c[p>>2]|0;Tx(b,e,0,c[D>>2]|0,+h[W>>3],+h[W+8>>3],+h[W+16>>3],+h[W+24>>3]);Of(e);i=f;return}function Hs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=i;h=i;i=i+8|0;g=h;l=i;i=i+8|0;m=l;o=i;i=i+8|0;p=o;r=i;i=i+8|0;q=r;v=i;i=i+8|0;u=v;x=i;i=i+8|0;w=x;z=i;i=i+8|0;y=z;C=i;i=i+8|0;B=i;i=i+8|0;A=B;F=i;i=i+8|0;D=F;k=i;i=i+16|0;d=k;E=i;i=i+32|0;t=i;i=i+16|0;s=t;c[k>>2]=13;j=d+8|0;c[j>>2]=0;c[j+4>>2]=0;if((c[(Yu(f,55944,d,0)|0)>>2]|0)==4){G=c[k>>2]|0;if((G|0)!=4){c[F>>2]=G;c[D+4>>2]=4;Qe(0,72520,D);tc()}fe(E,c[j>>2]|0);do{if((te(E,65816)|0)==0){c[b+24>>2]=7}else{if((te(E,65824)|0)!=0){break}c[b+24>>2]=8}}while(0);ke(E)}Of(d);G=(c[(Yu(f,65840,d,0)|0)>>2]|0)==6;D=FW(8)|0;do{if(G){C=c[k>>2]|0;if((C|0)==6){G=c[j>>2]|0;c[D>>2]=0;c[D+4>>2]=0;pr(D,G);c[b+192>>2]=D;break}else{c[B>>2]=C;c[A+4>>2]=6;Qe(0,72520,A);tc()}}else{c[D>>2]=0;c[D+4>>2]=0;c[b+192>>2]=D;Qe(-1,65856,C);a[b+144|0]=0}}while(0);Of(d);do{if((c[(Yu(f,64088,d,0)|0)>>2]|0)==6){A=c[k>>2]|0;if((A|0)!=6){c[z>>2]=A;c[y+4>>2]=6;Qe(0,72520,y);tc()}z=c[j>>2]|0;if((c[z+12>>2]|0)!=2){n=31;break}c[t>>2]=13;y=s+8|0;c[y>>2]=0;c[y+4>>2]=0;do{if((c[(ut(z,0,s)|0)>>2]|0)==3){z=c[t>>2]|0;if((z|0)==3){c[b+196>>2]=mr(c[y>>2]|0)|0;break}else{c[x>>2]=z;c[w+4>>2]=3;Qe(0,72520,w);tc()}}else{c[b+196>>2]=5}}while(0);Of(s);w=c[k>>2]|0;if((w|0)!=6){c[v>>2]=w;c[u+4>>2]=6;Qe(0,72520,u);tc()}do{if((c[(ut(c[j>>2]|0,1,s)|0)>>2]|0)==3){t=c[t>>2]|0;if((t|0)==3){c[b+200>>2]=mr(c[y>>2]|0)|0;break}else{c[r>>2]=t;c[q+4>>2]=3;Qe(0,72520,q);tc()}}else{c[b+200>>2]=5}}while(0);Of(s)}else{n=31}}while(0);if((n|0)==31){c[b+200>>2]=5;c[b+196>>2]=5}Of(d);do{if((c[(Yu(f,64136,d,0)|0)>>2]|0)==6){n=FW(40)|0;q=c[k>>2]|0;if((q|0)==6){vr(n,c[j>>2]|0,0);c[b+204>>2]=n;break}else{c[o>>2]=q;c[p+4>>2]=6;Qe(0,72520,p);tc()}}else{c[b+204>>2]=0}}while(0);Of(d);do{if((c[(Yu(f,64072,d,0)|0)>>2]|0)==7){n=FW(16)|0;o=c[k>>2]|0;if((o|0)==7){or(n,c[j>>2]|0);c[b+208>>2]=n;break}else{c[l>>2]=o;c[m+4>>2]=7;Qe(0,72520,m);tc()}}else{c[b+208>>2]=0}}while(0);Of(d);if((c[(Yu(f,64024,d,0)|0)>>2]|0)!=4){c[b+212>>2]=0;Of(d);i=e;return}f=FW(32)|0;k=c[k>>2]|0;if((k|0)!=4){c[h>>2]=k;c[g+4>>2]=4;Qe(0,72520,g);tc()}fe(f,c[j>>2]|0);do{if((te(f,65888)|0)==0){c[b+212>>2]=0}else{b=b+212|0;if((te(f,65904)|0)==0){c[b>>2]=1;break}else{c[b>>2]=2;break}}}while(0);if((f|0)==0){Of(d);i=e;return}ke(f);HW(f);Of(d);i=e;return}function Is(a){a=a|0;var b=0;b=i;Js(a);HW(a);i=b;return}function Js(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;c[a>>2]=65800;d=c[a+192>>2]|0;if((d|0)!=0){h=c[d>>2]|0;if((h|0)!=0){e=d+4|0;f=c[e>>2]|0;if((f|0)>0){g=0;do{j=c[h+(g<<2)>>2]|0;if((j|0)!=0){HW(j);h=c[d>>2]|0;f=c[e>>2]|0}g=g+1|0;}while((g|0)<(f|0))}Fe(h)}HW(d)}d=c[a+204>>2]|0;if((d|0)!=0){HW(d)}d=c[a+208>>2]|0;if((d|0)==0){Or(a);i=b;return}HW(d);Or(a);i=b;return}function Ks(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;d=i;i=i+8|0;f=d;l=i;i=i+8|0;m=l;n=i;i=i+16|0;h=n;k=i;i=i+32|0;c[n>>2]=13;g=h+8|0;c[g>>2]=0;c[g+4>>2]=0;j=a+192|0;c[j>>2]=0;if((c[(Yu(e,65960,h,0)|0)>>2]|0)==4){o=c[n>>2]|0;if((o|0)!=4){c[l>>2]=o;c[m+4>>2]=4;Qe(0,72520,m);tc()}fe(k,c[g>>2]|0);do{if((te(k,55584)|0)==0){c[j>>2]=1}else{if((te(k,56336)|0)!=0){break}c[j>>2]=0}}while(0);ke(k)}Of(h);if((c[(Yu(e,64080,h,0)|0)>>2]|0)!=6){c[a+196>>2]=0;Of(h);i=b;return}e=c[n>>2]|0;if((e|0)!=6){c[d>>2]=e;c[f+4>>2]=6;Qe(0,72520,f);tc()}c[a+196>>2]=nr(c[g>>2]|0,c[a+28>>2]|0)|0;Of(h);i=b;return}function Ls(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=65936;d=c[a+196>>2]|0;if((d|0)!=0){HW(d)}Or(a);HW(a);i=b;return}function Ms(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=65936;d=c[a+196>>2]|0;if((d|0)==0){Or(a);i=b;return}HW(d);Or(a);i=b;return}function Ns(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;o=i;i=i+8|0;e=i;i=i+8|0;d=e;n=i;i=i+8|0;l=n;p=i;i=i+16|0;g=p;j=i;i=i+16|0;k=j;c[p>>2]=13;m=g+8|0;c[m>>2]=0;c[m+4>>2]=0;if((c[(Yu(f,66e3,g,0)|0)>>2]|0)!=6){c[b+196>>2]=0;c[b+192>>2]=0;Qe(-1,66008,o);a[b+144|0]=0;Of(g);i=h;return}f=c[p>>2]|0;if((f|0)!=6){c[n>>2]=f;c[l+4>>2]=6;Qe(0,72520,l);tc()}l=c[m>>2]|0;q=c[l+12>>2]|0;f=b+196|0;c[f>>2]=q;q=ye(q,4)|0;m=b+192|0;c[m>>2]=q;bX(q|0,0,c[f>>2]<<2|0)|0;if((c[f>>2]|0)<=0){Of(g);i=h;return}o=k+8|0;n=o+4|0;p=0;while(1){c[j>>2]=13;c[o>>2]=0;c[n>>2]=0;if((c[(ut(l,p,k)|0)>>2]|0)==6){q=FW(8)|0;b=c[j>>2]|0;if((b|0)!=6){j=8;break}b=c[o>>2]|0;c[q>>2]=0;c[q+4>>2]=0;pr(q,b);c[(c[m>>2]|0)+(p<<2)>>2]=q}Of(k);p=p+1|0;if((p|0)>=(c[f>>2]|0)){j=12;break}}if((j|0)==8){c[e>>2]=b;c[d+4>>2]=6;Qe(0,72520,d);tc()}else if((j|0)==12){Of(g);i=h;return}}function Os(a){a=a|0;var b=0;b=i;Ps(a);HW(a);i=b;return}function Ps(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;b=i;c[a>>2]=65976;d=a+192|0;j=c[d>>2]|0;if((j|0)==0){Or(a);i=b;return}e=a+196|0;h=c[e>>2]|0;if((h|0)>0){f=0;do{g=c[j+(f<<2)>>2]|0;if((g|0)!=0){l=c[g>>2]|0;if((l|0)!=0){h=g+4|0;j=c[h>>2]|0;if((j|0)>0){k=0;do{m=c[l+(k<<2)>>2]|0;if((m|0)!=0){HW(m);l=c[g>>2]|0;j=c[h>>2]|0}k=k+1|0;}while((k|0)<(j|0))}Fe(l)}HW(g);j=c[d>>2]|0;h=c[e>>2]|0}f=f+1|0;}while((f|0)<(h|0))}Fe(j);Or(a);i=b;return}function Qs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;d=i;g=i;i=i+8|0;h=g;m=i;i=i+8|0;l=i;i=i+16|0;j=l;c[l>>2]=13;e=j+8|0;c[e>>2]=0;c[e+4>>2]=0;do{if((c[(Yu(f,66072,j,0)|0)>>2]|0)==7){k=3}else{if((c[(Yu(f,66072,j,0)|0)>>2]|0)==3){k=3;break}Qe(-1,66080,m);a[b+144|0]=0}}while(0);if((k|0)==3){Mf(j,b+192|0)|0}Of(j);m=(c[(Yu(f,56208,j,0)|0)>>2]|0)==4;f=FW(32)|0;if(!m){fe(f,66112);c[b+208>>2]=f;Of(j);i=d;return}k=c[l>>2]|0;if((k|0)!=4){c[g>>2]=k;c[h+4>>2]=4;Qe(0,72520,h);tc()}fe(f,c[e>>2]|0);c[b+208>>2]=f;Of(j);i=d;return}function Rs(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=66040;Of(a+192|0);d=c[a+208>>2]|0;if((d|0)==0){Or(a);HW(a);i=b;return}ke(d);HW(d);Or(a);HW(a);i=b;return}function Ss(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=66040;Of(a+192|0);d=c[a+208>>2]|0;if((d|0)==0){Or(a);i=b;return}ke(d);HW(d);Or(a);i=b;return}function Ts(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0.0;f=i;t=i;i=i+16|0;r=t;s=i;i=i+32|0;u=s;v=i;i=i+40|0;q=v;p=i;i=i+16|0;e=p;n=i;i=i+32|0;j=n;o=i;i=i+16|0;g=o;m=i;i=i+16|0;l=m;c[p>>2]=13;p=e+8|0;c[p>>2]=0;c[p+4>>2]=0;p=c[a+48>>2]|0;if((p&2|0)!=0){i=f;return}do{if(d){if((p&4|0)!=0){break}i=f;return}else{if((p&32|0)==0){break}i=f;return}}while(0);p=c[a+88>>2]|0;do{if((p|0)!=0){d=a+96|0;if((c[d>>2]|0)!=9){break}if(GF(p,d)|0){break}i=f;return}}while(0);p=a+64|0;do{if((c[p>>2]|0)==5){x=+h[a+160>>3];d=FW(32)|0;ee(d);w=a+124|0;c[w>>2]=d;ne(d,56352,-1)|0;d=a+132|0;z=c[d>>2]|0;do{if((z|0)==0){ne(c[w>>2]|0,56360,-1)|0}else{y=c[z+32>>2]|0;if((y|0)==3){y=c[w>>2]|0;B=+h[z+8>>3];A=+h[z+16>>3];v=s;h[k>>3]=+h[z>>3];c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];z=u+8|0;h[k>>3]=B;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=u+16|0;h[k>>3]=A;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];c[u+24>>2]=55800;pe(y,55768,u)|0;break}else if((y|0)==1){y=c[w>>2]|0;v=t;h[k>>3]=+h[z>>3];c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];c[r+8>>2]=103;pe(y,55816,r)|0;break}else if((y|0)==4){y=c[w>>2]|0;C=+h[z+8>>3];A=+h[z+16>>3];B=+h[z+24>>3];h[k>>3]=+h[z>>3];c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];z=q+8|0;h[k>>3]=C;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=q+16|0;h[k>>3]=A;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=q+24|0;h[k>>3]=B;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];c[q+32>>2]=107;pe(y,55728,q)|0;break}else{break}}}while(0);q=a+208|0;do{if((te(c[q>>2]|0,66112)|0)==0){ne(c[w>>2]|0,66120,-1)|0}else{if((te(c[q>>2]|0,66664)|0)==0){ne(c[w>>2]|0,66680,-1)|0;break}if((te(c[q>>2]|0,67536)|0)==0){ne(c[w>>2]|0,67544,-1)|0;break}if((te(c[q>>2]|0,68128)|0)!=0){break}ne(c[w>>2]|0,68136,-1)|0}}while(0);ne(c[w>>2]|0,63808,-1)|0;bX(n|0,0,16)|0;h[j+24>>3]=24.0;h[j+16>>3]=24.0;if(x==1.0){Er(a,j,0,0,p)}else{c[o>>2]=13;n=g+8|0;c[n>>2]=0;c[n+4>>2]=0;Er(a,j,1,0,g);n=c[w>>2]|0;if((n|0)!=0){ke(n);HW(n)}c[m>>2]=13;z=l+8|0;c[z>>2]=0;c[z+4>>2]=0;z=FW(32)|0;fe(z,63816);c[w>>2]=z;Fr(a,63832,g,63840,x,0,l);Er(a,j,0,l,p)}g=c[w>>2]|0;if((g|0)==0){break}ke(g);HW(g)}else{d=a+132|0}}while(0);Nf(p,c[a+112>>2]|0,e,0)|0;z=c[a+28>>2]|0;Tx(b,e,c[a+128>>2]|0,c[d>>2]|0,+h[z>>3],+h[z+8>>3],+h[z+16>>3],+h[z+24>>3]);Of(e);i=f;return}function Us(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;d=i;g=i;i=i+8|0;h=g;l=i;i=i+8|0;k=i;i=i+16|0;j=k;c[k>>2]=13;e=j+8|0;c[e>>2]=0;c[e+4>>2]=0;m=HG(Yu(f,69904,j,0)|0)|0;c[b+192>>2]=m;if((m|0)==0){Qe(-1,69912,l);a[b+144|0]=0}Of(j);m=(c[(Yu(f,56208,j,0)|0)>>2]|0)==4;f=FW(32)|0;if(!m){fe(f,69928);c[b+196>>2]=f;Of(j);i=d;return}k=c[k>>2]|0;if((k|0)!=4){c[g>>2]=k;c[h+4>>2]=4;Qe(0,72520,h);tc()}fe(f,c[e>>2]|0);c[b+196>>2]=f;Of(j);i=d;return}function Vs(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=69888;d=c[a+192>>2]|0;if((d|0)!=0){JG(d);HW(d)}d=c[a+196>>2]|0;if((d|0)==0){Or(a);HW(a);i=b;return}ke(d);HW(d);Or(a);HW(a);i=b;return}function Ws(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=69888;d=c[a+192>>2]|0;if((d|0)!=0){JG(d);HW(d)}d=c[a+196>>2]|0;if((d|0)==0){Or(a);i=b;return}ke(d);HW(d);Or(a);i=b;return}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0.0,B=0.0,C=0.0;f=i;s=i;i=i+16|0;p=s;q=i;i=i+32|0;r=q;t=i;i=i+40|0;u=t;v=i;i=i+16|0;e=v;o=i;i=i+32|0;g=o;m=i;i=i+16|0;j=m;n=i;i=i+16|0;l=n;c[v>>2]=13;v=e+8|0;c[v>>2]=0;c[v+4>>2]=0;v=c[a+48>>2]|0;if((v&2|0)!=0){i=f;return}do{if(d){if((v&4|0)!=0){break}i=f;return}else{if((v&32|0)==0){break}i=f;return}}while(0);v=c[a+88>>2]|0;do{if((v|0)!=0){d=a+96|0;if((c[d>>2]|0)!=9){break}if(GF(v,d)|0){break}i=f;return}}while(0);v=a+64|0;do{if((c[v>>2]|0)==5){x=+h[a+160>>3];d=FW(32)|0;ee(d);w=a+124|0;c[w>>2]=d;ne(d,56352,-1)|0;d=a+132|0;z=c[d>>2]|0;do{if((z|0)==0){ne(c[w>>2]|0,56360,-1)|0}else{y=c[z+32>>2]|0;if((y|0)==4){y=c[w>>2]|0;C=+h[z+8>>3];B=+h[z+16>>3];A=+h[z+24>>3];h[k>>3]=+h[z>>3];c[t>>2]=c[k>>2];c[t+4>>2]=c[k+4>>2];z=u+8|0;h[k>>3]=C;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=u+16|0;h[k>>3]=B;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=u+24|0;h[k>>3]=A;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];c[u+32>>2]=107;pe(y,55728,u)|0;break}else if((y|0)==1){y=c[w>>2]|0;u=s;h[k>>3]=+h[z>>3];c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];c[p+8>>2]=103;pe(y,55816,p)|0;break}else if((y|0)==3){y=c[w>>2]|0;B=+h[z+8>>3];C=+h[z+16>>3];u=q;h[k>>3]=+h[z>>3];c[u>>2]=c[k>>2];c[u+4>>2]=c[k+4>>2];z=r+8|0;h[k>>3]=B;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];z=r+16|0;h[k>>3]=C;c[z>>2]=c[k>>2];c[z+4>>2]=c[k+4>>2];c[r+24>>2]=55800;pe(y,55768,r)|0;break}else{break}}}while(0);p=a+196|0;do{if((te(c[p>>2]|0,69928)|0)==0){ne(c[w>>2]|0,69936,-1)|0}else{if((te(c[p>>2]|0,70664)|0)!=0){break}ne(c[w>>2]|0,70672,-1)|0}}while(0);ne(c[w>>2]|0,63808,-1)|0;bX(o|0,0,16)|0;h[g+24>>3]=24.0;h[g+16>>3]=24.0;if(x==1.0){Er(a,g,0,0,v)}else{c[m>>2]=13;m=j+8|0;c[m>>2]=0;c[m+4>>2]=0;c[n>>2]=13;m=l+8|0;c[m>>2]=0;c[m+4>>2]=0;Er(a,g,1,0,j);m=c[w>>2]|0;if((m|0)!=0){ke(m);HW(m)}z=FW(32)|0;fe(z,63816);c[w>>2]=z;Fr(a,63832,j,63840,x,0,l);Er(a,g,0,l,v)}g=c[w>>2]|0;if((g|0)==0){break}ke(g);HW(g)}else{d=a+132|0}}while(0);Nf(v,c[a+112>>2]|0,e,0)|0;z=c[a+28>>2]|0;Tx(b,e,c[a+128>>2]|0,c[d>>2]|0,+h[z>>3],+h[z+8>>3],+h[z+16>>3],+h[z+24>>3]);Of(e);i=f;return}function Ys(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;f=i;i=i+8|0;g=f;j=i;i=i+16|0;d=j;c[j>>2]=13;b=d+8|0;c[b>>2]=0;c[b+4>>2]=0;if((c[(Yu(e,71608,d,0)|0)>>2]|0)!=7){c[a+148>>2]=0;Of(d);i=h;return}e=FW(20)|0;j=c[j>>2]|0;if((j|0)!=7){c[f>>2]=j;c[g+4>>2]=7;Qe(0,72520,g);tc()}at(e,c[b>>2]|0);c[a+148>>2]=e;Of(d);i=h;return}function Zs(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;l=i;k=i;i=i+8|0;j=k;c[b>>2]=55512;h=b+8|0;c[h>>2]=13;c[b+16>>2]=0;c[b+20>>2]=0;c[b+64>>2]=13;c[b+72>>2]=0;c[b+76>>2]=0;c[b+96>>2]=13;c[b+104>>2]=0;c[b+108>>2]=0;m=b+145|0;do{if((c[g>>2]|0)==9){a[m]=1;m=c[g>>2]|0;if((m|0)==9){k=g+8|0;g=c[k+4>>2]|0;m=b+116|0;c[m>>2]=c[k>>2];c[m+4>>2]=g;break}else{c[k>>2]=m;c[j+4>>2]=9;Qe(0,72520,j);tc()}}else{a[m]=0}}while(0);c[b+48>>2]=0;m=b+24|0;c[m>>2]=0;Kf(h,e)|0;zr(b,d,e,f);c[b>>2]=71584;c[m>>2]=25;Ys(b,0,0,e);i=l;return}function _s(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=71584;d=c[a+148>>2]|0;if((d|0)!=0){HW(d)}Cr(a);HW(a);i=b;return}function $s(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=71584;d=c[a+148>>2]|0;if((d|0)==0){Cr(a);i=b;return}HW(d);Cr(a);i=b;return}function at(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=i;g=i;i=i+8|0;f=g;m=i;i=i+8|0;k=m;o=i;i=i+8|0;n=o;p=i;i=i+8|0;q=p;r=i;i=i+8|0;s=r;t=i;i=i+8|0;u=t;l=i;i=i+16|0;h=l;c[l>>2]=13;e=h+8|0;c[e>>2]=0;c[e+4>>2]=0;do{if((c[(Yu(d,55424,h,0)|0)>>2]|0)==4){v=FW(32)|0;w=c[l>>2]|0;if((w|0)!=4){c[t>>2]=w;c[u+4>>2]=4;Qe(0,72520,u);tc()}fe(v,c[e>>2]|0);do{if((te(v,71616)|0)==0){c[b>>2]=1}else{if((te(v,71624)|0)==0){c[b>>2]=2;break}if((te(v,71632)|0)==0){c[b>>2]=3;break}else{c[b>>2]=0;break}}}while(0);if((v|0)==0){break}ke(v);HW(v)}else{c[b>>2]=0}}while(0);Of(h);do{if((c[(Yu(d,71640,h,0)|0)>>2]|0)==4){t=FW(32)|0;u=c[l>>2]|0;if((u|0)!=4){c[r>>2]=u;c[s+4>>2]=4;Qe(0,72520,s);tc()}fe(t,c[e>>2]|0);do{if((te(t,55168)|0)==0){c[b+4>>2]=1}else{r=b+4|0;if((te(t,64128)|0)==0){c[r>>2]=2;break}else{c[r>>2]=0;break}}}while(0);if((t|0)==0){break}ke(t);HW(t)}else{c[b+4>>2]=0}}while(0);Of(h);do{if((c[(Yu(d,55384,h,0)|0)>>2]|0)==4){r=FW(32)|0;s=c[l>>2]|0;if((s|0)!=4){c[p>>2]=s;c[q+4>>2]=4;Qe(0,72520,q);tc()}fe(r,c[e>>2]|0);do{if((te(r,71648)|0)==0){c[b+8>>2]=1}else{if((te(r,71656)|0)==0){c[b+8>>2]=2;break}p=b+8|0;if((te(r,71664)|0)==0){c[p>>2]=3;break}else{c[p>>2]=0;break}}}while(0);if((r|0)==0){break}ke(r);HW(r)}else{c[b+8>>2]=0}}while(0);Of(h);do{if((c[(Yu(d,71672,h,0)|0)>>2]|0)==4){p=FW(32)|0;q=c[l>>2]|0;if((q|0)!=4){c[o>>2]=q;c[n+4>>2]=4;Qe(0,72520,n);tc()}fe(p,c[e>>2]|0);do{if((te(p,55400)|0)==0){c[b+12>>2]=1}else{if((te(p,55168)|0)==0){c[b+12>>2]=2;break}n=b+12|0;if((te(p,64128)|0)==0){c[n>>2]=3;break}else{c[n>>2]=0;break}}}while(0);if((p|0)==0){break}ke(p);HW(p)}else{c[b+12>>2]=0}}while(0);Of(h);do{if((c[(Yu(d,71680,h,0)|0)>>2]|0)==0){n=c[l>>2]|0;if((n|0)==0){a[b+16|0]=a[e]&1;break}else{c[m>>2]=n;c[k+4>>2]=0;Qe(0,72520,k);tc()}}else{a[b+16|0]=1}}while(0);Of(h);if((c[(Yu(d,71688,h,0)|0)>>2]|0)!=0){a[b+17|0]=0;Of(h);i=j;return}k=c[l>>2]|0;if((k|0)!=0){c[g>>2]=k;c[f+4>>2]=0;Qe(0,72520,f);tc()}a[b+17|0]=a[e]&1;Of(h);i=j;return}function bt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;n=i;j=i;i=i+8|0;k=j;g=i;i=i+8|0;h=g;l=i;i=i+8|0;m=l;q=i;i=i+16|0;t=q;r=i;i=i+16|0;s=r;c[q>>2]=13;p=t+8|0;c[p>>2]=0;c[p+4>>2]=0;c[b>>2]=0;o=b+4|0;c[o>>2]=0;if((c[f>>2]|0)!=6){i=n;return}u=f+8|0;v=s+8|0;w=v+4|0;x=0;y=0;a:while(1){z=c[u>>2]|0;if((x|0)>=(c[z+12>>2]|0)){e=18;break}c[r>>2]=13;c[v>>2]=0;c[w>>2]=0;do{if((c[(ut(z,x,t)|0)>>2]|0)==7){z=c[f>>2]|0;if((z|0)!=6){e=7;break a}vt(c[u>>2]|0,x,s)|0;z=c[q>>2]|0;if((z|0)!=7){e=9;break a}A=ct(0,d,c[p>>2]|0,e,s)|0;if((A|0)==0){break}if((a[A+144|0]&1)==0){fd[c[(c[A>>2]|0)+4>>2]&511](A);break}B=c[o>>2]|0;if((B|0)<(y|0)){z=c[b>>2]|0}else{y=y+16|0;z=Ce(c[b>>2]|0,y,4)|0;c[b>>2]=z;B=c[o>>2]|0}c[o>>2]=B+1;c[z+(B<<2)>>2]=A}}while(0);Of(s);Of(t);z=c[f>>2]|0;if((z|0)==6){x=x+1|0}else{e=3;break}}if((e|0)==3){c[l>>2]=z;c[m+4>>2]=6;Qe(0,72520,m);tc()}else if((e|0)==7){c[g>>2]=z;c[h+4>>2]=6;Qe(0,72520,h);tc()}else if((e|0)==9){c[j>>2]=z;c[k+4>>2]=7;Qe(0,72520,k);tc()}else if((e|0)==18){i=n;return}}function ct(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;l=i;i=i+8|0;o=l;p=i;i=i+16|0;j=p;n=i;i=i+16|0;k=n;c[p>>2]=13;m=j+8|0;c[m>>2]=0;c[m+4>>2]=0;if((c[(Yu(e,55944,j,0)|0)>>2]|0)!=4){p=0;Of(j);i=h;return p|0}b=FW(32)|0;p=c[p>>2]|0;if((p|0)!=4){c[l>>2]=p;c[o+4>>2]=4;Qe(0,72520,o);tc()}fe(b,c[m>>2]|0);do{if((te(b,56200)|0)==0){k=FW(208)|0;Mr(k,d,e,f,g);c[k>>2]=56184;c[k+24>>2]=1;p=k+48|0;c[p>>2]=c[p>>2]|24;Pr(k,0,0,e)}else{if((te(b,63872)|0)==0){k=FW(184)|0;Ur(k,d,e,f,g);break}if((te(b,63944)|0)==0){k=FW(224)|0;Mr(k,d,e,f,g);c[k>>2]=63928;c[k+24>>2]=3;Yr(k,0,0,e);break}if((te(b,64120)|0)==0){k=FW(272)|0;Mr(k,d,e,f,g);c[k>>2]=64104;c[k+24>>2]=4;$r(k,0,0,e);break}if((te(b,55048)|0)==0){k=FW(208)|0;Mr(k,d,e,f,g);c[k>>2]=65728;c[k+24>>2]=5;Ds(k,0,0,e);break}if((te(b,55056)|0)==0){k=FW(208)|0;Mr(k,d,e,f,g);c[k>>2]=65728;c[k+24>>2]=5;Ds(k,0,0,e);break}if((te(b,65816)|0)==0){k=FW(216)|0;Mr(k,d,e,f,g);c[k>>2]=65800;c[k+24>>2]=7;Hs(k,0,0,e);break}if((te(b,65824)|0)==0){k=FW(216)|0;Mr(k,d,e,f,g);c[k>>2]=65800;c[k+24>>2]=7;Hs(k,0,0,e);break}if((te(b,64352)|0)==0){k=FW(200)|0;Mr(k,d,e,f,g);c[k>>2]=64336;c[k+24>>2]=9;ds(k,0,0,e);break}if((te(b,64368)|0)==0){k=FW(200)|0;Mr(k,d,e,f,g);c[k>>2]=64336;c[k+24>>2]=9;ds(k,0,0,e);break}if((te(b,64384)|0)==0){k=FW(200)|0;Mr(k,d,e,f,g);c[k>>2]=64336;c[k+24>>2]=9;ds(k,0,0,e);break}if((te(b,64400)|0)==0){k=FW(200)|0;Mr(k,d,e,f,g);c[k>>2]=64336;c[k+24>>2]=9;ds(k,0,0,e);break}if((te(b,65704)|0)==0){k=FW(200)|0;Mr(k,d,e,f,g);c[k>>2]=65688;c[k+24>>2]=13;As(k,0,0,e);break}if((te(b,65952)|0)==0){k=FW(200)|0;Mr(k,d,e,f,g);c[k>>2]=65936;c[k+24>>2]=14;Ks(k,0,0,e);break}if((te(b,65992)|0)==0){k=FW(200)|0;Mr(k,d,e,f,g);c[k>>2]=65976;c[k+24>>2]=15;Ns(k,0,0,e);break}if((te(b,66056)|0)==0){k=FW(216)|0;Mr(k,d,e,f,g);c[k>>2]=66040;c[k+192>>2]=13;c[k+200>>2]=0;c[k+204>>2]=0;c[k+24>>2]=17;Qs(k,0,0,e);break}if((te(b,69904)|0)==0){k=FW(200)|0;Mr(k,d,e,f,g);c[k>>2]=69888;c[k+24>>2]=18;Us(k,0,0,e);break}if((te(b,65424)|0)==0){k=FW(160)|0;ss(k,d,e,f,g);break}if((te(b,71696)|0)==0){k=FW(184)|0;hs(k,d,e,f,g);break}if((te(b,65600)|0)==0){k=FW(176)|0;xs(k,d,e,f,g);break}if((te(b,71704)|0)==0){k=FW(152)|0;c[k>>2]=55512;l=k+8|0;c[l>>2]=13;c[k+16>>2]=0;c[k+20>>2]=0;c[k+64>>2]=13;c[k+72>>2]=0;c[k+76>>2]=0;c[k+96>>2]=13;c[k+104>>2]=0;c[k+108>>2]=0;m=k+145|0;if((c[g>>2]|0)==9){a[m]=1;n=g+8|0;o=c[n+4>>2]|0;p=k+116|0;c[p>>2]=c[n>>2];c[p+4>>2]=o}else{a[m]=0}c[k+48>>2]=0;c[k+24>>2]=0;Kf(l,e)|0;zr(k,d,e,f);break}if((te(b,71720)|0)==0){l=FW(152)|0;c[l>>2]=55512;m=l+8|0;c[m>>2]=13;c[l+16>>2]=0;c[l+20>>2]=0;c[l+64>>2]=13;c[l+72>>2]=0;c[l+76>>2]=0;c[l+96>>2]=13;c[l+104>>2]=0;c[l+108>>2]=0;k=l+145|0;if((c[g>>2]|0)==9){a[k]=1;n=g+8|0;o=c[n+4>>2]|0;p=l+116|0;c[p>>2]=c[n>>2];c[p+4>>2]=o}else{a[k]=0}c[l+48>>2]=0;c[l+24>>2]=0;Kf(m,e)|0;zr(l,d,e,f);k=l;break}if((te(b,71728)|0)==0){k=FW(152)|0;c[k>>2]=55512;l=k+8|0;c[l>>2]=13;c[k+16>>2]=0;c[k+20>>2]=0;c[k+64>>2]=13;c[k+72>>2]=0;c[k+76>>2]=0;c[k+96>>2]=13;c[k+104>>2]=0;c[k+108>>2]=0;m=k+145|0;if((c[g>>2]|0)==9){a[m]=1;n=g+8|0;o=c[n+4>>2]|0;p=k+116|0;c[p>>2]=c[n>>2];c[p+4>>2]=o}else{a[m]=0}c[k+48>>2]=0;c[k+24>>2]=0;Kf(l,e)|0;zr(k,d,e,f);break}if((te(b,71600)|0)==0){k=FW(152)|0;Zs(k,d,e,f,g);break}if((te(b,56072)|0)==0){c[n>>2]=13;p=k+8|0;c[p>>2]=0;c[p+4>>2]=0;if((c[(Yu(e,56080,k,0)|0)>>2]|0)==5){p=FW(176)|0;Ir(p,d,e,f,g);g=p}else{g=0}Of(k);k=g;break}m=FW(152)|0;c[m>>2]=55512;l=m+8|0;c[l>>2]=13;c[m+16>>2]=0;c[m+20>>2]=0;c[m+64>>2]=13;c[m+72>>2]=0;c[m+76>>2]=0;c[m+96>>2]=13;c[m+104>>2]=0;c[m+108>>2]=0;k=m+145|0;if((c[g>>2]|0)==9){a[k]=1;n=g+8|0;o=c[n+4>>2]|0;p=m+116|0;c[p>>2]=c[n>>2];c[p+4>>2]=o}else{a[k]=0}c[m+48>>2]=0;c[m+24>>2]=0;Kf(l,e)|0;zr(m,d,e,f);k=m}}while(0);if((b|0)==0){p=k;Of(j);i=h;return p|0}ke(b);HW(b);p=k;Of(j);i=h;return p|0}function dt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;d=a+4|0;e=c[d>>2]|0;g=c[a>>2]|0;if((e|0)>0){f=0}else{h=g;Fe(h);i=b;return}do{h=c[g+(f<<2)>>2]|0;if((h|0)!=0){fd[c[(c[h>>2]|0)+4>>2]&511](h);g=c[a>>2]|0;e=c[d>>2]|0}f=f+1|0;}while((f|0)<(e|0));Fe(g);i=b;return}function et(a){a=a|0;i=i;return c[a+4>>2]|0}function ft(a){a=a|0;i=i;return+(+h[a+8>>3])}function gt(a){a=a|0;i=i;return c[a+16>>2]|0}function ht(a){a=a|0;i=i;return c[a+20>>2]|0}function it(a){a=a|0;i=i;return c[a+24>>2]|0}function jt(a){a=a|0;i=i;return}function kt(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function lt(a){a=a|0;i=i;return}function mt(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function nt(a){a=a|0;var b=0;b=i;c[a>>2]=55264;a=c[a+20>>2]|0;if((a|0)==0){i=b;return}Fe(a);i=b;return}function ot(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=55264;d=c[a+20>>2]|0;if((d|0)==0){HW(a);i=b;return}Fe(d);HW(a);i=b;return}function pt(a){a=a|0;var b=0;b=i;c[a>>2]=55264;a=c[a+20>>2]|0;if((a|0)==0){i=b;return}Fe(a);i=b;return}function qt(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=55264;d=c[a+20>>2]|0;if((d|0)==0){HW(a);i=b;return}Fe(d);HW(a);i=b;return}function rt(a,b){a=a|0;b=b|0;c[a>>2]=b;c[a+4>>2]=0;c[a+12>>2]=0;c[a+8>>2]=0;c[a+16>>2]=1;i=i;return}function st(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=a+12|0;a=a+4|0;f=c[a>>2]|0;if((c[d>>2]|0)>0){e=0}else{Fe(f);i=b;return}while(1){Of(f+(e<<4)|0);e=e+1|0;f=c[a>>2]|0;if((e|0)<(c[d>>2]|0)){}else{break}}Fe(f);i=b;return}function tt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;d=a+12|0;h=c[d>>2]|0;f=a+8|0;do{if((h|0)==(c[f>>2]|0)){g=(h|0)==0?8:h<<1;c[f>>2]=g;a=a+4|0;g=Ce(c[a>>2]|0,g,16)|0;c[a>>2]=g;h=c[d>>2]|0;if((h|0)>=(c[f>>2]|0)){break}while(1){g=g+(h<<4)+8|0;c[g>>2]=0;c[g+4>>2]=0;h=h+1|0;if((h|0)>=(c[f>>2]|0)){break}g=c[a>>2]|0}h=c[d>>2]|0}else{a=a+4|0}}while(0);$W((c[a>>2]|0)+(h<<4)|0,b|0,16)|0;c[d>>2]=(c[d>>2]|0)+1;i=e;return}function ut(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;do{if((b|0)>=0){if((c[a+12>>2]|0)<=(b|0)){break}b=Nf((c[a+4>>2]|0)+(b<<4)|0,c[a>>2]|0,d,0)|0;i=e;return b|0}}while(0);b=d+8|0;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=5;b=d;i=e;return b|0}function vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;do{if((b|0)>=0){if((c[a+12>>2]|0)<=(b|0)){break}b=Mf((c[a+4>>2]|0)+(b<<4)|0,d)|0;i=e;return b|0}}while(0);b=d+8|0;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=5;b=d;i=e;return b|0}function wt(){var a=0,b=0;a=i;b=FW(8)|0;zH(b,73312,315);c[72948>>2]=b;b=FW(8)|0;zH(b,77096,315);c[72972>>2]=b;b=FW(8)|0;zH(b,80880,315);c[72996>>2]=b;b=FW(8)|0;zH(b,84664,315);c[73020>>2]=b;b=FW(8)|0;zH(b,88448,315);c[73044>>2]=b;b=FW(8)|0;zH(b,92232,316);c[73068>>2]=b;b=FW(8)|0;zH(b,96024,315);c[73092>>2]=b;b=FW(8)|0;zH(b,99808,315);c[73116>>2]=b;b=FW(8)|0;zH(b,103592,190);c[73140>>2]=b;b=FW(8)|0;zH(b,105872,315);c[73164>>2]=b;b=FW(8)|0;zH(b,109656,315);c[73188>>2]=b;b=FW(8)|0;zH(b,113440,315);c[73212>>2]=b;b=FW(8)|0;zH(b,117224,315);c[73236>>2]=b;b=FW(8)|0;zH(b,121008,202);c[73260>>2]=b;i=a;return}function xt(){var a=0,b=0,d=0;a=i;d=0;do{b=c[72948+(d*24|0)>>2]|0;if((b|0)!=0){AH(b);HW(b)}d=d+1|0;}while((d|0)<14);i=a;return}function yt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;F=i;I=i;i=i+8|0;J=I;G=i;i=i+8|0;H=G;g=i;i=i+8|0;B=i;i=i+8|0;D=i;i=i+8|0;E=D;M=i;i=i+8|0;z=i;i=i+8|0;s=i;i=i+8|0;t=s;p=i;i=i+8|0;q=p;n=i;i=i+8|0;O=i;i=i+8|0;P=O;m=i;i=i+256|0;k=m;y=i;i=i+256|0;h=y;K=i;i=i+256|0;u=i;i=i+8|0;l=u;x=i;i=i+8|0;j=x;L=i;i=i+8|0;v=i;i=i+8|0;o=v;w=i;i=i+8|0;r=w;A=i;i=i+8|0;C=A;do{if((f|0)==0){f=df(c[834]|0,d,e)|0;if((f|0)!=0){O=FW(12)|0;YF(O,251,f);break}do{if((te(e,130136)|0)!=0){if((te(e,130152)|0)==0){break}if((te(e,130168)|0)==0){S=FW(44)|0;Q=FW(32)|0;ie(Q,d);R=FW(32)|0;ie(R,e);c[S>>2]=Q;c[S+4>>2]=R;c[S+8>>2]=1;c[S+12>>2]=0;c[S+16>>2]=1;ad(S+20|0,0)|0;i=F;return S|0}else{S=c[d+28>>2]|0;c[O>>2]=c[e+28>>2];c[P+4>>2]=S;Qe(-1,130184,P);S=0;i=F;return S|0}}}while(0);S=FW(44)|0;Q=FW(32)|0;ie(Q,d);R=FW(32)|0;ie(R,e);c[S>>2]=Q;c[S+4>>2]=R;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=1;ad(S+20|0,0)|0;i=F;return S|0}else{fd[c[(c[f>>2]|0)+12>>2]&511](f);O=FW(12)|0;YF(O,250,f);f=0}}while(0);P=FW(44)|0;S=FW(32)|0;ie(S,d);Q=FW(32)|0;ie(Q,e);c[P>>2]=S;c[P+4>>2]=Q;e=P+8|0;c[e>>2]=0;Q=ye(256,8)|0;d=P+12|0;c[d>>2]=Q;a[Q]=0;c[(c[d>>2]|0)+4>>2]=0;Q=1;do{a[(c[d>>2]|0)+(Q<<3)|0]=0;c[(c[d>>2]|0)+(Q<<3)+4>>2]=0;Q=Q+1|0;}while((Q|0)<256);c[P+16>>2]=1;ad(P+20|0,0)|0;_F(O,k,256,l)|0;if(_F(O,h,256,j)|0){R=k+1|0;Q=h+1|0;do{do{if((Qc(h|0,130240)|0)==0){if((a[m]|0)==47){Bt(P,b,R)}_F(O,k,256,l)|0}else{if((Qc(k|0,130248)|0)==0){c[e>>2]=ec(h|0)|0;_F(O,k,256,l)|0;break}if((Qc(h|0,130256)|0)==0){a:do{if(_F(O,k,256,l)|0){while(1){if((Qc(k|0,130280)|0)==0){break a}if(!(_F(O,h,256,j)|0)){break}if((Qc(h|0,130280)|0)==0){break}do{if((a[m]|0)==60){if((a[y]|0)!=60){break}S=c[u>>2]|0;if(!((S|0)==(c[x>>2]|0)&(S|0)>3&(S&1|0)==0)){break}S=S+ -1|0;a[h+S|0]=0;a[k+S|0]=0;c[p>>2]=o;Hc(R|0,130352,q|0)|0;c[s>>2]=r;Hc(Q|0,130352,t|0)|0;S=((c[u>>2]|0)+ -2|0)/2|0;c[u>>2]=S;Ct(P,c[d>>2]|0,c[v>>2]|0,c[w>>2]|0,S)}}while(0);if(!(_F(O,k,256,l)|0)){break a}}Qe(-1,130304,n)}}while(0);_F(O,k,256,l)|0;break}if((Qc(h|0,130360)|0)==0){b:do{if(_F(O,k,256,l)|0){while(1){if((Qc(k|0,130376)|0)==0){break b}if(!(_F(O,h,256,j)|0)){break}if((Qc(h|0,130376)|0)==0){break}do{if((a[m]|0)==60){T=c[u>>2]|0;S=k+(T+ -1)|0;if(!((a[S]|0)==62&(T|0)>3&(T&1|0)==0)){N=42;break}a[S]=0;c[D>>2]=C;if((Hc(R|0,130352,E|0)|0)==1){T=((c[u>>2]|0)+ -2|0)/2|0;c[u>>2]=T;S=c[A>>2]|0;Dt(P,S,S,T,ec(h|0)|0);break}else{Qe(-1,130392,B);break}}else{N=42}}while(0);if((N|0)==42){N=0;Qe(-1,130392,M)}if(!(_F(O,k,256,l)|0)){break b}}Qe(-1,130392,z)}}while(0);_F(O,k,256,l)|0;break}if((Qc(h|0,130432)|0)!=0){eX(k|0,h|0)|0;break}c:do{if(_F(O,k,256,l)|0){while(1){if((Qc(k|0,130448)|0)==0){break c}if(!(_F(O,h,256,j)|0)){break}if((Qc(h|0,130448)|0)==0){break}if(!(_F(O,K,256,L)|0)){break}if((Qc(K|0,130448)|0)==0){break}do{if((a[m]|0)==60){if((a[y]|0)!=60){break}S=c[u>>2]|0;if(!((S|0)==(c[x>>2]|0)&(S|0)>3&(S&1|0)==0)){break}T=S+ -1|0;a[h+T|0]=0;a[k+T|0]=0;c[G>>2]=o;Hc(R|0,130352,H|0)|0;c[I>>2]=r;Hc(Q|0,130352,J|0)|0;T=((c[u>>2]|0)+ -2|0)/2|0;c[u>>2]=T;U=c[v>>2]|0;S=c[w>>2]|0;Dt(P,U,S,T,ec(K|0)|0)}}while(0);if(!(_F(O,k,256,l)|0)){break c}}Qe(-1,130464,g)}}while(0);_F(O,k,256,l)|0}}while(0);}while(_F(O,h,256,j)|0)}if((O|0)!=0){HW(O)}if((f|0)==0){U=P;i=F;return U|0}mc(f|0)|0;U=P;i=F;return U|0}function zt(a){a=a|0;var b=0;b=i;a=jd[c[(c[a>>2]|0)+20>>2]&511](a)|0;i=b;return a|0}function At(a){a=a|0;var b=0;b=i;a=qc(a|0)|0;i=b;return a|0}function Bt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;f=FW(32)|0;fe(f,d);b=Et(b,c[a>>2]|0,f,0)|0;if((f|0)!=0){ke(f);HW(f)}if((b|0)==0){i=e;return}Ft(a,c[a+12>>2]|0,c[b+12>>2]|0);Gt(b);i=e;return}function Ct(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;if(g>>>0<=1){i=h;return}j=g+ -1|0;n=j<<3;k=e>>>n&255;g=f>>>n&255;n=(1<<n)+ -1|0;e=n&e;f=n&f;if(k>>>0>g>>>0){i=h;return}while(1){l=d+(k<<3)|0;a:do{if((a[l]&1)==0){a[l]=1;l=ye(256,8)|0;m=d+(k<<3)+4|0;c[m>>2]=l;n=0;while(1){a[l+(n<<3)|0]=0;c[(c[m>>2]|0)+(n<<3)+4>>2]=0;n=n+1|0;if((n|0)>=256){break a}l=c[m>>2]|0}}else{m=d+(k<<3)+4|0}}while(0);Ct(b,c[m>>2]|0,e,f,j);if((k|0)<(g|0)){k=k+1|0}else{break}}i=h;return}function Dt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;k=i;i=i+16|0;h=k;l=i;i=i+16|0;m=l;n=f+ -1|0;b=c[b+12>>2]|0;a:do{if((n|0)==0){l=b}else{while(1){o=d>>>(n<<3)&255;if((a[b+(o<<3)|0]&1)==0){break}n=n+ -1|0;b=c[b+(o<<3)+4>>2]|0;if((n|0)==0){l=b;break a}}o=f<<1;c[l>>2]=o;c[m+4>>2]=d;c[m+8>>2]=o;c[m+12>>2]=e;Qe(-1,130528,m);i=j;return}}while(0);n=d&255;m=e&255;if(n>>>0>m>>>0){i=j;return}f=f<<1;while(1){if((a[l+(n<<3)|0]&1)==0){c[l+(n<<3)+4>>2]=g}else{c[k>>2]=f;c[h+4>>2]=d;c[h+8>>2]=f;c[h+12>>2]=e;Qe(-1,130528,h)}if((n|0)<(m|0)){n=n+1|0;g=g+1|0}else{break}}i=j;return}function Et(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;h=c[a>>2]|0;do{if((h|0)==0){h=1}else{if((se(c[h>>2]|0,b)|0)!=0){h=1;break}if((se(c[h+4>>2]|0,d)|0)!=0){h=1;break}j=c[a>>2]|0;k=j+20|0;Ub(k|0)|0;j=j+16|0;c[j>>2]=(c[j>>2]|0)+1;Mc(k|0)|0;k=c[a>>2]|0;i=f;return k|0}}while(0);a:do{j=a+(h<<2)|0;k=c[j>>2]|0;do{if((k|0)!=0){if((se(c[k>>2]|0,b)|0)!=0){break}if((se(c[k+4>>2]|0,d)|0)==0){g=8;break a}}}while(0);h=h+1|0;}while((h|0)<4);if((g|0)==8){d=c[j>>2]|0;if((h|0)>0){while(1){b=h+ -1|0;c[a+(h<<2)>>2]=c[a+(b<<2)>>2];if((b|0)>0){h=b}else{break}}}c[a>>2]=d;k=d+20|0;Ub(k|0)|0;j=d+16|0;c[j>>2]=(c[j>>2]|0)+1;Mc(k|0)|0;k=d;i=f;return k|0}d=yt(a,b,d,e)|0;if((d|0)==0){k=0;i=f;return k|0}b=a+12|0;g=c[b>>2]|0;if((g|0)!=0){Gt(g)}j=a+8|0;c[b>>2]=c[j>>2];k=a+4|0;c[j>>2]=c[k>>2];c[k>>2]=c[a>>2];c[a>>2]=d;k=d+20|0;Ub(k|0)|0;j=d+16|0;c[j>>2]=(c[j>>2]|0)+1;Mc(k|0)|0;k=d;i=f;return k|0}function Ft(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;h=i;f=i;i=i+8|0;g=0;do{j=d+(g<<3)|0;k=(a[j]&1)!=0;do{if((a[e+(g<<3)|0]&1)==0){if(k){Qe(-1,130504,f);break}else{c[d+(g<<3)+4>>2]=c[e+(g<<3)+4>>2];break}}else{a:do{if(k){k=d+(g<<3)+4|0}else{a[j]=1;j=ye(256,8)|0;k=d+(g<<3)+4|0;c[k>>2]=j;l=0;while(1){a[j+(l<<3)|0]=0;c[(c[k>>2]|0)+(l<<3)+4>>2]=0;l=l+1|0;if((l|0)>=256){break a}j=c[k>>2]|0}}}while(0);Ft(b,c[k>>2]|0,c[e+(g<<3)+4>>2]|0)}}while(0);g=g+1|0;}while((g|0)<256);i=h;return}function Gt(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=a+20|0;Ub(d|0)|0;f=a+16|0;e=(c[f>>2]|0)+ -1|0;c[f>>2]=e;Mc(d|0)|0;if((e|0)!=0|(a|0)==0){i=b;return}e=c[a>>2]|0;if((e|0)!=0){ke(e);HW(e)}e=c[a+4>>2]|0;if((e|0)!=0){ke(e);HW(e)}e=c[a+12>>2]|0;if((e|0)!=0){Ht(a,e)}kc(d|0)|0;HW(a);i=b;return}function Ht(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;f=0;do{if((a[d+(f<<3)|0]&1)!=0){Ht(b,c[d+(f<<3)+4>>2]|0)}f=f+1|0;}while((f|0)<256);Fe(d);i=e;return}function It(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;k=c[b+12>>2]|0;if((k|0)==0){c[g>>2]=2;if((f|0)<2){k=0;i=h;return k|0}k=(d[e]|0)<<8|(d[e+1|0]|0);i=h;return k|0}a:do{if((f|0)>0){j=0;while(1){b=j+1|0;j=d[e+j|0]|0;if((a[k+(j<<3)|0]&1)==0){break}if((b|0)<(f|0)){k=c[k+(j<<3)+4>>2]|0;j=b}else{break a}}c[g>>2]=b;k=c[k+(j<<3)+4>>2]|0;i=h;return k|0}else{b=0}}while(0);c[g>>2]=b;k=0;i=h;return k|0}function Jt(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;if((e|0)==0){i=j;return}if((h|0)==0){h=0;do{if((a[e+(h<<3)|0]&1)!=0){Jt(b,h+d<<8,c[e+(h<<3)+4>>2]|0,f,g,0)}h=h+1|0;}while((h|0)<256);i=j;return}else{k=0}do{a:do{if((a[e+(k<<3)|0]&1)==0){m=c[e+(k<<3)+4>>2]|0;if(m>>>0>=g>>>0){break}l=k+d|0;o=da(m,h)|0;p=0;while(1){m=f+(p+o<<2)|0;n=c[m>>2]|0;if((n|0)==0){break}p=p+1|0;if(!((n|0)!=(l|0)&p>>>0<h>>>0)){break a}}c[m>>2]=l}else{Jt(b,k+d<<8,c[e+(k<<3)+4>>2]|0,f,g,h)}}while(0);k=k+1|0;}while((k|0)<256);i=j;return}function Kt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;Jt(a,0,c[a+12>>2]|0,b,d,e);i=f;return}function Lt(a){a=a|0;var b=0;b=i;bX(a|0,0,16)|0;i=b;return}function Mt(a){a=a|0;var b=0,d=0;b=i;d=c[a>>2]|0;if((d|0)!=0){Gt(d)}d=c[a+4>>2]|0;if((d|0)!=0){Gt(d)}d=c[a+8>>2]|0;if((d|0)!=0){Gt(d)}a=c[a+12>>2]|0;if((a|0)==0){i=b;return}Gt(a);i=b;return}function Nt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;c[a+4>>2]=d;c[a>>2]=b;c[a+12>>2]=0;h=FW(12)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;g=a+16|0;c[g>>2]=h;h=a+8|0;c[h>>2]=0;b=sd[c[(c[b>>2]|0)+8>>2]&127](b,d,a)|0;c[h>>2]=b;c[a+20>>2]=1;g=c[g>>2]|0;b=(b>>>13)+1|0;d=g+4|0;a=c[d>>2]|0;h=c[g>>2]|0;f=(a-h|0)/8196|0;if(f>>>0<b>>>0){Yt(g,b-f|0);i=e;return}if(f>>>0<=b>>>0){i=e;return}b=h+(b*8196|0)|0;if((b|0)==(a|0)){i=e;return}c[d>>2]=a+(~(((a+ -8196+(0-b)|0)>>>0)/8196|0)*8196|0);i=e;return}function Ot(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=c[a+4>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}a=c[a+16>>2]|0;if((a|0)==0){i=b;return}d=c[a>>2]|0;if((d|0)!=0){e=a+4|0;f=c[e>>2]|0;if((d|0)!=(f|0)){c[e>>2]=f+(~(((f+ -8196+(0-d)|0)>>>0)/8196|0)*8196|0)}HW(d)}HW(a);i=b;return}function Pt(a){a=a|0;a=a+20|0;c[a>>2]=(c[a>>2]|0)+1;i=i;return}function Qt(a){a=a|0;var b=0,d=0,e=0;b=i;e=a+20|0;d=(c[e>>2]|0)+ -1|0;c[e>>2]=d;if((d|0)!=0|(a|0)==0){i=b;return}Ot(a);HW(a);i=b;return}function Rt(a){a=a|0;i=i;return c[a+12>>2]|0}function St(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;if((d|0)==0){c[a+12>>2]=b}else if((d|0)==1){d=a+12|0;b=(c[d>>2]|0)+b|0;c[d>>2]=b}else{b=(c[a+8>>2]|0)+b|0;c[a+12>>2]=b}if(b>>>0<=(c[a+8>>2]|0)>>>0){d=0;i=e;return d|0}c[a+12>>2]=0;d=1;i=e;return d|0}function Tt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;e=i;f=i;i=i+16|0;o=f;h=i;i=i+16|0;q=h;k=i;i=i+16|0;x=k;n=i;i=i+16|0;p=n;c[f>>2]=0;d=o+4|0;c[d>>2]=0;m=o+8|0;c[m>>2]=0;v=a+8|0;u=c[v>>2]|0;t=u>>>13;r=t+1|0;g=FW((u>>>18<<2)+4|0)|0;s=r>>>5;bX(g|0,0,s<<2|0)|0;j=s<<5;if((j|0)!=(r|0)){C=g+(s<<2)|0;c[C>>2]=c[C>>2]&~(-1>>>(31-t+j|0))}c[h>>2]=0;j=q+4|0;c[j>>2]=0;t=q+8|0;c[t>>2]=0;c[k>>2]=0;s=x+4|0;c[s>>2]=0;y=x+8|0;c[y>>2]=0;w=c[b+4>>2]|0;if((c[b>>2]|0)==(w|0)){w=FW(8)|0;if((w|0)!=0){C=w;c[C>>2]=0;c[C+4>>2]=u}C=w+8|0;c[k>>2]=w;c[s>>2]=C;c[y>>2]=w+8;u=C;w=C}else{u=0;x=b}b=0;do{C=g+(b>>>5<<2)|0;c[C>>2]=c[C>>2]&~(1<<(b&31));b=b+1|0;}while((b|0)<(r|0));b=c[x>>2]|0;if((w|0)==(b|0)){v=0}else{x=a+16|0;y=0;while(1){B=c[b+(y<<3)+4>>2]|0;a:do{if((B|0)!=0){z=c[b+(y<<3)>>2]|0;A=c[v>>2]|0;if(z>>>0>=A>>>0){break}B=B+ -1+z|0;z=z>>>13;A=(B>>>0<A>>>0?B:A+ -1|0)>>>13;if(z>>>0>A>>>0){break}B=c[x>>2]|0;while(1){if((c[(c[B>>2]|0)+(z*8196|0)>>2]|0)==0){C=g+(z>>>5<<2)|0;c[C>>2]=c[C>>2]|1<<(z&31)}if((z|0)>=(A|0)){break a}z=z+1|0}}}while(0);y=y+1|0;if(y>>>0>=w-b>>3>>>0){v=0;break}}}b:while(1){if((1<<(v&31)&c[g+(v>>>5<<2)>>2]|0)==0){v=v+1|0;if((v|0)==(r|0)){l=66;break}else{continue}}if((v|0)==(r|0)){l=66;break}x=c[d>>2]|0;do{if((x|0)==(c[m>>2]|0)){w=c[f>>2]|0;b=x-w|0;y=b>>2;x=y+1|0;if(x>>>0>1073741823){l=28;break b}if(y>>>0>536870910){A=1073741823;l=31}else{z=b>>1;A=z>>>0<x>>>0?x:z;if((A|0)==0){z=0;A=0}else{l=31}}if((l|0)==31){l=0;z=FW(A<<2)|0}y=z+(y<<2)|0;if((y|0)!=0){c[y>>2]=v}$W(z|0,w|0,b|0)|0;c[f>>2]=z;c[d>>2]=z+(x<<2);c[m>>2]=z+(A<<2);if((w|0)==0){break}HW(w)}else{if((x|0)==0){w=0}else{c[x>>2]=v;w=c[d>>2]|0}c[d>>2]=w+4}}while(0);w=v+1|0;c:do{if((w|0)==(r|0)){b=v;w=r}else{b=v;while(1){if((c[g+(w>>>5<<2)>>2]&1<<(w&31)|0)==0){break c}b=c[d>>2]|0;do{if((b|0)==(c[m>>2]|0)){x=c[f>>2]|0;b=b-x|0;z=b>>2;y=z+1|0;if(y>>>0>1073741823){l=44;break b}if(z>>>0>536870910){B=1073741823;l=47}else{A=b>>1;B=A>>>0<y>>>0?y:A;if((B|0)==0){A=0;B=0}else{l=47}}if((l|0)==47){l=0;A=FW(B<<2)|0}z=A+(z<<2)|0;if((z|0)!=0){c[z>>2]=w}$W(A|0,x|0,b|0)|0;c[f>>2]=A;c[d>>2]=A+(y<<2);c[m>>2]=A+(B<<2);if((x|0)==0){break}HW(x)}else{if((b|0)==0){x=0}else{c[b>>2]=w;x=c[d>>2]|0}c[d>>2]=x+4}}while(0);x=w+1|0;if((x|0)==(r|0)){b=w;w=r;break}else{b=w;w=x}}}}while(0);x=v<<13;v=(b-v<<13)+8192|0;y=c[j>>2]|0;do{if((y|0)==(c[t>>2]|0)){b=c[h>>2]|0;z=y-b|0;A=z>>3;y=A+1|0;if(y>>>0>536870911){l=58;break b}if(A>>>0>268435454){C=536870911;l=61}else{B=z>>2;C=B>>>0<y>>>0?y:B;if((C|0)==0){B=0;C=0}else{l=61}}if((l|0)==61){l=0;B=FW(C<<3)|0}A=B+(A<<3)|0;if((A|0)!=0){c[A>>2]=x;c[A+4>>2]=v}$W(B|0,b|0,z|0)|0;c[h>>2]=B;c[j>>2]=B+(y<<3);c[t>>2]=B+(C<<3);if((b|0)==0){break}HW(b)}else{if((y|0)==0){v=0}else{C=y;c[C>>2]=x;c[C+4>>2]=v;v=c[j>>2]|0}c[j>>2]=v+8}}while(0);if((w|0)<(r|0)){v=w}else{l=66;break}}if((l|0)==28){wn(0)}else if((l|0)==44){wn(0)}else if((l|0)==58){wn(0)}else if((l|0)==66){if((c[j>>2]|0)==(c[h>>2]|0)){a=0}else{c[n>>2]=a;c[p+4>>2]=o;c[p+12>>2]=0;c[p+8>>2]=c[f>>2];a=c[a>>2]|0;a=sd[c[(c[a>>2]|0)+12>>2]&127](a,q,p)|0}k=c[k>>2]|0;if((k|0)!=0){if((k|0)!=(u|0)){c[s>>2]=u+(~((u+ -8+(0-k)|0)>>>3)<<3)}HW(k)}h=c[h>>2]|0;if((h|0)!=0){k=c[j>>2]|0;if((h|0)!=(k|0)){c[j>>2]=k+(~((k+ -8+(0-h)|0)>>>3)<<3)}HW(h)}if((g|0)!=0){HW(g)}f=c[f>>2]|0;if((f|0)==0){i=e;return a|0}g=c[d>>2]|0;if((f|0)!=(g|0)){c[d>>2]=g+(~((g+ -4+(0-f)|0)>>>2)<<2)}HW(f);i=e;return a|0}return 0}function Ut(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;g=i;i=i+16|0;h=g;j=da(e,d)|0;e=c[a+8>>2]|0;d=a+12|0;k=c[d>>2]|0;e=e>>>0<(k+j|0)>>>0?e-k|0:j;if((e|0)==0){n=0;i=f;return n|0}c[g>>2]=0;j=h+4|0;c[j>>2]=0;m=h+8|0;c[m>>2]=0;l=FW(8)|0;n=l+8|0;if((l|0)!=0){o=l;c[o>>2]=k;c[o+4>>2]=e}c[g>>2]=l;c[j>>2]=n;c[m>>2]=n;h=Tt(a,h)|0;k=c[g>>2]|0;if((k|0)!=0){g=c[j>>2]|0;if((k|0)!=(g|0)){c[j>>2]=g+(~((g+ -8+(0-k)|0)>>>3)<<3)}HW(k)}if((h|0)!=0){o=0;i=f;return o|0}a=a+16|0;g=c[d>>2]|0;h=e;while(1){k=g&8191;j=8192-k|0;j=j>>>0>h>>>0?h:j;$W(b|0,(c[c[a>>2]>>2]|0)+((g>>>13)*8196|0)+4+k|0,j|0)|0;g=(c[d>>2]|0)+j|0;c[d>>2]=g;if((h|0)==(j|0)){break}else{h=h-j|0;b=b+j|0}}i=f;return e|0}function Vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;c[a>>2]=b;c[a+4>>2]=d;if((d|0)==0){i=e;return}c[a+12>>2]=0;c[a+8>>2]=c[d>>2];i=e;return}function Wt(a){a=a|0;i=i;return}function Xt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;if((d|0)==0){r=0;i=e;return r|0}h=a+4|0;g=a+12|0;j=a+8|0;k=0;while(1){l=c[h>>2]|0;if((l|0)==0){m=c[a>>2]|0;l=m+8|0;c[g>>2]=c[l>>2]&8191;l=(c[l>>2]|0)>>>13}else{m=c[j>>2]|0;if((c[g>>2]|0)==8192){m=m+4|0;c[j>>2]=m;if((m|0)==(c[l+4>>2]|0)){f=23;break}c[g>>2]=0;l=m}else{l=m}m=c[a>>2]|0;l=c[l>>2]|0}q=c[m+16>>2]|0;m=q+4|0;n=c[m>>2]|0;p=c[q>>2]|0;r=(n-p|0)/8196|0;do{if(l>>>0>=r>>>0){o=l+1|0;if(r>>>0<o>>>0){Yt(q,o-r|0);break}if(r>>>0<=o>>>0){break}o=p+(o*8196|0)|0;if((o|0)==(n|0)){break}c[m>>2]=n+(~(((n+ -8196+(0-o)|0)>>>0)/8196|0)*8196|0)}}while(0);n=c[g>>2]|0;m=8192-n|0;m=d>>>0>=m>>>0?m:d;$W((c[c[(c[a>>2]|0)+16>>2]>>2]|0)+(l*8196|0)+4+n|0,b|0,m|0)|0;n=(c[g>>2]|0)+m|0;c[g>>2]=n;k=m+k|0;if((c[h>>2]|0)==0){n=(c[a>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+m;n=c[g>>2]|0}if((n|0)==8192){c[(c[c[(c[a>>2]|0)+16>>2]>>2]|0)+(l*8196|0)>>2]=1}if((d|0)==(m|0)){break}else{b=b+m|0;d=d-m|0}}if((f|0)==23){i=e;return k|0}f=c[a>>2]|0;g=c[f+8>>2]|0;if((l|0)!=(g>>>13|0)){r=k;i=e;return r|0}if((c[a+12>>2]|0)!=(g&8191|0)){r=k;i=e;return r|0}c[(c[c[f+16>>2]>>2]|0)+(l*8196|0)>>2]=1;r=k;i=e;return r|0}function Yt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;f=a+8|0;k=c[f>>2]|0;d=a+4|0;g=c[d>>2]|0;if(((k-g|0)/8196|0)>>>0>=b>>>0){do{if((g|0)==0){f=0}else{bX(g|0,0,8196)|0;f=c[d>>2]|0}g=f+8196|0;c[d>>2]=g;b=b+ -1|0;}while((b|0)!=0);i=e;return}l=c[a>>2]|0;g=(g-l|0)/8196|0;j=g+b|0;if(j>>>0>524032){wn(0)}k=(k-l|0)/8196|0;if(k>>>0>262015){k=524032;h=9}else{k=k<<1;k=k>>>0<j>>>0?j:k;if((k|0)==0){j=0;k=0}else{h=9}}if((h|0)==9){j=FW(k*8196|0)|0}h=j+(g*8196|0)|0;do{if((h|0)==0){h=0}else{bX(h|0,0,8196)|0}h=h+8196|0;b=b+ -1|0;}while((b|0)!=0);b=c[a>>2]|0;m=(c[d>>2]|0)-b|0;l=j+((((m|0)/-8196|0)+g|0)*8196|0)|0;$W(l|0,b|0,m|0)|0;c[a>>2]=l;c[d>>2]=h;c[f>>2]=j+(k*8196|0);if((b|0)==0){i=e;return}HW(b);i=e;return}function Zt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;f=i;n=i;i=i+8|0;o=n;v=i;i=i+8|0;p=v;x=i;i=i+8|0;y=x;B=i;i=i+8|0;C=B;E=i;i=i+8|0;r=i;i=i+16|0;e=r;A=i;i=i+16|0;q=A;z=i;i=i+16|0;s=z;D=i;i=i+16|0;l=D;c[b+48>>2]=13;j=b+56|0;c[j>>2]=0;c[j+4>>2]=0;c[b+64>>2]=13;j=b+72|0;c[j>>2]=0;c[j+4>>2]=0;c[b+96>>2]=13;j=b+104|0;c[j>>2]=0;c[j+4>>2]=0;c[b+112>>2]=13;j=b+120|0;c[j>>2]=0;c[j+4>>2]=0;c[b+128>>2]=13;j=b+136|0;c[j>>2]=0;c[j+4>>2]=0;j=b+144|0;c[j>>2]=13;m=b+152|0;c[m>>2]=0;c[m+4>>2]=0;c[r>>2]=13;m=e+8|0;c[m>>2]=0;c[m+4>>2]=0;c[A>>2]=13;w=q+8|0;c[w>>2]=0;c[w+4>>2]=0;c[z>>2]=13;t=s+8|0;c[t>>2]=0;c[t+4>>2]=0;c[D>>2]=13;D=l+8|0;c[D>>2]=0;c[D+4>>2]=0;D=b+164|0;a[D]=1;c[b>>2]=d;c[b+4>>2]=0;c[b+8>>2]=0;c[b+36>>2]=-1;c[b+40>>2]=0;u=b+92|0;c[u>>2]=0;c[b+168>>2]=0;h=b+32|0;c[h>>2]=0;k=b+160|0;c[k>>2]=0;c[b+172>>2]=6;c[b+176>>2]=7;c[b+80>>2]=0;c[b+84>>2]=0;c[b+88>>2]=0;bX(b+12|0,0,20)|0;_m(d,c[d+20>>2]|0,c[d+24>>2]|0,e,0)|0;if((c[r>>2]|0)!=7){c[E>>2]=Pf(e)|0;Qe(-1,130568,E);Of(e);a[D]=0;i=f;return}Yu(c[m>>2]|0,130608,j,0)|0;d=c[r>>2]|0;if((d|0)!=7){c[B>>2]=d;c[C+4>>2]=7;Qe(0,131112,C);tc()}if((c[(Yu(c[m>>2]|0,130624,q,0)|0)>>2]|0)==7){A=c[A>>2]|0;if((A|0)!=7){c[x>>2]=A;c[y+4>>2]=7;Qe(0,131112,y);tc()}do{if((c[(Yu(c[w>>2]|0,130632,s,0)|0)>>2]|0)==3){w=c[z>>2]|0;if((w|0)==3){D=c[t>>2]|0;E=FW(32)|0;ie(E,D);c[u>>2]=E;break}else{c[v>>2]=w;c[p+4>>2]=3;Qe(0,131112,p);tc()}}}while(0);Of(s)}Of(q);p=c[r>>2]|0;if((p|0)!=7){c[n>>2]=p;c[o+4>>2]=7;Qe(0,131112,o);tc()}do{if((c[(Yu(c[m>>2]|0,130640,l,0)|0)>>2]|0)==7){m=FW(48)|0;EF(m,l,c[b>>2]|0);c[k>>2]=m;if((a[m]&1)!=0){break}if((m|0)!=0){FF(m);HW(m)}c[k>>2]=0}}while(0);Of(l);k=c[h>>2]|0;do{if((k|0)==0){if((c[j>>2]|0)!=7){break}k=FW(24)|0;Lv(k,c[b>>2]|0,j);c[h>>2]=k;if((k|0)!=0){g=23}}else{g=23}}while(0);if((g|0)==23){Ov(k)}Of(e);i=f;return}function _t(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=a+32|0;e=c[d>>2]|0;if((e|0)!=0){i=b;return e|0}e=a+144|0;if((c[e>>2]|0)!=7){e=0;i=b;return e|0}f=FW(24)|0;Lv(f,c[a>>2]|0,e);c[d>>2]=f;e=f;i=b;return e|0}function $t(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;f=c[a+28>>2]|0;if((f|0)!=0){g=c[f>>2]|0;if((g|0)!=0){e=f+4|0;d=c[e>>2]|0;if((g|0)!=(d|0)){c[e>>2]=d+(~((d+ -4+(0-g)|0)>>>2)<<2)}HW(g)}HW(f)}d=a+24|0;h=c[d>>2]|0;do{if((h|0)!=0){f=c[h>>2]|0;g=h+4|0;e=c[g>>2]|0;if(f>>>0<e>>>0){e=h;while(1){g=c[f>>2]|0;if((g|0)==0){h=e}else{jg(g);HW(g);h=c[d>>2]|0}f=f+4|0;g=h+4|0;e=c[g>>2]|0;if(f>>>0<e>>>0){e=h}else{break}}if((h|0)==0){break}else{d=h}}else{d=h}f=c[d>>2]|0;if((f|0)!=0){if((f|0)!=(e|0)){c[g>>2]=e+(~((e+ -4+(0-f)|0)>>>2)<<2)}HW(f)}HW(d)}}while(0);f=c[a+20>>2]|0;if((f|0)!=0){e=c[f>>2]|0;if((e|0)!=0){d=f+4|0;g=c[d>>2]|0;if((e|0)!=(g|0)){c[d>>2]=g+(~((g+ -8+(0-e)|0)>>>3)<<3)}HW(e)}HW(f)}d=a+16|0;h=c[d>>2]|0;do{if((h|0)!=0){g=c[h>>2]|0;f=h+4|0;e=c[f>>2]|0;if(g>>>0<e>>>0){do{j=(c[g>>2]|0)+20|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;do{if((k|0)==0){e=c[g>>2]|0;if((e|0)==0){break}Su(e);HW(e)}}while(0);g=g+4|0;h=c[d>>2]|0;f=h+4|0;e=c[f>>2]|0;}while(g>>>0<e>>>0);if((h|0)==0){break}else{d=h}}else{d=h}g=c[d>>2]|0;if((g|0)!=0){if((g|0)!=(e|0)){c[f>>2]=e+(~((e+ -4+(0-g)|0)>>>2)<<2)}HW(g)}HW(d)}}while(0);e=a+4|0;h=c[e>>2]|0;if((h|0)!=0){d=a+40|0;f=c[d>>2]|0;if((f|0)>0){g=0;do{j=c[h+(g<<2)>>2]|0;if((j|0)!=0){lg(j);HW(j);h=c[e>>2]|0;f=c[d>>2]|0}g=g+1|0;}while((g|0)<(f|0))}Fe(h);Fe(c[a+8>>2]|0)}Of(a+64|0);Of(a+48|0);d=c[a+80>>2]|0;if((d|0)!=0){e=d+16|0;g=c[e>>2]|0;f=d+8|0;j=c[f>>2]|0;if((g|0)>0){h=0;do{k=c[j+(h<<2)>>2]|0;if((k|0)!=0){Of(k+32|0);ke(k);HW(k);j=c[f>>2]|0;g=c[e>>2]|0}h=h+1|0;}while((h|0)<(g|0))}Fe(j);HW(d)}d=c[a+84>>2]|0;if((d|0)!=0){e=d+16|0;g=c[e>>2]|0;f=d+8|0;j=c[f>>2]|0;if((g|0)>0){h=0;do{k=c[j+(h<<2)>>2]|0;if((k|0)!=0){Of(k+32|0);ke(k);HW(k);j=c[f>>2]|0;g=c[e>>2]|0}h=h+1|0;}while((h|0)<(g|0))}Fe(j);HW(d)}d=c[a+88>>2]|0;if((d|0)!=0){f=d+16|0;g=c[f>>2]|0;e=d+8|0;j=c[e>>2]|0;if((g|0)>0){h=0;do{k=c[j+(h<<2)>>2]|0;if((k|0)!=0){Of(k+32|0);ke(k);HW(k);j=c[e>>2]|0;g=c[f>>2]|0}h=h+1|0;}while((h|0)<(g|0))}Fe(j);HW(d)}d=c[a+92>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+168>>2]|0;if((d|0)!=0){$F(d);HW(d)}d=c[a+32>>2]|0;if((d|0)!=0){Mv(d);HW(d)}d=c[a+160>>2]|0;if((d|0)==0){k=a+96|0;Of(k);k=a+112|0;Of(k);k=a+128|0;Of(k);k=a+144|0;Of(k);i=b;return}FF(d);HW(d);k=a+96|0;Of(k);k=a+112|0;Of(k);k=a+128|0;Of(k);k=a+144|0;Of(k);i=b;return}function au(a,b){a=a|0;b=b|0;var d=0;d=i;if((b|0)<1){b=0;i=d;return b|0}do{if((c[a+12>>2]|0)<(b|0)){if(bu(a,b)|0){break}else{a=0}i=d;return a|0}}while(0);b=c[(c[a+4>>2]|0)+(b+ -1<<2)>>2]|0;i=d;return b|0}function bu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0;f=i;E=i;i=i+8|0;F=E;$=i;i=i+8|0;h=$;Z=i;i=i+8|0;_=Z;X=i;i=i+8|0;Y=X;V=i;i=i+8|0;W=V;T=i;i=i+8|0;U=T;S=i;i=i+8|0;g=S;R=i;i=i+8|0;P=i;i=i+8|0;Q=P;N=i;i=i+8|0;O=N;L=i;i=i+8|0;M=L;J=i;i=i+8|0;K=J;H=i;i=i+8|0;I=H;p=i;i=i+8|0;n=i;i=i+8|0;o=n;k=i;i=i+8|0;l=k;ma=i;i=i+8|0;la=ma;ha=i;i=i+8|0;ia=ha;ra=i;i=i+8|0;oa=i;i=i+8|0;pa=oa;wa=i;i=i+8|0;va=wa;za=i;i=i+8|0;ya=za;G=i;i=i+8|0;ea=G;qa=i;i=i+16|0;na=qa;sa=i;i=i+8|0;fa=sa;xa=i;i=i+16|0;ta=xa;ka=i;i=i+16|0;ga=ka;da=i;i=i+8|0;ca=da;ba=i;i=i+8|0;aa=ba;r=i;i=i+16|0;j=r;v=i;i=i+16|0;m=v;q=i;i=i+16|0;s=q;D=i;i=i+8|0;t=i;i=i+8|0;u=t;w=i;i=i+8|0;x=w;z=i;i=i+8|0;A=z;B=i;i=i+8|0;C=B;y=b+16|0;a:do{if((c[y>>2]|0)==0){c[qa>>2]=13;ja=na+8|0;c[ja>>2]=0;c[ja+4>>2]=0;ua=c[b>>2]|0;_m(ua,c[ua+20>>2]|0,c[ua+24>>2]|0,na,0)|0;c[xa>>2]=13;ua=ta+8|0;c[ua>>2]=0;c[ua+4>>2]=0;Aa=c[qa>>2]|0;if((Aa|0)!=7){c[za>>2]=Aa;c[ya+4>>2]=7;Qe(0,131112,ya);tc()}do{if((c[(Zu(c[ja>>2]|0,130656,ta)|0)>>2]|0)==9){xa=c[xa>>2]|0;if((xa|0)!=9){c[wa>>2]=xa;c[va+4>>2]=9;Qe(0,131112,va);tc()}va=c[ua>>2]|0;if((va|0)<=-1){break}if((va|0)>=(c[(c[b>>2]|0)+16>>2]|0)){break}za=ua;Aa=c[za+4>>2]|0;ra=sa;c[ra>>2]=c[za>>2];c[ra+4>>2]=Aa;Of(ta);c[ka>>2]=13;ra=ga+8|0;c[ra>>2]=0;c[ra+4>>2]=0;qa=c[qa>>2]|0;if((qa|0)!=7){c[oa>>2]=qa;c[pa+4>>2]=7;Qe(0,131112,pa);tc()}Yu(c[ja>>2]|0,130656,ga,0)|0;Of(na);if((c[ka>>2]|0)!=7){c[ma>>2]=Pf(ga)|0;Qe(-1,130728,la);Of(ga);Aa=0;i=f;return Aa|0}ja=(c[ra>>2]|0)+20|0;c[ja>>2]=(c[ja>>2]|0)+1;ja=c[ka>>2]|0;if((ja|0)!=7){c[ha>>2]=ja;c[ia+4>>2]=7;Qe(0,131112,ia);tc()}c[G>>2]=c[ra>>2];Of(ga);ia=cu(b)|0;ga=b+40|0;c[ga>>2]=ia;ja=b+4|0;c[ja>>2]=ye(ia,4)|0;ia=b+8|0;c[ia>>2]=ye(c[ga>>2]|0,8)|0;if((c[ga>>2]|0)>0){ha=0;do{c[(c[ja>>2]|0)+(ha<<2)>>2]=0;c[(c[ia>>2]|0)+(ha<<3)>>2]=-1;c[(c[ia>>2]|0)+(ha<<3)+4>>2]=-1;ha=ha+1|0;}while((ha|0)<(c[ga>>2]|0))}ga=FW(12)|0;c[ga>>2]=0;c[ga+4>>2]=0;c[ga+8>>2]=0;c[y>>2]=ga;hu(ga,ea);ga=FW(12)|0;c[ga>>2]=0;c[ga+4>>2]=0;c[ga+8>>2]=0;c[b+20>>2]=ga;gu(ga,fa);ga=FW(12)|0;c[ga>>2]=0;ea=ga+4|0;c[ea>>2]=0;Aa=ga+8|0;c[Aa>>2]=0;c[b+24>>2]=ga;fa=FW(288)|0;hg(fa,0,c[G>>2]|0);c[da>>2]=fa;da=c[ea>>2]|0;if((da|0)==(c[Aa>>2]|0)){fu(ga,ca)}else{if((da|0)==0){ca=0}else{c[da>>2]=fa;ca=c[ea>>2]|0}c[ea>>2]=ca+4}Aa=FW(12)|0;c[Aa>>2]=0;c[Aa+4>>2]=0;c[Aa+8>>2]=0;c[b+28>>2]=Aa;c[ba>>2]=0;eu(Aa,aa);c[b+12>>2]=0;ba=0;break a}}while(0);Qe(-1,130664,ra);Of(ta);Aa=0;i=f;return Aa|0}else{ba=c[b+12>>2]|0}}while(0);aa=b+12|0;if((ba|0)>=(d|0)){Aa=1;i=f;return Aa|0}fa=j+8|0;na=fa+4|0;ja=b+28|0;ea=m+8|0;ba=ea+4|0;ha=b+20|0;ca=s+8|0;da=ca+4|0;ga=b+24|0;ia=b+32|0;ka=b+36|0;la=b+4|0;ma=b+8|0;b:while(1){Aa=c[y>>2]|0;oa=c[Aa+4>>2]|0;if((c[Aa>>2]|0)==(oa|0)){g=0;e=98;break}Aa=c[oa+ -4>>2]|0;c[G>>2]=Aa;c[r>>2]=13;c[fa>>2]=0;c[na>>2]=0;Yu(Aa,130776,j,0)|0;if((c[r>>2]|0)!=6){e=29;break}oa=c[(c[(c[ja>>2]|0)+4>>2]|0)+ -4>>2]|0;pa=c[fa>>2]|0;c:do{if((oa|0)<(c[pa+12>>2]|0)){c[v>>2]=13;c[ea>>2]=0;c[ba>>2]=0;vt(pa,oa,m)|0;if((c[v>>2]|0)!=9){e=44;break b}qa=c[ha>>2]|0;pa=c[qa+4>>2]|0;qa=c[qa>>2]|0;d:do{if((pa|0)!=(qa|0)){ra=0;while(1){sa=ra+1|0;if((c[qa+(ra<<3)>>2]|0)==(c[ea>>2]|0)){break}if(sa>>>0<pa-qa>>3>>>0){ra=sa}else{break d}}Qe(-1,130888,p);Of(m);Of(j);Aa=(c[(c[ja>>2]|0)+4>>2]|0)+ -4|0;c[Aa>>2]=(c[Aa>>2]|0)+1;break c}}while(0);c[q>>2]=13;c[ca>>2]=0;c[da>>2]=0;pa=c[r>>2]|0;if((pa|0)!=6){e=47;break b}ut(c[fa>>2]|0,oa,s)|0;Of(j);e:do{if((c[q>>2]|0)==7){do{if(!(Xu(c[ca>>2]|0,130912)|0)){if((c[q>>2]|0)!=7){e=96;break e}if(!(Uu(c[ca>>2]|0,130776)|0)){break}if((c[q>>2]|0)!=7){e=96;break e}pa=c[ga>>2]|0;ra=FW(288)|0;oa=pa+4|0;hg(ra,c[(c[oa>>2]|0)+ -4>>2]|0,c[ca>>2]|0);c[t>>2]=ra;qa=c[oa>>2]|0;if((qa|0)==(c[pa+8>>2]|0)){fu(pa,u)}else{if((qa|0)==0){pa=0}else{c[qa>>2]=ra;pa=c[oa>>2]|0}c[oa>>2]=pa+4}pa=c[ha>>2]|0;oa=c[v>>2]|0;if((oa|0)!=9){e=76;break b}sa=ea;ra=c[sa>>2]|0;sa=c[sa+4>>2]|0;oa=w;c[oa>>2]=ra;c[oa+4>>2]=sa;oa=pa+4|0;qa=c[oa>>2]|0;if((qa|0)==(c[pa+8>>2]|0)){gu(pa,x)}else{if((qa|0)==0){pa=0}else{pa=qa;c[pa>>2]=ra;c[pa+4>>2]=sa;pa=c[oa>>2]|0}c[oa>>2]=pa+8}oa=c[q>>2]|0;if((oa|0)!=7){e=83;break b}oa=(c[ca>>2]|0)+20|0;c[oa>>2]=(c[oa>>2]|0)+1;oa=c[y>>2]|0;pa=c[q>>2]|0;if((pa|0)!=7){e=85;break b}ra=c[ca>>2]|0;c[z>>2]=ra;pa=oa+4|0;qa=c[pa>>2]|0;if((qa|0)==(c[oa+8>>2]|0)){hu(oa,A)}else{if((qa|0)==0){oa=0}else{c[qa>>2]=ra;oa=c[pa>>2]|0}c[pa>>2]=oa+4}pa=c[ja>>2]|0;c[B>>2]=0;oa=pa+4|0;qa=c[oa>>2]|0;if((qa|0)==(c[pa+8>>2]|0)){eu(pa,C);break e}if((qa|0)==0){pa=0}else{c[qa>>2]=0;pa=c[oa>>2]|0}c[oa>>2]=pa+4;break e}}while(0);pa=FW(288)|0;oa=c[q>>2]|0;if((oa|0)!=7){e=53;break b}hg(pa,c[(c[(c[ga>>2]|0)+4>>2]|0)+ -4>>2]|0,c[ca>>2]|0);oa=FW(144)|0;qa=c[b>>2]|0;ra=(c[aa>>2]|0)+1|0;sa=c[q>>2]|0;if((sa|0)!=7){e=55;break b}sa=c[v>>2]|0;if((sa|0)!=9){e=57;break b}za=c[ca>>2]|0;xa=ea;ya=c[xa+4>>2]|0;Aa=D;c[Aa>>2]=c[xa>>2];c[Aa+4>>2]=ya;Aa=c[ia>>2]|0;$W(E|0,D|0,8)|0;kg(oa,qa,ra,za,F,pa,Aa);pa=c[aa>>2]|0;if((a[oa+136|0]&1)==0){e=59;break b}if((pa|0)>=(c[ka>>2]|0)){e=63;break b}c[(c[la>>2]|0)+(pa<<2)>>2]=oa;oa=c[v>>2]|0;if((oa|0)!=9){e=65;break b}c[(c[ma>>2]|0)+(c[aa>>2]<<3)>>2]=c[ea>>2];oa=c[v>>2]|0;if((oa|0)!=9){e=67;break b}c[(c[ma>>2]|0)+(c[aa>>2]<<3)+4>>2]=c[ba>>2];c[aa>>2]=(c[aa>>2]|0)+1;Aa=(c[(c[ja>>2]|0)+4>>2]|0)+ -4|0;c[Aa>>2]=(c[Aa>>2]|0)+1}else{e=96}}while(0);if((e|0)==96){e=0;za=(c[aa>>2]|0)+1|0;Aa=Pf(s)|0;c[$>>2]=za;c[h+4>>2]=Aa;Qe(-1,131008,h);Aa=(c[(c[ja>>2]|0)+4>>2]|0)+ -4|0;c[Aa>>2]=(c[Aa>>2]|0)+1}Of(m);Of(s)}else{za=(c[(c[(c[y>>2]|0)+4>>2]|0)+ -4>>2]|0)+20|0;Aa=(c[za>>2]|0)+ -1|0;c[za>>2]=Aa;do{if((Aa|0)==0){oa=c[(c[(c[y>>2]|0)+4>>2]|0)+ -4>>2]|0;if((oa|0)==0){break}Su(oa);HW(oa)}}while(0);oa=(c[y>>2]|0)+4|0;c[oa>>2]=(c[oa>>2]|0)+ -4;oa=(c[ha>>2]|0)+4|0;c[oa>>2]=(c[oa>>2]|0)+ -8;oa=c[ga>>2]|0;pa=c[oa+4>>2]|0;qa=c[pa+ -4>>2]|0;if((qa|0)!=0){jg(qa);HW(qa);oa=c[ga>>2]|0;pa=c[oa+4>>2]|0}c[oa+4>>2]=pa+ -4;Aa=(c[ja>>2]|0)+4|0;c[Aa>>2]=(c[Aa>>2]|0)+ -4;Aa=c[ja>>2]|0;oa=c[Aa+4>>2]|0;if((c[Aa>>2]|0)!=(oa|0)){Aa=oa+ -4|0;c[Aa>>2]=(c[Aa>>2]|0)+1}Of(j)}}while(0);if((c[aa>>2]|0)>=(d|0)){g=1;e=98;break}}if((e|0)==29){za=(c[aa>>2]|0)+1|0;Aa=Pf(j)|0;c[k>>2]=za;c[l+4>>2]=Aa;Qe(-1,130784,l);Of(j);Aa=0;i=f;return Aa|0}else if((e|0)==44){za=(c[aa>>2]|0)+1|0;Aa=Pf(m)|0;c[n>>2]=za;c[o+4>>2]=Aa;Qe(-1,130832,o);Of(m);Of(j);Aa=0;i=f;return Aa|0}else if((e|0)==47){c[H>>2]=pa;c[I+4>>2]=6;Qe(0,131112,I);tc()}else if((e|0)==53){c[J>>2]=oa;c[K+4>>2]=7;Qe(0,131112,K);tc()}else if((e|0)==55){c[L>>2]=sa;c[M+4>>2]=7;Qe(0,131112,M);tc()}else if((e|0)==57){c[N>>2]=sa;c[O+4>>2]=9;Qe(0,131112,O);tc()}else if((e|0)==59){c[P>>2]=pa+1;Qe(-1,130920,Q);if((oa|0)!=0){lg(oa);HW(oa)}Of(m);Of(s);Aa=0;i=f;return Aa|0}else if((e|0)==63){Qe(-1,130952,R);Of(m);Of(s);Aa=0;i=f;return Aa|0}else if((e|0)==65){c[S>>2]=oa;c[g+4>>2]=9;Qe(0,131112,g);tc()}else if((e|0)==67){c[T>>2]=oa;c[U+4>>2]=9;Qe(0,131112,U);tc()}else if((e|0)==76){c[V>>2]=oa;c[W+4>>2]=9;Qe(0,131112,W);tc()}else if((e|0)==83){c[X>>2]=oa;c[Y+4>>2]=7;Qe(0,131112,Y);tc()}else if((e|0)==85){c[Z>>2]=pa;c[_+4>>2]=7;Qe(0,131112,_);tc()}else if((e|0)==98){i=f;return g|0}return 0}function cu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0;f=i;j=i;i=i+8|0;g=j;k=i;i=i+8|0;o=i;i=i+8|0;p=o;r=i;i=i+16|0;m=r;n=i;i=i+16|0;e=n;l=i;i=i+16|0;d=l;b=a+36|0;q=c[b>>2]|0;if((q|0)!=-1){t=q;i=f;return t|0}c[r>>2]=13;s=m+8|0;c[s>>2]=0;c[s+4>>2]=0;c[n>>2]=13;t=e+8|0;c[t>>2]=0;c[t+4>>2]=0;c[l>>2]=13;q=d+8|0;c[q>>2]=0;c[q+4>>2]=0;a=c[a>>2]|0;_m(a,c[a+20>>2]|0,c[a+24>>2]|0,m,0)|0;a=c[r>>2]|0;if((a|0)!=7){c[o>>2]=a;c[p+4>>2]=7;Qe(0,131112,p);tc()}Yu(c[s>>2]|0,130656,e,0)|0;Of(m);if((c[n>>2]|0)!=7){c[k>>2]=Pf(e)|0;Qe(-1,130728,k);Of(e);t=0;i=f;return t|0}Yu(c[t>>2]|0,131048,d,0)|0;k=c[l>>2]|0;if((k+ -1|0)>>>0<2){if((k|0)==1){u=+(c[q>>2]|0)}else{u=+h[q>>3]}g=~~u}else{c[j>>2]=Pf(d)|0;Qe(-1,131056,g);g=0}c[b>>2]=g;Of(d);Of(e);t=c[b>>2]|0;i=f;return t|0}function du(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;if((cu(a)|0)<=0){m=0;i=f;return m|0}g=a+12|0;h=a+8|0;j=0;a:while(1){k=j+1|0;if((c[g>>2]|0)<(k|0)){if(bu(a,k)|0){e=5}}else{e=5}do{if((e|0)==5){e=0;l=c[h>>2]|0;m=l+(j<<3)|0;if((m|0)==0){break}if((c[m>>2]|0)!=(b|0)){break}if((c[l+(j<<3)+4>>2]|0)==(d|0)){e=9;break a}}}while(0);if((k|0)<(cu(a)|0)){j=k}else{k=0;e=9;break}}if((e|0)==9){i=f;return k|0}return 0}function eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;g=a+4|0;d=c[a>>2]|0;e=(c[g>>2]|0)-d|0;k=e>>2;f=k+1|0;if(f>>>0>1073741823){wn(0)}j=a+8|0;m=(c[j>>2]|0)-d|0;if(m>>2>>>0>536870910){n=1073741823;l=5}else{m=m>>1;n=m>>>0<f>>>0?f:m;if((n|0)==0){m=0;n=0}else{l=5}}if((l|0)==5){m=FW(n<<2)|0}k=m+(k<<2)|0;if((k|0)!=0){c[k>>2]=c[b>>2]}$W(m|0,d|0,e|0)|0;c[a>>2]=m;c[g>>2]=m+(f<<2);c[j>>2]=m+(n<<2);if((d|0)==0){i=h;return}HW(d);i=h;return}function fu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;g=a+4|0;d=c[a>>2]|0;e=(c[g>>2]|0)-d|0;k=e>>2;f=k+1|0;if(f>>>0>1073741823){wn(0)}j=a+8|0;m=(c[j>>2]|0)-d|0;if(m>>2>>>0>536870910){n=1073741823;l=5}else{m=m>>1;n=m>>>0<f>>>0?f:m;if((n|0)==0){m=0;n=0}else{l=5}}if((l|0)==5){m=FW(n<<2)|0}k=m+(k<<2)|0;if((k|0)!=0){c[k>>2]=c[b>>2]}$W(m|0,d|0,e|0)|0;c[a>>2]=m;c[g>>2]=m+(f<<2);c[j>>2]=m+(n<<2);if((d|0)==0){i=h;return}HW(d);i=h;return}function gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;g=a+4|0;d=c[a>>2]|0;e=(c[g>>2]|0)-d|0;k=e>>3;f=k+1|0;if(f>>>0>536870911){wn(0)}j=a+8|0;m=(c[j>>2]|0)-d|0;if(m>>3>>>0>268435454){n=536870911;l=5}else{m=m>>2;n=m>>>0<f>>>0?f:m;if((n|0)==0){m=0;n=0}else{l=5}}if((l|0)==5){m=FW(n<<3)|0}k=m+(k<<3)|0;if((k|0)!=0){o=b;b=c[o+4>>2]|0;l=k;c[l>>2]=c[o>>2];c[l+4>>2]=b}$W(m|0,d|0,e|0)|0;c[a>>2]=m;c[g>>2]=m+(f<<3);c[j>>2]=m+(n<<3);if((d|0)==0){i=h;return}HW(d);i=h;return}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;g=a+4|0;d=c[a>>2]|0;e=(c[g>>2]|0)-d|0;k=e>>2;f=k+1|0;if(f>>>0>1073741823){wn(0)}j=a+8|0;m=(c[j>>2]|0)-d|0;if(m>>2>>>0>536870910){n=1073741823;l=5}else{m=m>>1;n=m>>>0<f>>>0?f:m;if((n|0)==0){m=0;n=0}else{l=5}}if((l|0)==5){m=FW(n<<2)|0}k=m+(k<<2)|0;if((k|0)!=0){c[k>>2]=c[b>>2]}$W(m|0,d|0,e|0)|0;c[a>>2]=m;c[g>>2]=m+(f<<2);c[j>>2]=m+(n<<2);if((d|0)==0){i=h;return}HW(d);i=h;return}function iu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;h=i;i=i+8|0;j=h;l=i;i=i+8|0;f=l;n=i;i=i+8|0;e=i;i=i+64|0;g=i;i=i+8|0;k=g;m=a+28|0;a=yc(c[m>>2]|0,131184)|0;if((a|0)==0){c[n>>2]=c[m>>2];Qe(-1,131192,n);p=0;i=d;return p|0}p=ye(32768,4)|0;if((Do(e,64,a)|0)==0){n=0}else{n=0;o=32768;do{if((n|0)==(o|0)){o=n<<1;p=Ce(p,o,4)|0}c[l>>2]=k;if((Hc(e|0,131232,f|0)|0)==1){c[p+(n<<2)>>2]=c[g>>2];n=n+1|0}else{q=n+1|0;r=c[m>>2]|0;c[h>>2]=q;c[j+4>>2]=r;Qe(-1,131240,j);c[p+(n<<2)>>2]=0;n=q}}while((Do(e,64,a)|0)!=0)}mc(a|0)|0;r=FW(52)|0;q=FW(32)|0;ie(q,b);c[r>>2]=q;q=r+8|0;c[q>>2]=n;o=ye(n,4)|0;c[r+4>>2]=o;$W(o|0,p|0,c[q>>2]<<2|0)|0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=1;ad(r+28|0,0)|0;Fe(p);i=d;return r|0}function ju(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=i;f=i;i=i+8|0;g=f;s=i;i=i+8|0;t=s;l=i;i=i+8|0;m=l;n=i;i=i+8|0;o=n;e=i;i=i+8|0;r=e;v=i;i=i+8|0;h=i;i=i+256|0;j=i;i=i+8|0;p=j;k=i;i=i+8|0;x=ye(8,4)|0;q=a+28|0;d=yc(c[q>>2]|0,131184)|0;if((d|0)==0){Fe(x);c[v>>2]=c[q>>2];Qe(-1,131280,v);H=0;i=b;return H|0}B=ye(4096,4)|0;bX(B|0,0,16384)|0;a:do{if((Do(h,256,d)|0)==0){w=0;A=0;v=0;y=0}else{w=0;z=0;A=0;v=0;y=0;D=4096;C=8;do{while(1){while(1){z=z+1|0;E=Mb(h|0,131328,k|0)|0;if((E|0)!=0){c[e>>2]=p;if((Hc(E|0,131232,r|0)|0)==1){break}}H=c[q>>2]|0;c[n>>2]=z;c[o+4>>2]=H;Qe(-1,131336,o);if((Do(h,256,d)|0)==0){break a}else{}}G=Mb(0,131328,k|0)|0;if((G|0)!=0){F=0;while(1){if((F|0)>=(C|0)){H=C+8|0;C=H;x=Ce(x,H,4)|0}c[l>>2]=x+(F<<2);E=F+1|0;if((Hc(G|0,131232,m|0)|0)!=1){u=14;break}G=Mb(0,131328,k|0)|0;if((G|0)==0){break}else{F=E}}if((u|0)==14){u=0;E=c[q>>2]|0;c[s>>2]=z;c[t+4>>2]=E;Qe(-1,131336,t);E=F}if((E|0)>=1){break}}H=c[q>>2]|0;c[f>>2]=z;c[g+4>>2]=H;Qe(-1,131336,g);if((Do(h,256,d)|0)==0){break a}}G=c[j>>2]|0;if(G>>>0>=D>>>0){F=D;while(1){if(G>>>0<F>>>0){break}else{F=F<<1}}B=Ce(B,F,4)|0;bX(B+(D<<2)|0,0,F-D<<2|0)|0;D=F}if((E|0)==1){c[B+(c[j>>2]<<2)>>2]=c[x>>2]}else{c[B+(c[j>>2]<<2)>>2]=0;if((v|0)==(y|0)){y=v+16|0;A=Ce(A,y,12)|0}c[A+(v*12|0)>>2]=c[j>>2];G=ye(E,4)|0;F=A+(v*12|0)+4|0;c[F>>2]=G;b:do{if((E|0)>0){H=0;while(1){c[G+(H<<2)>>2]=c[x+(H<<2)>>2];H=H+1|0;if((H|0)>=(E|0)){break b}G=c[F>>2]|0}}}while(0);c[A+(v*12|0)+8>>2]=E;v=v+1|0}E=c[j>>2]|0;w=E>>>0<w>>>0?w:E+1|0;}while((Do(h,256,d)|0)!=0)}}while(0);mc(d|0)|0;H=FW(52)|0;G=FW(32)|0;ie(G,a);c[H>>2]=G;G=H+8|0;c[G>>2]=w;F=ye(w,4)|0;c[H+4>>2]=F;$W(F|0,B|0,c[G>>2]<<2|0)|0;c[H+12>>2]=A;c[H+16>>2]=v;c[H+20>>2]=y;c[H+24>>2]=1;ad(H+28|0,0)|0;Fe(B);Fe(x);i=b;return H|0}function ku(a){a=a|0;var b=0,d=0,e=0;d=i;b=FW(52)|0;c[b>>2]=0;c[b+8>>2]=256;e=ye(256,4)|0;c[b+4>>2]=e;$W(e|0,a|0,1024)|0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;ad(b+28|0,0)|0;i=d;return b|0}function lu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;e=i;i=i+8|0;f=e;d=FW(52)|0;c[d>>2]=0;j=d+8|0;c[j>>2]=256;k=ye(256,4)|0;h=d+4|0;c[h>>2]=k;c[k>>2]=0;if((c[j>>2]|0)>>>0>1){k=1;do{c[(c[h>>2]|0)+(k<<2)>>2]=0;k=k+1|0;}while(k>>>0<(c[j>>2]|0)>>>0)}c[d+12>>2]=0;c[d+20>>2]=0;c[d+16>>2]=0;c[d+24>>2]=1;ad(d+28|0,0)|0;c[e>>2]=c[a+28>>2];mu(d,252,f,b);i=g;return d|0}function mu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;O=i;F=i;i=i+8|0;P=i;i=i+8|0;E=i;i=i+8|0;K=i;i=i+8|0;L=K;M=i;i=i+8|0;N=M;g=i;i=i+8|0;v=i;i=i+8|0;A=i;i=i+8|0;C=i;i=i+8|0;D=C;y=i;i=i+8|0;q=i;i=i+8|0;n=i;i=i+8|0;o=n;p=i;i=i+256|0;l=p;s=i;i=i+256|0;j=s;I=i;i=i+256|0;w=I;u=i;i=i+8|0;m=u;r=i;i=i+8|0;k=r;H=i;i=i+8|0;x=H;z=i;i=i+8|0;B=z;G=i;i=i+8|0;J=G;t=(f|0)/4|0;h=FW(12)|0;YF(h,d,e);_F(h,l,256,m)|0;if(_F(h,j,256,k)|0){T=l+1|0;d=t+2|0;R=j+1|0;S=w+1|0;e=t+4|0;Q=l+2|0;do{do{if((Qc(j|0,131432)|0)==0){do{if((a[p]|0)==47){V=FW(32)|0;fe(V,T);U=ef(c[834]|0,V)|0;if((U|0)==0){c[n>>2]=c[V+28>>2];Qe(-1,131384,o)}else{mu(b,253,U,f);mc(U|0)|0}if((V|0)==0){break}ke(V);HW(V)}}while(0);_F(h,l,256,m)|0}else{if((Qc(j|0,131440)|0)==0){a:do{if(_F(h,l,256,m)|0){while(1){if((Qc(l|0,131456)|0)==0){break a}if(!(_F(h,j,256,k)|0)){break}if((Qc(j|0,131456)|0)==0){break}V=c[u>>2]|0;do{if((V|0)==(d|0)){if((a[p]|0)!=60){U=22;break}if((a[l+(t+1)|0]|0)!=62){U=22;break}if((a[s]|0)!=60){U=22;break}W=c[r>>2]|0;if((a[j+(W+ -1)|0]|0)==62){V=d;U=31}else{U=22}}else{U=22}}while(0);b:do{if((U|0)==22){U=0;do{if((V|0)==(e|0)){if((a[p]|0)!=60){break}if((a[l+(t+3)|0]|0)!=62){break}if((a[T]|0)!=48){break}if((a[Q]|0)!=48){break}if((a[s]|0)!=60){break}W=c[r>>2]|0;if((a[j+(W+ -1)|0]|0)==62){V=e;U=31;break b}}}while(0);Qe(-1,131472,y)}}while(0);do{if((U|0)==31){a[j+(W+ -1)|0]=0;a[l+(V+ -1)|0]=0;c[C>>2]=B;if((Hc(T|0,131232,D|0)|0)==1){ru(b,c[z>>2]|0,R,(c[r>>2]|0)+ -2|0,0);break}else{Qe(-1,131472,A);break}}}while(0);if(!(_F(h,l,256,m)|0)){break a}}Qe(-1,131472,q)}}while(0);_F(h,l,256,m)|0;break}if((Qc(j|0,131520)|0)!=0){eX(l|0,j|0)|0;break}c:do{if(_F(h,l,256,m)|0){while(1){if((Qc(l|0,131536)|0)==0){break c}if(!(_F(h,j,256,k)|0)){break}if((Qc(j|0,131536)|0)==0){break}if(!(_F(h,w,256,x)|0)){break}if((Qc(w|0,131536)|0)==0){break}V=c[u>>2]|0;do{if((V|0)==(d|0)){if((a[p]|0)!=60){U=47;break}if((a[l+(t+1)|0]|0)==62){V=d;U=52}else{U=47}}else{U=47}}while(0);do{if((U|0)==47){if((V|0)!=(e|0)){U=60;break}if((a[p]|0)!=60){U=60;break}if((a[l+(t+3)|0]|0)!=62){U=60;break}if((a[T]|0)!=48){U=60;break}if((a[Q]|0)==48){V=e;U=52}else{U=60}}}while(0);d:do{if((U|0)==52){U=0;W=c[r>>2]|0;do{if((W|0)==(d|0)){if((a[s]|0)!=60){U=55;break}if((a[j+(t+1)|0]|0)==62){W=d}else{U=55}}else{U=55}}while(0);if((U|0)==55){U=0;if((W|0)!=(e|0)){U=60;break}if((a[s]|0)!=60){U=60;break}if((a[j+(t+3)|0]|0)!=62){U=60;break}if((a[T]|0)!=48){U=60;break}if((a[Q]|0)==48){W=e}else{U=60;break}}a[j+(W+ -1)|0]=0;a[l+(V+ -1)|0]=0;c[M>>2]=B;do{if((Hc(T|0,131232,N|0)|0)==1){c[K>>2]=J;if((Hc(R|0,131232,L|0)|0)!=1){break}if((Qc(w|0,131608)|0)!=0){do{if((a[I]|0)==60){V=c[H>>2]|0;W=w+(V+ -1)|0;if((a[W]|0)!=62){break}a[W]=0;W=c[z>>2]|0;if(W>>>0>(c[G>>2]|0)>>>0){break d}else{X=W;W=0}while(1){ru(b,X,S,V+ -2|0,W);X=(c[z>>2]|0)+1|0;c[z>>2]=X;if(X>>>0>(c[G>>2]|0)>>>0){break d}V=c[H>>2]|0;W=W+1|0}}}while(0);Qe(-1,131552,F);break d}if(_F(h,l,256,m)|0){X=0}else{break d}while(1){V=(c[z>>2]|0)+X|0;if(V>>>0>(c[G>>2]|0)>>>0){break d}if((Qc(l|0,131616)|0)==0){break d}do{if((a[p]|0)==60){W=c[u>>2]|0;Y=l+(W+ -1)|0;if((a[Y]|0)!=62){U=72;break}a[Y]=0;ru(b,V,T,W+ -2|0,0)}else{U=72}}while(0);if((U|0)==72){U=0;Qe(-1,131552,P)}if(_F(h,l,256,m)|0){X=X+1|0}else{break d}}}}while(0);Qe(-1,131552,E)}}while(0);if((U|0)==60){Qe(-1,131552,g)}if(!(_F(h,l,256,m)|0)){break c}}Qe(-1,131552,v)}}while(0);_F(h,l,256,m)|0}}while(0);}while(_F(h,j,256,k)|0)}if((h|0)==0){i=O;return}HW(h);i=O;return}function nu(b){b=b|0;var d=0,e=0,f=0;d=i;e=c[b>>2]|0;f=a[e]|0;if(f<<24>>24==0){f=-1;i=d;return f|0}c[b>>2]=e+1;f=f<<24>>24;i=d;return f|0}function ou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;e=i;g=i;i=i+8|0;d=g;f=FW(52)|0;c[f>>2]=0;h=f+8|0;c[h>>2]=256;k=ye(256,4)|0;j=f+4|0;c[j>>2]=k;do{if((c[h>>2]|0)!=0){c[k>>2]=0;if((c[h>>2]|0)>>>0>1){k=1}else{break}do{c[(c[j>>2]|0)+(k<<2)>>2]=0;k=k+1|0;}while(k>>>0<(c[h>>2]|0)>>>0)}}while(0);c[f+12>>2]=0;c[f+20>>2]=0;c[f+16>>2]=0;c[f+24>>2]=1;ad(f+28|0,0)|0;h=ef(c[834]|0,a)|0;if((h|0)==0){c[g>>2]=c[a+28>>2];Qe(-1,131384,d);i=e;return f|0}else{mu(f,253,h,b);mc(h|0)|0;i=e;return f|0}return 0}function pu(a){a=a|0;var b=0;b=i;a=qc(a|0)|0;i=b;return a|0}function qu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;f=i;i=i+8|0;c[f>>2]=c[b+28>>2];mu(a,252,f,d);i=e;return}function ru(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;h=i;j=i;i=i+8|0;l=i;i=i+8|0;m=l;p=i;i=i+8|0;q=i;i=i+8|0;o=q;t=i;i=i+8|0;n=i;i=i+8|0;r=n;k=i;i=i+8|0;s=b+8|0;u=c[s>>2]|0;a:do{if(u>>>0<=d>>>0){v=d+256&-256;c[s>>2]=v;if(v>>>0<=d>>>0){Qe(-1,131624,t);i=h;return}t=b+4|0;v=Ce(c[t>>2]|0,v,4)|0;c[t>>2]=v;if(u>>>0>=(c[s>>2]|0)>>>0){break}while(1){c[v+(u<<2)>>2]=0;u=u+1|0;if(u>>>0>=(c[s>>2]|0)>>>0){break a}v=c[t>>2]|0}}}while(0);if((f|0)<5){c[q>>2]=r;if((Hc(e|0,131232,o|0)|0)==1){c[(c[b+4>>2]|0)+(d<<2)>>2]=(c[n>>2]|0)+g;i=h;return}else{Qe(-1,131680,p);i=h;return}}n=b+16|0;p=b+20|0;o=c[p>>2]|0;if((c[n>>2]|0)<(o|0)){o=b+12|0}else{v=o+16|0;c[p>>2]=v;o=b+12|0;c[o>>2]=Ce(c[o>>2]|0,v,12)|0}c[(c[b+4>>2]|0)+(d<<2)>>2]=0;c[(c[o>>2]|0)+((c[n>>2]|0)*12|0)>>2]=d;c[(c[o>>2]|0)+((c[n>>2]|0)*12|0)+8>>2]=(f|0)/4|0;p=ye(c[(c[o>>2]|0)+((c[n>>2]|0)*12|0)+8>>2]|0,4)|0;c[(c[o>>2]|0)+((c[n>>2]|0)*12|0)+4>>2]=p;p=c[n>>2]|0;d=c[o>>2]|0;b=c[d+(p*12|0)+8>>2]|0;if((b|0)>0){f=k+4|0;q=0;do{hX(k|0,e+(q<<2)|0,4)|0;a[f]=0;c[l>>2]=(c[(c[o>>2]|0)+((c[n>>2]|0)*12|0)+4>>2]|0)+(q<<2);if((Hc(k|0,131232,m|0)|0)!=1){Qe(-1,131680,j)}q=q+1|0;p=c[n>>2]|0;d=c[o>>2]|0;b=c[d+(p*12|0)+8>>2]|0;}while((q|0)<(b|0))}v=(c[d+(p*12|0)+4>>2]|0)+(b+ -1<<2)|0;c[v>>2]=(c[v>>2]|0)+g;c[n>>2]=(c[n>>2]|0)+1;i=h;return}function su(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=c[a>>2]|0;if((d|0)!=0){ke(d);HW(d)}Fe(c[a+4>>2]|0);e=a+12|0;g=c[e>>2]|0;if((g|0)==0){g=a+28|0;kc(g|0)|0;i=b;return}d=a+16|0;if((c[d>>2]|0)>0){f=0;while(1){Fe(c[g+(f*12|0)+4>>2]|0);f=f+1|0;g=c[e>>2]|0;if((f|0)<(c[d>>2]|0)){}else{break}}}Fe(g);g=a+28|0;kc(g|0)|0;i=b;return}function tu(a){a=a|0;var b=0,d=0;b=i;d=a+28|0;Ub(d|0)|0;a=a+24|0;c[a>>2]=(c[a>>2]|0)+1;Mc(d|0)|0;i=b;return}function uu(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;e=a+28|0;Ub(e|0)|0;f=a+24|0;d=(c[f>>2]|0)+ -1|0;c[f>>2]=d;Mc(e|0)|0;if((d|0)!=0|(a|0)==0){i=b;return}su(a);HW(a);i=b;return}function vu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;if((e|0)==1){c[(c[a+4>>2]|0)+(b<<2)>>2]=c[d>>2];i=f;return}g=a+16|0;j=c[g>>2]|0;a:do{if((j|0)>0){l=c[a+12>>2]|0;h=0;while(1){k=h+1|0;if((c[l+(h*12|0)>>2]|0)==(b|0)){break}if((k|0)<(j|0)){h=k}else{h=k;break a}}Fe(c[l+(h*12|0)+4>>2]|0);j=c[g>>2]|0}else{h=0}}while(0);if((h|0)==(j|0)){k=a+20|0;if((j|0)==(c[k>>2]|0)){l=j+8|0;c[k>>2]=l;j=a+12|0;c[j>>2]=Ce(c[j>>2]|0,l,12)|0;j=c[g>>2]|0}c[g>>2]=j+1}c[(c[a+4>>2]|0)+(b<<2)>>2]=0;a=a+12|0;c[(c[a>>2]|0)+(h*12|0)>>2]=b;c[(c[a>>2]|0)+(h*12|0)+8>>2]=e;l=ye(e,4)|0;c[(c[a>>2]|0)+(h*12|0)+4>>2]=l;if((e|0)>0){b=0}else{i=f;return}do{c[(c[(c[a>>2]|0)+(h*12|0)+4>>2]|0)+(b<<2)>>2]=c[d+(b<<2)>>2];b=b+1|0;}while((b|0)<(e|0));i=f;return}function wu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;if((c[a+8>>2]|0)>>>0<=b>>>0){h=0;i=f;return h|0}g=(c[a+4>>2]|0)+(b<<2)|0;if((c[g>>2]|0)!=0){c[d>>2]=g;h=1;i=f;return h|0}g=a+12|0;h=c[a+16>>2]|0;while(1){a=h+ -1|0;if((h|0)<=0){d=0;e=8;break}h=c[g>>2]|0;if((c[h+(a*12|0)>>2]|0)==(b|0)){break}else{h=a}}if((e|0)==8){i=f;return d|0}c[d>>2]=c[h+(a*12|0)+4>>2];h=c[(c[g>>2]|0)+(a*12|0)+8>>2]|0;i=f;return h|0}function xu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;if((e|0)==1){g=c[a+8>>2]|0;a:do{if((g|0)!=0){e=c[a+4>>2]|0;a=c[b>>2]|0;h=0;while(1){b=h+1|0;if((c[e+(h<<2)>>2]|0)==(a|0)){break}if(b>>>0<g>>>0){h=b}else{break a}}c[d>>2]=h;h=1;i=f;return h|0}}while(0);c[d>>2]=120;h=0;i=f;return h|0}b=c[a+16>>2]|0;if((b|0)<=0){h=0;i=f;return h|0}a=c[a+12>>2]|0;h=0;while(1){if((c[a+(h*12|0)+8>>2]|0)==(e|0)){if((((e|0)>0?e:0)|0)==(e|0)){break}}h=h+1|0;if((h|0)>=(b|0)){d=0;g=14;break}}if((g|0)==14){i=f;return d|0}c[d>>2]=c[a+(h*12|0)>>2];h=1;i=f;return h|0}function yu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=a+4|0;c[e>>2]=b;b=ye(b,4)|0;c[a>>2]=b;if((c[e>>2]|0)>0){f=0}else{i=d;return}while(1){c[b+(f<<2)>>2]=0;f=f+1|0;if((f|0)>=(c[e>>2]|0)){break}b=c[a>>2]|0}i=d;return}function zu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;d=a+4|0;f=c[a>>2]|0;if((c[d>>2]|0)>0){e=0}else{Fe(f);i=b;return}do{f=c[f+(e<<2)>>2]|0;do{if((f|0)!=0){h=f+28|0;Ub(h|0)|0;j=f+24|0;g=(c[j>>2]|0)+ -1|0;c[j>>2]=g;Mc(h|0)|0;if((g|0)!=0){break}su(f);HW(f)}}while(0);e=e+1|0;f=c[a>>2]|0}while((e|0)<(c[d>>2]|0));Fe(f);i=b;return}function Au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;f=c[c[a>>2]>>2]|0;do{if((f|0)!=0){f=c[f>>2]|0;if((f|0)==0){break}if((se(f,b)|0)!=0){break}h=c[c[a>>2]>>2]|0;j=h+28|0;Ub(j|0)|0;h=h+24|0;c[h>>2]=(c[h>>2]|0)+1;Mc(j|0)|0;j=c[c[a>>2]>>2]|0;i=d;return j|0}}while(0);g=a+4|0;h=c[g>>2]|0;if((h|0)>1){f=1}else{j=0;i=d;return j|0}a:while(1){j=c[(c[a>>2]|0)+(f<<2)>>2]|0;do{if((j|0)!=0){j=c[j>>2]|0;if((j|0)==0){break}if((se(j,b)|0)==0){break a}h=c[g>>2]|0}}while(0);f=f+1|0;if((f|0)>=(h|0)){a=0;e=14;break}}if((e|0)==14){i=d;return a|0}b=c[a>>2]|0;e=c[b+(f<<2)>>2]|0;if((f|0)>0){while(1){g=f+ -1|0;c[b+(f<<2)>>2]=c[b+(g<<2)>>2];b=c[a>>2]|0;if((g|0)>0){f=g}else{break}}}c[b>>2]=e;j=e+28|0;Ub(j|0)|0;h=e+24|0;c[h>>2]=(c[h>>2]|0)+1;Mc(j|0)|0;j=e;i=d;return j|0}function Bu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=a+4|0;f=c[(c[a>>2]|0)+((c[e>>2]|0)+ -1<<2)>>2]|0;do{if((f|0)!=0){h=f+28|0;Ub(h|0)|0;j=f+24|0;g=(c[j>>2]|0)+ -1|0;c[j>>2]=g;Mc(h|0)|0;if((g|0)!=0){break}su(f);HW(f)}}while(0);f=c[e>>2]|0;e=f+ -1|0;if((e|0)>0){while(1){g=c[a>>2]|0;c[g+(e<<2)>>2]=c[g+(f+ -2<<2)>>2];g=e+ -1|0;if((g|0)>0){f=e;e=g}else{break}}}c[c[a>>2]>>2]=b;j=b+28|0;Ub(j|0)|0;h=b+24|0;c[h>>2]=(c[h>>2]|0)+1;Mc(j|0)|0;i=d;return}function Cu(b,e,f,g,h,j,k,l,m,n,o,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;b=i;x=i;i=i+32|0;s=x;v=i;i=i+32|0;q=v;r=i;i=i+256|0;t=i;i=i+16|0;a[p]=0;do{if((l|0)!=0){w=c[l+24>>2]|0;l=c[l+28>>2]|0;if((w|0)<32){$W(x|0,l|0,w|0)|0;$W(s+w|0,131712,32-w|0)|0}else{$W(x|0,l|0,32)|0}Du(s,32,s);if((e|0)==3){u=0;while(1){Du(s,f,s);u=u+1|0;if((u|0)<50){}else{u=12;break}}}else if((e|0)==2){t=0;do{a[r+t|0]=t;t=t+1|0;}while((t|0)<256);if((f|0)!=0){v=0;t=0;w=0;while(1){t=t&255;l=r+v|0;x=a[l]|0;w=(d[s+t|0]|0)+(w&255)+(x&255)|0;y=r+(w&255)|0;a[l]=a[y]|0;a[y]=x;v=v+1|0;if((v|0)<256){w=w&255;t=((t+1|0)%(f|0)|0)&255}else{break}}}s=c[g+28>>2]|0;t=0;v=0;w=0;while(1){y=a[s+w|0]|0;v=(v&255)+1|0;B=r+(v&255)|0;A=a[B]|0;x=A&255;t=x+(t&255)|0;z=r+(t&255)|0;l=a[z]|0;a[B]=l;a[z]=A;a[q+w|0]=a[r+((l&255)+x&255)|0]^y;w=w+1|0;if((w|0)<32){v=v&255;t=t&255}else{break}}}else{u=12}if((u|0)==12){$W(v|0,c[g+28>>2]|0,32)|0;u=(f|0)>0;v=(f|0)==0;w=19;while(1){if(u){l=0;while(1){a[t+l|0]=(d[s+l|0]|0)^w;l=l+1|0;if((l|0)<(f|0)){}else{l=0;break}}}else{l=0}do{a[r+l|0]=l;l=l+1|0;}while((l|0)<256);if(v){x=0;l=0;y=0}else{l=0;x=0;y=0;while(1){x=x&255;z=r+l|0;A=a[z]|0;y=(d[t+x|0]|0)+(y&255)+(A&255)|0;B=r+(y&255)|0;a[z]=a[B]|0;a[B]=A;l=l+1|0;if((l|0)<256){y=y&255;x=((x+1|0)%(f|0)|0)&255}else{x=0;l=0;y=0;break}}}while(1){B=q+y|0;A=a[B]|0;l=(l&255)+1|0;F=r+(l&255)|0;E=a[F]|0;z=E&255;x=z+(x&255)|0;D=r+(x&255)|0;C=a[D]|0;a[F]=C;a[D]=E;a[B]=a[r+((C&255)+z&255)|0]^A;y=y+1|0;if((y|0)<32){l=l&255;x=x&255}else{break}}if((w|0)>0){w=w+ -1|0}else{break}}}r=FW(32)|0;ge(r,q,32);if(!(Eu(0,e,f,g,h,j,k,r,n,o)|0)){if((r|0)==0){break}ke(r);HW(r);break}a[p]=1;if((r|0)==0){F=1;i=b;return F|0}ke(r);HW(r);F=1;i=b;return F|0}}while(0);F=Eu(0,e,f,g,h,j,k,m,n,o)|0;i=b;return F|0}function Du(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0;A=i;j=i;i=i+64|0;h=j;L=e+72|0;k=(L|0)/64|0;if((L|0)<=63){u=1;w=69;x=103;v=35;y=-119;B=-51;C=-17;z=-85;D=-2;F=-70;G=-104;E=-36;H=118;J=50;K=16;I=84;L=f;a[L]=u;L=f+1|0;a[L]=v;L=f+2|0;a[L]=w;L=f+3|0;a[L]=x;L=f+4|0;a[L]=y;L=f+5|0;a[L]=z;L=f+6|0;a[L]=B;L=f+7|0;a[L]=C;L=f+8|0;a[L]=D;L=f+9|0;a[L]=E;L=f+10|0;a[L]=F;L=f+11|0;a[L]=G;L=f+12|0;a[L]=H;L=f+13|0;a[L]=I;L=f+14|0;a[L]=J;L=f+15|0;a[L]=K;i=A;return}l=e+ -3|0;n=k+ -1|0;o=e+ -2|0;p=e+ -1|0;q=e<<3;r=h+56|0;w=h+4|0;x=h+8|0;y=h+12|0;z=h+16|0;g=h+20|0;B=h+24|0;C=h+28|0;D=h+32|0;E=h+36|0;v=h+40|0;u=h+44|0;t=h+48|0;s=h+52|0;m=h+60|0;H=1732584193;J=-271733879;F=-1732584194;G=271733878;I=0;K=0;do{if((K|0)<(l|0)){L=0;while(1){c[h+(L<<2)>>2]=(((d[b+(K+3)|0]|0)<<8|(d[b+(K+2)|0]|0))<<8|(d[b+(K+1)|0]|0))<<8|(d[b+K|0]|0);L=L+1|0;K=K+4|0;if((L|0)<16&(K|0)<(l|0)){}else{break}}}else{L=0}if((I|0)==(n|0)){do{if((K|0)==(l|0)){c[h+(L<<2)>>2]=d[b+l|0]|0|((d[b+(e+ -1)|0]|0)<<8|(d[b+(e+ -2)|0]|0))<<8|-2147483648}else{if((K|0)==(o|0)){c[h+(L<<2)>>2]=d[b+o|0]|0|(d[b+(e+ -1)|0]|0)<<8|8388608;break}if((K|0)==(p|0)){c[h+(L<<2)>>2]=d[b+p|0]|0|32768;break}else{c[h+(L<<2)>>2]=128;break}}}while(0);if((L+1|0)<16){bX(h+(L+1<<2)|0,0,60-(L<<2)|0)|0}c[r>>2]=q}ca=c[j>>2]|0;ea=H+ -680876936+(G&~J|J&F)+ca|0;ea=(ea>>>25|ea<<7)+J|0;X=c[w>>2]|0;da=G+ -389564586+X+(F&~ea|ea&J)|0;da=(da>>>20|da<<12)+ea|0;Q=c[x>>2]|0;M=F+606105819+Q+(J&~da|da&ea)|0;M=(M>>>15|M<<17)+da|0;Z=c[y>>2]|0;N=J+ -1044525330+Z+(ea&~M|M&da)|0;N=(N>>>10|N<<22)+M|0;S=c[z>>2]|0;ea=ea+ -176418897+S+(da&~N|N&M)|0;ea=(ea>>>25|ea<<7)+N|0;$=c[g>>2]|0;da=$+1200080426+da+(M&~ea|ea&N)|0;da=(da>>>20|da<<12)+ea|0;U=c[B>>2]|0;M=U+ -1473231341+M+(N&~da|da&ea)|0;M=(M>>>15|M<<17)+da|0;ba=c[C>>2]|0;N=ba+ -45705983+N+(ea&~M|M&da)|0;N=(N>>>10|N<<22)+M|0;W=c[D>>2]|0;ea=W+1770035416+ea+(da&~N|N&M)|0;ea=(ea>>>25|ea<<7)+N|0;P=c[E>>2]|0;da=P+ -1958414417+da+(M&~ea|ea&N)|0;da=(da>>>20|da<<12)+ea|0;Y=c[v>>2]|0;M=Y+ -42063+M+(N&~da|da&ea)|0;M=(M>>>15|M<<17)+da|0;R=c[u>>2]|0;N=R+ -1990404162+N+(ea&~M|M&da)|0;N=(N>>>10|N<<22)+M|0;_=c[t>>2]|0;ea=_+1804603682+ea+(da&~N|N&M)|0;ea=(ea>>>25|ea<<7)+N|0;T=c[s>>2]|0;da=T+ -40341101+da+(M&~ea|ea&N)|0;da=(da>>>20|da<<12)+ea|0;aa=c[r>>2]|0;O=~da;M=aa+ -1502002290+M+(N&O|da&ea)|0;M=(M>>>15|M<<17)+da|0;V=c[m>>2]|0;L=~M;N=V+1236535329+N+(ea&L|M&da)|0;N=(N>>>10|N<<22)+M|0;O=X+ -165796510+ea+(N&da|M&O)|0;O=(O>>>27|O<<5)+N|0;L=U+ -1069501632+da+(O&M|N&L)|0;L=(L>>>23|L<<9)+O|0;M=R+643717713+M+(L&N|O&~N)|0;M=(M>>>18|M<<14)+L|0;N=ca+ -373897302+N+(M&O|L&~O)|0;N=(N>>>12|N<<20)+M|0;O=$+ -701558691+O+(N&L|M&~L)|0;O=(O>>>27|O<<5)+N|0;L=Y+38016083+L+(O&M|N&~M)|0;L=(L>>>23|L<<9)+O|0;M=V+ -660478335+M+(L&N|O&~N)|0;M=(M>>>18|M<<14)+L|0;N=S+ -405537848+N+(M&O|L&~O)|0;N=(N>>>12|N<<20)+M|0;O=P+568446438+O+(N&L|M&~L)|0;O=(O>>>27|O<<5)+N|0;L=aa+ -1019803690+L+(O&M|N&~M)|0;L=(L>>>23|L<<9)+O|0;M=Z+ -187363961+M+(L&N|O&~N)|0;M=(M>>>18|M<<14)+L|0;N=W+1163531501+N+(M&O|L&~O)|0;N=(N>>>12|N<<20)+M|0;O=T+ -1444681467+O+(N&L|M&~L)|0;O=(O>>>27|O<<5)+N|0;L=Q+ -51403784+L+(O&M|N&~M)|0;L=(L>>>23|L<<9)+O|0;M=ba+1735328473+M+(L&N|O&~N)|0;M=(M>>>18|M<<14)+L|0;N=_+ -1926607734+N+(M&O|L&~O)|0;N=(N>>>12|N<<20)+M|0;O=$+ -378558+O+(M^L^N)|0;O=(O>>>28|O<<4)+N|0;L=W+ -2022574463+L+(N^M^O)|0;L=(L>>>21|L<<11)+O|0;M=R+1839030562+M+(O^N^L)|0;M=(M>>>16|M<<16)+L|0;N=aa+ -35309556+N+(L^O^M)|0;N=(N>>>9|N<<23)+M|0;O=X+ -1530992060+O+(M^L^N)|0;O=(O>>>28|O<<4)+N|0;L=S+1272893353+L+(N^M^O)|0;L=(L>>>21|L<<11)+O|0;M=ba+ -155497632+M+(O^N^L)|0;M=(M>>>16|M<<16)+L|0;N=Y+ -1094730640+N+(L^O^M)|0;N=(N>>>9|N<<23)+M|0;O=T+681279174+O+(M^L^N)|0;O=(O>>>28|O<<4)+N|0;L=ca+ -358537222+L+(N^M^O)|0;L=(L>>>21|L<<11)+O|0;M=Z+ -722521979+M+(O^N^L)|0;M=(M>>>16|M<<16)+L|0;N=U+76029189+N+(L^O^M)|0;N=(N>>>9|N<<23)+M|0;O=P+ -640364487+O+(M^L^N)|0;O=(O>>>28|O<<4)+N|0;L=_+ -421815835+L+(N^M^O)|0;L=(L>>>21|L<<11)+O|0;M=V+530742520+M+(O^N^L)|0;M=(M>>>16|M<<16)+L|0;N=Q+ -995338651+N+(L^O^M)|0;N=(N>>>9|N<<23)+M|0;O=ca+ -198630844+O+((N|~L)^M)|0;O=(O>>>26|O<<6)+N|0;L=ba+1126891415+L+((O|~M)^N)|0;L=(L>>>22|L<<10)+O|0;M=aa+ -1416354905+M+((L|~N)^O)|0;M=(M>>>17|M<<15)+L|0;N=$+ -57434055+N+((M|~O)^L)|0;N=(N>>>11|N<<21)+M|0;O=_+1700485571+O+((N|~L)^M)|0;O=(O>>>26|O<<6)+N|0;L=Z+ -1894986606+L+((O|~M)^N)|0;L=(L>>>22|L<<10)+O|0;M=Y+ -1051523+M+((L|~N)^O)|0;M=(M>>>17|M<<15)+L|0;N=X+ -2054922799+N+((M|~O)^L)|0;N=(N>>>11|N<<21)+M|0;O=W+1873313359+O+((N|~L)^M)|0;O=(O>>>26|O<<6)+N|0;L=V+ -30611744+L+((O|~M)^N)|0;L=(L>>>22|L<<10)+O|0;M=U+ -1560198380+M+((L|~N)^O)|0;M=(M>>>17|M<<15)+L|0;N=T+1309151649+N+((M|~O)^L)|0;N=(N>>>11|N<<21)+M|0;O=S+ -145523070+O+((N|~L)^M)|0;O=(O>>>26|O<<6)+N|0;L=R+ -1120210379+L+((O|~M)^N)|0;L=(L>>>22|L<<10)+O|0;M=Q+718787259+M+((L|~N)^O)|0;M=(M>>>17|M<<15)+L|0;N=P+ -343485551+N+((M|~O)^L)|0;H=O+H|0;J=M+J+(N>>>11|N<<21)|0;F=M+F|0;G=L+G|0;I=I+1|0;}while((I|0)<(k|0));Q=H&255;S=H>>>16&255;T=H>>>24&255;R=H>>>8&255;U=J&255;W=J>>>16&255;X=J>>>24&255;V=J>>>8&255;Y=F&255;_=F>>>16&255;$=F>>>24&255;Z=F>>>8&255;aa=G&255;ca=G>>>16&255;da=G>>>24&255;ba=G>>>8&255;ea=f;a[ea]=Q;ea=f+1|0;a[ea]=R;ea=f+2|0;a[ea]=S;ea=f+3|0;a[ea]=T;ea=f+4|0;a[ea]=U;ea=f+5|0;a[ea]=V;ea=f+6|0;a[ea]=W;ea=f+7|0;a[ea]=X;ea=f+8|0;a[ea]=Y;ea=f+9|0;a[ea]=Z;ea=f+10|0;a[ea]=_;ea=f+11|0;a[ea]=$;ea=f+12|0;a[ea]=aa;ea=f+13|0;a[ea]=ba;ea=f+14|0;a[ea]=ca;ea=f+15|0;a[ea]=da;i=A;return}function Eu(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=i;u=i;i=i+32|0;p=u;o=i;i=i+256|0;r=i;i=i+16|0;s=k+24|0;q=we((c[s>>2]|0)+72|0)|0;do{if((l|0)==0){$W(q|0,131712,32)|0}else{t=c[l+24>>2]|0;l=c[l+28>>2]|0;if((t|0)<32){$W(q|0,l|0,t|0)|0;$W(q+t|0,131712,32-t|0)|0;break}else{$W(q|0,l|0,32)|0;break}}}while(0);t=q+32|0;$W(t|0,c[g+28>>2]|0,32)|0;a[q+64|0]=j;a[q+65|0]=j>>>8;a[q+66|0]=j>>>16;a[q+67|0]=j>>>24;j=k+28|0;$W(q+68|0,c[j>>2]|0,c[s>>2]|0)|0;k=c[s>>2]|0;g=k+68|0;if(!n){a[q+g|0]=-1;a[q+(k+69)|0]=-1;a[q+(k+70)|0]=-1;a[q+(k+71)|0]=-1;g=k+72|0}Du(q,g,m);g=(e|0)==3;if(g){n=0;do{Du(m,f,m);n=n+1|0;}while((n|0)<50)}if((e|0)==2){r=0;do{a[o+r|0]=r;r=r+1|0;}while((r|0)<256);if((f|0)!=0){r=0;t=0;s=0;while(1){t=t&255;g=o+r|0;k=a[g]|0;s=(d[m+t|0]|0)+(s&255)+(k&255)|0;l=o+(s&255)|0;a[g]=a[l]|0;a[l]=k;r=r+1|0;if((r|0)<256){s=s&255;t=((t+1|0)%(f|0)|0)&255}else{break}}}f=c[h+28>>2]|0;s=0;t=0;r=0;while(1){l=a[f+r|0]|0;t=(t&255)+1|0;e=o+(t&255)|0;u=a[e]|0;k=u&255;s=k+(s&255)|0;n=o+(s&255)|0;g=a[n]|0;a[e]=g;a[n]=u;a[p+r|0]=a[o+((g&255)+k&255)|0]^l;r=r+1|0;if((r|0)<32){t=t&255;s=s&255}else{break}}l=(iX(p|0,131712,32)|0)==0;Fe(q);i=b;return l|0}if(!g){l=0;Fe(q);i=b;return l|0}$W(u|0,c[h+28>>2]|0,32)|0;h=(f|0)==0;if((f|0)>0){e=19;while(1){u=0;while(1){a[r+u|0]=(d[m+u|0]|0)^e;u=u+1|0;if((u|0)<(f|0)){}else{u=0;break}}do{a[o+u|0]=u;u=u+1|0;}while((u|0)<256);if(h){g=0;n=0;u=0}else{u=0;g=0;n=0;while(1){g=g&255;v=o+u|0;k=a[v]|0;n=(d[r+g|0]|0)+(n&255)+(k&255)|0;l=o+(n&255)|0;a[v]=a[l]|0;a[l]=k;u=u+1|0;if((u|0)<256){n=n&255;g=((g+1|0)%(f|0)|0)&255}else{g=0;n=0;u=0;break}}}while(1){v=p+u|0;l=a[v]|0;n=(n&255)+1|0;z=o+(n&255)|0;y=a[z]|0;k=y&255;g=k+(g&255)|0;x=o+(g&255)|0;w=a[x]|0;a[z]=w;a[x]=y;a[v]=a[o+((w&255)+k&255)|0]^l;u=u+1|0;if((u|0)<32){n=n&255;g=g&255}else{break}}if((e|0)>0){e=e+ -1|0}else{break}}}else{m=19;while(1){e=0;do{a[o+e|0]=e;e=e+1|0;}while((e|0)<256);if(h){n=0;e=0;u=0}else{e=0;u=0;n=0;while(1){u=u&255;x=o+e|0;y=a[x]|0;n=(d[r+u|0]|0)+(n&255)+(y&255)|0;z=o+(n&255)|0;a[x]=a[z]|0;a[z]=y;e=e+1|0;if((e|0)<256){n=n&255;u=((u+1|0)%(f|0)|0)&255}else{n=0;e=0;u=0;break}}}while(1){z=p+u|0;y=a[z]|0;e=(e&255)+1|0;k=o+(e&255)|0;l=a[k]|0;x=l&255;n=x+(n&255)|0;v=o+(n&255)|0;w=a[v]|0;a[k]=w;a[v]=l;a[z]=a[o+((w&255)+x&255)|0]^y;u=u+1|0;if((u|0)<32){e=e&255;n=n&255}else{break}}if((m|0)>0){m=m+ -1|0}else{break}}}$W(q|0,131712,32)|0;$W(t|0,c[j>>2]|0,c[s>>2]|0)|0;Du(q,(c[s>>2]|0)+32|0,q);z=(iX(p|0,q|0,16)|0)==0;Fe(q);i=b;return z|0}function Fu(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;k=i;uj(b,d);c[b>>2]=131752;d=b+12|0;c[d>>2]=f;if((g|0)>0){f=0;do{a[b+20+f|0]=a[e+f|0]|0;f=f+1|0;}while((f|0)<(g|0))}a[b+20+g|0]=h;a[b+20+(g+1)|0]=h>>>8;a[b+20+(g+2)|0]=h>>>16;a[b+20+(g+3)|0]=j;a[b+20+(g+4)|0]=j>>>8;h=g+5|0;if((c[d>>2]|0)!=1){f=h;g=b+20|0;Du(g,f,g);g=b+16|0;f=(h|0)>16;d=f?16:h;f=g;c[f>>2]=d;f=b+48|0;c[f>>2]=0;i=k;return}a[b+20+h|0]=115;a[b+20+(g+6)|0]=65;a[b+20+(g+7)|0]=108;a[b+20+(g+8)|0]=84;f=g+9|0;g=b+20|0;Du(g,f,g);g=b+16|0;f=(h|0)>16;d=f?16:h;f=g;c[f>>2]=d;f=b+48|0;c[f>>2]=0;i=k;return}function Gu(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=131752;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function Hu(a){a=a|0;var b=0;b=i;c[a>>2]=131752;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Iu(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;e=i;c[b+48>>2]=0;f=b+8|0;g=c[f>>2]|0;fd[c[(c[g>>2]|0)+12>>2]&511](g);g=c[b+12>>2]|0;if((g|0)==0){a[b+309|0]=0;a[b+308|0]=0;f=c[b+16>>2]|0;g=0;do{a[b+52+g|0]=g;g=g+1|0;}while((g|0)<256);if((f|0)!=0){h=0;g=0;j=0;while(1){g=g&255;I=b+52+h|0;J=a[I]|0;j=(d[b+20+g|0]|0)+(j&255)+(J&255)|0;K=b+52+(j&255)|0;a[I]=a[K]|0;a[K]=J;h=h+1|0;if((h|0)<256){j=j&255;g=((g+1|0)%(f|0)|0)&255}else{break}}}c[b+312>>2]=-1;i=e;return}else if((g|0)==1){g=b+52|0;c[g>>2]=(d[b+21|0]|0)<<16|(d[b+20|0]|0)<<24|(d[b+22|0]|0)<<8|(d[b+23|0]|0);c[b+56>>2]=(d[b+25|0]|0)<<16|(d[b+24|0]|0)<<24|(d[b+26|0]|0)<<8|(d[b+27|0]|0);c[b+60>>2]=(d[b+29|0]|0)<<16|(d[b+28|0]|0)<<24|(d[b+30|0]|0)<<8|(d[b+31|0]|0);j=(d[b+33|0]|0)<<16|(d[b+32|0]|0)<<24|(d[b+34|0]|0)<<8|(d[b+35|0]|0);c[b+64>>2]=j;h=4;while(1){if((h&3|0)==0){j=((d[132232+(j>>>8&255)|0]|0)<<16|(d[132232+(j>>>16&255)|0]|0)<<24|(d[132232+(j&255)|0]|0)<<8|(d[132232+(j>>>24)|0]|0))^c[132184+(((h|0)/4|0)<<2)>>2]}j=c[g+(h+ -4<<2)>>2]^j;c[g+(h<<2)>>2]=j;h=h+1|0;if((h|0)>=44){p=1;break}}while(1){o=p<<2;n=0;do{m=g+(n+o<<2)|0;j=c[m>>2]|0;h=j>>>24;k=j>>>16;l=j>>>8;q=h<<1;q=(h&128|0)!=0?q^27:q;G=(q&128|0)!=0;H=q<<1;r=H&510;r=G?r^27:r;s=r<<1;s=(r&128|0)!=0?s^27:s;t=k<<1&510;t=(k&128|0)!=0?t^27:t;B=(t&128|0)!=0;C=t<<1;u=C&510;u=B?u^27:u;v=u<<1;v=(u&128|0)!=0?v^27:v;w=l<<1&510;x=(l&128|0)!=0?w^27:w;I=(x&128|0)!=0;J=x<<1;w=I?J^27:J;y=w<<1;y=(w&128|0)!=0?y^27:y;z=j<<1&510;A=(j&128|0)!=0?z^27:z;E=(A&128|0)!=0;F=A<<1;z=E?F^27:F;D=z<<1;D=(z&128|0)!=0?D^27:D;G=G?H^27:H;H=G<<1;H=(G&128|0)!=0?H^27:H;J=J&510;I=I?J^27:J;J=I<<1;J=(I&128|0)!=0?J^27:J;K=h^j;B=B?C^27:C;C=B<<1;C=(B&128|0)!=0?C^27:C;F=F&510;E=E?F^27:F;F=E<<1;F=(E&128|0)!=0?F^27:F;c[m>>2]=(K^l^t^x^z^u^H^D^v^J)<<16&16711680|(k^j^l^q^t^r^w^D^s^y^v)<<24|(K^k^A^x^G^I^H^C^F^J)<<8&65280|(k^h^l^q^A^B^E^s^C^y^F)&255;n=n+1|0;}while((n|0)<4);p=p+1|0;if((p|0)>=10){g=0;break}}do{K=c[f>>2]|0;a[b+52+(g+192)|0]=jd[c[(c[K>>2]|0)+20>>2]&511](K)|0;g=g+1|0;}while((g|0)<16);c[b+276>>2]=16;i=e;return}else{i=e;return}}function Ju(a){a=a|0;i=i;return c[a+48>>2]|0}function Ku(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;h=i;i=i+16|0;g=c[b+12>>2]|0;a:do{if((g|0)==0){f=b+312|0;g=c[f>>2]|0;do{if((g|0)==-1){g=c[b+8>>2]|0;g=jd[c[(c[g>>2]|0)+20>>2]&511](g)|0;if((g|0)!=-1){k=b+308|0;m=b+309|0;j=(d[k]|0)+1|0;a[k]=j;j=b+52+(j&255)|0;k=(d[m]|0)+(d[j]|0)|0;a[m]=k;m=a[j]|0;k=b+52+(k&255)|0;l=a[k]|0;a[j]=l;a[k]=m;g=(a[b+52+((l&255)+(m&255)&255)|0]^g&255)&255;c[f>>2]=g;break}g=c[f>>2]|0;c[f>>2]=-1;if((g|0)==-1){b=-1}else{break a}i=e;return b|0}}while(0);c[f>>2]=-1}else if((g|0)==1){j=b+52|0;g=b+276|0;k=c[g>>2]|0;do{if((k|0)==16){m=b+8|0;l=0;do{k=c[m>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){b=-1;f=14;break}a[h+l|0]=k;l=l+1|0;}while((l|0)<16);if((f|0)==14){i=e;return b|0}k=c[m>>2]|0;Lu(j,h,(jd[c[(c[k>>2]|0)+24>>2]&511](k)|0)==-1);k=c[g>>2]|0;if((k|0)==16){b=-1}else{break}i=e;return b|0}}while(0);c[g>>2]=k+1;g=d[b+52+(k+208)|0]|0}else{m=-1;i=e;return m|0}}while(0);m=b+48|0;c[m>>2]=(c[m>>2]|0)+1;m=g;i=e;return m|0}function Lu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;j=i;h=i;i=i+8|0;g=h;P=a[e]|0;L=b+176|0;a[L]=P;t=e+1|0;M=b+180|0;a[M]=a[t]|0;u=e+2|0;I=b+184|0;a[I]=a[u]|0;v=e+3|0;E=b+188|0;a[E]=a[v]|0;w=e+4|0;O=b+177|0;a[O]=a[w]|0;k=e+5|0;K=b+181|0;a[K]=a[k]|0;y=e+6|0;z=b+185|0;a[z]=a[y]|0;x=e+7|0;D=b+189|0;a[D]=a[x]|0;s=e+8|0;A=b+178|0;a[A]=a[s]|0;r=e+9|0;H=b+182|0;a[H]=a[r]|0;q=e+10|0;G=b+186|0;a[G]=a[q]|0;p=e+11|0;C=b+190|0;a[C]=a[p]|0;o=e+12|0;N=b+179|0;a[N]=a[o]|0;n=e+13|0;J=b+183|0;a[J]=a[n]|0;m=e+14|0;F=b+187|0;a[F]=a[m]|0;l=e+15|0;B=b+191|0;a[B]=a[l]|0;Q=0;while(1){qa=b+(Q+40<<2)|0;a[b+176+Q|0]=P&255^(c[qa>>2]|0)>>>24;ra=b+176+(Q+4)|0;a[ra]=(d[ra]|0)^(c[qa>>2]|0)>>>16;ra=b+176+(Q+8)|0;a[ra]=(d[ra]|0)^(c[qa>>2]|0)>>>8;ra=b+176+(Q+12)|0;a[ra]=(d[ra]|0)^c[qa>>2];Q=Q+1|0;if((Q|0)>=4){P=9;break}P=a[b+176+Q|0]|0}while(1){a[L]=a[131928+(d[L]|0)|0]|0;a[O]=a[131928+(d[O]|0)|0]|0;a[A]=a[131928+(d[A]|0)|0]|0;a[N]=a[131928+(d[N]|0)|0]|0;ia=a[131928+(d[M]|0)|0]|0;ha=a[131928+(d[K]|0)|0]|0;ja=a[131928+(d[J]|0)|0]|0;la=a[131928+(d[I]|0)|0]|0;na=a[131928+(d[z]|0)|0]|0;ka=a[131928+(d[G]|0)|0]|0;ma=a[131928+(d[F]|0)|0]|0;ra=a[131928+(d[E]|0)|0]|0;oa=a[131928+(d[D]|0)|0]|0;pa=a[131928+(d[C]|0)|0]|0;qa=a[131928+(d[B]|0)|0]|0;a[J]=a[131928+(d[H]|0)|0]|0;a[H]=ha;a[K]=ia;a[M]=ja;a[I]=ka;a[G]=la;a[z]=ma;a[F]=na;a[E]=oa;a[D]=pa;a[C]=qa;a[B]=ra;if((P|0)>0){T=0}else{z=0;break}do{ia=b+176+T|0;V=a[ia]|0;Z=b+176+(T+4)|0;U=a[Z]|0;R=b+176+(T+8)|0;Q=a[R]|0;S=b+176+(T+12)|0;W=a[S]|0;ra=V&255;X=ra<<1;X=(ra&128|0)!=0?X^27:X;ja=(X&128|0)!=0;ka=X<<1;Y=ka&510;ma=ja?Y^27:Y;Y=ma<<1;Y=(ma&128|0)!=0?Y^27:Y;ra=U&255;_=ra<<1;ca=(ra&128|0)!=0?_^27:_;ba=(ca&128|0)!=0;da=ca<<1;_=da&510;ea=ba?_^27:_;_=ea<<1;ha=(ea&128|0)!=0?_^27:_;ra=Q&255;_=ra<<1;_=(ra&128|0)!=0?_^27:_;na=(_&128|0)!=0;pa=_<<1;qa=na?pa^27:pa;$=qa<<1;$=(qa&128|0)!=0?$^27:$;ra=W&255;aa=ra<<1;aa=(ra&128|0)!=0?aa^27:aa;fa=(aa&128|0)!=0;ga=aa<<1;la=fa?ga^27:ga;oa=la<<1;oa=(la&128|0)!=0?oa^27:oa;a[ia]=(Q^U)&255^X^ra^ca^ma^qa^Y^ha^$^oa;ia=ja?ka^27:ka;ja=ia<<1;ja=(ia&128|0)!=0?ja^27:ja;ka=pa&510;ka=na?ka^27:ka;ma=ka<<1;ma=(ka&128|0)!=0?ma^27:ma;a[Z]=(Q^V^W)&255^ca^_^ea^ja^la^ha^ma^oa;Z=ba?da^27:da;ba=Z<<1;ba=(Z&128|0)!=0?ba^27:ba;ca=ga&510;da=fa?ca^27:ca;ca=da<<1;ra=(da&128|0)!=0?ca^27:ca;qa=U^V;a[R]=_^(W^qa)&255^ia^aa^ja^ka^ba^ma^ra;a[S]=(qa^Q)&255^X^aa^Z^Y^ba^da^$^ra;T=T+1|0;}while((T|0)<4);R=P<<2;Q=0;do{qa=b+(Q+R<<2)|0;ra=b+176+Q|0;a[ra]=(d[ra]|0)^(c[qa>>2]|0)>>>24;ra=b+176+(Q+4)|0;a[ra]=(d[ra]|0)^(c[qa>>2]|0)>>>16;ra=b+176+(Q+8)|0;a[ra]=(d[ra]|0)^(c[qa>>2]|0)>>>8;ra=b+176+(Q+12)|0;a[ra]=(d[ra]|0)^c[qa>>2];Q=Q+1|0;}while((Q|0)<4);P=P+ -1|0}while(1){qa=b+(z<<2)|0;ra=b+176+z|0;a[ra]=(d[ra]|0)^(c[qa>>2]|0)>>>24;ra=b+176+(z+4)|0;a[ra]=(d[ra]|0)^(c[qa>>2]|0)>>>16;ra=b+176+(z+8)|0;a[ra]=(d[ra]|0)^(c[qa>>2]|0)>>>8;ra=b+176+(z+12)|0;a[ra]=(d[ra]|0)^c[qa>>2];z=z+1|0;if((z|0)<4){}else{z=0;break}}do{ra=z<<2;a[b+208+ra|0]=a[b+192+ra|0]^a[b+176+z|0];qa=ra|1;a[b+208+qa|0]=a[b+192+qa|0]^a[b+176+(z+4)|0];qa=ra|2;a[b+208+qa|0]=a[b+192+qa|0]^a[b+176+(z+8)|0];ra=ra|3;a[b+208+ra|0]=a[b+192+ra|0]^a[b+176+(z+12)|0];z=z+1|0;}while((z|0)<4);a[b+192|0]=a[e]|0;a[b+193|0]=a[t]|0;a[b+194|0]=a[u]|0;a[b+195|0]=a[v]|0;a[b+196|0]=a[w]|0;a[b+197|0]=a[k]|0;a[b+198|0]=a[y]|0;a[b+199|0]=a[x]|0;a[b+200|0]=a[s]|0;a[b+201|0]=a[r]|0;a[b+202|0]=a[q]|0;a[b+203|0]=a[p]|0;a[b+204|0]=a[o]|0;a[b+205|0]=a[n]|0;a[b+206|0]=a[m]|0;a[b+207|0]=a[l]|0;e=b+224|0;c[e>>2]=0;if(!f){i=j;return}k=a[b+223|0]|0;f=k&255;if((k&255)<=15){l=15;while(1){a[b+208+l|0]=a[b+208+(l-f)|0]|0;if((l|0)>(f|0)){l=l+ -1|0}else{break}}}c[e>>2]=f;if((k&255)<=16){i=j;return}c[h>>2]=f;Qe(-1,131880,g);c[e>>2]=16;i=j;return}function Mu(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;g=i;i=i+16|0;h=c[b+12>>2]|0;if((h|0)==1){h=b+52|0;j=b+276|0;k=c[j>>2]|0;do{if((k|0)==16){l=b+8|0;m=0;do{k=c[l>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){b=-1;f=12;break}a[g+m|0]=k;m=m+1|0;}while((m|0)<16);if((f|0)==12){i=e;return b|0}k=c[l>>2]|0;Lu(h,g,(jd[c[(c[k>>2]|0)+24>>2]&511](k)|0)==-1);k=c[j>>2]|0;if((k|0)==16){b=-1}else{break}i=e;return b|0}}while(0);m=d[b+52+(k+208)|0]|0;i=e;return m|0}else if((h|0)==0){f=b+312|0;g=c[f>>2]|0;if((g|0)!=-1){m=g;i=e;return m|0}g=c[b+8>>2]|0;g=jd[c[(c[g>>2]|0)+20>>2]&511](g)|0;if((g|0)==-1){m=c[f>>2]|0;i=e;return m|0}else{k=b+308|0;m=b+309|0;j=(d[k]|0)+1|0;a[k]=j;j=b+52+(j&255)|0;k=(d[m]|0)+(d[j]|0)|0;a[m]=k;m=a[j]|0;k=b+52+(k&255)|0;l=a[k]|0;a[j]=l;a[k]=m;m=(a[b+52+((l&255)+(m&255)&255)|0]^g&255)&255;c[f>>2]=m;i=e;return m|0}}else{m=-1;i=e;return m|0}return 0}function Nu(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a+8>>2]|0;a=Bd[c[(c[a>>2]|0)+60>>2]&255](a,b)|0;i=d;return a|0}function Ou(a){a=a|0;i=i;return 11}function Pu(a){a=a|0;i=i;return a|0}function Qu(b,d){b=b|0;d=d|0;c[b+4>>2]=d;c[b+8>>2]=0;c[b+16>>2]=0;c[b+12>>2]=0;c[b+20>>2]=1;a[b]=0;i=i;return}function Ru(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;c[b+4>>2]=c[d+4>>2];g=c[d+16>>2]|0;f=b+16|0;c[f>>2]=g;c[b+12>>2]=g;c[b+20>>2]=1;a[b]=a[d]&1;b=b+8|0;c[b>>2]=ye(g,24)|0;if((c[f>>2]|0)<=0){i=e;return}d=d+8|0;g=0;do{h=Ic(c[(c[d>>2]|0)+(g*24|0)>>2]|0)|0;c[(c[b>>2]|0)+(g*24|0)>>2]=h;h=(c[b>>2]|0)+(g*24|0)+16|0;c[h>>2]=0;c[h+4>>2]=0;Mf((c[d>>2]|0)+(g*24|0)+8|0,(c[b>>2]|0)+(g*24|0)+8|0)|0;g=g+1|0;}while((g|0)<(c[f>>2]|0));i=e;return}function Su(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=a+16|0;a=a+8|0;f=c[a>>2]|0;if((c[d>>2]|0)>0){e=0}else{Fe(f);i=b;return}while(1){Fe(c[f+(e*24|0)>>2]|0);Of((c[a>>2]|0)+(e*24|0)+8|0);e=e+1|0;f=c[a>>2]|0;if((e|0)<(c[d>>2]|0)){}else{break}}Fe(f);i=b;return}function Tu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;if((a[b]&1)!=0){a[b]=0}f=b+16|0;k=c[f>>2]|0;h=b+12|0;do{if((k|0)==(c[h>>2]|0)){j=(k|0)==0?8:k<<1;c[h>>2]=j;b=b+8|0;j=Ce(c[b>>2]|0,j,24)|0;c[b>>2]=j;k=c[f>>2]|0;if((k|0)>=(c[h>>2]|0)){break}while(1){j=j+(k*24|0)+16|0;c[j>>2]=0;c[j+4>>2]=0;k=k+1|0;if((k|0)>=(c[h>>2]|0)){break}j=c[b>>2]|0}k=c[f>>2]|0}else{b=b+8|0}}while(0);c[(c[b>>2]|0)+(k*24|0)>>2]=d;$W((c[b>>2]|0)+((c[f>>2]|0)*24|0)+8|0,e|0,16)|0;c[f>>2]=(c[f>>2]|0)+1;i=g;return}function Uu(a,b){a=a|0;b=b|0;var c=0;c=i;a=(Vu(a,b)|0)!=0;i=c;return a|0}function Vu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;m=i;i=i+8|0;l=m;j=a[b]|0;do{if((j&1)==0){k=c[b+16>>2]|0;if((k|0)<=31){break}a[b]=1;j=c[b+8>>2]|0;c[m>>2]=186;dv(j,j+(k*24|0)|0,l);j=a[b]|0}}while(0);if((j&1)==0){j=b+8|0;k=c[b+16>>2]|0;while(1){b=k+ -1|0;if((k|0)<=0){f=0;g=18;break}h=c[j>>2]|0;if((Qc(d|0,c[h+(b*24|0)>>2]|0)|0)==0){break}else{k=b}}if((g|0)==18){i=e;return f|0}m=h+(b*24|0)|0;i=e;return m|0}h=c[b+8>>2]|0;g=c[b+16>>2]|0;if((g|0)<1){m=0;i=e;return m|0}k=g+ -1|0;g=0;a:while(1){while(1){b=g+k|0;j=(b|0)/2|0;l=Qc(d|0,c[h+(j*24|0)>>2]|0)|0;if((l|0)==0){g=12;break a}if((l|0)<0){break}if((j|0)<(k|0)){g=j+1|0}else{f=0;g=18;break a}}k=j+ -1|0;if((g|0)>(k|0)){f=0;g=18;break}}if((g|0)==12){if((b+3|0)>>>0<2){m=0;i=e;return m|0}m=h+(j*24|0)|0;i=e;return m|0}else if((g|0)==18){i=e;return f|0}return 0}function Wu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;g=Vu(b,d)|0;if((g|0)!=0){k=g+8|0;Of(k);$W(k|0,e|0,16)|0;i=f;return}d=Ge(d)|0;if((a[b]&1)!=0){a[b]=0}g=b+16|0;k=c[g>>2]|0;h=b+12|0;do{if((k|0)==(c[h>>2]|0)){j=(k|0)==0?8:k<<1;c[h>>2]=j;b=b+8|0;j=Ce(c[b>>2]|0,j,24)|0;c[b>>2]=j;k=c[g>>2]|0;if((k|0)>=(c[h>>2]|0)){break}j=j+(k*24|0)+16|0;c[j>>2]=0;c[j+4>>2]=0;j=k+1|0;if((j|0)<(c[h>>2]|0)){do{k=(c[b>>2]|0)+(j*24|0)+16|0;c[k>>2]=0;c[k+4>>2]=0;j=j+1|0;}while((j|0)<(c[h>>2]|0))}k=c[g>>2]|0}else{b=b+8|0}}while(0);c[(c[b>>2]|0)+(k*24|0)>>2]=d;$W((c[b>>2]|0)+((c[g>>2]|0)*24|0)+8|0,e|0,16)|0;c[g>>2]=(c[g>>2]|0)+1;i=f;return}function Xu(a,b){a=a|0;b=b|0;var d=0;d=i;a=Vu(a,132488)|0;if((a|0)==0){a=0;i=d;return a|0}if((c[a+8>>2]|0)!=4){a=0;i=d;return a|0}a=(Qc(c[a+16>>2]|0,b|0)|0)==0;i=d;return a|0}function Yu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;b=Vu(a,b)|0;if((b|0)==0){b=d+8|0;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=5;b=d;i=f;return b|0}else{b=Nf(b+8|0,c[a+4>>2]|0,d,e)|0;i=f;return b|0}return 0}function Zu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;b=Vu(a,b)|0;if((b|0)==0){a=d+8|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=5;a=d;i=e;return a|0}else{a=Mf(b+8|0,d)|0;i=e;return a|0}return 0}function _u(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;j=i;i=i+16|0;h=j;c[j>>2]=13;g=h+8|0;c[g>>2]=0;k=g+4|0;c[k>>2]=0;b=Vu(a,b)|0;if((b|0)==0){c[g>>2]=0;c[k>>2]=0;c[j>>2]=5;b=5}else{Nf(b+8|0,c[a+4>>2]|0,h,0)|0;b=c[j>>2]|0}do{if(!((b|0)!=5|(d|0)==0)){Of(h);d=Vu(a,d)|0;if((d|0)!=0){Nf(d+8|0,c[a+4>>2]|0,h,0)|0;b=c[j>>2]|0;break}c[g>>2]=0;c[k>>2]=0;c[j>>2]=5;b=0;Of(h);i=f;return b|0}}while(0);if((b|0)!=1){b=0;Of(h);i=f;return b|0}c[e>>2]=c[g>>2];b=1;Of(h);i=f;return b|0}function $u(a,b){a=a|0;b=b|0;i=i;return c[(c[a+8>>2]|0)+(b*24|0)>>2]|0}function av(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;b=Nf((c[a+8>>2]|0)+(b*24|0)+8|0,c[a+4>>2]|0,d,0)|0;i=e;return b|0}function bv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;a=Mf((c[a+8>>2]|0)+(b*24|0)+8|0,d)|0;i=e;return a|0}function cv(a,b){a=a|0;b=b|0;var d=0;d=i;a=(Qc(c[a>>2]|0,c[b>>2]|0)|0)<0;i=d;return a|0}function dv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=i;h=i;i=i+24|0;r=i;i=i+24|0;o=i;i=i+24|0;q=i;i=i+24|0;n=i;i=i+24|0;E=i;i=i+24|0;G=i;i=i+24|0;C=i;i=i+24|0;F=i;i=i+24|0;D=i;i=i+24|0;z=i;i=i+24|0;J=i;i=i+24|0;y=i;i=i+24|0;B=i;i=i+24|0;f=i;i=i+24|0;g=f;p=i;i=i+24|0;k=i;i=i+24|0;j=i;i=i+24|0;l=i;i=i+24|0;w=i;i=i+24|0;t=i;i=i+24|0;v=i;i=i+24|0;s=i;i=i+24|0;u=i;i=i+24|0;M=i;i=i+24|0;L=i;i=i+24|0;I=i;i=i+24|0;H=i;i=i+24|0;x=i;i=i+24|0;A=i;i=i+24|0;a:while(1){m=b+ -24|0;b:while(1){O=b-a|0;switch((O|0)/24|0|0){case 2:{K=4;break a};case 3:{K=6;break a};case 5:{K=15;break a};case 4:{K=14;break a};case 1:case 0:{K=81;break a};default:{}}if((O|0)<744){K=21;break a}P=(O|0)/48|0;N=a+(P*24|0)|0;do{if((O|0)>23976){Q=(O|0)/96|0;O=a+(Q*24|0)|0;Q=a+((Q+P|0)*24|0)|0;P=ev(a,O,N,Q,d)|0;if(!(Bd[c[d>>2]&255](m,Q)|0)){break}$W(B|0,Q|0,24)|0;$W(Q|0,m|0,24)|0;$W(m|0,B|0,24)|0;if(!(Bd[c[d>>2]&255](Q,N)|0)){P=P+1|0;break}$W(J|0,N|0,24)|0;$W(N|0,Q|0,24)|0;$W(Q|0,J|0,24)|0;if(!(Bd[c[d>>2]&255](N,O)|0)){P=P+2|0;break}$W(z|0,O|0,24)|0;$W(O|0,N|0,24)|0;$W(N|0,z|0,24)|0;if(!(Bd[c[d>>2]&255](O,a)|0)){P=P+3|0;break}$W(y|0,a|0,24)|0;$W(a|0,O|0,24)|0;$W(O|0,y|0,24)|0;P=P+4|0}else{S=Bd[c[d>>2]&255](N,a)|0;O=Bd[c[d>>2]&255](m,N)|0;if(!S){if(!O){P=0;break}$W(D|0,N|0,24)|0;$W(N|0,m|0,24)|0;$W(m|0,D|0,24)|0;if(!(Bd[c[d>>2]&255](N,a)|0)){P=1;break}$W(C|0,a|0,24)|0;$W(a|0,N|0,24)|0;$W(N|0,C|0,24)|0;P=2;break}if(O){$W(E|0,a|0,24)|0;$W(a|0,m|0,24)|0;$W(m|0,E|0,24)|0;P=1;break}$W(G|0,a|0,24)|0;$W(a|0,N|0,24)|0;$W(N|0,G|0,24)|0;if(!(Bd[c[d>>2]&255](m,N)|0)){P=1;break}$W(F|0,N|0,24)|0;$W(N|0,m|0,24)|0;$W(m|0,F|0,24)|0;P=2}}while(0);do{if(Bd[c[d>>2]&255](a,N)|0){Q=m}else{Q=m;while(1){Q=Q+ -24|0;if((a|0)==(Q|0)){break}if(Bd[c[d>>2]&255](Q,N)|0){K=64;break}else{}}if((K|0)==64){K=0;$W(I|0,a|0,24)|0;$W(a|0,Q|0,24)|0;$W(Q|0,I|0,24)|0;P=P+1|0;break}O=a+24|0;if(!(Bd[c[d>>2]&255](a,m)|0)){if((O|0)==(m|0)){K=81;break a}while(1){N=O+24|0;if(Bd[c[d>>2]&255](a,O)|0){break}if((N|0)==(m|0)){K=81;break a}else{O=N}}$W(x|0,O|0,24)|0;$W(O|0,m|0,24)|0;$W(m|0,x|0,24)|0;O=N}if((O|0)==(m|0)){K=81;break a}else{N=m}while(1){while(1){P=O+24|0;if(Bd[c[d>>2]&255](a,O)|0){break}else{O=P}}do{N=N+ -24|0;}while(Bd[c[d>>2]&255](a,N)|0);if(O>>>0>=N>>>0){a=O;continue b}$W(H|0,O|0,24)|0;$W(O|0,N|0,24)|0;$W(N|0,H|0,24)|0;O=P}}}while(0);O=a+24|0;c:do{if(O>>>0<Q>>>0){while(1){S=O;while(1){O=S+24|0;if(Bd[c[d>>2]&255](S,N)|0){S=O}else{R=Q;break}}do{R=R+ -24|0;}while(!(Bd[c[d>>2]&255](R,N)|0));if(S>>>0>R>>>0){O=S;break c}$W(L|0,S|0,24)|0;$W(S|0,R|0,24)|0;$W(R|0,L|0,24)|0;Q=R;N=(N|0)==(S|0)?R:N;P=P+1|0}}}while(0);do{if((O|0)!=(N|0)){if(!(Bd[c[d>>2]&255](N,O)|0)){break}$W(M|0,O|0,24)|0;$W(O|0,N|0,24)|0;$W(N|0,M|0,24)|0;P=P+1|0}}while(0);if((P|0)==0){P=fv(a,O,d)|0;N=O+24|0;if(fv(N,b,d)|0){K=76;break}if(P){a=N;continue}}if((O-a|0)>=(b-O|0)){K=80;break}dv(a,O,d);a=O+24|0}if((K|0)==76){K=0;if(P){K=81;break}else{b=O;continue}}else if((K|0)==80){K=0;dv(O+24|0,b,d);b=O;continue}}if((K|0)==4){if(!(Bd[c[d>>2]&255](m,a)|0)){i=e;return}$W(A|0,a|0,24)|0;$W(a|0,m|0,24)|0;$W(m|0,A|0,24)|0;i=e;return}else if((K|0)==6){f=a+24|0;S=Bd[c[d>>2]&255](f,a)|0;g=Bd[c[d>>2]&255](m,f)|0;if(!S){if(!g){i=e;return}$W(u|0,f|0,24)|0;$W(f|0,m|0,24)|0;$W(m|0,u|0,24)|0;if(!(Bd[c[d>>2]&255](f,a)|0)){i=e;return}$W(v|0,a|0,24)|0;$W(a|0,f|0,24)|0;$W(f|0,v|0,24)|0;i=e;return}if(g){$W(w|0,a|0,24)|0;$W(a|0,m|0,24)|0;$W(m|0,w|0,24)|0;i=e;return}$W(t|0,a|0,24)|0;$W(a|0,f|0,24)|0;$W(f|0,t|0,24)|0;if(!(Bd[c[d>>2]&255](m,f)|0)){i=e;return}$W(s|0,f|0,24)|0;$W(f|0,m|0,24)|0;$W(m|0,s|0,24)|0;i=e;return}else if((K|0)==14){ev(a,a+24|0,a+48|0,m,d)|0;i=e;return}else if((K|0)==15){b=a+24|0;f=a+48|0;g=a+72|0;ev(a,b,f,g,d)|0;if(!(Bd[c[d>>2]&255](m,g)|0)){i=e;return}$W(l|0,g|0,24)|0;$W(g|0,m|0,24)|0;$W(m|0,l|0,24)|0;if(!(Bd[c[d>>2]&255](g,f)|0)){i=e;return}$W(k|0,f|0,24)|0;$W(f|0,g|0,24)|0;$W(g|0,k|0,24)|0;if(!(Bd[c[d>>2]&255](f,b)|0)){i=e;return}$W(p|0,b|0,24)|0;$W(b|0,f|0,24)|0;$W(f|0,p|0,24)|0;if(!(Bd[c[d>>2]&255](b,a)|0)){i=e;return}$W(j|0,a|0,24)|0;$W(a|0,b|0,24)|0;$W(b|0,j|0,24)|0;i=e;return}else if((K|0)==21){j=a+48|0;l=a+24|0;S=Bd[c[d>>2]&255](l,a)|0;k=Bd[c[d>>2]&255](j,l)|0;do{if(S){if(k){$W(h|0,a|0,24)|0;$W(a|0,j|0,24)|0;$W(j|0,h|0,24)|0;break}$W(r|0,a|0,24)|0;$W(a|0,l|0,24)|0;$W(l|0,r|0,24)|0;if(!(Bd[c[d>>2]&255](j,l)|0)){break}$W(q|0,l|0,24)|0;$W(l|0,j|0,24)|0;$W(j|0,q|0,24)|0}else{if(!k){break}$W(n|0,l|0,24)|0;$W(l|0,j|0,24)|0;$W(j|0,n|0,24)|0;if(!(Bd[c[d>>2]&255](l,a)|0)){break}$W(o|0,a|0,24)|0;$W(a|0,l|0,24)|0;$W(l|0,o|0,24)|0}}while(0);h=a+72|0;if((h|0)==(b|0)){i=e;return}while(1){if(Bd[c[d>>2]&255](h,j)|0){$W(f|0,h|0,24)|0;k=h;while(1){$W(k|0,j|0,24)|0;if((j|0)==(a|0)){break}k=j+ -24|0;if(Bd[c[d>>2]&255](g,k)|0){S=j;j=k;k=S}else{break}}$W(j|0,f|0,24)|0}j=h+24|0;if((j|0)==(b|0)){break}else{S=h;h=j;j=S}}i=e;return}else if((K|0)==81){i=e;return}}function ev(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;n=i;i=i+24|0;p=i;i=i+24|0;l=i;i=i+24|0;o=i;i=i+24|0;m=i;i=i+24|0;h=i;i=i+24|0;g=i;i=i+24|0;j=i;i=i+24|0;r=Bd[c[f>>2]&255](b,a)|0;q=Bd[c[f>>2]&255](d,b)|0;do{if(r){if(q){$W(n|0,a|0,24)|0;$W(a|0,d|0,24)|0;$W(d|0,n|0,24)|0;l=1;break}$W(p|0,a|0,24)|0;$W(a|0,b|0,24)|0;$W(b|0,p|0,24)|0;if(!(Bd[c[f>>2]&255](d,b)|0)){l=1;break}$W(o|0,b|0,24)|0;$W(b|0,d|0,24)|0;$W(d|0,o|0,24)|0;l=2}else{if(!q){l=0;break}$W(m|0,b|0,24)|0;$W(b|0,d|0,24)|0;$W(d|0,m|0,24)|0;if(!(Bd[c[f>>2]&255](b,a)|0)){l=1;break}$W(l|0,a|0,24)|0;$W(a|0,b|0,24)|0;$W(b|0,l|0,24)|0;l=2}}while(0);if(!(Bd[c[f>>2]&255](e,d)|0)){r=l;i=k;return r|0}$W(j|0,d|0,24)|0;$W(d|0,e|0,24)|0;$W(e|0,j|0,24)|0;if(!(Bd[c[f>>2]&255](d,b)|0)){r=l+1|0;i=k;return r|0}$W(h|0,b|0,24)|0;$W(b|0,d|0,24)|0;$W(d|0,h|0,24)|0;if(!(Bd[c[f>>2]&255](b,a)|0)){r=l+2|0;i=k;return r|0}$W(g|0,a|0,24)|0;$W(a|0,b|0,24)|0;$W(b|0,g|0,24)|0;r=l+3|0;i=k;return r|0}function fv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=i;o=i;i=i+24|0;q=i;i=i+24|0;w=i;i=i+24|0;p=i;i=i+24|0;s=i;i=i+24|0;j=i;i=i+24|0;m=i;i=i+24|0;l=i;i=i+24|0;k=i;i=i+24|0;t=i;i=i+24|0;v=i;i=i+24|0;n=i;i=i+24|0;u=i;i=i+24|0;r=i;i=i+24|0;x=i;i=i+24|0;g=i;i=i+24|0;h=g;switch((b-a|0)/24|0|0){case 1:case 0:{x=1;i=e;return x|0};case 4:{ev(a,a+24|0,a+48|0,b+ -24|0,d)|0;x=1;i=e;return x|0};case 2:{b=b+ -24|0;if(!(Bd[c[d>>2]&255](b,a)|0)){x=1;i=e;return x|0}$W(x|0,a|0,24)|0;$W(a|0,b|0,24)|0;$W(b|0,x|0,24)|0;x=1;i=e;return x|0};case 5:{f=a+24|0;g=a+48|0;h=a+72|0;b=b+ -24|0;ev(a,f,g,h,d)|0;if(!(Bd[c[d>>2]&255](b,h)|0)){x=1;i=e;return x|0}$W(k|0,h|0,24)|0;$W(h|0,b|0,24)|0;$W(b|0,k|0,24)|0;if(!(Bd[c[d>>2]&255](h,g)|0)){x=1;i=e;return x|0}$W(m|0,g|0,24)|0;$W(g|0,h|0,24)|0;$W(h|0,m|0,24)|0;if(!(Bd[c[d>>2]&255](g,f)|0)){x=1;i=e;return x|0}$W(j|0,f|0,24)|0;$W(f|0,g|0,24)|0;$W(g|0,j|0,24)|0;if(!(Bd[c[d>>2]&255](f,a)|0)){x=1;i=e;return x|0}$W(l|0,a|0,24)|0;$W(a|0,f|0,24)|0;$W(f|0,l|0,24)|0;x=1;i=e;return x|0};case 3:{f=a+24|0;g=b+ -24|0;x=Bd[c[d>>2]&255](f,a)|0;b=Bd[c[d>>2]&255](g,f)|0;if(!x){if(!b){x=1;i=e;return x|0}$W(r|0,f|0,24)|0;$W(f|0,g|0,24)|0;$W(g|0,r|0,24)|0;if(!(Bd[c[d>>2]&255](f,a)|0)){x=1;i=e;return x|0}$W(n|0,a|0,24)|0;$W(a|0,f|0,24)|0;$W(f|0,n|0,24)|0;x=1;i=e;return x|0}if(b){$W(t|0,a|0,24)|0;$W(a|0,g|0,24)|0;$W(g|0,t|0,24)|0;x=1;i=e;return x|0}$W(v|0,a|0,24)|0;$W(a|0,f|0,24)|0;$W(f|0,v|0,24)|0;if(!(Bd[c[d>>2]&255](g,f)|0)){x=1;i=e;return x|0}$W(u|0,f|0,24)|0;$W(f|0,g|0,24)|0;$W(g|0,u|0,24)|0;x=1;i=e;return x|0};default:{j=a+48|0;k=a+24|0;x=Bd[c[d>>2]&255](k,a)|0;l=Bd[c[d>>2]&255](j,k)|0;do{if(x){if(l){$W(o|0,a|0,24)|0;$W(a|0,j|0,24)|0;$W(j|0,o|0,24)|0;break}$W(q|0,a|0,24)|0;$W(a|0,k|0,24)|0;$W(k|0,q|0,24)|0;if(!(Bd[c[d>>2]&255](j,k)|0)){break}$W(p|0,k|0,24)|0;$W(k|0,j|0,24)|0;$W(j|0,p|0,24)|0}else{if(!l){break}$W(s|0,k|0,24)|0;$W(k|0,j|0,24)|0;$W(j|0,s|0,24)|0;if(!(Bd[c[d>>2]&255](k,a)|0)){break}$W(w|0,a|0,24)|0;$W(a|0,k|0,24)|0;$W(k|0,w|0,24)|0}}while(0);k=a+72|0;if((k|0)==(b|0)){x=1;i=e;return x|0}l=0;while(1){if(Bd[c[d>>2]&255](k,j)|0){$W(g|0,k|0,24)|0;m=k;while(1){$W(m|0,j|0,24)|0;if((j|0)==(a|0)){break}m=j+ -24|0;if(Bd[c[d>>2]&255](h,m)|0){x=j;j=m;m=x}else{break}}$W(j|0,g|0,24)|0;l=l+1|0;if((l|0)==8){break}}j=k+24|0;if((j|0)==(b|0)){a=1;f=35;break}else{x=k;k=j;j=x}}if((f|0)==35){i=e;return a|0}x=(k+24|0)==(b|0);i=e;return x|0}}return 0}function gv(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0.0,U=0.0,V=0,W=0,X=0;l=i;o=i;i=i+16|0;n=o;r=i;i=i+8|0;q=i;i=i+8|0;s=q;x=i;i=i+16|0;w=x;z=i;i=i+8|0;A=i;i=i+8|0;y=A;C=i;i=i+16|0;B=C;E=i;i=i+8|0;D=i;i=i+8|0;F=D;H=i;i=i+16|0;G=H;I=i;i=i+8|0;J=i;i=i+8|0;K=J;N=i;i=i+8|0;L=i;i=i+8|0;M=L;O=i;i=i+8|0;P=O;R=i;i=i+8|0;Q=R;v=i;i=i+16|0;k=v;u=i;i=i+16|0;m=u;c[b>>2]=146632;V=b+16|0;c[V>>2]=13;S=b+24|0;c[S>>2]=0;c[S+4>>2]=0;c[v>>2]=13;t=k+8|0;c[t>>2]=0;c[t+4>>2]=0;c[u>>2]=13;p=m+8|0;c[p>>2]=0;c[p+4>>2]=0;X=g;W=c[X+4>>2]|0;g=b+32|0;c[g>>2]=c[X>>2];c[g+4>>2]=W;c[b+64>>2]=0;a[b+44|0]=0;h[b+104>>3]=0.0;a[b+45|0]=0;c[b+60>>2]=f;c[b+40>>2]=d;Mf(e,V)|0;c[b+8>>2]=4;c[b+4>>2]=j;j=c[V>>2]|0;if((j|0)!=7){c[R>>2]=j;c[Q+4>>2]=7;Qe(0,148232,Q);tc()}Q=c[S>>2]|0;c[b+56>>2]=0;do{if((c[(Yu(Q,146648,k,0)|0)>>2]|0)==3){R=c[v>>2]|0;if((R|0)==3){W=c[t>>2]|0;X=FW(32)|0;ie(X,W);c[b+48>>2]=X;break}else{c[O>>2]=R;c[P+4>>2]=3;Qe(0,148232,P);tc()}}else{c[b+48>>2]=0}}while(0);Of(k);do{if((c[(Yu(Q,146656,k,0)|0)>>2]|0)==3){O=c[v>>2]|0;if((O|0)==3){W=c[t>>2]|0;X=FW(32)|0;ie(X,W);c[b+52>>2]=X;break}else{c[L>>2]=O;c[M+4>>2]=3;Qe(0,148232,M);tc()}}else{c[b+52>>2]=0}}while(0);Of(k);if((c[(Yu(Q,146664,k,0)|0)>>2]|0)!=6){Qe(-1,146672,N);Of(k);i=l;return}L=c[v>>2]|0;if((L|0)!=6){c[J>>2]=L;c[K+4>>2]=6;Qe(0,148232,K);tc()}do{if(((c[(ut(c[t>>2]|0,0,m)|0)>>2]|0)+ -1|0)>>>0<2){I=c[u>>2]|0;if((I+ -1|0)>>>0>=2){c[H>>2]=I;c[G+4>>2]=1;c[G+8>>2]=2;Qe(0,148304,G);tc()}if((I|0)==1){T=+(c[p>>2]|0)}else{T=+h[p>>3]}G=b+72|0;h[G>>3]=T;Of(m);H=c[v>>2]|0;if((H|0)!=6){c[D>>2]=H;c[F+4>>2]=6;Qe(0,148232,F);tc()}if(((c[(ut(c[t>>2]|0,1,m)|0)>>2]|0)+ -1|0)>>>0>=2){Qe(-1,146712,E);break}D=c[u>>2]|0;if((D+ -1|0)>>>0>=2){c[C>>2]=D;c[B+4>>2]=1;c[B+8>>2]=2;Qe(0,148304,B);tc()}if((D|0)==1){T=+(c[p>>2]|0)}else{T=+h[p>>3]}B=b+80|0;h[B>>3]=T;Of(m);C=c[v>>2]|0;if((C|0)!=6){c[A>>2]=C;c[y+4>>2]=6;Qe(0,148232,y);tc()}if(((c[(ut(c[t>>2]|0,2,m)|0)>>2]|0)+ -1|0)>>>0>=2){Qe(-1,146712,z);break}y=c[u>>2]|0;if((y+ -1|0)>>>0>=2){c[x>>2]=y;c[w+4>>2]=1;c[w+8>>2]=2;Qe(0,148304,w);tc()}if((y|0)==1){T=+(c[p>>2]|0)}else{T=+h[p>>3]}w=b+88|0;h[w>>3]=T;Of(m);v=c[v>>2]|0;if((v|0)!=6){c[q>>2]=v;c[s+4>>2]=6;Qe(0,148232,s);tc()}if(((c[(ut(c[t>>2]|0,3,m)|0)>>2]|0)+ -1|0)>>>0>=2){Qe(-1,146712,r);break}q=c[u>>2]|0;if((q+ -1|0)>>>0>=2){c[o>>2]=q;c[n+4>>2]=1;c[n+8>>2]=2;Qe(0,148304,n);tc()}if((q|0)==1){T=+(c[p>>2]|0)}else{T=+h[p>>3]}b=b+96|0;h[b>>3]=T;Of(m);Of(k);T=+h[G>>3];U=+h[w>>3];if(T>U){h[G>>3]=U;h[w>>3]=T}U=+h[B>>3];T=+h[b>>3];if(U<=T){break}h[B>>3]=T;h[b>>3]=U}else{Qe(-1,146712,I)}}while(0);Of(m);Of(k);i=l;return}function hv(a){a=a|0;var b=0;b=i;iv(a);HW(a);i=b;return}function iv(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=146632;d=c[a+48>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+52>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+56>>2]|0;if((d|0)==0){d=a+16|0;Of(d);i=b;return}ke(d);HW(d);d=a+16|0;Of(d);i=b;return}function jv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;h=i;i=i+8|0;f=i;i=i+8|0;g=f;n=i;i=i+8|0;m=n;l=i;i=i+16|0;k=l;j=i;i=i+8|0;c[l>>2]=13;l=k+8|0;c[l>>2]=0;c[l+4>>2]=0;l=a+16|0;o=c[l>>2]|0;if((o|0)!=7){c[n>>2]=o;c[m+4>>2]=7;Qe(0,148232,m);tc()}if((c[(Yu(c[a+24>>2]|0,146744,k,0)|0)>>2]|0)==4){m=a+32|0}else{l=c[a+4>>2]|0;m=l+8|0;l=l+24|0}n=m;m=c[n>>2]|0;n=c[n+4>>2]|0;Of(k);k=c[l>>2]|0;if((k|0)==7){Wu(c[l+8>>2]|0,b,d);o=c[a+40>>2]|0;k=j;c[k>>2]=m;c[k+4>>2]=n;$W(h|0,j|0,8)|0;pn(o,l,h);i=e;return}else{c[f>>2]=k;c[g+4>>2]=7;Qe(0,148232,g);tc()}}function kv(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=146768;d=c[a+112>>2]|0;if((d|0)!=0){Fe(d)}d=c[a+120>>2]|0;if((d|0)==0){iv(a);HW(a);i=b;return}ke(d);HW(d);iv(a);HW(a);i=b;return}function lv(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=146768;d=c[a+112>>2]|0;if((d|0)!=0){Fe(d)}d=c[a+120>>2]|0;if((d|0)==0){iv(a);i=b;return}ke(d);HW(d);iv(a);i=b;return}function mv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;l=i;i=i+8|0;f=l;g=i;i=i+8|0;h=g;n=i;i=i+16|0;k=n;m=i;i=i+8|0;o=c[b+124>>2]|0;if((c[o+60>>2]|0)==1){i=j;return}do{if(!e){a[b+45|0]=1;if(nv(o,c[b+60>>2]|0,d)|0){break}i=j;return}}while(0);p=b+128|0;a[p]=d&1;c[n>>2]=13;e=k+8|0;c[e>>2]=0;o=e+4|0;c[o>>2]=0;if(d){d=c[(c[b+120>>2]|0)+28>>2]|0}else{d=146784}c[e>>2]=0;c[o>>2]=0;c[n>>2]=4;c[e>>2]=Ge(d)|0;jv(b,146792,k);if((a[p]&1)==0){d=146784}else{d=c[(c[b+120>>2]|0)+28>>2]|0}c[e>>2]=0;c[o>>2]=0;c[n>>2]=4;c[e>>2]=Ge(d)|0;n=b+16|0;o=c[n>>2]|0;if((o|0)!=7){c[g>>2]=o;c[h+4>>2]=7;Qe(0,148232,h);tc()}Wu(c[b+24>>2]|0,146800,k);p=c[b+40>>2]|0;o=b+32|0;d=c[o+4>>2]|0;e=m;c[e>>2]=c[o>>2];c[e+4>>2]=d;$W(l|0,m|0,8)|0;pn(p,n,f);i=j;return}function nv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=i;q=i;i=i+8|0;p=q;h=i;i=i+8|0;g=h;o=i;i=i+8|0;t=o;l=i;i=i+8|0;k=l;v=i;i=i+8|0;n=i;i=i+16|0;m=n;j=i;i=i+8|0;u=i;i=i+16|0;s=u;r=i;i=i+8|0;if((a[b+56|0]&1)!=0){Qe(-1,147560,v);e=0;i=f;return e|0}v=c[b+60>>2]|0;if(!((v|0)==0|(v|0)==2)){e=1;i=f;return e|0}if(!e){if((a[b+72|0]&1)!=0){e=0;i=f;return e|0}c[b+68>>2]=-1;g=s+8|0;c[g+4>>2]=0;c[u>>2]=4;c[g>>2]=Ge(146784)|0;g=b+24|0;h=c[g>>2]|0;if((h|0)!=7){c[o>>2]=h;c[t+4>>2]=7;Qe(0,148232,t);tc()}Wu(c[b+32>>2]|0,146792,s);e=c[b+40>>2]|0;t=b+8|0;u=c[t+4>>2]|0;v=r;c[v>>2]=c[t>>2];c[v+4>>2]=u;$W(q|0,r|0,8)|0;pn(e,g,p);e=1;i=f;return e|0}o=b+68|0;c[o>>2]=d;q=b+48|0;r=c[q>>2]|0;if((r|0)>0){p=b+52|0;s=0;do{if((s|0)==(d|0)){d=s}else{mv(c[(c[p>>2]|0)+(s<<2)>>2]|0,0,1);r=c[q>>2]|0;d=c[o>>2]|0}s=s+1|0;}while((s|0)<(r|0))}if((d|0)<=-1){e=1;i=f;return e|0}d=(c[(c[b+52>>2]|0)+(d<<2)>>2]|0)+120|0;if((c[(c[d>>2]|0)+28>>2]|0)==0){e=1;i=f;return e|0}c[n>>2]=13;e=m+8|0;c[e>>2]=0;v=e+4|0;c[v>>2]=0;d=c[(c[d>>2]|0)+28>>2]|0;c[v>>2]=0;c[n>>2]=4;c[e>>2]=Ge(d)|0;n=b+24|0;d=c[n>>2]|0;if((d|0)!=7){c[l>>2]=d;c[k+4>>2]=7;Qe(0,148232,k);tc()}Wu(c[b+32>>2]|0,146792,m);e=c[b+40>>2]|0;t=b+8|0;u=c[t+4>>2]|0;v=j;c[v>>2]=c[t>>2];c[v+4>>2]=u;$W(h|0,j|0,8)|0;pn(e,n,g);e=1;i=f;return e|0}function ov(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;d=i;n=i;i=i+8|0;g=i;i=i+8|0;h=g;l=i;i=i+8|0;y=i;i=i+8|0;x=y;w=i;i=i+8|0;v=w;k=i;i=i+16|0;o=k;j=i;i=i+16|0;f=j;q=i;i=i+16|0;t=q;r=i;i=i+16|0;s=r;p=i;i=i+16|0;u=p;m=i;i=i+16|0;e=m;z=b+44|0;if((a[z]&1)!=0){i=d;return}a[z]=1;z=c[b+16>>2]|0;if((z|0)!=7){c[w>>2]=z;c[v+4>>2]=7;Qe(0,148232,v);tc()}w=c[b+24>>2]|0;c[j>>2]=13;v=f+8|0;c[v>>2]=0;c[v+4>>2]=0;do{if((c[(c[b+124>>2]|0)+60>>2]|0)!=1){do{if((c[(Yu(w,146808,f,0)|0)>>2]|0)==7){z=c[j>>2]|0;if((z|0)!=7){c[y>>2]=z;c[x+4>>2]=7;Qe(0,148232,x);tc()}z=c[v>>2]|0;G=c[z+16>>2]|0;if((G|0)<=0){break}D=t+8|0;x=D+4|0;A=b+120|0;B=s+8|0;C=B+4|0;E=u+8|0;F=E+4|0;y=0;do{c[q>>2]=13;c[D>>2]=0;c[x>>2]=0;av(z,y,t)|0;H=c[q>>2]|0;do{if((H|0)==7){H=c[D>>2]|0;I=c[H+16>>2]|0;if((I|0)>0){K=0}else{break}do{c[r>>2]=13;c[B>>2]=0;c[C>>2]=0;av(H,K,s)|0;J=$u(H,K)|0;if((Qc(J|0,146784)|0)!=0){L=FW(32)|0;fe(L,J);c[A>>2]=L}Of(s);K=K+1|0;}while((c[A>>2]|0)==0&(K|0)<(I|0))}else if((H|0)==8){L=c[D>>2]|0;L=jd[c[(c[L>>2]|0)+72>>2]&511](L)|0;c[p>>2]=13;c[E>>2]=0;c[F>>2]=0;Yu(L,146816,u,0)|0;L=FW(32)|0;fe(L,146824);c[A>>2]=L;Of(u)}}while(0);Of(t);y=y+1|0;}while((c[A>>2]|0)==0&(y|0)<(G|0))}}while(0);Of(f);p=b+120|0;if((c[p>>2]|0)!=0){break}Qe(-1,146832,l);L=FW(32)|0;fe(L,146896);c[p>>2]=L}}while(0);L=o+4|0;c[L>>2]=0;c[o+8>>2]=0;c[k>>2]=L;L=Nv(w,146792,f,o)|0;xn(o,c[o+4>>2]|0);do{if((c[L>>2]|0)==4){c[m>>2]=13;k=e+8|0;c[k>>2]=0;c[k+4>>2]=0;k=Yu(w,146800,e,0)|0;j=c[j>>2]|0;if((j|0)!=4){c[g>>2]=j;c[h+4>>2]=4;Qe(0,148232,h);tc()}do{if((c[k>>2]|0)==4){g=c[v>>2]|0;if((Qc(c[k+8>>2]|0,g|0)|0)!=0){break}if((Qc(g|0,146784)|0)==0){break}mv(b,1,0)}}while(0);Of(e)}else{if((c[j>>2]|0)!=6){break}Qe(-1,146904,n)}}while(0);Of(f);i=d;return}function pv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;g=i;i=i+16|0;f=g;h=f+4|0;c[h>>2]=0;c[f+8>>2]=0;c[g>>2]=h;a=Nv(a,b,d,f)|0;xn(f,c[f+4>>2]|0);i=e;return a|0}function qv(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;g=i;i=i+8|0;h=g;k=i;i=i+8|0;l=k;p=i;i=i+8|0;o=p;n=i;i=i+16|0;m=n;j=i;i=i+16|0;e=j;q=b+44|0;if((a[q]&1)!=0){i=f;return}a[q]=1;q=c[b+16>>2]|0;if((q|0)!=7){c[p>>2]=q;c[o+4>>2]=7;Qe(0,148232,o);tc()}q=c[b+24>>2]|0;c[j>>2]=13;o=e+8|0;c[o>>2]=0;c[o+4>>2]=0;p=m+4|0;c[p>>2]=0;c[m+8>>2]=0;c[n>>2]=p;q=Nv(q,146792,e,m)|0;xn(m,c[m+4>>2]|0);do{if((c[q>>2]|0)==3){m=c[j>>2]|0;if((m|0)!=3){c[k>>2]=m;c[l+4>>2]=3;Qe(0,148232,l);tc()}k=ve(c[o>>2]|0)|0;j=c[j>>2]|0;if((j|0)!=3){c[g>>2]=j;c[h+4>>2]=3;Qe(0,148232,h);tc()}j=c[o>>2]|0;g=c[j+24>>2]|0;if(k){if((g|0)<3){break}g=(c[b+112>>2]|0)+60|0;b=c[g>>2]|0;if((b|0)!=0){ke(b);HW(b)}q=FW(32)|0;ie(q,j);c[g>>2]=q;break}if((g|0)<=0){break}h=(g<<1)+2|0;g=GW((h|0)>-1?h:-1)|0;k=c[j+28>>2]|0;a[g]=-2;a[g+1|0]=-1;l=2;j=0;while(1){q=c[189696+((d[k+j|0]|0)<<2)>>2]|0;a[g+l|0]=q>>>8;a[g+(l|1)|0]=q;l=l+2|0;if((l|0)<(h|0)){j=j+1|0}else{break}}j=FW(32)|0;ge(j,g,h);h=(c[b+112>>2]|0)+60|0;b=c[h>>2]|0;if((b|0)!=0){ke(b);HW(b)}q=FW(32)|0;ie(q,j);c[h>>2]=q;if((j|0)!=0){ke(j);HW(j)}if((g|0)==0){break}IW(g)}}while(0);Of(e);i=f;return}function rv(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;f=i;p=i;i=i+8|0;m=p;k=i;i=i+8|0;o=k;q=i;i=i+8|0;r=q;x=i;i=i+8|0;y=x;E=i;i=i+8|0;F=E;N=i;i=i+8|0;D=N;A=i;i=i+8|0;B=A;K=i;i=i+8|0;H=i;i=i+8|0;I=H;C=i;i=i+8|0;G=C;Q=i;i=i+8|0;R=Q;j=i;i=i+8|0;O=j;t=i;i=i+16|0;u=t;g=i;i=i+16|0;h=g;J=i;i=i+16|0;z=J;w=i;i=i+16|0;L=w;v=i;i=i+16|0;M=v;l=i;i=i+16|0;n=l;P=b+44|0;if((a[P]&1)!=0){i=f;return}a[P]=1;P=c[b+16>>2]|0;if((P|0)!=7){c[j>>2]=P;c[O+4>>2]=7;Qe(0,148232,O);tc()}O=c[b+24>>2]|0;c[g>>2]=13;j=h+8|0;c[j>>2]=0;c[j+4>>2]=0;a:do{if((c[(Yu(O,147008,h,0)|0)>>2]|0)==6){c[J>>2]=13;P=z+8|0;c[P>>2]=0;c[P+4>>2]=0;b=b+112|0;S=c[g>>2]|0;if((S|0)!=6){c[Q>>2]=S;c[R+4>>2]=6;Qe(0,148232,R);tc()}c[(c[b>>2]|0)+64>>2]=c[(c[j>>2]|0)+12>>2];S=c[b>>2]|0;Q=S+64|0;T=c[Q>>2]|0;R=GW(T>>>0>357913941?-1:T*12|0)|0;S=S+68|0;c[S>>2]=R;do{if((T|0)>0){a[R+8|0]=0;if((c[Q>>2]|0)>1){R=1}else{break}do{a[(c[S>>2]|0)+(R*12|0)+8|0]=0;R=R+1|0;}while((R|0)<(c[Q>>2]|0))}}while(0);if((c[(c[b>>2]|0)+64>>2]|0)<=0){e=b;break}S=L+8|0;R=S+4|0;T=M+8|0;Q=T+4|0;U=0;b:while(1){V=c[g>>2]|0;if((V|0)!=6){s=14;break}ut(c[j>>2]|0,U,z)|0;V=c[J>>2]|0;do{if((V|0)==3){V=c[b>>2]|0;W=c[P>>2]|0;s=FW(32)|0;ie(s,W);c[(c[V+68>>2]|0)+(U*12|0)>>2]=s;V=c[J>>2]|0;if((V|0)!=3){s=17;break b}s=c[b>>2]|0;V=c[P>>2]|0;W=FW(32)|0;ie(W,V);c[(c[s+68>>2]|0)+(U*12|0)+4>>2]=W;s=29}else if((V|0)==6){c[w>>2]=13;c[S>>2]=0;c[R>>2]=0;c[v>>2]=13;c[T>>2]=0;c[Q>>2]=0;V=c[P>>2]|0;if((c[V+12>>2]|0)<2){Qe(-1,147016,K);W=c[b>>2]|0;V=FW(32)|0;fe(V,146896);c[(c[W+68>>2]|0)+(U*12|0)>>2]=V;W=c[b>>2]|0;V=FW(32)|0;fe(V,146896);c[(c[W+68>>2]|0)+(U*12|0)+4>>2]=V;break}ut(V,0,L)|0;V=c[J>>2]|0;if((V|0)!=6){s=22;break b}ut(c[P>>2]|0,1,M)|0;V=c[w>>2]|0;if((V|0)!=3){s=24;break b}V=c[b>>2]|0;s=c[S>>2]|0;W=FW(32)|0;ie(W,s);c[(c[V+68>>2]|0)+(U*12|0)>>2]=W;V=c[v>>2]|0;if((V|0)!=3){s=26;break b}s=c[b>>2]|0;V=c[T>>2]|0;W=FW(32)|0;ie(W,V);c[(c[s+68>>2]|0)+(U*12|0)+4>>2]=W;Of(L);Of(M);s=29}else{c[x>>2]=U;Qe(-1,147080,y);s=c[b>>2]|0;W=FW(32)|0;fe(W,146896);c[(c[s+68>>2]|0)+(U*12|0)>>2]=W;s=c[b>>2]|0;W=FW(32)|0;fe(W,146896);c[(c[s+68>>2]|0)+(U*12|0)+4>>2]=W;s=29}}while(0);if((s|0)==29){s=0;Of(z)}U=U+1|0;if((U|0)>=(c[(c[b>>2]|0)+64>>2]|0)){e=b;break a}}if((s|0)==14){c[C>>2]=V;c[G+4>>2]=6;Qe(0,148232,G);tc()}else if((s|0)==17){c[H>>2]=V;c[I+4>>2]=3;Qe(0,148232,I);tc()}else if((s|0)==22){c[A>>2]=V;c[B+4>>2]=6;Qe(0,148232,B);tc()}else if((s|0)==24){c[N>>2]=V;c[D+4>>2]=3;Qe(0,148232,D);tc()}else if((s|0)==26){c[E>>2]=V;c[F+4>>2]=3;Qe(0,148232,F);tc()}}else{e=b+112|0}}while(0);Of(h);s=(c[e>>2]|0)+64|0;v=c[s>>2]|0;v=GW((v|0)>-1?v:-1)|0;bX(v|0,0,c[s>>2]|0)|0;W=u+4|0;c[W>>2]=0;c[u+8>>2]=0;c[t>>2]=W;W=Nv(O,146792,h,u)|0;xn(u,c[u+4>>2]|0);c:do{if((c[W>>2]|0)==3){m=c[e>>2]|0;if((c[m+64>>2]|0)<=0){break}k=0;while(1){l=c[g>>2]|0;if((l|0)!=3){s=36;break}l=k+1|0;if((se(c[(c[m+68>>2]|0)+(k*12|0)+4>>2]|0,c[j>>2]|0)|0)==0){s=38;break}m=c[e>>2]|0;if((l|0)<(c[m+64>>2]|0)){k=l}else{break c}}if((s|0)==36){c[q>>2]=l;c[r+4>>2]=3;Qe(0,148232,r);tc()}else if((s|0)==38){a[v+k|0]=1;break}}else{if((c[g>>2]|0)!=6){break}s=n+8|0;r=s+4|0;q=0;d:while(1){t=c[j>>2]|0;if((q|0)>=(c[t+12>>2]|0)){break c}c[l>>2]=13;c[s>>2]=0;c[r>>2]=0;ut(t,q,n)|0;x=c[e>>2]|0;if((c[x+64>>2]|0)>0){u=v+q|0;w=0;do{t=c[l>>2]|0;if((t|0)!=3){s=46;break d}if((se(c[(c[x+68>>2]|0)+(w*12|0)+4>>2]|0,c[s>>2]|0)|0)==0){a[u]=1}w=w+1|0;x=c[e>>2]|0;}while((w|0)<(c[x+64>>2]|0))}Of(n);t=c[g>>2]|0;if((t|0)==6){q=q+1|0}else{s=41;break}}if((s|0)==41){c[k>>2]=t;c[o+4>>2]=6;Qe(0,148232,o);tc()}else if((s|0)==46){c[p>>2]=t;c[m+4>>2]=3;Qe(0,148232,m);tc()}}}while(0);Of(h);k=c[e>>2]|0;do{if((c[k+64>>2]|0)>0){g=0;do{do{if(!(ve(c[(c[k+68>>2]|0)+(g*12|0)+4>>2]|0)|0)){k=(c[e>>2]|0)+68|0;l=c[(c[k>>2]|0)+(g*12|0)+4>>2]|0;m=c[l+24>>2]|0;j=(m<<1)+2|0;h=GW((j|0)>-1?j:-1)|0;l=c[l+28>>2]|0;a[h]=-2;a[h+1|0]=-1;if((m|0)>0){n=2;m=0;while(1){W=c[189696+((d[l+m|0]|0)<<2)>>2]|0;a[h+n|0]=W>>>8;a[h+(n|1)|0]=W;n=n+2|0;if((n|0)<(j|0)){m=m+1|0}else{break}}}ce(c[(c[k>>2]|0)+(g*12|0)+4>>2]|0,h,j,0,-1)|0;if((h|0)==0){break}IW(h)}}while(0);g=g+1|0;k=c[e>>2]|0;h=c[k+64>>2]|0;}while((g|0)<(h|0));if((h|0)<=0){break}g=h;h=k+64|0;j=0;do{if((a[v+j|0]&1)!=0){l=k+68|0;if((a[k+59|0]&1)==0&(g|0)>0){g=0;do{a[(c[l>>2]|0)+(g*12|0)+8|0]=0;g=g+1|0;}while((g|0)<(c[h>>2]|0))}a[(c[l>>2]|0)+(j*12|0)+8|0]=1;k=c[e>>2]|0}j=j+1|0;h=k+64|0;g=c[h>>2]|0;}while((j|0)<(g|0))}}while(0);if((v|0)==0){i=f;return}IW(v);i=f;return}function sv(a){a=a|0;var b=0;b=i;iv(a);HW(a);i=b;return}function tv(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0;m=i;q=i;i=i+8|0;r=q;N=i;i=i+8|0;O=N;I=i;i=i+8|0;K=I;A=i;i=i+8|0;B=A;j=i;i=i+8|0;k=j;Q=i;i=i+8|0;P=i;i=i+8|0;fa=i;i=i+8|0;ga=fa;da=i;i=i+8|0;ea=da;ba=i;i=i+8|0;ca=ba;_=i;i=i+8|0;W=i;i=i+8|0;X=W;U=i;i=i+8|0;V=U;u=i;i=i+8|0;v=u;s=i;i=i+8|0;t=s;S=i;i=i+8|0;oa=i;i=i+8|0;na=oa;ja=i;i=i+8|0;ka=ja;$=i;i=i+8|0;aa=$;G=i;i=i+8|0;L=G;H=i;i=i+8|0;o=i;i=i+16|0;n=o;ha=i;i=i+16|0;l=ha;E=i;i=i+16|0;w=E;T=i;i=i+16|0;x=T;C=i;i=i+16|0;R=C;D=i;i=i+16|0;y=D;z=i;i=i+8|0;F=i;i=i+16|0;J=F;Y=i;i=i+8|0;Z=Y;M=i;i=i+8|0;p=i;i=i+8|0;c[b>>2]=147160;ia=b+24|0;c[ia>>2]=13;la=b+32|0;c[la>>2]=0;c[la+4>>2]=0;c[b+40>>2]=d;Mf(e,ia)|0;ia=c[ia>>2]|0;if((ia|0)!=7){c[ja>>2]=ia;c[ka+4>>2]=7;Qe(0,148232,ka);tc()}ia=c[la>>2]|0;ja=b+8|0;c[b+12>>2]=0;c[ja>>2]=0;c[b+4>>2]=h;la=b+48|0;ka=b+44|0;ma=b+16|0;a[ma]=0;h=b+56|0;bX(ka|0,0,13)|0;Fa=f;Ga=c[Fa+4>>2]|0;f=ja;c[f>>2]=c[Fa>>2];c[f+4>>2]=Ga;c[ha>>2]=13;f=l+8|0;c[f>>2]=0;c[f+4>>2]=0;a:do{if((c[(Yu(ia,147176,l,0)|0)>>2]|0)==6){pa=c[ha>>2]|0;if((pa|0)!=6){c[oa>>2]=pa;c[na+4>>2]=6;Qe(0,148232,na);tc()}na=c[f>>2]|0;qa=c[na+12>>2]|0;if((qa|0)<=0){break}ta=w+8|0;Ba=ta+4|0;xa=x+8|0;pa=xa+4|0;sa=R+8|0;Aa=sa+4|0;oa=g+4|0;ua=y+8|0;va=ua+4|0;wa=J+4|0;za=J+8|0;ya=J+4|0;ra=0;b:while(1){c[E>>2]=13;c[ta>>2]=0;c[Ba>>2]=0;c[T>>2]=13;c[xa>>2]=0;c[pa>>2]=0;ut(na,ra,w)|0;if((c[E>>2]|0)==7){c[C>>2]=13;c[sa>>2]=0;c[Aa>>2]=0;vt(na,ra,R)|0;c:do{if((c[C>>2]|0)==9){Ca=c[sa>>2]|0;Fa=c[oa>>2]|0;do{if((Fa|0)!=0){Da=oa;d:while(1){Ea=Fa;while(1){if((c[Ea+16>>2]|0)>=(Ca|0)){break}Ea=c[Ea+4>>2]|0;if((Ea|0)==0){break d}}Fa=c[Ea>>2]|0;if((Fa|0)==0){Da=Ea;break}else{Da=Ea}}if((Da|0)==(oa|0)){break}if((Ca|0)<(c[Da+16>>2]|0)){break}Qe(-1,147288,P);break c}}while(0);e:do{if((c[(Yu(ia,146744,x,0)|0)>>2]|0)==4){c[D>>2]=13;c[ua>>2]=0;c[va>>2]=0;Ca=c[E>>2]|0;if((Ca|0)!=7){Da=20;break b}if((c[(Yu(c[ta>>2]|0,147232,y,0)|0)>>2]|0)==4){Ca=c[C>>2]|0;if((Ca|0)!=9){Da=23;break b}Ea=sa;Fa=c[Ea+4>>2]|0;Ga=z;c[Ga>>2]=c[Ea>>2];c[Ga+4>>2]=Fa;$W(A|0,z|0,8)|0;uv(b,w,B)}Of(y)}else{Ea=c[E>>2]|0;if((Ea|0)!=7){Da=27;break b}do{if((c[(Yu(c[ta>>2]|0,146744,x,0)|0)>>2]|0)!=4){Ea=c[E>>2]|0;if((Ea|0)!=7){Da=30;break b}if((c[(Yu(c[ta>>2]|0,147176,x,0)|0)>>2]|0)==6){break}Ca=c[E>>2]|0;if((Ca|0)!=7){Da=61;break b}if((c[(Yu(c[ta>>2]|0,147232,x,0)|0)>>2]|0)!=4){break e}Ca=c[C>>2]|0;if((Ca|0)!=9){Da=64;break b}Ea=sa;Fa=c[Ea+4>>2]|0;Ga=M;c[Ga>>2]=c[Ea>>2];c[Ga+4>>2]=Fa;$W(N|0,M|0,8)|0;uv(b,w,O);break e}}while(0);c[wa>>2]=0;c[za>>2]=0;c[F>>2]=wa;Da=c[g>>2]|0;do{if((Da|0)==(oa|0)){Da=50}else{do{Ga=Da+16|0;c[H>>2]=wa;$W(I|0,H|0,4)|0;Ea=Xv(J,K,L,Ga)|0;if((c[Ea>>2]|0)==0){Fa=FW(20)|0;c[Fa+16>>2]=c[Ga>>2];Ga=c[G>>2]|0;c[Fa>>2]=0;c[Fa+4>>2]=0;c[Fa+8>>2]=Ga;c[Ea>>2]=Fa;Ga=c[c[F>>2]>>2]|0;if((Ga|0)!=0){c[F>>2]=Ga;Fa=c[Ea>>2]|0}un(c[ya>>2]|0,Fa);c[za>>2]=(c[za>>2]|0)+1}Ea=c[Da+4>>2]|0;if((Ea|0)==0){while(1){Ea=c[Da+8>>2]|0;if((Da|0)==(c[Ea>>2]|0)){Da=Ea;break}else{Da=Ea}}}else{Da=Ea;while(1){Ea=c[Da>>2]|0;if((Ea|0)==0){break}else{Da=Ea}}}}while((Da|0)!=(oa|0));Ea=c[wa>>2]|0;if((Ea|0)==0){Da=50;break}while(1){Da=c[Ea+16>>2]|0;if((Ca|0)<(Da|0)){Da=c[Ea>>2]|0;if((Da|0)==0){Da=45;break}else{Ea=Da;continue}}if((Da|0)>=(Ca|0)){Da=49;break}Fa=Ea+4|0;Da=c[Fa>>2]|0;if((Da|0)==0){Da=48;break}else{Ea=Da}}if((Da|0)==45){Da=0;c[$>>2]=Ea;break}else if((Da|0)==48){Da=0;c[$>>2]=Ea;Ea=Fa;break}else if((Da|0)==49){Da=0;c[$>>2]=Ea;Ea=aa;break}}}while(0);if((Da|0)==50){c[$>>2]=wa;Ea=wa}if((c[Ea>>2]|0)==0){Da=FW(20)|0;c[Da+16>>2]=Ca;Ca=c[$>>2]|0;c[Da>>2]=0;c[Da+4>>2]=0;c[Da+8>>2]=Ca;c[Ea>>2]=Da;Ca=c[c[F>>2]>>2]|0;if((Ca|0)!=0){c[F>>2]=Ca;Da=c[Ea>>2]|0}un(c[ya>>2]|0,Da);c[za>>2]=(c[za>>2]|0)+1}if((a[ma]&1)!=0){Qe(-1,147240,_)}Ca=(c[la>>2]|0)+1|0;c[la>>2]=Ca;c[ka>>2]=Ce(c[ka>>2]|0,Ca,4)|0;Of(x);Ca=c[C>>2]|0;if((Ca|0)!=9){Da=58;break b}Ea=sa;Fa=c[Ea+4>>2]|0;Ga=Y;c[Ga>>2]=c[Ea>>2];c[Ga+4>>2]=Fa;Ga=vv(w,d,Z,J)|0;c[(c[ka>>2]|0)+((c[la>>2]|0)+ -1<<2)>>2]=Ga;xn(J,c[ya>>2]|0)}}while(0);Of(x)}else{Qe(-1,147328,Q)}}while(0);Of(w)}else{Qe(-1,147184,S);Of(w)}ra=ra+1|0;if((ra|0)>=(qa|0)){break a}}if((Da|0)==20){c[s>>2]=Ca;c[t+4>>2]=7;Qe(0,148232,t);tc()}else if((Da|0)==23){c[u>>2]=Ca;c[v+4>>2]=9;Qe(0,148232,v);tc()}else if((Da|0)==27){c[U>>2]=Ea;c[V+4>>2]=7;Qe(0,148232,V);tc()}else if((Da|0)==30){c[W>>2]=Ea;c[X+4>>2]=7;Qe(0,148232,X);tc()}else if((Da|0)==58){c[ba>>2]=Ca;c[ca+4>>2]=9;Qe(0,148232,ca);tc()}else if((Da|0)==61){c[da>>2]=Ca;c[ea+4>>2]=7;Qe(0,148232,ea);tc()}else if((Da|0)==64){c[fa>>2]=Ca;c[ga+4>>2]=9;Qe(0,148232,ga);tc()}}}while(0);Of(l);if((c[(Yu(ia,147232,l,0)|0)>>2]|0)==4){Ea=ja;Fa=c[Ea+4>>2]|0;Ga=p;c[Ga>>2]=c[Ea>>2];c[Ga+4>>2]=Fa;$W(q|0,p|0,8)|0;uv(b,e,r)}Of(l);Ga=n+4|0;c[Ga>>2]=0;c[n+8>>2]=0;c[o>>2]=Ga;Ga=Nv(ia,147376,l,n)|0;xn(n,c[n+4>>2]|0);if((c[Ga>>2]|0)!=1){Of(l);i=m;return}g=c[ha>>2]|0;if((g|0)!=1){c[j>>2]=g;c[k+4>>2]=1;Qe(0,148232,k);tc()}if((c[f>>2]&1|0)==0){Of(l);i=m;return}a[h]=1;Of(l);i=m;return}function uv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;p=i;f=i;i=i+8|0;q=f;m=i;i=i+8|0;n=m;j=i;i=i+8|0;s=i;i=i+8|0;t=s;u=i;i=i+8|0;o=i;i=i+8|0;l=i;i=i+8|0;k=i;i=i+8|0;r=i;i=i+8|0;v=b+16|0;a[v]=1;g=b+48|0;w=(c[g>>2]|0)+1|0;c[g>>2]=w;h=b+52|0;c[h>>2]=Ce(c[h>>2]|0,w,4)|0;w=c[b+4>>2]|0;if((w|0)==1){w=FW(120)|0;u=c[b+40>>2]|0;v=(c[g>>2]|0)+ -1|0;s=e;t=c[s+4>>2]|0;e=k;c[e>>2]=c[s>>2];c[e+4>>2]=t;$W(j|0,k|0,8)|0;gv(w,u,d,v,j,b);c[w>>2]=146968;c[w+8>>2]=1;c[w+112>>2]=c[w+4>>2];c[(c[h>>2]|0)+((c[g>>2]|0)+ -1<<2)>>2]=w;i=p;return}else if((w|0)==2){w=FW(120)|0;u=c[b+40>>2]|0;v=(c[g>>2]|0)+ -1|0;s=e;t=c[s+4>>2]|0;e=l;c[e>>2]=c[s>>2];c[e+4>>2]=t;$W(m|0,l|0,8)|0;gv(w,u,d,v,n,b);c[w>>2]=146992;c[w+8>>2]=2;c[w+112>>2]=c[w+4>>2];c[(c[h>>2]|0)+((c[g>>2]|0)+ -1<<2)>>2]=w;i=p;return}else if((w|0)==3){w=FW(120)|0;u=c[b+40>>2]|0;v=(c[g>>2]|0)+ -1|0;s=e;t=c[s+4>>2]|0;e=o;c[e>>2]=c[s>>2];c[e+4>>2]=t;$W(f|0,o|0,8)|0;gv(w,u,d,v,q,b);c[w>>2]=147136;c[w+8>>2]=3;c[w+112>>2]=c[w+4>>2];c[(c[h>>2]|0)+((c[g>>2]|0)+ -1<<2)>>2]=w;i=p;return}else if((w|0)==0){w=FW(136)|0;u=c[b+40>>2]|0;v=(c[g>>2]|0)+ -1|0;o=e;q=c[o+4>>2]|0;e=r;c[e>>2]=c[o>>2];c[e+4>>2]=q;$W(s|0,r|0,8)|0;gv(w,u,d,v,t,b);c[w>>2]=146768;c[w+8>>2]=0;c[w+124>>2]=c[w+4>>2];c[w+120>>2]=0;a[w+128|0]=0;c[w+112>>2]=0;c[w+116>>2]=0;c[(c[h>>2]|0)+((c[g>>2]|0)+ -1<<2)>>2]=w;i=p;return}else{Qe(-1,147384,u);c[g>>2]=(c[g>>2]|0)+ -1;a[v]=0;i=p;return}}function vv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;o=i;i=i+8|0;n=o;m=i;i=i+16|0;j=m;k=i;i=i+16|0;f=k;c[k>>2]=13;h=f+8|0;c[h>>2]=0;c[h+4>>2]=0;l=c[a>>2]|0;if((l|0)!=7){c[o>>2]=l;c[n+4>>2]=7;Qe(0,148232,n);tc()}l=c[a+8>>2]|0;o=j+4|0;c[o>>2]=0;c[j+8>>2]=0;c[m>>2]=o;l=Nv(l,146744,f,j)|0;xn(j,c[j+4>>2]|0);do{if((c[l>>2]|0)==4){if((Qc(c[l+8>>2]|0,147840)|0)!=0){break}o=FW(80)|0;Bv(o,b,a,d,e);Of(f);yv(o);i=g;return o|0}}while(0);do{if((c[k>>2]|0)==4){h=c[h>>2]|0;if((Qc(h|0,147848)|0)==0){o=FW(80)|0;Ev(o,b,a,d,e);Of(f);yv(o);i=g;return o|0}if((Qc(h|0,147856)|0)==0){o=FW(80)|0;Hv(o,b,a,d,e);Of(f);yv(o);i=g;return o|0}o=(Qc(h|0,147864)|0)==0;h=FW(64)|0;if(!o){break}tv(h,b,a,d,e,3);c[h>>2]=147680;o=h;Of(f);yv(o);i=g;return o|0}else{h=FW(64)|0}}while(0);tv(h,b,a,d,e,4);o=h;Of(f);yv(o);i=g;return o|0}function wv(a){a=a|0;var b=0;b=i;xv(a);HW(a);i=b;return}function xv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;c[b>>2]=147160;if((a[b+16|0]&1)!=0){f=b+48|0;g=c[f>>2]|0;e=b+52|0;j=c[e>>2]|0;if((g|0)>0){h=0;do{k=c[j+(h<<2)>>2]|0;if((k|0)!=0){fd[c[(c[k>>2]|0)+4>>2]&511](k);j=c[e>>2]|0;g=c[f>>2]|0}h=h+1|0;}while((h|0)<(g|0))}Fe(j);k=b+24|0;Of(k);i=d;return}f=b+44|0;j=c[f>>2]|0;if((j|0)==0){k=b+24|0;Of(k);i=d;return}e=b+48|0;g=c[e>>2]|0;if((g|0)>0){h=0;do{k=c[j+(h<<2)>>2]|0;if((k|0)!=0){fd[c[(c[k>>2]|0)+4>>2]&511](k);j=c[f>>2]|0;g=c[e>>2]|0}h=h+1|0;}while((h|0)<(g|0))}Fe(j);k=b+24|0;Of(k);i=d;return}function yv(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;e=b+48|0;f=(c[e>>2]|0)>0;if((a[b+16|0]&1)==0){if(!f){i=d;return}b=b+44|0;f=0;do{yv(c[(c[b>>2]|0)+(f<<2)>>2]|0);f=f+1|0;}while((f|0)<(c[e>>2]|0));i=d;return}else{if(!f){i=d;return}b=b+52|0;f=0;do{g=c[(c[b>>2]|0)+(f<<2)>>2]|0;fd[c[(c[g>>2]|0)+8>>2]&511](g);f=f+1|0;}while((f|0)<(c[e>>2]|0));i=d;return}}function zv(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;if((a[b+16|0]&1)!=0){i=d;return}e=b+48|0;if((c[e>>2]|0)<=0){i=d;return}b=b+44|0;f=0;do{g=c[(c[b>>2]|0)+(f<<2)>>2]|0;fd[c[(c[g>>2]|0)+8>>2]&511](g);f=f+1|0;}while((f|0)<(c[e>>2]|0));i=d;return}function Av(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;j=i;i=i+8|0;h=j;n=i;i=i+8|0;e=c[b+48>>2]|0;g=(e|0)>0;if((a[b+16|0]&1)==0){if(!g){p=0;i=f;return p|0}m=d;l=c[m>>2]|0;m=c[m+4>>2]|0;k=c[b+44>>2]|0;p=0;while(1){o=c[k+(p<<2)>>2]|0;q=n;c[q>>2]=l;c[q+4>>2]=m;$W(j|0,n|0,8)|0;o=Av(o,h)|0;p=p+1|0;if((o|0)!=0){h=11;break}if((p|0)<(e|0)){}else{o=0;h=11;break}}if((h|0)==11){i=f;return o|0}}if(!g){q=0;i=f;return q|0}b=c[b+52>>2]|0;g=c[d>>2]|0;d=c[d+4>>2]|0;h=0;while(1){o=c[b+(h<<2)>>2]|0;j=o+32|0;if((c[j>>2]|0)==(g|0)){if((c[j+4>>2]|0)==(d|0)){h=11;break}}h=h+1|0;if((h|0)>=(e|0)){o=0;h=11;break}}if((h|0)==11){i=f;return o|0}return 0}function Bv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;h=i;i=i+8|0;k=i;i=i+8|0;l=k;r=i;i=i+8|0;q=r;p=i;i=i+16|0;o=p;m=i;i=i+16|0;n=m;tv(b,d,e,f,g,0);c[b>>2]=147448;g=c[b+24>>2]|0;if((g|0)!=7){c[r>>2]=g;c[q+4>>2]=7;Qe(0,148232,q);tc()}d=c[b+32>>2]|0;c[b+68>>2]=-1;q=b+72|0;a[q]=0;c[m>>2]=13;r=n+8|0;c[r>>2]=0;c[r+4>>2]=0;b=b+60|0;c[b>>2]=0;e=o+4|0;c[e>>2]=0;c[o+8>>2]=0;c[p>>2]=e;d=Nv(d,147376,n,o)|0;xn(o,c[o+4>>2]|0);if((c[d>>2]|0)!=1){i=j;return}m=c[m>>2]|0;if((m|0)!=1){c[k>>2]=m;c[l+4>>2]=1;Qe(0,148232,l);tc()}k=c[r>>2]|0;do{if((k&65536|0)==0){if((k&32768|0)==0){break}c[b>>2]=2;if((k&16384|0)==0){break}a[q]=1}else{c[b>>2]=1}}while(0);if((k&16777216|0)==0){i=j;return}Qe(-1,147464,h);i=j;return}function Cv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;e=b+48|0;h=c[e>>2]|0;f=(h|0)>0;if((a[b+16|0]&1)==0){if(!f){i=d;return}b=b+44|0;f=0;do{k=c[(c[b>>2]|0)+(f<<2)>>2]|0;fd[c[(c[k>>2]|0)+8>>2]&511](k);f=f+1|0;}while((f|0)<(c[e>>2]|0));i=d;return}if(!f){i=d;return}f=b+52|0;b=0;do{g=c[(c[f>>2]|0)+(b<<2)>>2]|0;h=h+ -1|0;c[g+116>>2]=h;g=g+112|0;c[g>>2]=Ce(c[g>>2]|0,h,4)|0;h=c[e>>2]|0;if((h|0)>0){j=0;k=0;do{if((b|0)!=(k|0)){c[(c[g>>2]|0)+(j<<2)>>2]=c[(c[(c[f>>2]|0)+(k<<2)>>2]|0)+64>>2];h=c[e>>2]|0;j=j+1|0}k=k+1|0;}while((k|0)<(h|0))}b=b+1|0;}while((b|0)<(h|0));i=d;return}function Dv(a){a=a|0;var b=0;b=i;xv(a);HW(a);i=b;return}function Ev(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=i;l=i;i=i+8|0;j=l;p=i;i=i+8|0;q=p;u=i;i=i+8|0;t=u;o=i;i=i+16|0;n=o;r=i;i=i+16|0;s=r;m=i;i=i+16|0;k=m;tv(b,d,e,f,g,1);c[b>>2]=147624;g=c[b+24>>2]|0;if((g|0)!=7){c[u>>2]=g;c[t+4>>2]=7;Qe(0,148232,t);tc()}f=c[b+32>>2]|0;c[m>>2]=13;t=k+8|0;c[t>>2]=0;c[t+4>>2]=0;e=b+70|0;d=b+69|0;v=b+68|0;w=b+67|0;x=b+66|0;y=b+65|0;g=b+64|0;u=b+72|0;c[u>>2]=0;bX(b+60|0,0,11)|0;b=s+4|0;c[b>>2]=0;c[s+8>>2]=0;c[r>>2]=b;b=Nv(f,147376,k,s)|0;xn(s,c[s+4>>2]|0);do{if((c[b>>2]|0)==1){r=c[m>>2]|0;if((r|0)!=1){c[p>>2]=r;c[q+4>>2]=1;Qe(0,148232,q);tc()}p=c[t>>2]|0;if((p&4096|0)!=0){a[g]=1}if((p&8192|0)!=0){a[y]=1}if((p&1048576|0)!=0){a[x]=1}if((p&4194304|0)!=0){a[w]=1}if((p&8388608|0)!=0){a[v]=1}if((p&16777216|0)!=0){a[d]=1}if((p&33554432|0)==0){break}a[e]=1}}while(0);Of(k);y=n+4|0;c[y>>2]=0;c[n+8>>2]=0;c[o>>2]=y;y=Nv(f,147640,k,n)|0;xn(n,c[n+4>>2]|0);if((c[y>>2]|0)!=1){Of(k);i=h;return}m=c[m>>2]|0;if((m|0)!=1){c[l>>2]=m;c[j+4>>2]=1;Qe(0,148232,j);tc()}c[u>>2]=c[t>>2];Of(k);i=h;return}function Fv(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=147624;d=c[a+60>>2]|0;if((d|0)!=0){ke(d);HW(d)}xv(a);HW(a);i=b;return}function Gv(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=147624;d=c[a+60>>2]|0;if((d|0)==0){xv(a);i=b;return}ke(d);HW(d);xv(a);i=b;return}function Hv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;k=i;i=i+8|0;l=k;q=i;i=i+8|0;p=q;o=i;i=i+16|0;n=o;m=i;i=i+16|0;j=m;tv(b,d,e,f,g,2);c[b>>2]=147656;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;g=c[b+24>>2]|0;if((g|0)!=7){c[q>>2]=g;c[p+4>>2]=7;Qe(0,148232,p);tc()}d=c[b+32>>2]|0;c[m>>2]=13;q=j+8|0;c[q>>2]=0;c[q+4>>2]=0;p=b+57|0;bX(p|0,0,5)|0;e=n+4|0;c[e>>2]=0;c[n+8>>2]=0;c[o>>2]=e;d=Nv(d,147376,j,n)|0;xn(n,c[n+4>>2]|0);if((c[d>>2]|0)!=1){Of(j);i=h;return}m=c[m>>2]|0;if((m|0)!=1){c[k>>2]=m;c[l+4>>2]=1;Qe(0,148232,l);tc()}k=c[q>>2]|0;if((k&131072|0)!=0){a[p]=1}if((k&262144|0)!=0){a[b+58|0]=1}if((k&2097152|0)!=0){a[b+59|0]=1}if((k&4194304|0)!=0){a[b+60|0]=1}if((k&67108864|0)==0){Of(j);i=h;return}a[b+61|0]=1;Of(j);i=h;return}function Iv(a){a=a|0;var b=0;b=i;Jv(a);HW(a);i=b;return}function Jv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;c[a>>2]=147656;d=a+64|0;e=a+68|0;g=c[e>>2]|0;if((c[d>>2]|0)>0){f=0;do{h=c[g+(f*12|0)>>2]|0;if((h|0)!=0){ke(h);HW(h);g=c[e>>2]|0}h=c[g+(f*12|0)+4>>2]|0;if((h|0)!=0){ke(h);HW(h);g=c[e>>2]|0}f=f+1|0;}while((f|0)<(c[d>>2]|0))}if((g|0)!=0){IW(g)}d=c[a+72>>2]|0;if((d|0)==0){xv(a);i=b;return}ke(d);HW(d);xv(a);i=b;return}function Kv(a){a=a|0;var b=0;b=i;xv(a);HW(a);i=b;return}function Lv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=i;z=i;i=i+8|0;h=i;i=i+8|0;j=h;u=i;i=i+8|0;t=i;i=i+8|0;y=i;i=i+8|0;A=y;C=i;i=i+8|0;E=C;x=i;i=i+16|0;g=x;s=i;i=i+16|0;v=s;r=i;i=i+16|0;l=r;p=i;i=i+16|0;o=p;m=i;i=i+8|0;n=m;c[x>>2]=13;w=g+8|0;c[w>>2]=0;c[w+4>>2]=0;c[b+12>>2]=d;B=b+16|0;c[B>>2]=e;q=b+8|0;c[q>>2]=0;k=b+4|0;c[k>>2]=0;c[b>>2]=0;D=c[e>>2]|0;if((D|0)!=7){c[C>>2]=D;c[E+4>>2]=7;Qe(0,148232,E);tc()}Yu(c[e+8>>2]|0,147696,g,0)|0;if((c[x>>2]|0)==0){e=a[w]&1}else{e=0}a[b+20|0]=e;Of(g);e=c[B>>2]|0;B=c[e>>2]|0;if((B|0)!=7){c[y>>2]=B;c[A+4>>2]=7;Qe(0,148232,A);tc()}Yu(c[e+8>>2]|0,147712,g,0)|0;if((c[x>>2]|0)!=6){Qe(-1,147816,z);Of(g);i=f;return}A=c[w>>2]|0;c[s>>2]=13;z=v+8|0;c[z>>2]=0;c[z+4>>2]=0;z=A+12|0;if((c[z>>2]|0)<=0){Of(g);i=f;return}w=l+8|0;x=w+4|0;e=o+4|0;y=o+8|0;B=o+4|0;C=0;a:while(1){c[r>>2]=13;c[w>>2]=0;c[x>>2]=0;ut(A,C,v)|0;vt(A,C,l)|0;do{if((c[r>>2]|0)==9){if((c[s>>2]|0)!=7){Qe(-1,147752,u);Of(v);Of(l);break}D=c[q>>2]|0;if((c[k>>2]|0)<(D|0)){c[e>>2]=0;c[y>>2]=0;c[p>>2]=e}else{D=D+16|0;c[q>>2]=D;c[b>>2]=Ce(c[b>>2]|0,D,4)|0;D=c[r>>2]|0;c[e>>2]=0;c[y>>2]=0;c[p>>2]=e;if((D|0)!=9){k=17;break a}}F=w;E=c[F+4>>2]|0;D=m;c[D>>2]=c[F>>2];c[D+4>>2]=E;D=vv(v,d,n,o)|0;E=c[k>>2]|0;c[k>>2]=E+1;c[(c[b>>2]|0)+(E<<2)>>2]=D;Of(v);Of(l);xn(o,c[B>>2]|0)}else{Qe(-1,147720,t);Of(v);Of(l)}}while(0);C=C+1|0;if((C|0)>=(c[z>>2]|0)){k=21;break}}if((k|0)==17){c[h>>2]=D;c[j+4>>2]=9;Qe(0,148232,j);tc()}else if((k|0)==21){Of(g);i=f;return}}function Mv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;d=a+4|0;e=c[d>>2]|0;g=c[a>>2]|0;if((e|0)>0){f=0}else{h=g;Fe(h);i=b;return}do{h=c[g+(f<<2)>>2]|0;if((h|0)!=0){fd[c[(c[h>>2]|0)+4>>2]&511](h);g=c[a>>2]|0;e=c[d>>2]|0}f=f+1|0;}while((f|0)<(e|0));Fe(g);i=b;return}function Nv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;l=i;i=i+8|0;o=i;i=i+16|0;f=o;n=i;i=i+8|0;k=n;h=i;i=i+16|0;j=h;c[o>>2]=13;m=f+8|0;c[m>>2]=0;c[m+4>>2]=0;if((c[(Yu(a,b,d,0)|0)>>2]|0)!=5){i=g;return d|0}Of(d);Zu(a,146752,f)|0;o=c[o>>2]|0;a:do{if((o|0)==7){Nv(c[m>>2]|0,b,d,e)|0}else if((o|0)==9){q=m;m=c[q>>2]|0;q=c[q+4>>2]|0;c[n>>2]=m;c[n+4>>2]=q;n=e+4|0;q=c[n>>2]|0;do{if((q|0)!=0){p=n;b:while(1){o=q;while(1){if((c[o+16>>2]|0)>=(m|0)){break}o=c[o+4>>2]|0;if((o|0)==0){o=p;break b}}q=c[o>>2]|0;if((q|0)==0){break}else{p=o}}if((o|0)==(n|0)){break}if((m|0)>=(c[o+16>>2]|0)){break a}}}while(0);tn(l,e,k);c[h>>2]=13;k=j+8|0;c[k>>2]=0;c[k+4>>2]=0;Nf(f,c[a+4>>2]|0,j,0)|0;if((c[h>>2]|0)==7){Nv(c[k>>2]|0,b,d,e)|0}else{q=d+8|0;c[q>>2]=0;c[q+4>>2]=0;c[d>>2]=5}Of(j)}else{q=d+8|0;c[q>>2]=0;c[q+4>>2]=0;c[d>>2]=5}}while(0);Of(f);i=g;return d|0}function Ov(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=a+4|0;if((c[d>>2]|0)<=0){i=b;return}e=0;do{f=c[(c[a>>2]|0)+(e<<2)>>2]|0;fd[c[(c[f>>2]|0)+8>>2]&511](f);e=e+1|0;}while((e|0)<(c[d>>2]|0));i=b;return}function Pv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;f=i;i=i+8|0;g=f;e=i;i=i+8|0;h=c[a+4>>2]|0;if((h|0)<=0){l=0;i=d;return l|0}j=b;b=c[j>>2]|0;j=c[j+4>>2]|0;k=c[a>>2]|0;l=0;while(1){a=c[k+(l<<2)>>2]|0;m=e;c[m>>2]=b;c[m+4>>2]=j;$W(f|0,e|0,8)|0;a=Av(a,g)|0;l=l+1|0;if((a|0)!=0){e=5;break}if((l|0)<(h|0)){}else{a=0;e=5;break}}if((e|0)==5){i=d;return a|0}return 0}function Qv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;q=i;x=i;i=i+8|0;y=x;o=i;i=i+8|0;p=o;m=i;i=i+8|0;n=m;k=i;i=i+8|0;l=k;g=i;i=i+8|0;j=g;B=i;i=i+8|0;C=B;w=i;i=i+8|0;A=i;i=i+16|0;v=A;s=i;i=i+16|0;t=s;c[A>>2]=13;z=v+8|0;c[z>>2]=0;c[z+4>>2]=0;u=a+4|0;c[u>>2]=0;c[a>>2]=0;r=a+16|0;c[r>>2]=b;D=c[d>>2]|0;b=(D|0)==6;if((f|0)==0|b^1){i=q;return}if(!b){c[B>>2]=D;c[C+4>>2]=6;Qe(0,148232,C);tc()}B=d+8|0;L=c[(c[B>>2]|0)+12>>2]|0;C=a+8|0;c[C>>2]=L;c[a>>2]=Ce(0,L,4)|0;if((c[C>>2]|0)<=0){i=q;return}b=f+4|0;E=e<<16;D=t+8|0;e=D+4|0;F=0;a:while(1){G=c[d>>2]|0;if((G|0)!=6){d=7;break}if((c[(vt(c[B>>2]|0,F,v)|0)>>2]|0)==9){G=c[A>>2]|0;if((G|0)!=9){d=11;break}K=z;L=c[K>>2]|0;K=c[K+4>>2]|0;H=c[b>>2]|0;b:do{if((H|0)>0){J=c[f>>2]|0;I=0;while(1){G=c[J+(I<<2)>>2]|0;M=w;c[M>>2]=L;c[M+4>>2]=K;$W(x|0,w|0,8)|0;G=Av(G,y)|0;I=I+1|0;if((G|0)!=0){break}if((I|0)>=(H|0)){break b}}c[G+64>>2]=(c[u>>2]|0)+E;H=c[u>>2]|0;c[u>>2]=H+1;c[(c[a>>2]|0)+(H<<2)>>2]=G;c[s>>2]=13;c[D>>2]=0;c[e>>2]=0;H=c[d>>2]|0;if((H|0)!=6){d=17;break a}do{if((c[(ut(c[B>>2]|0,F,t)|0)>>2]|0)==7){I=FW(152)|0;H=c[s>>2]|0;if((H|0)!=7){d=20;break a}Ar(I,c[r>>2]|0,c[D>>2]|0,0);h[G+104>>3]=+h[I+136>>3];if((I|0)==0){break}fd[c[(c[I>>2]|0)+4>>2]&511](I)}}while(0);Of(t)}}while(0);Of(v)}else{Of(v)}F=F+1|0;if((F|0)>=(c[C>>2]|0)){d=26;break}}if((d|0)==7){c[g>>2]=G;c[j+4>>2]=6;Qe(0,148232,j);tc()}else if((d|0)==11){c[k>>2]=G;c[l+4>>2]=9;Qe(0,148232,l);tc()}else if((d|0)==17){c[m>>2]=H;c[n+4>>2]=6;Qe(0,148232,n);tc()}else if((d|0)==20){c[o>>2]=H;c[p+4>>2]=7;Qe(0,148232,p);tc()}else if((d|0)==26){i=q;return}}function Rv(a){a=a|0;var b=0;b=i;Fe(c[a>>2]|0);i=b;return}function Sv(a){a=a|0;i=i;return}function Tv(a){a=a|0;var b=0;b=i;iv(a);i=b;return}function Uv(a){a=a|0;var b=0;b=i;iv(a);HW(a);i=b;return}function Vv(a){a=a|0;var b=0;b=i;iv(a);i=b;return}function Wv(a){a=a|0;var b=0;b=i;iv(a);HW(a);i=b;return}function Xv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;g=a+4|0;b=c[b>>2]|0;do{if((b|0)!=(g|0)){h=c[e>>2]|0;j=c[b+16>>2]|0;if((h|0)<(j|0)){break}if((j|0)>=(h|0)){c[d>>2]=b;k=d;i=f;return k|0}a=b+4|0;j=c[a>>2]|0;e=(j|0)==0;if(e){j=b;while(1){k=c[j+8>>2]|0;if((j|0)==(c[k>>2]|0)){j=k;break}else{j=k}}}else{while(1){k=c[j>>2]|0;if((k|0)==0){break}else{j=k}}}do{if((j|0)!=(g|0)){if((h|0)<(c[j+16>>2]|0)){break}b=c[g>>2]|0;if((b|0)==0){c[d>>2]=g;k=g;i=f;return k|0}while(1){g=c[b+16>>2]|0;if((h|0)<(g|0)){g=c[b>>2]|0;if((g|0)==0){g=34;break}else{b=g;continue}}if((g|0)>=(h|0)){g=38;break}e=b+4|0;g=c[e>>2]|0;if((g|0)==0){g=37;break}else{b=g}}if((g|0)==34){c[d>>2]=b;k=b;i=f;return k|0}else if((g|0)==37){c[d>>2]=b;k=e;i=f;return k|0}else if((g|0)==38){c[d>>2]=b;k=d;i=f;return k|0}}}while(0);if(e){c[d>>2]=b;k=a;i=f;return k|0}else{c[d>>2]=j;k=j;i=f;return k|0}}}while(0);h=c[b>>2]|0;do{if((b|0)==(c[a>>2]|0)){a=b}else{if((h|0)==0){j=b;while(1){a=c[j+8>>2]|0;if((j|0)==(c[a>>2]|0)){j=a}else{break}}}else{a=h;while(1){j=c[a+4>>2]|0;if((j|0)==0){break}else{a=j}}}e=c[e>>2]|0;if((c[a+16>>2]|0)<(e|0)){break}b=c[g>>2]|0;if((b|0)==0){c[d>>2]=g;k=g;i=f;return k|0}while(1){g=c[b+16>>2]|0;if((e|0)<(g|0)){g=c[b>>2]|0;if((g|0)==0){g=15;break}else{b=g;continue}}if((g|0)>=(e|0)){g=19;break}h=b+4|0;g=c[h>>2]|0;if((g|0)==0){g=18;break}else{b=g}}if((g|0)==15){c[d>>2]=b;k=b;i=f;return k|0}else if((g|0)==18){c[d>>2]=b;k=h;i=f;return k|0}else if((g|0)==19){c[d>>2]=b;k=d;i=f;return k|0}}}while(0);if((h|0)==0){c[d>>2]=b;k=b;i=f;return k|0}else{c[d>>2]=a;k=a+4|0;i=f;return k|0}return 0}function Yv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0.0;e=i;f=i;i=i+8|0;g=f;k=i;i=i+16|0;l=k;o=i;i=i+16|0;m=o;n=i;i=i+8|0;j=b+28|0;p=c[j>>2]|0;if((c[p+484>>2]|0)==0){d=c[b+120>>2]|0;do{if((d|0)==0){d=-1}else{d=c[d+4>>2]|0;if((c[d+16>>2]|0)!=8){d=-1;break}d=c[d+24>>2]|0;d=jd[c[(c[d>>2]|0)+48>>2]&511](d)|0}}while(0);Qe(d,161136,n);i=e;return}n=b+48|0;if((a[n]&1)==0){n=p}else{r=c[b+8>>2]|0;hd[c[(c[r>>2]|0)+176>>2]&127](r,p);a[n]=0;n=c[j>>2]|0}p=c[d>>2]|0;if((p+ -1|0)>>>0>=2){c[o>>2]=p;c[m+4>>2]=1;c[m+8>>2]=2;Qe(0,162328,m);tc()}m=d+8|0;if((p|0)==1){q=+(c[m>>2]|0)}else{q=+h[m>>3]}h[n+552>>3]=q;m=c[j>>2]|0;n=c[d+16>>2]|0;if((n+ -1|0)>>>0>=2){c[k>>2]=n;c[l+4>>2]=1;c[l+8>>2]=2;Qe(0,162328,l);tc()}k=d+24|0;if((n|0)==1){q=+(c[k>>2]|0)}else{q=+h[k>>3]}h[m+544>>3]=q;k=c[j>>2]|0;s=+h[k+608>>3];l=k+616|0;q=+h[l>>3]- +h[k+568>>3];h[l>>3]=q;h[k+592>>3]=+h[k+528>>3]+(s*+h[k+496>>3]+q*+h[k+512>>3]);h[k+600>>3]=+h[k+536>>3]+(s*+h[k+504>>3]+q*+h[k+520>>3]);k=b+8|0;l=c[k>>2]|0;hd[c[(c[l>>2]|0)+196>>2]&127](l,c[j>>2]|0);l=c[k>>2]|0;hd[c[(c[l>>2]|0)+184>>2]&127](l,c[j>>2]|0);l=c[k>>2]|0;hd[c[(c[l>>2]|0)+204>>2]&127](l,c[j>>2]|0);l=c[k>>2]|0;hd[c[(c[l>>2]|0)+268>>2]&127](l,c[j>>2]|0);l=c[d+32>>2]|0;if((l|0)!=3){c[f>>2]=l;c[g+4>>2]=3;Qe(0,162256,g);tc()}Ox(b,c[d+40>>2]|0);r=c[k>>2]|0;hd[c[(c[r>>2]|0)+272>>2]&127](r,c[j>>2]|0);i=e;return}function Zv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;e=i;g=i;i=i+8|0;j=g;k=i;i=i+8|0;f=b+28|0;l=c[f>>2]|0;if((c[l+484>>2]|0)==0){b=c[b+120>>2]|0;do{if((b|0)==0){b=-1}else{b=c[b+4>>2]|0;if((c[b+16>>2]|0)!=8){b=-1;break}b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}}while(0);Qe(b,161112,k);i=e;return}m=b+48|0;k=b+8|0;if((a[m]&1)!=0){n=c[k>>2]|0;hd[c[(c[n>>2]|0)+176>>2]&127](n,l);a[m]=0;l=c[f>>2]|0}p=+h[l+608>>3];n=l+616|0;o=+h[n>>3]- +h[l+568>>3];h[n>>3]=o;h[l+592>>3]=+h[l+528>>3]+(p*+h[l+496>>3]+o*+h[l+512>>3]);h[l+600>>3]=+h[l+536>>3]+(p*+h[l+504>>3]+o*+h[l+520>>3]);l=c[k>>2]|0;hd[c[(c[l>>2]|0)+204>>2]&127](l,c[f>>2]|0);l=c[k>>2]|0;hd[c[(c[l>>2]|0)+268>>2]&127](l,c[f>>2]|0);l=c[d>>2]|0;if((l|0)!=3){c[g>>2]=l;c[j+4>>2]=3;Qe(0,162256,j);tc()}Ox(b,c[d+8>>2]|0);n=c[k>>2]|0;hd[c[(c[n>>2]|0)+272>>2]&127](n,c[f>>2]|0);i=e;return}function _v(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;e=i;d=b+28|0;g=c[d>>2]|0;h=c[g+588>>2]|0;a:do{if((c[h+28>>2]|0)>0){h=c[b+116>>2]|0;b:do{if((h|0)!=0){if((a[h]&1)!=0){break a}while(1){h=c[h+4>>2]|0;if((h|0)==0){break b}if((a[h]&1)!=0){break a}}}}while(0);h=c[g+116>>2]|0;if((jd[c[(c[h>>2]|0)+12>>2]&511](h)|0)==10){Bx(b,0)}else{h=c[b+8>>2]|0;hd[c[(c[h>>2]|0)+216>>2]&127](h,c[d>>2]|0)}h=c[(c[d>>2]|0)+120>>2]|0;if((jd[c[(c[h>>2]|0)+12>>2]&511](h)|0)==10){Cx(b);break}else{h=c[b+8>>2]|0;hd[c[(c[h>>2]|0)+212>>2]&127](h,c[d>>2]|0);break}}else{if((a[h]&1)!=0){break}i=e;return}}while(0);g=c[d>>2]|0;h=c[g+588>>2]|0;do{if((c[h+28>>2]|0)>0){f=16}else{if((a[h]&1)!=0){f=16;break}b=b+52|0}}while(0);do{if((f|0)==16){f=b+52|0;if((c[f>>2]|0)==0){b=f;break}TB(g);b=c[b+8>>2]|0;g=c[b>>2]|0;if((c[f>>2]|0)==1){hd[c[g+256>>2]&127](b,c[d>>2]|0);b=f;break}else{hd[c[g+260>>2]&127](b,c[d>>2]|0);b=f;break}}}while(0);c[b>>2]=0;SB(c[d>>2]|0);i=e;return}function $v(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;e=i;d=b+28|0;g=c[d>>2]|0;h=c[g+588>>2]|0;a:do{if((c[h+28>>2]|0)>0){h=c[b+116>>2]|0;b:do{if((h|0)!=0){if((a[h]&1)!=0){break a}while(1){h=c[h+4>>2]|0;if((h|0)==0){break b}if((a[h]&1)!=0){break a}}}}while(0);h=c[g+116>>2]|0;if((jd[c[(c[h>>2]|0)+12>>2]&511](h)|0)==10){Bx(b,1)}else{h=c[b+8>>2]|0;hd[c[(c[h>>2]|0)+220>>2]&127](h,c[d>>2]|0)}h=c[(c[d>>2]|0)+120>>2]|0;if((jd[c[(c[h>>2]|0)+12>>2]&511](h)|0)==10){Cx(b);break}else{h=c[b+8>>2]|0;hd[c[(c[h>>2]|0)+212>>2]&127](h,c[d>>2]|0);break}}else{if((a[h]&1)!=0){break}i=e;return}}while(0);g=c[d>>2]|0;h=c[g+588>>2]|0;do{if((c[h+28>>2]|0)>0){f=16}else{if((a[h]&1)!=0){f=16;break}b=b+52|0}}while(0);do{if((f|0)==16){f=b+52|0;if((c[f>>2]|0)==0){b=f;break}TB(g);b=c[b+8>>2]|0;g=c[b>>2]|0;if((c[f>>2]|0)==1){hd[c[g+256>>2]&127](b,c[d>>2]|0);b=f;break}else{hd[c[g+260>>2]&127](b,c[d>>2]|0);b=f;break}}}while(0);c[b>>2]=0;SB(c[d>>2]|0);i=e;return}function aw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=i;j=i;i=i+8|0;k=j;g=i;i=i+8|0;h=g;m=i;i=i+8|0;p=m;o=i;i=i+8|0;n=o;D=i;i=i+8|0;s=i;i=i+8|0;q=s;w=i;i=i+8|0;t=w;A=i;i=i+8|0;z=A;C=i;i=i+8|0;B=C;F=i;i=i+8|0;E=F;v=i;i=i+16|0;y=v;x=FW(8)|0;u=x;c[u>>2]=0;c[u+4>>2]=0;a[x]=0;u=b+116|0;c[x+4>>2]=c[u>>2];c[u>>2]=x;x=c[(c[b+4>>2]|0)+160>>2]|0;l=c[d>>2]|0;if((l|0)!=4){c[F>>2]=l;c[E+4>>2]=4;Qe(0,162256,E);tc()}l=d+8|0;a:do{if(!((vc(c[l>>2]|0,161320,2)|0)!=0|(x|0)==0)){if((e|0)<=1){q=c[b+120>>2]|0;do{if((q|0)==0){q=-1}else{q=c[q+4>>2]|0;if((c[q+16>>2]|0)!=8){q=-1;break}q=c[q+24>>2]|0;q=jd[c[(c[q>>2]|0)+48>>2]&511](q)|0}}while(0);Qe(q,162112,D);break}D=d+16|0;E=c[D>>2]|0;do{if((E|0)!=4){F=c[b+120>>2]|0;do{if((F|0)==0){F=-1}else{F=c[F+4>>2]|0;if((c[F+16>>2]|0)!=8){F=-1;break}F=c[F+24>>2]|0;F=jd[c[(c[F>>2]|0)+48>>2]&511](F)|0;E=c[D>>2]|0}}while(0);c[C>>2]=E;Qe(F,162072,B);B=c[D>>2]|0;if((B|0)==4){break}c[A>>2]=B;c[z+4>>2]=4;Qe(0,162256,z);tc()}}while(0);z=c[d+24>>2]|0;c[v>>2]=13;A=y+8|0;c[A>>2]=0;c[A+4>>2]=0;A=c[b+20>>2]|0;b:do{if((A|0)!=0){while(1){if((c[A+96>>2]|0)==7){if((c[(Zu(c[A+104>>2]|0,z,y)|0)>>2]|0)!=5){break}Of(y)}A=c[A+112>>2]|0;if((A|0)==0){break b}}if((c[v>>2]|0)!=9){break a}F=GF(x,y)|0;a[c[u>>2]|0]=F&1^1;break a}}while(0);c[w>>2]=z;Qe(-1,159320,t);t=c[b+120>>2]|0;do{if((t|0)==0){t=-1}else{t=c[t+4>>2]|0;if((c[t+16>>2]|0)!=8){t=-1;break}t=c[t+24>>2]|0;t=jd[c[(c[t>>2]|0)+48>>2]&511](t)|0}}while(0);c[s>>2]=z;Qe(t,162096,q)}}while(0);if((a[b+13|0]&1)!=0){q=c[d>>2]|0;if((q|0)!=4){c[o>>2]=q;c[n+4>>2]=4;Qe(0,162256,n);tc()}c[m>>2]=c[l>>2];Kb(162160,p|0)|0;if((e|0)==2){m=c[r>>2]|0;Qf(d+16|0,m)}else{m=c[r>>2]|0}Hb(10)|0;Fc(m|0)|0}if((e|0)==1){g=c[b+8>>2]|0;d=c[d>>2]|0;if((d|0)!=4){c[j>>2]=d;c[k+4>>2]=4;Qe(0,162256,k);tc()}Gd[c[(c[g>>2]|0)+332>>2]&255](g,c[l>>2]|0,0);i=f;return}else if((e|0)==2){if((c[d+16>>2]|0)!=7){i=f;return}j=c[b+8>>2]|0;k=c[d>>2]|0;if((k|0)!=4){c[g>>2]=k;c[h+4>>2]=4;Qe(0,162256,h);tc()}Gd[c[(c[j>>2]|0)+332>>2]&255](j,c[l>>2]|0,c[d+24>>2]|0);i=f;return}else{i=f;return}}function bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;b=i;d=Sx(a)|0;if((d|0)==0){i=b;return}Qx(a,0,d,1);e=jd[c[(c[d>>2]|0)+68>>2]&511](d)|0;e=jd[c[(c[e>>2]|0)+20>>2]&511](e)|0;a=jd[c[(c[d>>2]|0)+68>>2]&511](d)|0;a=jd[c[(c[a>>2]|0)+20>>2]&511](a)|0;while(1){if((e|0)==69){if((a|0)==73|(a|0)==-1){break}}else{if((a|0)==-1){break}}f=jd[c[(c[d>>2]|0)+68>>2]&511](d)|0;e=a;a=jd[c[(c[f>>2]|0)+20>>2]&511](f)|0}fd[c[(c[d>>2]|0)+4>>2]&511](d);i=b;return}function cw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;d=i;e=b+8|0;g=c[e>>2]|0;f=b+28|0;hd[c[(c[g>>2]|0)+300>>2]&127](g,c[f>>2]|0);a[b+16|0]=1;g=c[f>>2]|0;h[g+496>>3]=1.0;bX(g+504|0,0,16)|0;h[g+520>>3]=1.0;bX(g+528|0,0,16)|0;g=c[f>>2]|0;bX(g+608|0,0,16)|0;h[g+592>>3]=+h[g+528>>3]+(+h[g+496>>3]*0.0+ +h[g+512>>3]*0.0);h[g+600>>3]=+h[g+536>>3]+(+h[g+504>>3]*0.0+ +h[g+520>>3]*0.0);g=c[e>>2]|0;hd[c[(c[g>>2]|0)+180>>2]&127](g,c[f>>2]|0);g=c[e>>2]|0;hd[c[(c[g>>2]|0)+204>>2]&127](g,c[f>>2]|0);a[b+48|0]=1;f=c[f>>2]|0;if((c[f+584>>2]&4|0)!=0){i=d;return}g=c[e>>2]|0;if(!(Bd[c[(c[g>>2]|0)+40>>2]&255](g,f)|0)){i=d;return}a[b+15|0]=1;i=d;return}function dw(a,b,d){a=a|0;b=b|0;d=d|0;d=a+56|0;c[d>>2]=(c[d>>2]|0)+1;i=i;return}function ew(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;e=i;i=i+8|0;r=i;i=i+8|0;q=r;l=i;i=i+16|0;h=l;g=i;i=i+128|0;j=g;c[l>>2]=13;n=h+8|0;c[n>>2]=0;m=n+4|0;c[m>>2]=0;k=a+28|0;OB(c[k>>2]|0,0);o=c[a+20>>2]|0;p=c[b>>2]|0;if((p|0)!=4){c[r>>2]=p;c[q+4>>2]=4;Qe(0,162256,q);tc()}p=c[b+8>>2]|0;a:do{if((o|0)==0){f=8}else{while(1){if((c[o+24>>2]|0)==7){if((c[(Yu(c[o+32>>2]|0,p,h,0)|0)>>2]|0)!=5){break}Of(h)}o=c[o+112>>2]|0;if((o|0)==0){f=8;break a}}if((c[l>>2]|0)==5){f=10;break}b=Jy(h,a)|0}}while(0);if((f|0)==8){c[n>>2]=0;c[m>>2]=0;c[l>>2]=5;f=10}if((f|0)==10){b=Jy(b,a)|0}Of(h);if((b|0)!=0){MB(c[k>>2]|0,b);r=a+8|0;q=c[r>>2]|0;hd[c[(c[q>>2]|0)+136>>2]&127](q,c[k>>2]|0);hd[c[(c[b>>2]|0)+48>>2]&127](b,j);$W((c[k>>2]|0)+252|0,g|0,128)|0;r=c[r>>2]|0;hd[c[(c[r>>2]|0)+144>>2]&127](r,c[k>>2]|0);i=d;return}a=c[a+120>>2]|0;do{if((a|0)==0){a=-1}else{a=c[a+4>>2]|0;if((c[a+16>>2]|0)!=8){a=-1;break}a=c[a+24>>2]|0;a=jd[c[(c[a>>2]|0)+48>>2]&511](a)|0}}while(0);Qe(a,160520,e);i=d;return}function fw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;j=i;i=i+8|0;k=j;g=i;i=i+8|0;h=g;n=i;i=i+8|0;o=n;l=i;i=i+8|0;m=l;if((a[b+13|0]&1)!=0){p=c[d>>2]|0;if((p|0)!=4){c[l>>2]=p;c[m+4>>2]=4;Qe(0,162256,m);tc()}c[n>>2]=c[d+8>>2];Kb(162184,o|0)|0;if((e|0)==2){l=c[r>>2]|0;Qf(d+16|0,l)}else{l=c[r>>2]|0}Hb(10)|0;Fc(l|0)|0}do{if((e|0)==2){if((c[d+16>>2]|0)!=7){break}j=c[b+8>>2]|0;k=c[d>>2]|0;if((k|0)!=4){c[g>>2]=k;c[h+4>>2]=4;Qe(0,162256,h);tc()}Gd[c[(c[j>>2]|0)+340>>2]&255](j,c[d+8>>2]|0,c[d+24>>2]|0);i=f;return}}while(0);g=c[b+8>>2]|0;h=c[d>>2]|0;if((h|0)!=4){c[j>>2]=h;c[k+4>>2]=4;Qe(0,162256,k);tc()}hd[c[(c[g>>2]|0)+336>>2]&127](g,c[d+8>>2]|0);i=f;return}function gw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;e=i;y=i;i=i+8|0;z=y;F=i;i=i+8|0;u=i;i=i+8|0;t=u;s=i;i=i+8|0;n=s;q=i;i=i+8|0;r=q;G=i;i=i+8|0;H=G;B=i;i=i+8|0;C=B;K=i;i=i+8|0;J=K;L=i;i=i+8|0;M=L;P=i;i=i+8|0;O=P;R=i;i=i+8|0;Q=R;S=i;i=i+8|0;T=S;V=i;i=i+8|0;U=V;W=i;i=i+8|0;X=W;Y=i;i=i+8|0;N=Y;E=i;i=i+16|0;d=E;D=i;i=i+16|0;h=D;p=i;i=i+16|0;I=p;A=i;i=i+16|0;m=A;j=i;i=i+16|0;f=j;x=i;i=i+8|0;c[E>>2]=13;l=d+8|0;c[l>>2]=0;c[l+4>>2]=0;c[D>>2]=13;v=h+8|0;c[v>>2]=0;c[v+4>>2]=0;c[p>>2]=13;o=I+8|0;c[o>>2]=0;c[o+4>>2]=0;c[A>>2]=13;w=m+8|0;c[w>>2]=0;c[w+4>>2]=0;c[j>>2]=13;g=f+8|0;c[g>>2]=0;c[g+4>>2]=0;Z=c[b>>2]|0;if((Z|0)!=4){c[Y>>2]=Z;c[N+4>>2]=4;Qe(0,162256,N);tc()}b=c[b+8>>2]|0;N=a+20|0;Y=c[N>>2]|0;a:do{if((Y|0)!=0){while(1){if((c[Y+8>>2]|0)==7){if((c[(Yu(c[Y+16>>2]|0,b,d,0)|0)>>2]|0)!=5){break}Of(d)}Y=c[Y+112>>2]|0;if((Y|0)==0){break a}}if((c[E>>2]|0)!=8){a=c[a+120>>2]|0;do{if((a|0)==0){a=-1}else{a=c[a+4>>2]|0;if((c[a+16>>2]|0)!=8){a=-1;break}a=c[a+24>>2]|0;a=jd[c[(c[a>>2]|0)+48>>2]&511](a)|0}}while(0);c[V>>2]=b;Qe(a,161288,U);Of(d);i=e;return}U=c[l>>2]|0;Zu(jd[c[(c[U>>2]|0)+72>>2]&511](U)|0,161320,h)|0;U=c[D>>2]|0;do{if((U|0)==9){S=c[(c[a+4>>2]|0)+160>>2]|0;if((S|0)==0){break}if(GF(S,h)|0){break}Of(h);Of(d);i=e;return}else if((U|0)!=5){V=c[a+120>>2]|0;do{if((V|0)==0){V=-1}else{V=c[V+4>>2]|0;if((c[V+16>>2]|0)!=8){V=-1;break}V=c[V+24>>2]|0;V=jd[c[(c[V>>2]|0)+48>>2]&511](V)|0;U=c[D>>2]|0}}while(0);c[S>>2]=U;Qe(V,161328,T)}}while(0);Of(h);S=c[E>>2]|0;if((S|0)!=8){c[R>>2]=S;c[Q+4>>2]=8;Qe(0,162256,Q);tc()}Z=c[l>>2]|0;Yu(jd[c[(c[Z>>2]|0)+72>>2]&511](Z)|0,161368,f,0)|0;if((c[j>>2]|0)==7){Z=c[a+8>>2]|0;Gd[c[(c[Z>>2]|0)+344>>2]&255](Z,c[a+28>>2]|0,c[g>>2]|0)}Q=c[E>>2]|0;if((Q|0)!=8){c[P>>2]=Q;c[O+4>>2]=8;Qe(0,162256,O);tc()}O=c[l>>2]|0;Yu(jd[c[(c[O>>2]|0)+72>>2]&511](O)|0,161376,h,0)|0;O=(c[D>>2]|0)==4;do{if(O){P=c[v>>2]|0;if((Qc(P|0,161384)|0)==0){Z=c[a+8>>2]|0;if(!(jd[c[(c[Z>>2]|0)+36>>2]&511](Z)|0)){break}Q=c[N>>2]|0;b:do{if((Q|0)==0){k=36}else{while(1){if((c[Q+8>>2]|0)==7){if((c[(Zu(c[Q+16>>2]|0,b,m)|0)>>2]|0)!=5){break b}Of(m)}Q=c[Q+112>>2]|0;if((Q|0)==0){k=36;break}}}}while(0);if((k|0)==36){c[L>>2]=b;Qe(-1,159296,M)}L=c[E>>2]|0;if((L|0)==8){Qx(a,m,c[l>>2]|0,0);Of(m);break}else{c[K>>2]=L;c[J+4>>2]=8;Qe(0,162256,J);tc()}}if((Qc(P|0,161392)|0)!=0){if((Qc(P|0,161400)|0)!=0){k=60;break}m=c[E>>2]|0;if((m|0)!=8){c[G>>2]=m;c[H+4>>2]=8;Qe(0,162256,H);tc()}m=c[l>>2]|0;Yu(jd[c[(c[m>>2]|0)+72>>2]&511](m)|0,161408,I,0)|0;m=c[a+8>>2]|0;n=c[(c[m>>2]|0)+364>>2]|0;s=c[E>>2]|0;if((s|0)!=8){c[q>>2]=s;c[r+4>>2]=8;Qe(0,162256,r);tc()}if((c[p>>2]|0)==8){o=c[o>>2]|0}else{o=0}Gd[n&255](m,c[l>>2]|0,o);break}l=c[N>>2]|0;c:do{if((l|0)==0){k=46}else{while(1){if((c[l+8>>2]|0)==7){if((c[(Zu(c[l+16>>2]|0,b,m)|0)>>2]|0)!=5){break c}Of(m)}l=c[l+112>>2]|0;if((l|0)==0){k=46;break}}}}while(0);if((k|0)==46){c[B>>2]=b;Qe(-1,159296,C)}l=a+8|0;Z=c[l>>2]|0;do{if(jd[c[(c[Z>>2]|0)+28>>2]&511](Z)|0){if((c[A>>2]|0)!=9){k=50;break}Z=c[l>>2]|0;Y=c[(c[Z>>2]|0)+360>>2]|0;V=w;W=c[V+4>>2]|0;X=x;c[X>>2]=c[V>>2];c[X+4>>2]=W;$W(y|0,x|0,8)|0;hd[Y&127](Z,z)}else{k=50}}while(0);if((k|0)==50){Rx(a,d)}Of(m)}else{k=60}}while(0);do{if((k|0)==60){k=c[a+120>>2]|0;do{if((k|0)==0){k=-1}else{k=c[k+4>>2]|0;if((c[k+16>>2]|0)!=8){k=-1;break}k=c[k+24>>2]|0;k=jd[c[(c[k>>2]|0)+48>>2]&511](k)|0}}while(0);if(!O){Qe(k,161448,F);break}l=c[D>>2]|0;if((l|0)==4){c[u>>2]=c[v>>2];Qe(k,161416,t);break}else{c[s>>2]=l;c[n+4>>2]=4;Qe(0,162256,n);tc()}}}while(0);Of(h);if((c[j>>2]|0)==7){Z=c[a+8>>2]|0;Gd[c[(c[Z>>2]|0)+348>>2]&255](Z,c[a+28>>2]|0,c[g>>2]|0)}Of(f);Of(d);i=e;return}}while(0);c[W>>2]=b;Qe(-1,159296,X);i=e;return}function hw(a,b,d){a=a|0;b=b|0;d=d|0;d=i;b=i;i=i+8|0;a=c[a+120>>2]|0;do{if((a|0)==0){a=-1}else{a=c[a+4>>2]|0;if((c[a+16>>2]|0)!=8){a=-1;break}a=c[a+24>>2]|0;a=jd[c[(c[a>>2]|0)+48>>2]&511](a)|0}}while(0);Qe(a,162040,b);i=d;return}function iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;b=i;e=a+116|0;d=c[e>>2]|0;if((d|0)!=0){c[e>>2]=c[d+4>>2];HW(d)}e=c[a+8>>2]|0;hd[c[(c[e>>2]|0)+328>>2]&127](e,c[a+28>>2]|0);i=b;return}function jw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;d=i;f=b+8|0;h=c[f>>2]|0;g=b+28|0;h=Bd[c[(c[h>>2]|0)+304>>2]&255](h,c[g>>2]|0)|0;e=c[f>>2]|0;hd[c[(c[e>>2]|0)+308>>2]&127](e,c[g>>2]|0);a[b+16|0]=0;e=b+15|0;if((a[e]&1)==0){h=e;a[h]=0;i=d;return}if(h){Bx(b,1)}h=c[f>>2]|0;hd[c[(c[h>>2]|0)+84>>2]&127](h,c[g>>2]|0);h=e;a[h]=0;i=d;return}function kw(a,b,d){a=a|0;b=b|0;d=d|0;b=i;d=a+56|0;a=c[d>>2]|0;if((a|0)<=0){i=b;return}c[d>>2]=a+ -1;i=b;return}function lw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;e=i;d=b+28|0;g=c[d>>2]|0;h=c[g+588>>2]|0;a:do{if((c[h+28>>2]|0)>0){h=c[b+116>>2]|0;b:do{if((h|0)!=0){if((a[h]&1)!=0){break a}while(1){h=c[h+4>>2]|0;if((h|0)==0){break b}if((a[h]&1)!=0){break a}}}}while(0);h=c[g+116>>2]|0;if((jd[c[(c[h>>2]|0)+12>>2]&511](h)|0)==10){Bx(b,0);break}else{h=c[b+8>>2]|0;hd[c[(c[h>>2]|0)+216>>2]&127](h,c[d>>2]|0);break}}else{if((a[h]&1)!=0){break}i=e;return}}while(0);g=c[d>>2]|0;h=c[g+588>>2]|0;do{if((c[h+28>>2]|0)>0){f=13}else{if((a[h]&1)!=0){f=13;break}b=b+52|0}}while(0);do{if((f|0)==13){f=b+52|0;if((c[f>>2]|0)==0){b=f;break}TB(g);b=c[b+8>>2]|0;g=c[b>>2]|0;if((c[f>>2]|0)==1){hd[c[g+256>>2]&127](b,c[d>>2]|0);b=f;break}else{hd[c[g+260>>2]&127](b,c[d>>2]|0);b=f;break}}}while(0);c[b>>2]=0;SB(c[d>>2]|0);i=e;return}function mw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0,m=0;e=i;k=i;i=i+16|0;j=k;d=i;i=i+128|0;f=a+28|0;OB(c[f>>2]|0,0);m=c[f>>2]|0;g=FW(4)|0;Ty(g);MB(m,g);a=a+8|0;g=c[a>>2]|0;hd[c[(c[g>>2]|0)+136>>2]&127](g,c[f>>2]|0);g=c[b>>2]|0;if((g+ -1|0)>>>0>=2){c[k>>2]=g;c[j+4>>2]=1;c[j+8>>2]=2;Qe(0,162328,j);tc()}b=b+8|0;if((g|0)==1){l=+(c[b>>2]|0)}else{l=+h[b>>3]}m=c[f>>2]|0;c[m+252>>2]=~~(l*65536.0);$W(m+256|0,d|0,124)|0;m=c[a>>2]|0;hd[c[(c[m>>2]|0)+144>>2]&127](m,c[f>>2]|0);i=e;return}function nw(a,b,d){a=a|0;b=b|0;d=d|0;d=i;b=i;i=i+8|0;a=c[a+120>>2]|0;do{if((a|0)==0){a=-1}else{a=c[a+4>>2]|0;if((c[a+16>>2]|0)!=8){a=-1;break}a=c[a+24>>2]|0;a=jd[c[(c[a>>2]|0)+48>>2]&511](a)|0}}while(0);Qe(a,162008,b);i=d;return}function ow(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;d=i;g=i;i=i+8|0;f=g;e=a+28|0;h=c[b>>2]|0;if((h|0)==1){c[(c[e>>2]|0)+464>>2]=c[b+8>>2];h=c[a+8>>2]|0;hd[c[(c[h>>2]|0)+108>>2]&127](h,c[e>>2]|0);i=d;return}else{c[g>>2]=h;c[f+4>>2]=1;Qe(0,162256,f);tc()}}function pw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;g=i;j=i;i=i+16|0;d=j;f=i;i=i+128|0;k=f;e=a+28|0;OB(c[e>>2]|0,0);n=c[e>>2]|0;l=FW(4)|0;vz(l);MB(n,l);a=a+8|0;l=c[a>>2]|0;hd[c[(c[l>>2]|0)+136>>2]&127](l,c[e>>2]|0);l=0;while(1){m=c[b+(l<<4)>>2]|0;if((m+ -1|0)>>>0>=2){b=3;break}n=b+(l<<4)+8|0;if((m|0)==1){o=+(c[n>>2]|0)}else{o=+h[n>>3]}c[k+(l<<2)>>2]=~~(o*65536.0);l=l+1|0;if((l|0)>=4){b=8;break}}if((b|0)==3){c[j>>2]=m;c[d+4>>2]=1;c[d+8>>2]=2;Qe(0,162328,d);tc()}else if((b|0)==8){$W((c[e>>2]|0)+252|0,f|0,128)|0;n=c[a>>2]|0;hd[c[(c[n>>2]|0)+144>>2]&127](n,c[e>>2]|0);i=g;return}}function qw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0;e=i;j=i;i=i+16|0;k=j;d=a+28|0;f=c[d>>2]|0;g=c[b>>2]|0;if((g+ -1|0)>>>0>=2){c[j>>2]=g;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}b=b+8|0;if((g|0)==1){l=+(c[b>>2]|0)}else{l=+h[b>>3]}h[f+472>>3]=l;k=c[a+8>>2]|0;hd[c[(c[k>>2]|0)+112>>2]&127](k,c[d>>2]|0);i=e;return}function rw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;e=i;d=i;i=i+8|0;f=b+32|0;h=c[b+36>>2]|0;do{if((c[f>>2]|0)>(c[h+(((c[b+40>>2]|0)-h>>2)+ -1<<2)>>2]|0)){h=b+28|0;g=c[h>>2]|0;if((c[g+656>>2]|0)==0){break}g=YB(g)|0;c[h>>2]=g;h=c[b+8>>2]|0;hd[c[(c[h>>2]|0)+84>>2]&127](h,g);c[f>>2]=(c[f>>2]|0)+ -1;i=e;return}}while(0);Qe(-1,162208,d);a[b+18|0]=1;i=e;return}function sw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;g=i;j=i;i=i+16|0;d=j;f=i;i=i+128|0;k=f;e=a+28|0;OB(c[e>>2]|0,0);n=c[e>>2]|0;l=FW(4)|0;gz(l);MB(n,l);a=a+8|0;l=c[a>>2]|0;hd[c[(c[l>>2]|0)+136>>2]&127](l,c[e>>2]|0);l=0;while(1){m=c[b+(l<<4)>>2]|0;if((m+ -1|0)>>>0>=2){b=3;break}n=b+(l<<4)+8|0;if((m|0)==1){o=+(c[n>>2]|0)}else{o=+h[n>>3]}c[k+(l<<2)>>2]=~~(o*65536.0);l=l+1|0;if((l|0)>=3){b=8;break}}if((b|0)==3){c[j>>2]=m;c[d+4>>2]=1;c[d+8>>2]=2;Qe(0,162328,d);tc()}else if((b|0)==8){$W((c[e>>2]|0)+252|0,f|0,128)|0;n=c[a>>2]|0;hd[c[(c[n>>2]|0)+144>>2]&127](n,c[e>>2]|0);i=g;return}}function tw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;e=i;d=b+28|0;g=c[d>>2]|0;h=c[g+588>>2]|0;a:do{if((c[h+28>>2]|0)>0){h=c[b+116>>2]|0;b:do{if((h|0)!=0){if((a[h]&1)!=0){break a}while(1){h=c[h+4>>2]|0;if((h|0)==0){break b}if((a[h]&1)!=0){break a}}}}while(0);h=c[g+120>>2]|0;if((jd[c[(c[h>>2]|0)+12>>2]&511](h)|0)==10){Cx(b);break}else{h=c[b+8>>2]|0;hd[c[(c[h>>2]|0)+212>>2]&127](h,c[d>>2]|0);break}}else{if((a[h]&1)!=0){break}i=e;return}}while(0);g=c[d>>2]|0;h=c[g+588>>2]|0;do{if((c[h+28>>2]|0)>0){f=13}else{if((a[h]&1)!=0){f=13;break}b=b+52|0}}while(0);do{if((f|0)==13){f=b+52|0;if((c[f>>2]|0)==0){b=f;break}TB(g);b=c[b+8>>2]|0;g=c[b>>2]|0;if((c[f>>2]|0)==1){hd[c[g+256>>2]&127](b,c[d>>2]|0);b=f;break}else{hd[c[g+260>>2]&127](b,c[d>>2]|0);b=f;break}}}while(0);c[b>>2]=0;SB(c[d>>2]|0);i=e;return}function uw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;e=i;f=i;i=i+16|0;g=f;m=i;i=i+8|0;k=i;i=i+128|0;l=k;j=a+28|0;o=c[(c[j>>2]|0)+120>>2]|0;if((jd[c[(c[o>>2]|0)+44>>2]&511](o)|0)!=(d|0)){d=c[a+120>>2]|0;do{if((d|0)==0){d=-1}else{d=c[d+4>>2]|0;if((c[d+16>>2]|0)!=8){d=-1;break}d=c[d+24>>2]|0;d=jd[c[(c[d>>2]|0)+48>>2]&511](d)|0}}while(0);Qe(d,160600,m);i=e;return}OB(c[j>>2]|0,0);a:do{if((d|0)>0){m=0;while(1){n=c[b+(m<<4)>>2]|0;if((n+ -1|0)>>>0>=2){break}o=b+(m<<4)+8|0;if((n|0)==1){p=+(c[o>>2]|0)}else{p=+h[o>>3]}c[l+(m<<2)>>2]=~~(p*65536.0);m=m+1|0;if((m|0)>=(d|0)){break a}}c[f>>2]=n;c[g+4>>2]=1;c[g+8>>2]=2;Qe(0,162328,g);tc()}}while(0);$W((c[j>>2]|0)+252|0,k|0,128)|0;o=c[a+8>>2]|0;hd[c[(c[o>>2]|0)+144>>2]&127](o,c[j>>2]|0);i=e;return}function vw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;e=i;l=i;i=i+8|0;k=i;i=i+8|0;g=i;i=i+128|0;j=g;f=a+28|0;m=c[(c[f>>2]|0)+120>>2]|0;if((jd[c[(c[m>>2]|0)+12>>2]&511](m)|0)!=10){m=c[(c[f>>2]|0)+120>>2]|0;if((jd[c[(c[m>>2]|0)+44>>2]&511](m)|0)!=(d|0)){f=c[a+120>>2]|0;do{if((f|0)==0){f=-1}else{f=c[f+4>>2]|0;if((c[f+16>>2]|0)!=8){f=-1;break}f=c[f+24>>2]|0;f=jd[c[(c[f>>2]|0)+48>>2]&511](f)|0}}while(0);Qe(f,160696,l);i=e;return}OB(c[f>>2]|0,0);if((d|0)>0){k=0;do{m=c[b+(k<<4)>>2]|0;if((m+ -1|0)>>>0<2){l=b+(k<<4)+8|0;if((m|0)==1){n=+(c[l>>2]|0)}else{n=+h[l>>3]}c[j+(k<<2)>>2]=~~(n*65536.0)}else{c[j+(k<<2)>>2]=0}k=k+1|0;}while((k|0)<(d|0)&(k|0)<32)}$W((c[f>>2]|0)+252|0,g|0,128)|0;m=c[a+8>>2]|0;hd[c[(c[m>>2]|0)+144>>2]&127](m,c[f>>2]|0);i=e;return}a:do{if((d|0)>1){l=c[(c[(c[f>>2]|0)+120>>2]|0)+4>>2]|0;do{if((l|0)!=0){d=d+ -1|0;if((d|0)!=(jd[c[(c[l>>2]|0)+44>>2]&511](l)|0)){break}if((d|0)>0){k=0;do{m=c[b+(k<<4)>>2]|0;if((m+ -1|0)>>>0<2){l=b+(k<<4)+8|0;if((m|0)==1){n=+(c[l>>2]|0)}else{n=+h[l>>3]}c[j+(k<<2)>>2]=~~(n*65536.0)}else{c[j+(k<<2)>>2]=0}k=k+1|0;}while((k|0)<(d|0)&(k|0)<32)}$W((c[f>>2]|0)+252|0,g|0,128)|0;m=c[a+8>>2]|0;hd[c[(c[m>>2]|0)+144>>2]&127](m,c[f>>2]|0);break a}}while(0);f=c[a+120>>2]|0;do{if((f|0)==0){f=-1}else{f=c[f+4>>2]|0;if((c[f+16>>2]|0)!=8){f=-1;break}f=c[f+24>>2]|0;f=jd[c[(c[f>>2]|0)+48>>2]&511](f)|0}}while(0);Qe(f,160696,k);i=e;return}else{d=d+ -1|0}}while(0);if((c[b+(d<<4)>>2]|0)!=4){i=e;return}b=ox(c[a+20>>2]|0,c[b+(d<<4)+8>>2]|0,a)|0;if((b|0)==0){i=e;return}OB(c[f>>2]|0,b);i=e;return}function ww(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,j=0;d=i;b=a+28|0;e=c[b>>2]|0;g=+h[e+608>>3];j=e+616|0;f=+h[j>>3]- +h[e+568>>3];h[j>>3]=f;h[e+592>>3]=+h[e+528>>3]+(g*+h[e+496>>3]+f*+h[e+512>>3]);h[e+600>>3]=+h[e+536>>3]+(g*+h[e+504>>3]+f*+h[e+520>>3]);a=c[a+8>>2]|0;hd[c[(c[a>>2]|0)+204>>2]&127](a,c[b>>2]|0);i=d;return}function xw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0;e=i;g=i;i=i+16|0;j=g;m=i;i=i+16|0;n=m;d=a+28|0;f=c[d>>2]|0;k=+h[f+608>>3];l=c[b>>2]|0;if((l+ -1|0)>>>0>=2){c[m>>2]=l;c[n+4>>2]=1;c[n+8>>2]=2;Qe(0,162328,n);tc()}m=b+8|0;if((l|0)==1){o=+(c[m>>2]|0)}else{o=+h[m>>3]}k=k+o;l=c[b+16>>2]|0;if((l+ -1|0)>>>0>=2){c[g>>2]=l;c[j+4>>2]=1;c[j+8>>2]=2;Qe(0,162328,j);tc()}b=b+24|0;if((l|0)==1){o=+(c[b>>2]|0)}else{o=+h[b>>3]}h[f+568>>3]=-0.0-o;n=c[d>>2]|0;m=n+616|0;o=o+ +h[m>>3];h[n+608>>3]=k;h[m>>3]=o;h[n+592>>3]=+h[n+528>>3]+(k*+h[n+496>>3]+o*+h[n+512>>3]);h[n+600>>3]=+h[n+536>>3]+(k*+h[n+504>>3]+o*+h[n+520>>3]);n=c[a+8>>2]|0;hd[c[(c[n>>2]|0)+204>>2]&127](n,c[d>>2]|0);i=e;return}function yw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0;e=i;m=i;i=i+8|0;n=i;i=i+16|0;f=n;q=i;i=i+8|0;p=q;o=i;i=i+8|0;l=i;i=i+16|0;j=l;c[l>>2]=13;k=j+8|0;c[k>>2]=0;c[k+4>>2]=0;g=b+28|0;r=c[g>>2]|0;if((c[r+484>>2]|0)==0){b=c[b+120>>2]|0;do{if((b|0)==0){b=-1}else{b=c[b+4>>2]|0;if((c[b+16>>2]|0)!=8){b=-1;break}b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}}while(0);Qe(b,161168,o);i=e;return}s=b+48|0;o=b+8|0;if((a[s]&1)!=0){v=c[o>>2]|0;hd[c[(c[v>>2]|0)+176>>2]&127](v,r);a[s]=0;r=c[g>>2]|0}s=c[o>>2]|0;hd[c[(c[s>>2]|0)+268>>2]&127](s,r);r=c[(c[g>>2]|0)+484>>2]|0;r=jd[c[(c[r>>2]|0)+8>>2]&511](r)|0;s=c[d>>2]|0;if((s|0)!=6){c[q>>2]=s;c[p+4>>2]=6;Qe(0,162256,p);tc()}p=c[d+8>>2]|0;d=p+12|0;a:do{if((c[d>>2]|0)>0){r=(r|0)==0;q=b+120|0;s=0;b:while(1){ut(p,s,j)|0;v=c[l>>2]|0;do{if((v+ -1|0)>>>0<2){t=c[g>>2]|0;if((v|0)==1){u=+(c[k>>2]|0)}else{u=+h[k>>3]}u=u*-.001*+S(+(+h[t+488>>3]));if(r){VB(t,u,0.0)}else{VB(t,0.0,u)}t=c[o>>2]|0;v=c[l>>2]|0;if((v+ -1|0)>>>0>=2){break b}if((v|0)==1){u=+(c[k>>2]|0)}else{u=+h[k>>3]}Id[c[(c[t>>2]|0)+208>>2]&3](t,c[g>>2]|0,u)}else{if((v|0)==3){Ox(b,c[k>>2]|0);break}t=c[q>>2]|0;do{if((t|0)==0){t=-1}else{t=c[t+4>>2]|0;if((c[t+16>>2]|0)!=8){t=-1;break}t=c[t+24>>2]|0;t=jd[c[(c[t>>2]|0)+48>>2]&511](t)|0}}while(0);Qe(t,161192,m)}}while(0);Of(j);s=s+1|0;if((s|0)>=(c[d>>2]|0)){break a}}c[n>>2]=v;c[f+4>>2]=1;c[f+8>>2]=2;Qe(0,162328,f);tc()}}while(0);v=c[o>>2]|0;hd[c[(c[v>>2]|0)+272>>2]&127](v,c[g>>2]|0);i=e;return}function zw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0.0;d=i;g=i;i=i+16|0;f=g;a=c[a+28>>2]|0;e=c[b>>2]|0;if((e+ -1|0)>>>0>=2){c[g>>2]=e;c[f+4>>2]=1;c[f+8>>2]=2;Qe(0,162328,f);tc()}b=b+8|0;if((e|0)==1){j=+(c[b>>2]|0);g=a+568|0;h[g>>3]=j;i=d;return}else{j=+h[b>>3];g=a+568|0;h[g>>3]=j;i=d;return}}function Aw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0;e=i;j=i;i=i+16|0;k=j;d=a+28|0;f=c[d>>2]|0;g=c[b>>2]|0;if((g+ -1|0)>>>0>=2){c[j>>2]=g;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}b=b+8|0;if((g|0)==1){l=+(c[b>>2]|0)}else{l=+h[b>>3]}h[f+544>>3]=l;k=c[a+8>>2]|0;hd[c[(c[k>>2]|0)+184>>2]&127](k,c[d>>2]|0);i=e;return}function Bw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0;e=i;j=i;i=i+16|0;k=j;o=i;i=i+16|0;p=o;d=a+28|0;f=c[d>>2]|0;g=f+608|0;l=+h[g>>3];n=c[b>>2]|0;if((n+ -1|0)>>>0>=2){c[o>>2]=n;c[p+4>>2]=1;c[p+8>>2]=2;Qe(0,162328,p);tc()}o=b+8|0;if((n|0)==1){m=+(c[o>>2]|0)}else{m=+h[o>>3]}m=l+m;n=f+616|0;l=+h[n>>3];o=c[b+16>>2]|0;if((o+ -1|0)>>>0>=2){c[j>>2]=o;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}b=b+24|0;if((o|0)==1){q=+(c[b>>2]|0)}else{q=+h[b>>3]}q=l+q;h[g>>3]=m;h[n>>3]=q;h[f+592>>3]=+h[f+528>>3]+(m*+h[f+496>>3]+q*+h[f+512>>3]);h[f+600>>3]=+h[f+536>>3]+(m*+h[f+504>>3]+q*+h[f+520>>3]);p=c[a+8>>2]|0;hd[c[(c[p>>2]|0)+204>>2]&127](p,c[d>>2]|0);i=e;return}function Cw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0.0;e=i;f=i;i=i+16|0;g=f;j=i;i=i+16|0;l=j;o=i;i=i+16|0;n=o;p=i;i=i+16|0;q=p;t=i;i=i+8|0;s=t;u=i;i=i+8|0;w=u;m=c[b+20>>2]|0;v=c[d>>2]|0;if((v|0)!=4){c[u>>2]=v;c[w+4>>2]=4;Qe(0,162256,w);tc()}u=c[d+8>>2]|0;a:do{if((m|0)!=0){v=m;while(1){m=c[v>>2]|0;if((m|0)!=0){m=wy(m,u)|0;if((m|0)!=0){break}}v=c[v+112>>2]|0;if((v|0)==0){break a}}if((a[b+13|0]&1)==0){s=d+16|0}else{p=c[(c[m+8>>2]|0)+28>>2]|0;q=c[m+20>>2]|0;if((q|0)==0){q=161088}else{q=c[q+28>>2]|0}s=d+16|0;t=c[s>>2]|0;if((t+ -1|0)>>>0>=2){c[o>>2]=t;c[n+4>>2]=1;c[n+8>>2]=2;Qe(0,162328,n);tc()}n=d+24|0;if((t|0)==1){x=+(c[n>>2]|0)}else{x=+h[n>>3]}c[j>>2]=p;c[l+4>>2]=q;w=l+8|0;h[k>>3]=x;c[w>>2]=c[k>>2];c[w+4>>2]=c[k+4>>2];Kb(161056,l|0)|0;Fc(c[r>>2]|0)|0}Xx(m);j=c[b+28>>2]|0;l=c[s>>2]|0;if((l+ -1|0)>>>0>=2){c[f>>2]=l;c[g+4>>2]=1;c[g+8>>2]=2;Qe(0,162328,g);tc()}d=d+24|0;if((l|0)==1){x=+(c[d>>2]|0)}else{x=+h[d>>3]}PB(j,m,x);a[b+48|0]=1;i=e;return}}while(0);c[t>>2]=u;Qe(-1,159272,s);f=c[b+28>>2]|0;g=c[d+16>>2]|0;if((g+ -1|0)>>>0>=2){c[p>>2]=g;c[q+4>>2]=1;c[q+8>>2]=2;Qe(0,162328,q);tc()}d=d+24|0;if((g|0)==1){x=+(c[d>>2]|0)}else{x=+h[d>>3]}PB(f,0,x);a[b+48|0]=1;i=e;return}function Dw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;g=i;i=i+8|0;h=g;j=i;i=i+8|0;f=b+28|0;k=c[f>>2]|0;if((c[k+484>>2]|0)==0){b=c[b+120>>2]|0;do{if((b|0)==0){b=-1}else{b=c[b+4>>2]|0;if((c[b+16>>2]|0)!=8){b=-1;break}b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}}while(0);Qe(b,161096,j);i=e;return}l=b+48|0;j=b+8|0;if((a[l]&1)!=0){m=c[j>>2]|0;hd[c[(c[m>>2]|0)+176>>2]&127](m,k);a[l]=0;k=c[f>>2]|0}m=c[j>>2]|0;hd[c[(c[m>>2]|0)+268>>2]&127](m,k);k=c[d>>2]|0;if((k|0)!=3){c[g>>2]=k;c[h+4>>2]=3;Qe(0,162256,h);tc()}Ox(b,c[d+8>>2]|0);m=c[j>>2]|0;hd[c[(c[m>>2]|0)+272>>2]&127](m,c[f>>2]|0);i=e;return}function Ew(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0.0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0.0,B=0.0;f=i;k=i;i=i+16|0;j=k;n=i;i=i+16|0;m=n;q=i;i=i+16|0;p=q;s=i;i=i+16|0;r=s;v=i;i=i+16|0;u=v;z=i;i=i+16|0;y=z;g=b+28|0;e=c[g>>2]|0;w=c[d>>2]|0;if((w+ -1|0)>>>0>=2){c[z>>2]=w;c[y+4>>2]=1;c[y+8>>2]=2;Qe(0,162328,y);tc()}y=d+8|0;if((w|0)==1){l=+(c[y>>2]|0)}else{l=+h[y>>3]}w=c[d+16>>2]|0;if((w+ -1|0)>>>0>=2){c[v>>2]=w;c[u+4>>2]=1;c[u+8>>2]=2;Qe(0,162328,u);tc()}u=d+24|0;if((w|0)==1){o=+(c[u>>2]|0)}else{o=+h[u>>3]}u=c[d+32>>2]|0;if((u+ -1|0)>>>0>=2){c[s>>2]=u;c[r+4>>2]=1;c[r+8>>2]=2;Qe(0,162328,r);tc()}r=d+40|0;if((u|0)==1){t=+(c[r>>2]|0)}else{t=+h[r>>3]}r=c[d+48>>2]|0;if((r+ -1|0)>>>0>=2){c[q>>2]=r;c[p+4>>2]=1;c[p+8>>2]=2;Qe(0,162328,p);tc()}p=d+56|0;if((r|0)==1){x=+(c[p>>2]|0)}else{x=+h[p>>3]}p=c[d+64>>2]|0;if((p+ -1|0)>>>0>=2){c[n>>2]=p;c[m+4>>2]=1;c[m+8>>2]=2;Qe(0,162328,m);tc()}m=d+72|0;if((p|0)==1){A=+(c[m>>2]|0)}else{A=+h[m>>3]}m=c[d+80>>2]|0;if((m+ -1|0)>>>0>=2){c[k>>2]=m;c[j+4>>2]=1;c[j+8>>2]=2;Qe(0,162328,j);tc()}d=d+88|0;if((m|0)==1){B=+(c[d>>2]|0)}else{B=+h[d>>3]}h[e+496>>3]=l;h[e+504>>3]=o;h[e+512>>3]=t;h[e+520>>3]=x;h[e+528>>3]=A;h[e+536>>3]=B;z=c[g>>2]|0;bX(z+608|0,0,16)|0;h[z+592>>3]=+h[z+528>>3]+(+h[z+496>>3]*0.0+ +h[z+512>>3]*0.0);h[z+600>>3]=+h[z+536>>3]+(+h[z+504>>3]*0.0+ +h[z+520>>3]*0.0);z=b+8|0;y=c[z>>2]|0;hd[c[(c[y>>2]|0)+180>>2]&127](y,c[g>>2]|0);z=c[z>>2]|0;hd[c[(c[z>>2]|0)+204>>2]&127](z,c[g>>2]|0);a[b+48|0]=1;i=f;return}function Fw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;j=i;i=i+8|0;k=j;o=i;i=i+8|0;n=o;f=b+28|0;l=(c[f>>2]|0)+584|0;h=c[l>>2]|0;m=c[d>>2]|0;if((m|0)!=1){c[o>>2]=m;c[n+4>>2]=1;Qe(0,162256,n);tc()}m=d+8|0;c[l>>2]=c[m>>2];d=c[d>>2]|0;if((d|0)!=1){c[j>>2]=d;c[k+4>>2]=1;Qe(0,162256,k);tc()}k=(c[m>>2]&4|0)==0;do{if(k){g=11}else{j=b+15|0;if((a[j]&1)==0){g=11;break}if((a[b+16|0]&1)==0){g=11;break}h=b+8|0;o=c[h>>2]|0;o=Bd[c[(c[o>>2]|0)+304>>2]&255](o,c[f>>2]|0)|0;n=c[h>>2]|0;hd[c[(c[n>>2]|0)+308>>2]&127](n,c[f>>2]|0);if(o){Bx(b,1)}o=c[h>>2]|0;hd[c[(c[o>>2]|0)+84>>2]&127](o,c[f>>2]|0);o=c[h>>2]|0;hd[c[(c[o>>2]|0)+300>>2]&127](o,c[f>>2]|0);o=c[h>>2]|0;hd[c[(c[o>>2]|0)+180>>2]&127](o,c[f>>2]|0);o=c[h>>2]|0;hd[c[(c[o>>2]|0)+204>>2]&127](o,c[f>>2]|0);a[j]=0}}while(0);do{if((g|0)==11){if((h&4|0)==0|k^1){break}g=b+8|0;o=c[g>>2]|0;if(!(Bd[c[(c[o>>2]|0)+40>>2]&255](o,c[f>>2]|0)|0)){break}if((a[b+16|0]&1)==0){break}o=c[g>>2]|0;hd[c[(c[o>>2]|0)+300>>2]&127](o,c[f>>2]|0);a[b+15|0]=1}}while(0);o=c[b+8>>2]|0;hd[c[(c[o>>2]|0)+188>>2]&127](o,c[f>>2]|0);i=e;return}function Gw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0;e=i;j=i;i=i+16|0;k=j;d=a+28|0;f=c[d>>2]|0;g=c[b>>2]|0;if((g+ -1|0)>>>0>=2){c[j>>2]=g;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}b=b+8|0;if((g|0)==1){l=+(c[b>>2]|0)}else{l=+h[b>>3]}h[f+576>>3]=l;k=c[a+8>>2]|0;hd[c[(c[k>>2]|0)+192>>2]&127](k,c[d>>2]|0);i=e;return}function Hw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0;e=i;j=i;i=i+16|0;k=j;d=a+28|0;f=c[d>>2]|0;g=c[b>>2]|0;if((g+ -1|0)>>>0>=2){c[j>>2]=g;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}b=b+8|0;if((g|0)==1){l=+(c[b>>2]|0)}else{l=+h[b>>3]}h[f+552>>3]=l;k=c[a+8>>2]|0;hd[c[(c[k>>2]|0)+196>>2]&127](k,c[d>>2]|0);i=e;return}function Iw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0.0;f=i;k=i;i=i+16|0;l=k;e=b+28|0;g=c[e>>2]|0;j=c[d>>2]|0;if((j+ -1|0)>>>0>=2){c[k>>2]=j;c[l+4>>2]=1;c[l+8>>2]=2;Qe(0,162328,l);tc()}d=d+8|0;if((j|0)==1){m=+(c[d>>2]|0)}else{m=+h[d>>3]}h[g+560>>3]=m*.01;l=c[b+8>>2]|0;hd[c[(c[l>>2]|0)+200>>2]&127](l,c[e>>2]|0);a[b+48|0]=1;i=f;return}function Jw(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=1;i=i;return}function Kw(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=2;i=i;return}function Lw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0;e=i;d=b+28|0;g=c[d>>2]|0;j=g+588|0;k=c[j>>2]|0;a:do{if((c[k+28>>2]|0)>0){l=c[b+116>>2]|0;b:do{if((l|0)!=0){if((a[l]&1)!=0){break a}while(1){l=c[l+4>>2]|0;if((l|0)==0){break b}if((a[l]&1)!=0){break a}}}}while(0);xB(k);k=c[j>>2]|0;l=k+28|0;k=k+24|0;j=c[(c[k>>2]|0)+((c[l>>2]|0)+ -1<<2)>>2]|0;h[g+592>>3]=+h[(c[j>>2]|0)+((c[j+12>>2]|0)+ -1<<3)>>3];l=c[(c[k>>2]|0)+((c[l>>2]|0)+ -1<<2)>>2]|0;h[g+600>>3]=+h[(c[l+4>>2]|0)+((c[l+12>>2]|0)+ -1<<3)>>3];l=c[(c[d>>2]|0)+116>>2]|0;if((jd[c[(c[l>>2]|0)+12>>2]&511](l)|0)==10){Bx(b,0)}else{l=c[b+8>>2]|0;hd[c[(c[l>>2]|0)+216>>2]&127](l,c[d>>2]|0)}l=c[(c[d>>2]|0)+120>>2]|0;if((jd[c[(c[l>>2]|0)+12>>2]&511](l)|0)==10){Cx(b);break}else{l=c[b+8>>2]|0;hd[c[(c[l>>2]|0)+212>>2]&127](l,c[d>>2]|0);break}}else{if((a[k]&1)!=0){break}i=e;return}}while(0);g=c[d>>2]|0;j=c[g+588>>2]|0;do{if((c[j+28>>2]|0)>0){f=16}else{if((a[j]&1)!=0){f=16;break}b=b+52|0}}while(0);do{if((f|0)==16){f=b+52|0;if((c[f>>2]|0)==0){b=f;break}TB(g);g=c[b+8>>2]|0;b=c[g>>2]|0;if((c[f>>2]|0)==1){hd[c[b+256>>2]&127](g,c[d>>2]|0);b=f;break}else{hd[c[b+260>>2]&127](g,c[d>>2]|0);b=f;break}}}while(0);c[b>>2]=0;SB(c[d>>2]|0);i=e;return}function Mw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0;e=i;d=b+28|0;g=c[d>>2]|0;j=g+588|0;k=c[j>>2]|0;a:do{if((c[k+28>>2]|0)>0){l=c[b+116>>2]|0;b:do{if((l|0)!=0){if((a[l]&1)!=0){break a}while(1){l=c[l+4>>2]|0;if((l|0)==0){break b}if((a[l]&1)!=0){break a}}}}while(0);xB(k);k=c[j>>2]|0;l=k+28|0;k=k+24|0;j=c[(c[k>>2]|0)+((c[l>>2]|0)+ -1<<2)>>2]|0;h[g+592>>3]=+h[(c[j>>2]|0)+((c[j+12>>2]|0)+ -1<<3)>>3];l=c[(c[k>>2]|0)+((c[l>>2]|0)+ -1<<2)>>2]|0;h[g+600>>3]=+h[(c[l+4>>2]|0)+((c[l+12>>2]|0)+ -1<<3)>>3];l=c[(c[d>>2]|0)+116>>2]|0;if((jd[c[(c[l>>2]|0)+12>>2]&511](l)|0)==10){Bx(b,1)}else{l=c[b+8>>2]|0;hd[c[(c[l>>2]|0)+220>>2]&127](l,c[d>>2]|0)}l=c[(c[d>>2]|0)+120>>2]|0;if((jd[c[(c[l>>2]|0)+12>>2]&511](l)|0)==10){Cx(b);break}else{l=c[b+8>>2]|0;hd[c[(c[l>>2]|0)+212>>2]&127](l,c[d>>2]|0);break}}else{if((a[k]&1)!=0){break}i=e;return}}while(0);g=c[d>>2]|0;j=c[g+588>>2]|0;do{if((c[j+28>>2]|0)>0){f=16}else{if((a[j]&1)!=0){f=16;break}b=b+52|0}}while(0);do{if((f|0)==16){f=b+52|0;if((c[f>>2]|0)==0){b=f;break}TB(g);g=c[b+8>>2]|0;b=c[g>>2]|0;if((c[f>>2]|0)==1){hd[c[b+256>>2]&127](g,c[d>>2]|0);b=f;break}else{hd[c[b+260>>2]&127](g,c[d>>2]|0);b=f;break}}}while(0);c[b>>2]=0;SB(c[d>>2]|0);i=e;return}function Nw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0;e=i;j=i;i=i+16|0;k=j;m=i;i=i+16|0;l=m;p=i;i=i+16|0;o=p;s=i;i=i+16|0;r=s;u=i;i=i+16|0;t=u;y=i;i=i+16|0;x=y;w=i;i=i+8|0;g=c[b+28>>2]|0;f=c[g+588>>2]|0;do{if((c[f+28>>2]|0)<=0){if((a[f]&1)!=0){break}f=c[b+120>>2]|0;do{if((f|0)==0){f=-1}else{f=c[f+4>>2]|0;if((c[f+16>>2]|0)!=8){f=-1;break}f=c[f+24>>2]|0;f=jd[c[(c[f>>2]|0)+48>>2]&511](f)|0}}while(0);Qe(f,160776,w);i=e;return}}while(0);w=c[d>>2]|0;if((w+ -1|0)>>>0>=2){c[y>>2]=w;c[x+4>>2]=1;c[x+8>>2]=2;Qe(0,162328,x);tc()}b=d+8|0;if((w|0)==1){n=+(c[b>>2]|0)}else{n=+h[b>>3]}w=c[d+16>>2]|0;if((w+ -1|0)>>>0>=2){c[u>>2]=w;c[t+4>>2]=1;c[t+8>>2]=2;Qe(0,162328,t);tc()}t=d+24|0;if((w|0)==1){q=+(c[t>>2]|0)}else{q=+h[t>>3]}t=c[d+32>>2]|0;if((t+ -1|0)>>>0>=2){c[s>>2]=t;c[r+4>>2]=1;c[r+8>>2]=2;Qe(0,162328,r);tc()}r=d+40|0;if((t|0)==1){v=+(c[r>>2]|0)}else{v=+h[r>>3]}r=c[d+48>>2]|0;if((r+ -1|0)>>>0>=2){c[p>>2]=r;c[o+4>>2]=1;c[o+8>>2]=2;Qe(0,162328,o);tc()}o=d+56|0;if((r|0)==1){z=+(c[o>>2]|0)}else{z=+h[o>>3]}o=c[d+64>>2]|0;if((o+ -1|0)>>>0>=2){c[m>>2]=o;c[l+4>>2]=1;c[l+8>>2]=2;Qe(0,162328,l);tc()}l=d+72|0;if((o|0)==1){A=+(c[l>>2]|0)}else{A=+h[l>>3]}l=c[d+80>>2]|0;if((l+ -1|0)>>>0>=2){c[j>>2]=l;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}d=d+88|0;if((l|0)==1){B=+(c[d>>2]|0)}else{B=+h[d>>3]}h[g+592>>3]=A;h[g+600>>3]=B;wB(f,n,q,v,z,A,B);i=e;return}function Ow(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0,N=0.0;g=i;f=i;i=i+16|0;e=f;j=i;i=i+16|0;k=j;l=i;i=i+16|0;m=l;o=i;i=i+16|0;n=o;q=i;i=i+16|0;p=q;r=i;i=i+16|0;s=r;F=i;i=i+16|0;D=F;G=i;i=i+16|0;E=G;B=i;i=i+16|0;C=B;A=i;i=i+16|0;y=A;x=i;i=i+16|0;w=x;u=i;i=i+16|0;M=u;t=b+28|0;z=c[t>>2]|0;v=c[d>>2]|0;if((v+ -1|0)>>>0>=2){c[u>>2]=v;c[M+4>>2]=1;c[M+8>>2]=2;Qe(0,162328,M);tc()}u=d+8|0;if((v|0)==1){H=+(c[u>>2]|0)}else{H=+h[u>>3]}v=d+16|0;M=c[v>>2]|0;if((M+ -1|0)>>>0>=2){c[x>>2]=M;c[w+4>>2]=1;c[w+8>>2]=2;Qe(0,162328,w);tc()}x=d+24|0;if((M|0)==1){I=+(c[x>>2]|0)}else{I=+h[x>>3]}w=d+32|0;M=c[w>>2]|0;if((M+ -1|0)>>>0>=2){c[A>>2]=M;c[y+4>>2]=1;c[y+8>>2]=2;Qe(0,162328,y);tc()}y=d+40|0;if((M|0)==1){J=+(c[y>>2]|0)}else{J=+h[y>>3]}A=d+48|0;M=c[A>>2]|0;if((M+ -1|0)>>>0>=2){c[B>>2]=M;c[C+4>>2]=1;c[C+8>>2]=2;Qe(0,162328,C);tc()}B=d+56|0;if((M|0)==1){K=+(c[B>>2]|0)}else{K=+h[B>>3]}C=d+64|0;M=c[C>>2]|0;if((M+ -1|0)>>>0>=2){c[G>>2]=M;c[E+4>>2]=1;c[E+8>>2]=2;Qe(0,162328,E);tc()}G=d+72|0;if((M|0)==1){L=+(c[G>>2]|0)}else{L=+h[G>>3]}E=d+80|0;M=c[E>>2]|0;if((M+ -1|0)>>>0>=2){c[F>>2]=M;c[D+4>>2]=1;c[D+8>>2]=2;Qe(0,162328,D);tc()}D=d+88|0;if((M|0)==1){N=+(c[D>>2]|0)}else{N=+h[D>>3]}JB(z,H,I,J,K,L,N);z=c[b+8>>2]|0;F=c[(c[z>>2]|0)+92>>2]|0;t=c[t>>2]|0;d=c[d>>2]|0;if((d+ -1|0)>>>0>=2){c[r>>2]=d;c[s+4>>2]=1;c[s+8>>2]=2;Qe(0,162328,s);tc()}if((d|0)==1){H=+(c[u>>2]|0)}else{H=+h[u>>3]}r=c[v>>2]|0;if((r+ -1|0)>>>0>=2){c[q>>2]=r;c[p+4>>2]=1;c[p+8>>2]=2;Qe(0,162328,p);tc()}if((r|0)==1){I=+(c[x>>2]|0)}else{I=+h[x>>3]}p=c[w>>2]|0;if((p+ -1|0)>>>0>=2){c[o>>2]=p;c[n+4>>2]=1;c[n+8>>2]=2;Qe(0,162328,n);tc()}if((p|0)==1){J=+(c[y>>2]|0)}else{J=+h[y>>3]}n=c[A>>2]|0;if((n+ -1|0)>>>0>=2){c[l>>2]=n;c[m+4>>2]=1;c[m+8>>2]=2;Qe(0,162328,m);tc()}if((n|0)==1){K=+(c[B>>2]|0)}else{K=+h[B>>3]}l=c[C>>2]|0;if((l+ -1|0)>>>0>=2){c[j>>2]=l;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}if((l|0)==1){L=+(c[G>>2]|0)}else{L=+h[G>>3]}j=c[E>>2]|0;if((j+ -1|0)>>>0>=2){c[f>>2]=j;c[e+4>>2]=1;c[e+8>>2]=2;Qe(0,162328,e);tc()}if((j|0)==1){N=+(c[D>>2]|0);M=F;Ed[M&3](z,t,H,I,J,K,L,N);M=b+48|0;a[M]=1;i=g;return}else{N=+h[D>>3];M=F;Ed[M&3](z,t,H,I,J,K,L,N);M=b+48|0;a[M]=1;i=g;return}}function Pw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;h=i;i=i+8|0;q=i;i=i+8|0;p=q;l=i;i=i+16|0;k=l;g=i;i=i+128|0;f=g;c[l>>2]=13;n=k+8|0;c[n>>2]=0;m=n+4|0;c[m>>2]=0;o=c[b+20>>2]|0;r=c[d>>2]|0;if((r|0)!=4){c[q>>2]=r;c[p+4>>2]=4;Qe(0,162256,p);tc()}p=c[d+8>>2]|0;a:do{if((o|0)==0){j=8}else{while(1){if((c[o+24>>2]|0)==7){if((c[(Yu(c[o+32>>2]|0,p,k,0)|0)>>2]|0)!=5){break}Of(k)}o=c[o+112>>2]|0;if((o|0)==0){j=8;break a}}if((c[l>>2]|0)==5){j=10;break}d=Jy(k,b)|0}}while(0);if((j|0)==8){c[n>>2]=0;c[m>>2]=0;c[l>>2]=5;j=10}if((j|0)==10){d=Jy(d,b)|0}Of(k);if((d|0)==0){b=c[b+120>>2]|0;do{if((b|0)==0){b=-1}else{b=c[b+4>>2]|0;if((c[b+16>>2]|0)!=8){b=-1;break}b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}}while(0);Qe(b,160496,h);i=e;return}h=b+15|0;do{if((a[h]&1)!=0){if((a[b+16|0]&1)==0){break}j=b+8|0;r=c[j>>2]|0;k=b+28|0;r=Bd[c[(c[r>>2]|0)+304>>2]&255](r,c[k>>2]|0)|0;q=c[j>>2]|0;hd[c[(c[q>>2]|0)+308>>2]&127](q,c[k>>2]|0);if(r){Bx(b,1)}r=c[j>>2]|0;hd[c[(c[r>>2]|0)+84>>2]&127](r,c[k>>2]|0)}}while(0);j=b+28|0;NB(c[j>>2]|0,0);LB(c[j>>2]|0,d);k=b+8|0;r=c[k>>2]|0;hd[c[(c[r>>2]|0)+132>>2]&127](r,c[j>>2]|0);hd[c[(c[d>>2]|0)+48>>2]&127](d,f);$W((c[j>>2]|0)+124|0,g|0,128)|0;r=c[k>>2]|0;hd[c[(c[r>>2]|0)+140>>2]&127](r,c[j>>2]|0);if((a[h]&1)!=0){r=c[k>>2]|0;hd[c[(c[r>>2]|0)+300>>2]&127](r,c[j>>2]|0);r=c[k>>2]|0;hd[c[(c[r>>2]|0)+188>>2]&127](r,c[j>>2]|0);r=c[k>>2]|0;hd[c[(c[r>>2]|0)+180>>2]&127](r,c[j>>2]|0);r=c[k>>2]|0;hd[c[(c[r>>2]|0)+204>>2]&127](r,c[j>>2]|0);a[h]=(jd[c[(c[d>>2]|0)+12>>2]&511](d)|0)==10|0;i=e;return}if((a[b+16|0]&1)==0){i=e;return}r=c[k>>2]|0;if(!(Bd[c[(c[r>>2]|0)+40>>2]&255](r,c[j>>2]|0)|0)){i=e;return}r=c[k>>2]|0;hd[c[(c[r>>2]|0)+300>>2]&127](r,c[j>>2]|0);a[h]=1;i=e;return}function Qw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;d=i;f=i;i=i+16|0;g=f;l=i;i=i+16|0;k=l;o=i;i=i+8|0;n=o;j=i;i=i+16|0;m=j;c[j>>2]=13;j=m+8|0;c[j>>2]=0;c[j+4>>2]=0;j=c[b>>2]|0;if((j|0)!=6){c[o>>2]=j;c[n+4>>2]=6;Qe(0,162256,n);tc()}n=c[b+8>>2]|0;j=c[n+12>>2]|0;a:do{if((j|0)==0){e=0}else{o=ye(j,8)|0;if((j|0)>0){p=0}else{e=o;break}while(1){r=ut(n,p,m)|0;q=c[r>>2]|0;if((q+ -1|0)>>>0>=2){break}r=r+8|0;if((q|0)==1){s=+(c[r>>2]|0)}else{s=+h[r>>3]}h[o+(p<<3)>>3]=s;Of(m);p=p+1|0;if((p|0)>=(j|0)){e=o;break a}}c[l>>2]=q;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}}while(0);l=a+28|0;k=c[l>>2]|0;m=c[b+16>>2]|0;if((m+ -1|0)>>>0>=2){c[f>>2]=m;c[g+4>>2]=1;c[g+8>>2]=2;Qe(0,162328,g);tc()}b=b+24|0;if((m|0)==1){s=+(c[b>>2]|0);RB(k,e,j,s);q=a+8|0;q=c[q>>2]|0;p=q;p=c[p>>2]|0;p=p+96|0;p=c[p>>2]|0;r=l;r=c[r>>2]|0;hd[p&127](q,r);i=d;return}else{s=+h[b>>3];RB(k,e,j,s);q=a+8|0;q=c[q>>2]|0;p=q;p=c[p>>2]|0;p=p+96|0;p=c[p>>2]|0;r=l;r=c[r>>2]|0;hd[p&127](q,r);i=d;return}}function Rw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;e=i;g=i;i=i+16|0;j=g;m=i;i=i+16|0;l=m;d=c[a+8>>2]|0;f=c[(c[d>>2]|0)+352>>2]|0;a=c[a+28>>2]|0;k=c[b>>2]|0;if((k+ -1|0)>>>0>=2){c[m>>2]=k;c[l+4>>2]=1;c[l+8>>2]=2;Qe(0,162328,l);tc()}l=b+8|0;if((k|0)==1){n=+(c[l>>2]|0)}else{n=+h[l>>3]}k=c[b+16>>2]|0;if((k+ -1|0)>>>0>=2){c[g>>2]=k;c[j+4>>2]=1;c[j+8>>2]=2;Qe(0,162328,j);tc()}b=b+24|0;if((k|0)==1){o=+(c[b>>2]|0);m=f;kd[m&1](d,a,n,o);i=e;return}else{o=+h[b>>3];m=f;kd[m&1](d,a,n,o);i=e;return}}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0.0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0;e=i;j=i;i=i+16|0;g=j;k=i;i=i+16|0;l=k;n=i;i=i+16|0;o=n;r=i;i=i+16|0;q=r;t=i;i=i+16|0;s=t;x=i;i=i+16|0;w=x;f=c[a+8>>2]|0;d=c[(c[f>>2]|0)+356>>2]|0;a=c[a+28>>2]|0;v=c[b>>2]|0;if((v+ -1|0)>>>0>=2){c[x>>2]=v;c[w+4>>2]=1;c[w+8>>2]=2;Qe(0,162328,w);tc()}w=b+8|0;if((v|0)==1){m=+(c[w>>2]|0)}else{m=+h[w>>3]}v=c[b+16>>2]|0;if((v+ -1|0)>>>0>=2){c[t>>2]=v;c[s+4>>2]=1;c[s+8>>2]=2;Qe(0,162328,s);tc()}s=b+24|0;if((v|0)==1){p=+(c[s>>2]|0)}else{p=+h[s>>3]}s=c[b+32>>2]|0;if((s+ -1|0)>>>0>=2){c[r>>2]=s;c[q+4>>2]=1;c[q+8>>2]=2;Qe(0,162328,q);tc()}q=b+40|0;if((s|0)==1){u=+(c[q>>2]|0)}else{u=+h[q>>3]}q=c[b+48>>2]|0;if((q+ -1|0)>>>0>=2){c[n>>2]=q;c[o+4>>2]=1;c[o+8>>2]=2;Qe(0,162328,o);tc()}n=b+56|0;if((q|0)==1){y=+(c[n>>2]|0)}else{y=+h[n>>3]}n=c[b+64>>2]|0;if((n+ -1|0)>>>0>=2){c[k>>2]=n;c[l+4>>2]=1;c[l+8>>2]=2;Qe(0,162328,l);tc()}k=b+72|0;if((n|0)==1){z=+(c[k>>2]|0)}else{z=+h[k>>3]}k=c[b+80>>2]|0;if((k+ -1|0)>>>0>=2){c[j>>2]=k;c[g+4>>2]=1;c[g+8>>2]=2;Qe(0,162328,g);tc()}b=b+88|0;if((k|0)==1){A=+(c[b>>2]|0);x=d;Ed[x&3](f,a,m,p,u,y,z,A);i=e;return}else{A=+h[b>>3];x=d;Ed[x&3](f,a,m,p,u,y,z,A);i=e;return}}function Tw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;e=i;d=b+28|0;g=c[d>>2]|0;h=c[g+588>>2]|0;a:do{if((c[h+28>>2]|0)>0){h=c[b+116>>2]|0;b:do{if((h|0)!=0){if((a[h]&1)!=0){break a}while(1){h=c[h+4>>2]|0;if((h|0)==0){break b}if((a[h]&1)!=0){break a}}}}while(0);h=c[g+116>>2]|0;if((jd[c[(c[h>>2]|0)+12>>2]&511](h)|0)==10){Bx(b,1);break}else{h=c[b+8>>2]|0;hd[c[(c[h>>2]|0)+220>>2]&127](h,c[d>>2]|0);break}}else{if((a[h]&1)!=0){break}i=e;return}}while(0);g=c[d>>2]|0;h=c[g+588>>2]|0;do{if((c[h+28>>2]|0)>0){f=13}else{if((a[h]&1)!=0){f=13;break}b=b+52|0}}while(0);do{if((f|0)==13){f=b+52|0;if((c[f>>2]|0)==0){b=f;break}TB(g);b=c[b+8>>2]|0;g=c[b>>2]|0;if((c[f>>2]|0)==1){hd[c[g+256>>2]&127](b,c[d>>2]|0);b=f;break}else{hd[c[g+260>>2]&127](b,c[d>>2]|0);b=f;break}}}while(0);c[b>>2]=0;SB(c[d>>2]|0);i=e;return}function Uw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0;e=i;k=i;i=i+16|0;j=k;g=i;i=i+128|0;f=b+15|0;do{if((a[f]&1)!=0){if((a[b+16|0]&1)==0){break}l=b+8|0;o=c[l>>2]|0;m=b+28|0;o=Bd[c[(c[o>>2]|0)+304>>2]&255](o,c[m>>2]|0)|0;p=c[l>>2]|0;hd[c[(c[p>>2]|0)+308>>2]&127](p,c[m>>2]|0);if(o){Bx(b,1)}p=c[l>>2]|0;hd[c[(c[p>>2]|0)+84>>2]&127](p,c[m>>2]|0)}}while(0);l=b+28|0;NB(c[l>>2]|0,0);p=c[l>>2]|0;m=FW(4)|0;Ty(m);LB(p,m);b=b+8|0;m=c[b>>2]|0;hd[c[(c[m>>2]|0)+132>>2]&127](m,c[l>>2]|0);m=c[d>>2]|0;if((m+ -1|0)>>>0>=2){c[k>>2]=m;c[j+4>>2]=1;c[j+8>>2]=2;Qe(0,162328,j);tc()}d=d+8|0;if((m|0)==1){n=+(c[d>>2]|0)}else{n=+h[d>>3]}p=c[l>>2]|0;c[p+124>>2]=~~(n*65536.0);$W(p+128|0,g|0,124)|0;p=c[b>>2]|0;hd[c[(c[p>>2]|0)+140>>2]&127](p,c[l>>2]|0);if((a[f]&1)==0){i=e;return}p=c[b>>2]|0;hd[c[(c[p>>2]|0)+300>>2]&127](p,c[l>>2]|0);p=c[b>>2]|0;hd[c[(c[p>>2]|0)+188>>2]&127](p,c[l>>2]|0);p=c[b>>2]|0;hd[c[(c[p>>2]|0)+180>>2]&127](p,c[l>>2]|0);p=c[b>>2]|0;hd[c[(c[p>>2]|0)+204>>2]&127](p,c[l>>2]|0);a[f]=0;i=e;return}function Vw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Ib=0,Jb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0.0;f=i;aa=i;i=i+8|0;ba=aa;l=i;i=i+16|0;k=l;o=i;i=i+8|0;n=o;s=i;i=i+8|0;q=s;u=i;i=i+8|0;w=i;i=i+8|0;v=w;A=i;i=i+8|0;z=A;C=i;i=i+8|0;B=C;E=i;i=i+16|0;D=E;F=i;i=i+8|0;G=F;I=i;i=i+8|0;H=I;J=i;i=i+8|0;K=J;M=i;i=i+8|0;L=M;N=i;i=i+8|0;O=N;P=i;i=i+16|0;Q=P;S=i;i=i+8|0;R=S;ja=i;i=i+8|0;W=i;i=i+16|0;X=W;ca=i;i=i+8|0;_=ca;ea=i;i=i+8|0;da=ea;ha=i;i=i+8|0;ia=ha;la=i;i=i+8|0;ka=la;na=i;i=i+8|0;ma=na;Ya=i;i=i+8|0;Ja=i;i=i+8|0;Ga=i;i=i+8|0;wa=i;i=i+8|0;sa=wa;Ba=i;i=i+8|0;Ca=Ba;Ea=i;i=i+8|0;Fa=Ea;Ia=i;i=i+8|0;Ha=Ia;La=i;i=i+8|0;Ka=La;Na=i;i=i+8|0;Ma=Na;Qa=i;i=i+8|0;Ra=Qa;Sa=i;i=i+8|0;Ta=Sa;Va=i;i=i+8|0;Ua=Va;Wa=i;i=i+8|0;Xa=i;i=i+8|0;Za=Xa;$a=i;i=i+8|0;_a=$a;bb=i;i=i+8|0;ab=bb;db=i;i=i+8|0;cb=db;fb=i;i=i+8|0;eb=fb;hb=i;i=i+8|0;gb=hb;mb=i;i=i+8|0;lb=i;i=i+8|0;kb=lb;ob=i;i=i+8|0;pb=ob;rb=i;i=i+8|0;qb=rb;sb=i;i=i+8|0;tb=sb;vb=i;i=i+8|0;ub=vb;xb=i;i=i+8|0;wb=xb;yb=i;i=i+8|0;zb=yb;Bb=i;i=i+8|0;Ab=Bb;Db=i;i=i+8|0;Cb=Db;Eb=i;i=i+8|0;Fb=Eb;Ib=i;i=i+16|0;Gb=Ib;Lb=i;i=i+8|0;Jb=Lb;Nb=i;i=i+16|0;Mb=Nb;Ob=i;i=i+8|0;Pb=Ob;Qb=i;i=i+8|0;Yb=i;i=i+8|0;Xb=Yb;Zb=i;i=i+8|0;Ub=i;i=i+8|0;Tb=Ub;Sb=i;i=i+8|0;Rb=Sb;$b=i;i=i+8|0;_b=$b;t=i;i=i+16|0;e=t;m=i;i=i+16|0;g=m;Pa=i;i=i+16|0;oa=Pa;Da=i;i=i+16|0;pa=Da;za=i;i=i+16|0;ua=za;Wb=i;i=i+8|0;Vb=Wb;xa=i;i=i+16|0;nb=xa;ta=i;i=i+128|0;ya=ta;fa=i;i=i+16|0;V=fa;Y=i;i=i+16|0;T=Y;ga=i;i=i+16|0;U=ga;$=i;i=i+8|0;y=i;i=i+32|0;x=y;c[t>>2]=13;p=e+8|0;c[p>>2]=0;c[p+4>>2]=0;c[m>>2]=13;j=g+8|0;c[j>>2]=0;c[j+4>>2]=0;c[Pa>>2]=13;Oa=oa+8|0;c[Oa>>2]=0;c[Oa+4>>2]=0;c[Da>>2]=13;Aa=pa+8|0;c[Aa>>2]=0;c[Aa+4>>2]=0;c[za>>2]=13;va=ua+8|0;c[va>>2]=0;c[va+4>>2]=0;Z=c[d>>2]|0;if((Z|0)!=4){c[$b>>2]=Z;c[_b+4>>2]=4;Qe(0,162256,_b);tc()}Z=d+8|0;if(!(qx(c[b+20>>2]|0,c[Z>>2]|0,e)|0)){i=f;return}if((c[t>>2]|0)!=7){b=c[b+120>>2]|0;do{if((b|0)==0){b=-1}else{b=c[b+4>>2]|0;if((c[b+16>>2]|0)!=8){b=-1;break}b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}}while(0);g=c[d>>2]|0;if((g|0)!=4){c[Sb>>2]=g;c[Rb+4>>2]=4;Qe(0,162256,Rb);tc()}c[Ub>>2]=c[Z>>2];Qe(b,159760,Tb);Of(e);i=f;return}do{if((a[b+13|0]&1)!=0){Kb(159792,Zb|0)|0;Qf(e,c[r>>2]|0);Hb(10)|0;Rb=c[t>>2]|0;if((Rb|0)==7){break}c[Yb>>2]=Rb;c[Xb+4>>2]=7;Qe(0,162256,Xb);tc()}}while(0);do{if((c[(Yu(c[p>>2]|0,159816,g,0)|0)>>2]|0)!=5){Rb=b+28|0;if(ZB(c[Rb>>2]|0,g,Vb)|0){c[(c[Rb>>2]|0)+388>>2]=c[Wb>>2];$b=c[b+8>>2]|0;hd[c[(c[$b>>2]|0)+148>>2]&127]($b,c[Rb>>2]|0);break}Rb=c[b+120>>2]|0;do{if((Rb|0)==0){Rb=-1}else{Rb=c[Rb+4>>2]|0;if((c[Rb+16>>2]|0)!=8){Rb=-1;break}Rb=c[Rb+24>>2]|0;Rb=jd[c[(c[Rb>>2]|0)+48>>2]&511](Rb)|0}}while(0);Qe(Rb,159824,Qb)}}while(0);Of(g);Qb=c[t>>2]|0;if((Qb|0)!=7){c[Ob>>2]=Qb;c[Pb+4>>2]=7;Qe(0,162256,Pb);tc()}if(((c[(Yu(c[p>>2]|0,159856,g,0)|0)>>2]|0)+ -1|0)>>>0<2){Pb=b+28|0;Ob=c[Pb>>2]|0;Qb=c[m>>2]|0;if((Qb+ -1|0)>>>0>=2){c[Nb>>2]=Qb;c[Mb+4>>2]=1;c[Mb+8>>2]=2;Qe(0,162328,Mb);tc()}if((Qb|0)==1){ac=+(c[j>>2]|0)}else{ac=+h[j>>3]}h[Ob+392>>3]=ac;$b=c[b+8>>2]|0;hd[c[(c[$b>>2]|0)+152>>2]&127]($b,c[Pb>>2]|0)}Of(g);Mb=c[t>>2]|0;if((Mb|0)!=7){c[Lb>>2]=Mb;c[Jb+4>>2]=7;Qe(0,162256,Jb);tc()}if(((c[(Yu(c[p>>2]|0,159864,g,0)|0)>>2]|0)+ -1|0)>>>0<2){Jb=b+28|0;Lb=c[Jb>>2]|0;Mb=c[m>>2]|0;if((Mb+ -1|0)>>>0>=2){c[Ib>>2]=Mb;c[Gb+4>>2]=1;c[Gb+8>>2]=2;Qe(0,162328,Gb);tc()}if((Mb|0)==1){ac=+(c[j>>2]|0)}else{ac=+h[j>>3]}h[Lb+400>>3]=ac;$b=c[b+8>>2]|0;hd[c[(c[$b>>2]|0)+156>>2]&127]($b,c[Jb>>2]|0)}Of(g);Gb=c[t>>2]|0;if((Gb|0)!=7){c[Eb>>2]=Gb;c[Fb+4>>2]=7;Qe(0,162256,Fb);tc()}Eb=(c[(Yu(c[p>>2]|0,159872,g,0)|0)>>2]|0)==0;do{if(Eb){Gb=b+28|0;Fb=c[m>>2]|0;if((Fb|0)==0){a[(c[Gb>>2]|0)+408|0]=a[j]&1;$b=c[b+8>>2]|0;hd[c[(c[$b>>2]|0)+160>>2]&127]($b,c[Gb>>2]|0);break}else{c[Db>>2]=Fb;c[Cb+4>>2]=0;Qe(0,162256,Cb);tc()}}}while(0);Of(g);Cb=c[t>>2]|0;if((Cb|0)!=7){c[Bb>>2]=Cb;c[Ab+4>>2]=7;Qe(0,162256,Ab);tc()}do{if((c[(Yu(c[p>>2]|0,159880,g,0)|0)>>2]|0)==0){Ab=b+28|0;Bb=c[m>>2]|0;if((Bb|0)!=0){c[yb>>2]=Bb;c[zb+4>>2]=0;Qe(0,162256,zb);tc()}a[(c[Ab>>2]|0)+409|0]=a[j]&1;yb=b+8|0;$b=c[yb>>2]|0;hd[c[(c[$b>>2]|0)+164>>2]&127]($b,c[Ab>>2]|0);if(Eb){break}zb=c[m>>2]|0;if((zb|0)==0){a[(c[Ab>>2]|0)+408|0]=a[j]&1;$b=c[yb>>2]|0;hd[c[(c[$b>>2]|0)+160>>2]&127]($b,c[Ab>>2]|0);break}else{c[xb>>2]=zb;c[wb+4>>2]=0;Qe(0,162256,wb);tc()}}}while(0);Of(g);wb=c[t>>2]|0;if((wb|0)!=7){c[vb>>2]=wb;c[ub+4>>2]=7;Qe(0,162256,ub);tc()}do{if((c[(Yu(c[p>>2]|0,159888,g,0)|0)>>2]|0)==0){ub=b+28|0;vb=c[m>>2]|0;if((vb|0)==0){a[(c[ub>>2]|0)+480|0]=a[j]&1;$b=c[b+8>>2]|0;hd[c[(c[$b>>2]|0)+120>>2]&127]($b,c[ub>>2]|0);break}else{c[sb>>2]=vb;c[tb+4>>2]=0;Qe(0,162256,tb);tc()}}}while(0);Of(g);sb=c[t>>2]|0;if((sb|0)!=7){c[rb>>2]=sb;c[qb+4>>2]=7;Qe(0,162256,qb);tc()}do{if((c[(Yu(c[p>>2]|0,159896,g,0)|0)>>2]|0)==5){Of(g);qb=c[t>>2]|0;if((qb|0)==7){Yu(c[p>>2]|0,159904,g,0)|0;break}else{c[ob>>2]=qb;c[pb+4>>2]=7;Qe(0,162256,pb);tc()}}}while(0);pb=c[m>>2]|0;a:do{switch(pb|0){case 6:{jb=71;break};case 5:{break};case 4:{ob=c[j>>2]|0;do{if((Qc(ob|0,159912)|0)!=0){if((Qc(ob|0,159920)|0)==0){break}switch(pb|0){case 6:{jb=71;break a};case 5:{break a};case 8:case 7:case 4:{jb=79;break a};default:{jb=81;break a}}}}while(0);$b=b+28|0;bX(xa|0,0,16)|0;QB(c[$b>>2]|0,nb);_b=c[b+8>>2]|0;hd[c[(c[_b>>2]|0)+168>>2]&127](_b,c[$b>>2]|0);break};case 8:case 7:{jb=79;break};default:{jb=81}}}while(0);do{if((jb|0)==71){if((c[(c[j>>2]|0)+12>>2]|0)==4){mb=6;ob=0}else{jb=81;break}while(1){if((mb|0)!=6){jb=75;break}ut(c[j>>2]|0,ob,oa)|0;$b=nb+(ob<<2)|0;c[$b>>2]=EH(oa)|0;Of(oa);pb=ob+1|0;if((c[$b>>2]|0)==0){ib=ob;break}if((pb|0)>=4){ib=pb;break}mb=c[m>>2]|0;ob=pb}if((jb|0)==75){c[lb>>2]=mb;c[kb+4>>2]=6;Qe(0,162256,kb);tc()}if((ib|0)!=4){break}$b=b+28|0;QB(c[$b>>2]|0,nb);_b=c[b+8>>2]|0;hd[c[(c[_b>>2]|0)+168>>2]&127](_b,c[$b>>2]|0)}else if((jb|0)==79){$b=EH(g)|0;c[xa>>2]=$b;if(($b|0)==0){break}c[nb+12>>2]=0;c[nb+8>>2]=0;c[nb+4>>2]=0;$b=b+28|0;QB(c[$b>>2]|0,nb);_b=c[b+8>>2]|0;hd[c[(c[_b>>2]|0)+168>>2]&127](_b,c[$b>>2]|0)}}while(0);if((jb|0)==81){ib=c[b+120>>2]|0;do{if((ib|0)==0){ib=-1}else{ib=c[ib+4>>2]|0;if((c[ib+16>>2]|0)!=8){ib=-1;break}ib=c[ib+24>>2]|0;ib=jd[c[(c[ib>>2]|0)+48>>2]&511](ib)|0}}while(0);Qe(ib,159936,mb)}Of(g);ib=c[t>>2]|0;if((ib|0)!=7){c[hb>>2]=ib;c[gb+4>>2]=7;Qe(0,162256,gb);tc()}do{if((c[(Yu(c[p>>2]|0,159976,g,0)|0)>>2]|0)==0){gb=b+28|0;hb=c[m>>2]|0;if((hb|0)==0){a[(c[gb>>2]|0)+481|0]=a[j]&1;$b=c[b+8>>2]|0;hd[c[(c[$b>>2]|0)+124>>2]&127]($b,c[gb>>2]|0);break}else{c[fb>>2]=hb;c[eb+4>>2]=0;Qe(0,162256,eb);tc()}}}while(0);Of(g);eb=c[t>>2]|0;if((eb|0)!=7){c[db>>2]=eb;c[cb+4>>2]=7;Qe(0,162256,cb);tc()}do{if((c[(Yu(c[p>>2]|0,159984,g,0)|0)>>2]|0)==0){db=b+28|0;cb=c[m>>2]|0;if((cb|0)==0){a[(c[db>>2]|0)+482|0]=a[j]&1;$b=c[b+8>>2]|0;hd[c[(c[$b>>2]|0)+128>>2]&127]($b,c[db>>2]|0);break}else{c[bb>>2]=cb;c[ab+4>>2]=0;Qe(0,162256,ab);tc()}}}while(0);Of(g);ab=c[t>>2]|0;if((ab|0)!=7){c[$a>>2]=ab;c[_a+4>>2]=7;Qe(0,162256,_a);tc()}b:do{if((c[(Yu(c[p>>2]|0,159992,g,0)|0)>>2]|0)!=5){_a=c[m>>2]|0;do{if((_a|0)==5){break b}else if((_a|0)==4){if((Qc(c[j>>2]|0,16e4)|0)!=0){break}$b=c[b+8>>2]|0;hd[c[(c[$b>>2]|0)+396>>2]&127]($b,c[b+28>>2]|0);break b}else if((_a|0)==7){Ya=Yu(c[j>>2]|0,160008,oa,0)|0;if((c[Ya>>2]|0)==4){Ya=(Qc(c[Ya+8>>2]|0,160016)|0)==0}else{Ya=0}Of(oa);c[xa>>2]=0;_a=c[m>>2]|0;if((_a|0)!=7){c[Xa>>2]=_a;c[Za+4>>2]=7;Qe(0,162256,Za);tc()}do{if((c[(Yu(c[j>>2]|0,159904,oa,0)|0)>>2]|0)!=5){Xa=EH(oa)|0;c[xa>>2]=Xa;if((c[Xa+4>>2]|0)==1){if((c[Xa+8>>2]|0)==1){break}}Xa=c[b+120>>2]|0;do{if((Xa|0)==0){Xa=-1}else{Xa=c[Xa+4>>2]|0;if((c[Xa+16>>2]|0)!=8){Xa=-1;break}Xa=c[Xa+24>>2]|0;Xa=jd[c[(c[Xa>>2]|0)+48>>2]&511](Xa)|0}}while(0);Qe(Xa,160024,Wa);Wa=c[xa>>2]|0;if((Wa|0)!=0){fd[c[(c[Wa>>2]|0)+4>>2]&511](Wa)}c[xa>>2]=0}}while(0);Of(oa);Wa=c[m>>2]|0;if((Wa|0)!=7){c[Va>>2]=Wa;c[Ua+4>>2]=7;Qe(0,162256,Ua);tc()}Ua=(c[(Yu(c[j>>2]|0,160080,oa,0)|0)>>2]|0)==6;c:do{if(Ua){bX(ta|0,0,128)|0;Va=c[Pa>>2]|0;if((Va|0)!=6){_b=Va;$b=Sa;c[$b>>2]=_b;$b=Ta+4|0;c[$b>>2]=6;$b=162256;Qe(0,$b,Ta);tc()}Va=0;while(1){Wa=c[Oa>>2]|0;if(!((Va|0)<(c[Wa+12>>2]|0)&(Va|0)<32)){break c}ut(Wa,Va,pa)|0;Wa=c[Da>>2]|0;if((Wa+ -1|0)>>>0<2){if((Wa|0)==1){ac=+(c[Aa>>2]|0)}else{ac=+h[Aa>>3]}c[ya+(Va<<2)>>2]=~~(ac*65536.0)}Of(pa);Wa=c[Pa>>2]|0;if((Wa|0)==6){Va=Va+1|0}else{break}}$b=Sa;c[$b>>2]=Wa;$b=Ta+4|0;c[$b>>2]=6;$b=162256;Qe(0,$b,Ta);tc()}}while(0);Of(oa);Sa=c[m>>2]|0;if((Sa|0)!=7){c[Qa>>2]=Sa;c[Ra+4>>2]=7;Qe(0,162256,Ra);tc()}if((c[(Yu(c[j>>2]|0,160088,oa,0)|0)>>2]|0)==8){Ja=c[Pa>>2]|0;if((Ja|0)!=8){c[Na>>2]=Ja;c[Ma+4>>2]=8;Qe(0,162256,Ma);tc()}$b=c[Oa>>2]|0;do{if((c[(Yu(jd[c[(c[$b>>2]|0)+72>>2]&511]($b)|0,160096,pa,0)|0)>>2]|0)==7){Ga=c[Da>>2]|0;if((Ga|0)!=7){c[La>>2]=Ga;c[Ka+4>>2]=7;Qe(0,162256,Ka);tc()}if((c[(Yu(c[Aa>>2]|0,160104,ua,0)|0)>>2]|0)==5){Ga=0}else{Ga=Jy(ua,b)|0}Of(ua);Ja=c[Da>>2]|0;if((Ja|0)!=7){c[Ia>>2]=Ja;c[Ha+4>>2]=7;Qe(0,162256,Ha);tc()}do{if((c[(Yu(c[Aa>>2]|0,160112,ua,0)|0)>>2]|0)==0){Ha=c[za>>2]|0;if((Ha|0)==0){ra=(a[va]&1)!=0;break}else{c[Ea>>2]=Ha;c[Fa+4>>2]=0;Qe(0,162256,Fa);tc()}}else{ra=0}}while(0);Of(ua);Da=c[Da>>2]|0;if((Da|0)!=7){c[Ba>>2]=Da;c[Ca+4>>2]=7;Qe(0,162256,Ca);tc()}do{if((c[(Yu(c[Aa>>2]|0,160120,ua,0)|0)>>2]|0)==0){za=c[za>>2]|0;if((za|0)==0){qa=(a[va]&1)!=0;break}else{c[wa>>2]=za;c[sa+4>>2]=0;Qe(0,162256,sa);tc()}}else{qa=0}}while(0);Of(ua);do{if(!Ua){if((Ga|0)==0){bX(ta|0,0,128)|0;break}else{hd[c[(c[Ga>>2]|0)+48>>2]&127](Ga,ya);break}}}while(0);zx(b,oa,Ya,Ga,ra,qa,c[xa>>2]|0,ya);qa=c[xa>>2]|0;if((qa|0)==0){break}fd[c[(c[qa>>2]|0)+4>>2]&511](qa)}else{qa=c[b+120>>2]|0;do{if((qa|0)==0){qa=-1}else{qa=c[qa+4>>2]|0;if((c[qa+16>>2]|0)!=8){qa=-1;break}qa=c[qa+24>>2]|0;qa=jd[c[(c[qa>>2]|0)+48>>2]&511](qa)|0}}while(0);Qe(qa,160128,Ga)}}while(0);Of(pa)}else{pa=c[b+120>>2]|0;do{if((pa|0)==0){pa=-1}else{pa=c[pa+4>>2]|0;if((c[pa+16>>2]|0)!=8){pa=-1;break}pa=c[pa+24>>2]|0;pa=jd[c[(c[pa>>2]|0)+48>>2]&511](pa)|0}}while(0);Qe(pa,160128,Ja)}Of(oa);break b}}while(0);oa=c[b+120>>2]|0;do{if((oa|0)==0){oa=-1}else{oa=c[oa+4>>2]|0;if((c[oa+16>>2]|0)!=8){oa=-1;break}oa=c[oa+24>>2]|0;oa=jd[c[(c[oa>>2]|0)+48>>2]&511](oa)|0}}while(0);Qe(oa,160176,Ya)}}while(0);Of(g);oa=c[t>>2]|0;if((oa|0)!=7){c[na>>2]=oa;c[ma+4>>2]=7;Qe(0,162256,ma);tc()}do{if((c[(Yu(c[p>>2]|0,159192,g,0)|0)>>2]|0)==6){ma=c[m>>2]|0;if((ma|0)!=6){c[la>>2]=ma;c[ka+4>>2]=6;Qe(0,162256,ka);tc()}la=c[j>>2]|0;if((c[la+12>>2]|0)!=2){T=c[b+120>>2]|0;do{if((T|0)==0){T=-1}else{T=c[T+4>>2]|0;if((c[T+16>>2]|0)!=8){T=-1;break}T=c[T+24>>2]|0;T=jd[c[(c[T>>2]|0)+48>>2]&511](T)|0}}while(0);Qe(T,160208,ja);break}c[fa>>2]=13;ka=V+8|0;c[ka>>2]=0;c[ka+4>>2]=0;c[Y>>2]=13;ja=T+8|0;c[ja>>2]=0;c[ja+4>>2]=0;vt(la,0,V)|0;la=c[m>>2]|0;if((la|0)!=6){c[ha>>2]=la;c[ia+4>>2]=6;Qe(0,162256,ia);tc()}ut(c[j>>2]|0,1,T)|0;do{if((c[fa>>2]|0)==9){if(((c[Y>>2]|0)+ -1|0)>>>0>=2){break}c[ga>>2]=13;ha=U+8|0;c[ha>>2]=0;c[ha+4>>2]=0;Nf(V,c[b>>2]|0,U,0)|0;if((c[ga>>2]|0)==7){fa=c[fa>>2]|0;if((fa|0)!=9){c[ea>>2]=fa;c[da+4>>2]=9;Qe(0,162256,da);tc()}d=c[d>>2]|0;if((d|0)!=4){c[ca>>2]=d;c[_+4>>2]=4;Qe(0,162256,_);tc()}$b=c[b>>2]|0;Zb=ka;_b=c[Zb+4>>2]|0;d=c[Z>>2]|0;Z=$;c[Z>>2]=c[Zb>>2];c[Z+4>>2]=_b;Z=c[ha>>2]|0;$W(aa|0,$|0,8)|0;Z=Ux($b,d,ba,Z)|0;d=c[b+28>>2]|0;Y=c[Y>>2]|0;if((Y+ -1|0)>>>0>=2){c[W>>2]=Y;c[X+4>>2]=1;c[X+8>>2]=2;Qe(0,162328,X);tc()}if((Y|0)==1){ac=+(c[ja>>2]|0)}else{ac=+h[ja>>3]}PB(d,Z,ac);a[b+48|0]=1}Of(U)}}while(0);Of(V);Of(T)}}while(0);Of(g);T=c[t>>2]|0;if((T|0)!=7){c[S>>2]=T;c[R+4>>2]=7;Qe(0,162256,R);tc()}if(((c[(Yu(c[p>>2]|0,160256,g,0)|0)>>2]|0)+ -1|0)>>>0<2){R=b+28|0;S=c[R>>2]|0;T=c[m>>2]|0;if((T+ -1|0)>>>0>=2){c[P>>2]=T;c[Q+4>>2]=1;c[Q+8>>2]=2;Qe(0,162328,Q);tc()}if((T|0)==1){ac=+(c[j>>2]|0)}else{ac=+h[j>>3]}h[S+432>>3]=ac;$b=c[b+8>>2]|0;hd[c[(c[$b>>2]|0)+116>>2]&127]($b,c[R>>2]|0)}Of(g);P=c[t>>2]|0;if((P|0)!=7){c[N>>2]=P;c[O+4>>2]=7;Qe(0,162256,O);tc()}do{if((c[(Yu(c[p>>2]|0,160264,g,0)|0)>>2]|0)==1){O=b+28|0;N=c[m>>2]|0;if((N|0)==1){c[(c[O>>2]|0)+464>>2]=c[j>>2];$b=c[b+8>>2]|0;hd[c[(c[$b>>2]|0)+108>>2]&127]($b,c[O>>2]|0);break}else{c[M>>2]=N;c[L+4>>2]=1;Qe(0,162256,L);tc()}}}while(0);Of(g);L=c[t>>2]|0;if((L|0)!=7){c[J>>2]=L;c[K+4>>2]=7;Qe(0,162256,K);tc()}do{if((c[(Yu(c[p>>2]|0,160272,g,0)|0)>>2]|0)==1){J=b+28|0;K=c[m>>2]|0;if((K|0)==1){c[(c[J>>2]|0)+460>>2]=c[j>>2];$b=c[b+8>>2]|0;hd[c[(c[$b>>2]|0)+104>>2]&127]($b,c[J>>2]|0);break}else{c[I>>2]=K;c[H+4>>2]=1;Qe(0,162256,H);tc()}}}while(0);Of(g);H=c[t>>2]|0;if((H|0)!=7){c[F>>2]=H;c[G+4>>2]=7;Qe(0,162256,G);tc()}if(((c[(Yu(c[p>>2]|0,160280,g,0)|0)>>2]|0)+ -1|0)>>>0<2){G=b+28|0;F=c[G>>2]|0;H=c[m>>2]|0;if((H+ -1|0)>>>0>=2){c[E>>2]=H;c[D+4>>2]=1;c[D+8>>2]=2;Qe(0,162328,D);tc()}if((H|0)==1){ac=+(c[j>>2]|0)}else{ac=+h[j>>3]}h[F+472>>3]=ac;$b=c[b+8>>2]|0;hd[c[(c[$b>>2]|0)+112>>2]&127]($b,c[G>>2]|0)}Of(g);D=c[t>>2]|0;if((D|0)!=7){c[C>>2]=D;c[B+4>>2]=7;Qe(0,162256,B);tc()}do{if((c[(Yu(c[p>>2]|0,160288,g,0)|0)>>2]|0)==6){B=c[m>>2]|0;if((B|0)!=6){c[A>>2]=B;c[z+4>>2]=6;Qe(0,162256,z);tc()}z=c[j>>2]|0;if((c[z+12>>2]|0)!=2){v=c[b+120>>2]|0;do{if((v|0)==0){v=-1}else{v=c[v+4>>2]|0;if((c[v+16>>2]|0)!=8){v=-1;break}v=c[v+24>>2]|0;v=jd[c[(c[v>>2]|0)+48>>2]&511](v)|0}}while(0);Qe(v,160296,u);break}c[y>>2]=13;u=x+8|0;c[u>>2]=0;c[u+4>>2]=0;c[x+16>>2]=13;u=x+24|0;c[u>>2]=0;c[u+4>>2]=0;vt(z,0,x)|0;u=x+16|0;z=c[m>>2]|0;if((z|0)!=6){c[w>>2]=z;c[v+4>>2]=6;Qe(0,162256,v);tc()}ut(c[j>>2]|0,1,u)|0;do{if((c[y>>2]|0)==6){if((c[u>>2]|0)!=1){break}Qw(b,x,0)}}while(0);Of(x);Of(u)}}while(0);Of(g);u=c[t>>2]|0;if((u|0)!=7){c[s>>2]=u;c[q+4>>2]=7;Qe(0,162256,q);tc()}Yu(c[p>>2]|0,160344,g,0)|0;Of(g);q=c[t>>2]|0;if((q|0)!=7){c[o>>2]=q;c[n+4>>2]=7;Qe(0,162256,n);tc()}if(((c[(Yu(c[p>>2]|0,160352,g,0)|0)>>2]|0)+ -1|0)>>>0<2){o=b+28|0;n=c[o>>2]|0;m=c[m>>2]|0;if((m+ -1|0)>>>0>=2){c[l>>2]=m;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}if((m|0)==1){ac=+(c[j>>2]|0)}else{ac=+h[j>>3]}c[n+456>>2]=~~ac;$b=c[b+8>>2]|0;hd[c[(c[$b>>2]|0)+100>>2]&127]($b,c[o>>2]|0)}Of(g);Of(e);i=f;return}function Ww(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0;e=i;d=i;i=i+8|0;f=c[b+28>>2]|0;g=f+588|0;j=c[g>>2]|0;do{if((c[j+28>>2]|0)<=0){if((a[j]&1)!=0){break}b=c[b+120>>2]|0;do{if((b|0)==0){b=-1}else{b=c[b+4>>2]|0;if((c[b+16>>2]|0)!=8){b=-1;break}b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}}while(0);Qe(b,160872,d);i=e;return}}while(0);xB(j);g=c[g>>2]|0;j=g+28|0;g=g+24|0;b=c[(c[g>>2]|0)+((c[j>>2]|0)+ -1<<2)>>2]|0;h[f+592>>3]=+h[(c[b>>2]|0)+((c[b+12>>2]|0)+ -1<<3)>>3];j=c[(c[g>>2]|0)+((c[j>>2]|0)+ -1<<2)>>2]|0;h[f+600>>3]=+h[(c[j+4>>2]|0)+((c[j+12>>2]|0)+ -1<<3)>>3];i=e;return}function Xw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0;e=i;j=i;i=i+16|0;k=j;d=a+28|0;f=c[d>>2]|0;g=c[b>>2]|0;if((g+ -1|0)>>>0>=2){c[j>>2]=g;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}b=b+8|0;if((g|0)==1){l=+(c[b>>2]|0)}else{l=+h[b>>3]}c[f+456>>2]=~~l;k=c[a+8>>2]|0;hd[c[(c[k>>2]|0)+100>>2]&127](k,c[d>>2]|0);i=e;return}function Yw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;d=i;g=i;i=i+8|0;f=g;e=a+28|0;h=c[b>>2]|0;if((h|0)==1){c[(c[e>>2]|0)+460>>2]=c[b+8>>2];h=c[a+8>>2]|0;hd[c[(c[h>>2]|0)+104>>2]&127](h,c[e>>2]|0);i=d;return}else{c[g>>2]=h;c[f+4>>2]=1;Qe(0,162256,f);tc()}}function Zw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;m=i;e=i;i=i+16|0;g=e;k=i;i=i+128|0;j=k;l=b+15|0;do{if((a[l]&1)!=0){if((a[b+16|0]&1)==0){break}o=b+8|0;q=c[o>>2]|0;n=b+28|0;q=Bd[c[(c[q>>2]|0)+304>>2]&255](q,c[n>>2]|0)|0;p=c[o>>2]|0;hd[c[(c[p>>2]|0)+308>>2]&127](p,c[n>>2]|0);if(q){Bx(b,1)}q=c[o>>2]|0;hd[c[(c[q>>2]|0)+84>>2]&127](q,c[n>>2]|0)}}while(0);n=b+28|0;NB(c[n>>2]|0,0);q=c[n>>2]|0;o=FW(4)|0;vz(o);LB(q,o);b=b+8|0;o=c[b>>2]|0;hd[c[(c[o>>2]|0)+132>>2]&127](o,c[n>>2]|0);o=0;do{p=c[d+(o<<4)>>2]|0;if((p+ -1|0)>>>0>=2){f=8;break}q=d+(o<<4)+8|0;if((p|0)==1){r=+(c[q>>2]|0)}else{r=+h[q>>3]}c[j+(o<<2)>>2]=~~(r*65536.0);o=o+1|0;}while((o|0)<4);if((f|0)==8){c[e>>2]=p;c[g+4>>2]=1;c[g+8>>2]=2;Qe(0,162328,g);tc()}$W((c[n>>2]|0)+124|0,k|0,128)|0;q=c[b>>2]|0;hd[c[(c[q>>2]|0)+140>>2]&127](q,c[n>>2]|0);if((a[l]&1)==0){i=m;return}q=c[b>>2]|0;hd[c[(c[q>>2]|0)+300>>2]&127](q,c[n>>2]|0);q=c[b>>2]|0;hd[c[(c[q>>2]|0)+188>>2]&127](q,c[n>>2]|0);q=c[b>>2]|0;hd[c[(c[q>>2]|0)+180>>2]&127](q,c[n>>2]|0);q=c[b>>2]|0;hd[c[(c[q>>2]|0)+204>>2]&127](q,c[n>>2]|0);a[l]=0;i=m;return}function _w(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0;e=i;j=i;i=i+16|0;k=j;n=i;i=i+16|0;m=n;l=i;i=i+8|0;f=c[b+28>>2]|0;g=c[f+588>>2]|0;do{if((c[g+28>>2]|0)<=0){if((a[g]&1)!=0){break}f=c[b+120>>2]|0;do{if((f|0)==0){f=-1}else{f=c[f+4>>2]|0;if((c[f+16>>2]|0)!=8){f=-1;break}f=c[f+24>>2]|0;f=jd[c[(c[f>>2]|0)+48>>2]&511](f)|0}}while(0);Qe(f,160744,l);i=e;return}}while(0);l=c[d>>2]|0;if((l+ -1|0)>>>0>=2){c[n>>2]=l;c[m+4>>2]=1;c[m+8>>2]=2;Qe(0,162328,m);tc()}m=d+8|0;if((l|0)==1){o=+(c[m>>2]|0)}else{o=+h[m>>3]}l=c[d+16>>2]|0;if((l+ -1|0)>>>0>=2){c[j>>2]=l;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}d=d+24|0;if((l|0)==1){p=+(c[d>>2]|0)}else{p=+h[d>>3]}h[f+592>>3]=o;h[f+600>>3]=p;vB(g,o,p);i=e;return}function $w(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0,m=0.0;d=i;e=i;i=i+16|0;f=e;k=i;i=i+16|0;j=k;a=c[a+28>>2]|0;g=c[b>>2]|0;if((g+ -1|0)>>>0>=2){c[k>>2]=g;c[j+4>>2]=1;c[j+8>>2]=2;Qe(0,162328,j);tc()}j=b+8|0;if((g|0)==1){l=+(c[j>>2]|0)}else{l=+h[j>>3]}g=c[b+16>>2]|0;if((g+ -1|0)>>>0>=2){c[e>>2]=g;c[f+4>>2]=1;c[f+8>>2]=2;Qe(0,162328,f);tc()}b=b+24|0;if((g|0)==1){m=+(c[b>>2]|0);k=a+588|0;k=c[k>>2]|0;j=a+592|0;h[j>>3]=l;j=a+600|0;h[j>>3]=m;uB(k,l,m);i=d;return}else{m=+h[b>>3];k=a+588|0;k=c[k>>2]|0;j=a+592|0;h[j>>3]=l;j=a+600|0;h[j>>3]=m;uB(k,l,m);i=d;return}}function ax(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;e=i;d=b+28|0;g=c[d>>2]|0;h=c[g+588>>2]|0;do{if((c[h+28>>2]|0)>0){f=4}else{if((a[h]&1)!=0){f=4;break}b=b+52|0}}while(0);do{if((f|0)==4){f=b+52|0;if((c[f>>2]|0)==0){b=f;break}TB(g);b=c[b+8>>2]|0;g=c[b>>2]|0;if((c[f>>2]|0)==1){hd[c[g+256>>2]&127](b,c[d>>2]|0);b=f;break}else{hd[c[g+260>>2]&127](b,c[d>>2]|0);b=f;break}}}while(0);c[b>>2]=0;SB(c[d>>2]|0);i=e;return}function bx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;d=i;e=c[a+8>>2]|0;b=a+28|0;hd[c[(c[e>>2]|0)+80>>2]&127](e,c[b>>2]|0);c[b>>2]=XB(c[b>>2]|0)|0;b=a+32|0;c[b>>2]=(c[b>>2]|0)+1;i=d;return}function cx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0;d=i;f=i;i=i+16|0;e=f;j=i;i=i+16|0;k=j;n=i;i=i+16|0;l=n;q=i;i=i+16|0;p=q;o=c[b>>2]|0;if((o+ -1|0)>>>0>=2){c[q>>2]=o;c[p+4>>2]=1;c[p+8>>2]=2;Qe(0,162328,p);tc()}p=b+8|0;if((o|0)==1){g=+(c[p>>2]|0)}else{g=+h[p>>3]}o=c[b+16>>2]|0;if((o+ -1|0)>>>0>=2){c[n>>2]=o;c[l+4>>2]=1;c[l+8>>2]=2;Qe(0,162328,l);tc()}l=b+24|0;if((o|0)==1){m=+(c[l>>2]|0)}else{m=+h[l>>3]}l=c[b+32>>2]|0;if((l+ -1|0)>>>0>=2){c[j>>2]=l;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}j=b+40|0;if((l|0)==1){r=+(c[j>>2]|0)}else{r=+h[j>>3]}j=c[b+48>>2]|0;if((j+ -1|0)>>>0>=2){c[f>>2]=j;c[e+4>>2]=1;c[e+8>>2]=2;Qe(0,162328,e);tc()}b=b+56|0;if((j|0)==1){s=+(c[b>>2]|0)}else{s=+h[b>>3]}q=a+28|0;o=c[q>>2]|0;p=c[o+588>>2]|0;h[o+592>>3]=g;h[o+600>>3]=m;uB(p,g,m);p=c[q>>2]|0;r=g+r;o=c[p+588>>2]|0;h[p+592>>3]=r;h[p+600>>3]=m;vB(o,r,m);o=c[q>>2]|0;s=m+s;p=c[o+588>>2]|0;h[o+592>>3]=r;h[o+600>>3]=s;vB(p,r,s);p=c[q>>2]|0;o=c[p+588>>2]|0;h[p+592>>3]=g;h[p+600>>3]=s;vB(o,g,s);q=c[q>>2]|0;o=q+588|0;xB(c[o>>2]|0);o=c[o>>2]|0;p=o+28|0;o=o+24|0;n=c[(c[o>>2]|0)+((c[p>>2]|0)+ -1<<2)>>2]|0;h[q+592>>3]=+h[(c[n>>2]|0)+((c[n+12>>2]|0)+ -1<<3)>>3];p=c[(c[o>>2]|0)+((c[p>>2]|0)+ -1<<2)>>2]|0;h[q+600>>3]=+h[(c[p+4>>2]|0)+((c[p+12>>2]|0)+ -1<<3)>>3];i=d;return}function dx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0;m=i;e=i;i=i+16|0;g=e;k=i;i=i+128|0;j=k;l=b+15|0;do{if((a[l]&1)!=0){if((a[b+16|0]&1)==0){break}o=b+8|0;q=c[o>>2]|0;n=b+28|0;q=Bd[c[(c[q>>2]|0)+304>>2]&255](q,c[n>>2]|0)|0;p=c[o>>2]|0;hd[c[(c[p>>2]|0)+308>>2]&127](p,c[n>>2]|0);if(q){Bx(b,1)}q=c[o>>2]|0;hd[c[(c[q>>2]|0)+84>>2]&127](q,c[n>>2]|0)}}while(0);n=b+28|0;NB(c[n>>2]|0,0);q=c[n>>2]|0;o=FW(4)|0;gz(o);LB(q,o);b=b+8|0;o=c[b>>2]|0;hd[c[(c[o>>2]|0)+132>>2]&127](o,c[n>>2]|0);o=0;do{p=c[d+(o<<4)>>2]|0;if((p+ -1|0)>>>0>=2){f=8;break}q=d+(o<<4)+8|0;if((p|0)==1){r=+(c[q>>2]|0)}else{r=+h[q>>3]}c[j+(o<<2)>>2]=~~(r*65536.0);o=o+1|0;}while((o|0)<3);if((f|0)==8){c[e>>2]=p;c[g+4>>2]=1;c[g+8>>2]=2;Qe(0,162328,g);tc()}$W((c[n>>2]|0)+124|0,k|0,128)|0;q=c[b>>2]|0;hd[c[(c[q>>2]|0)+140>>2]&127](q,c[n>>2]|0);if((a[l]&1)==0){i=m;return}q=c[b>>2]|0;hd[c[(c[q>>2]|0)+300>>2]&127](q,c[n>>2]|0);q=c[b>>2]|0;hd[c[(c[q>>2]|0)+188>>2]&127](q,c[n>>2]|0);q=c[b>>2]|0;hd[c[(c[q>>2]|0)+180>>2]&127](q,c[n>>2]|0);q=c[b>>2]|0;hd[c[(c[q>>2]|0)+204>>2]&127](q,c[n>>2]|0);a[l]=0;i=m;return}function ex(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return}function fx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0;e=i;d=b+28|0;j=c[d>>2]|0;g=j+588|0;k=c[g>>2]|0;do{if((c[k+28>>2]|0)<=0){if((a[k]&1)!=0){break}i=e;return}}while(0);xB(k);k=c[g>>2]|0;g=k+28|0;k=k+24|0;l=c[(c[k>>2]|0)+((c[g>>2]|0)+ -1<<2)>>2]|0;h[j+592>>3]=+h[(c[l>>2]|0)+((c[l+12>>2]|0)+ -1<<3)>>3];g=c[(c[k>>2]|0)+((c[g>>2]|0)+ -1<<2)>>2]|0;h[j+600>>3]=+h[(c[g+4>>2]|0)+((c[g+12>>2]|0)+ -1<<3)>>3];g=c[d>>2]|0;a:do{if((c[(c[g+588>>2]|0)+28>>2]|0)>0){j=c[b+116>>2]|0;b:do{if((j|0)!=0){if((a[j]&1)!=0){break a}while(1){j=c[j+4>>2]|0;if((j|0)==0){break b}if((a[j]&1)!=0){break a}}}}while(0);l=c[g+120>>2]|0;if((jd[c[(c[l>>2]|0)+12>>2]&511](l)|0)==10){Cx(b);break}else{l=c[b+8>>2]|0;hd[c[(c[l>>2]|0)+212>>2]&127](l,c[d>>2]|0);break}}}while(0);g=c[d>>2]|0;j=c[g+588>>2]|0;do{if((c[j+28>>2]|0)>0){f=14}else{if((a[j]&1)!=0){f=14;break}b=b+52|0}}while(0);do{if((f|0)==14){f=b+52|0;if((c[f>>2]|0)==0){b=f;break}TB(g);b=c[b+8>>2]|0;g=c[b>>2]|0;if((c[f>>2]|0)==1){hd[c[g+256>>2]&127](b,c[d>>2]|0);b=f;break}else{hd[c[g+260>>2]&127](b,c[d>>2]|0);b=f;break}}}while(0);c[b>>2]=0;SB(c[d>>2]|0);i=e;return}function gx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;e=i;f=i;i=i+16|0;g=f;m=i;i=i+8|0;k=i;i=i+128|0;l=k;j=a+28|0;o=c[(c[j>>2]|0)+116>>2]|0;if((jd[c[(c[o>>2]|0)+44>>2]&511](o)|0)!=(d|0)){d=c[a+120>>2]|0;do{if((d|0)==0){d=-1}else{d=c[d+4>>2]|0;if((c[d+16>>2]|0)!=8){d=-1;break}d=c[d+24>>2]|0;d=jd[c[(c[d>>2]|0)+48>>2]&511](d)|0}}while(0);Qe(d,160552,m);i=e;return}NB(c[j>>2]|0,0);a:do{if((d|0)>0){m=0;while(1){n=c[b+(m<<4)>>2]|0;if((n+ -1|0)>>>0>=2){break}o=b+(m<<4)+8|0;if((n|0)==1){p=+(c[o>>2]|0)}else{p=+h[o>>3]}c[l+(m<<2)>>2]=~~(p*65536.0);m=m+1|0;if((m|0)>=(d|0)){break a}}c[f>>2]=n;c[g+4>>2]=1;c[g+8>>2]=2;Qe(0,162328,g);tc()}}while(0);$W((c[j>>2]|0)+124|0,k|0,128)|0;o=c[a+8>>2]|0;hd[c[(c[o>>2]|0)+140>>2]&127](o,c[j>>2]|0);i=e;return}function hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;e=i;l=i;i=i+8|0;k=i;i=i+8|0;g=i;i=i+128|0;j=g;f=a+28|0;m=c[(c[f>>2]|0)+116>>2]|0;if((jd[c[(c[m>>2]|0)+12>>2]&511](m)|0)!=10){m=c[(c[f>>2]|0)+116>>2]|0;if((jd[c[(c[m>>2]|0)+44>>2]&511](m)|0)!=(d|0)){f=c[a+120>>2]|0;do{if((f|0)==0){f=-1}else{f=c[f+4>>2]|0;if((c[f+16>>2]|0)!=8){f=-1;break}f=c[f+24>>2]|0;f=jd[c[(c[f>>2]|0)+48>>2]&511](f)|0}}while(0);Qe(f,160648,l);i=e;return}NB(c[f>>2]|0,0);if((d|0)>0){k=0;do{m=c[b+(k<<4)>>2]|0;if((m+ -1|0)>>>0<2){l=b+(k<<4)+8|0;if((m|0)==1){n=+(c[l>>2]|0)}else{n=+h[l>>3]}c[j+(k<<2)>>2]=~~(n*65536.0)}else{c[j+(k<<2)>>2]=0}k=k+1|0;}while((k|0)<(d|0)&(k|0)<32)}$W((c[f>>2]|0)+124|0,g|0,128)|0;m=c[a+8>>2]|0;hd[c[(c[m>>2]|0)+140>>2]&127](m,c[f>>2]|0);i=e;return}a:do{if((d|0)>1){l=c[(c[(c[f>>2]|0)+116>>2]|0)+4>>2]|0;do{if((l|0)!=0){d=d+ -1|0;if((d|0)!=(jd[c[(c[l>>2]|0)+44>>2]&511](l)|0)){break}if((d|0)>0){k=0;do{m=c[b+(k<<4)>>2]|0;if((m+ -1|0)>>>0<2){l=b+(k<<4)+8|0;if((m|0)==1){n=+(c[l>>2]|0)}else{n=+h[l>>3]}c[j+(k<<2)>>2]=~~(n*65536.0)}else{c[j+(k<<2)>>2]=0}k=k+1|0;}while((k|0)<(d|0)&(k|0)<32)}$W((c[f>>2]|0)+124|0,g|0,128)|0;m=c[a+8>>2]|0;hd[c[(c[m>>2]|0)+140>>2]&127](m,c[f>>2]|0);break a}}while(0);f=c[a+120>>2]|0;do{if((f|0)==0){f=-1}else{f=c[f+4>>2]|0;if((c[f+16>>2]|0)!=8){f=-1;break}f=c[f+24>>2]|0;f=jd[c[(c[f>>2]|0)+48>>2]&511](f)|0}}while(0);Qe(f,160648,k);i=e;return}else{d=d+ -1|0}}while(0);if((c[b+(d<<4)>>2]|0)!=4){i=e;return}b=ox(c[a+20>>2]|0,c[b+(d<<4)+8>>2]|0,a)|0;if((b|0)==0){i=e;return}NB(c[f>>2]|0,b);i=e;return}function ix(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0.0,w=0.0,x=0.0;e=i;g=i;i=i+8|0;k=i;i=i+8|0;l=k;j=c[d>>2]|0;if((j|0)!=4){c[k>>2]=j;c[l+4>>2]=4;Qe(0,162256,l);tc()}m=px(c[b+20>>2]|0,c[d+8>>2]|0,b)|0;if((m|0)==0){i=e;return}l=b+28|0;d=c[(c[l>>2]|0)+588>>2]|0;j=FW(40)|0;tB(j,(a[d]&1)!=0,+h[d+8>>3],+h[d+16>>3],c[d+24>>2]|0,c[d+28>>2]|0,c[d+32>>2]|0);d=b+8|0;n=c[d>>2]|0;hd[c[(c[n>>2]|0)+80>>2]&127](n,c[l>>2]|0);n=XB(c[l>>2]|0)|0;c[l>>2]=n;k=b+32|0;c[k>>2]=(c[k>>2]|0)+1;if((a[m+176|0]&1)!=0){v=+h[m+144>>3];x=+h[m+152>>3];w=+h[m+160>>3];t=+h[m+168>>3];s=c[n+588>>2]|0;h[n+592>>3]=v;h[n+600>>3]=x;uB(s,v,x);s=c[l>>2]|0;n=c[s+588>>2]|0;h[s+592>>3]=w;h[s+600>>3]=x;vB(n,w,x);n=c[l>>2]|0;s=c[n+588>>2]|0;h[n+592>>3]=w;h[n+600>>3]=t;vB(s,w,t);s=c[l>>2]|0;n=c[s+588>>2]|0;h[s+592>>3]=v;h[s+600>>3]=t;vB(n,v,t);n=c[l>>2]|0;s=n+588|0;xB(c[s>>2]|0);s=c[s>>2]|0;u=s+28|0;s=s+24|0;r=c[(c[s>>2]|0)+((c[u>>2]|0)+ -1<<2)>>2]|0;h[n+592>>3]=+h[(c[r>>2]|0)+((c[r+12>>2]|0)+ -1<<3)>>3];u=c[(c[s>>2]|0)+((c[u>>2]|0)+ -1<<2)>>2]|0;h[n+600>>3]=+h[(c[u+4>>2]|0)+((c[u+12>>2]|0)+ -1<<3)>>3];TB(c[l>>2]|0);n=c[d>>2]|0;hd[c[(c[n>>2]|0)+256>>2]&127](n,c[l>>2]|0);SB(c[l>>2]|0);n=c[l>>2]|0}q=m+8|0;u=c[q>>2]|0;LB(n,jd[c[(c[u>>2]|0)+8>>2]&511](u)|0);n=c[d>>2]|0;hd[c[(c[n>>2]|0)+132>>2]&127](n,c[l>>2]|0);n=c[d>>2]|0;n=jd[c[(c[n>>2]|0)+404>>2]&511](n)|0;if(n){u=c[d>>2]|0;hd[c[(c[u>>2]|0)+408>>2]&127](u,0)}a:do{switch(c[m+4>>2]|0){case 1:{Fx(b,m);break};case 2:{Gx(b,m);break};case 3:{Hx(b,m);break};case 7:case 6:{o=m+184|0;p=c[o>>2]|0;do{if((p|0)>128){p=3}else{if((p|0)>64){p=2;break}p=(p|0)>16|0}}while(0);r=c[q>>2]|0;r=jd[c[(c[r>>2]|0)+44>>2]&511](r)|0;s=m+316|0;u=(c[s>>2]|0)>0;if(u){q=c[m+188>>2]|0;t=(+h[q+24>>3]- +h[q+16>>3])*.005}else{t=768.0}if((c[o>>2]|0)<=0){break a}q=m+180|0;Nx(b,c[q>>2]|0,r,u?1:r,t,p,m);if((c[o>>2]|0)>1){u=1}else{break a}do{Nx(b,(c[q>>2]|0)+(u*1280|0)|0,r,(c[s>>2]|0)>0?1:r,t,p,m);u=u+1|0;}while((u|0)<(c[o>>2]|0));break};case 5:case 4:{Ix(b,m);break};default:{}}}while(0);if(n){u=c[d>>2]|0;hd[c[(c[u>>2]|0)+408>>2]&127](u,1)}u=c[b+36>>2]|0;do{if((c[k>>2]|0)>(c[u+(((c[b+40>>2]|0)-u>>2)+ -1<<2)>>2]|0)){n=c[l>>2]|0;if((c[n+656>>2]|0)==0){f=25;break}u=YB(n)|0;c[l>>2]=u;s=c[d>>2]|0;hd[c[(c[s>>2]|0)+84>>2]&127](s,u);c[k>>2]=(c[k>>2]|0)+ -1}else{f=25}}while(0);if((f|0)==25){Qe(-1,162208,g);a[b+18|0]=1}GB(c[l>>2]|0,j);fd[c[(c[m>>2]|0)+4>>2]&511](m);i=e;return}function jx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0.0,v=0,w=0.0,x=0.0;e=i;g=i;i=i+16|0;j=g;p=i;i=i+16|0;o=p;r=i;i=i+16|0;s=r;v=i;i=i+16|0;t=v;l=i;i=i+8|0;m=c[b+28>>2]|0;f=c[m+588>>2]|0;do{if((c[f+28>>2]|0)<=0){if((a[f]&1)!=0){break}f=c[b+120>>2]|0;do{if((f|0)==0){f=-1}else{f=c[f+4>>2]|0;if((c[f+16>>2]|0)!=8){f=-1;break}f=c[f+24>>2]|0;f=jd[c[(c[f>>2]|0)+48>>2]&511](f)|0}}while(0);Qe(f,160808,l);i=e;return}}while(0);l=m+592|0;k=+h[l>>3];m=m+600|0;n=+h[m>>3];b=c[d>>2]|0;if((b+ -1|0)>>>0>=2){c[v>>2]=b;c[t+4>>2]=1;c[t+8>>2]=2;Qe(0,162328,t);tc()}t=d+8|0;if((b|0)==1){q=+(c[t>>2]|0)}else{q=+h[t>>3]}t=c[d+16>>2]|0;if((t+ -1|0)>>>0>=2){c[r>>2]=t;c[s+4>>2]=1;c[s+8>>2]=2;Qe(0,162328,s);tc()}r=d+24|0;if((t|0)==1){u=+(c[r>>2]|0)}else{u=+h[r>>3]}r=c[d+32>>2]|0;if((r+ -1|0)>>>0>=2){c[p>>2]=r;c[o+4>>2]=1;c[o+8>>2]=2;Qe(0,162328,o);tc()}o=d+40|0;if((r|0)==1){w=+(c[o>>2]|0)}else{w=+h[o>>3]}o=c[d+48>>2]|0;if((o+ -1|0)>>>0>=2){c[g>>2]=o;c[j+4>>2]=1;c[j+8>>2]=2;Qe(0,162328,j);tc()}d=d+56|0;if((o|0)==1){x=+(c[d>>2]|0)}else{x=+h[d>>3]}h[l>>3]=w;h[m>>3]=x;wB(f,k,n,q,u,w,x);i=e;return}function kx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0;e=i;j=i;i=i+16|0;k=j;d=a+28|0;f=c[d>>2]|0;g=c[b>>2]|0;if((g+ -1|0)>>>0>=2){c[j>>2]=g;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}b=b+8|0;if((g|0)==1){l=+(c[b>>2]|0)}else{l=+h[b>>3]}h[f+432>>3]=l;k=c[a+8>>2]|0;hd[c[(c[k>>2]|0)+116>>2]&127](k,c[d>>2]|0);i=e;return}function lx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0,s=0,t=0,u=0.0,v=0.0;e=i;j=i;i=i+16|0;k=j;l=i;i=i+16|0;m=l;o=i;i=i+16|0;p=o;s=i;i=i+16|0;t=s;q=i;i=i+8|0;f=c[b+28>>2]|0;g=c[f+588>>2]|0;do{if((c[g+28>>2]|0)<=0){if((a[g]&1)!=0){break}f=c[b+120>>2]|0;do{if((f|0)==0){f=-1}else{f=c[f+4>>2]|0;if((c[f+16>>2]|0)!=8){f=-1;break}f=c[f+24>>2]|0;f=jd[c[(c[f>>2]|0)+48>>2]&511](f)|0}}while(0);Qe(f,160840,q);i=e;return}}while(0);q=c[d>>2]|0;if((q+ -1|0)>>>0>=2){c[s>>2]=q;c[t+4>>2]=1;c[t+8>>2]=2;Qe(0,162328,t);tc()}s=d+8|0;if((q|0)==1){n=+(c[s>>2]|0)}else{n=+h[s>>3]}q=c[d+16>>2]|0;if((q+ -1|0)>>>0>=2){c[o>>2]=q;c[p+4>>2]=1;c[p+8>>2]=2;Qe(0,162328,p);tc()}o=d+24|0;if((q|0)==1){r=+(c[o>>2]|0)}else{r=+h[o>>3]}o=c[d+32>>2]|0;if((o+ -1|0)>>>0>=2){c[l>>2]=o;c[m+4>>2]=1;c[m+8>>2]=2;Qe(0,162328,m);tc()}l=d+40|0;if((o|0)==1){u=+(c[l>>2]|0)}else{u=+h[l>>3]}l=c[d+48>>2]|0;if((l+ -1|0)>>>0>=2){c[j>>2]=l;c[k+4>>2]=1;c[k+8>>2]=2;Qe(0,162328,k);tc()}d=d+56|0;if((l|0)==1){v=+(c[d>>2]|0)}else{v=+h[d>>3]}h[f+592>>3]=u;h[f+600>>3]=v;wB(g,n,r,u,v,u,v);i=e;return}function mx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;t=i;m=i;i=i+8|0;l=m;v=i;i=i+16|0;j=v;w=i;i=i+16|0;u=w;r=i;i=i+8|0;p=r;f=a+8|0;c[f>>2]=13;F=a+16|0;c[F>>2]=0;D=F+4|0;c[D>>2]=0;q=a+24|0;c[q>>2]=13;x=a+32|0;c[x>>2]=0;y=x+4|0;c[y>>2]=0;n=a+40|0;c[n>>2]=13;z=a+48|0;c[z>>2]=0;A=z+4|0;c[A>>2]=0;k=a+56|0;c[k>>2]=13;B=a+64|0;c[B>>2]=0;C=B+4|0;c[C>>2]=0;h=a+72|0;c[h>>2]=13;E=a+80|0;c[E>>2]=0;G=E+4|0;c[G>>2]=0;rG(a+88|0,2,b);g=a+96|0;c[g>>2]=13;H=a+104|0;c[H>>2]=0;I=H+4|0;c[I>>2]=0;c[v>>2]=13;s=j+8|0;c[s>>2]=0;c[s+4>>2]=0;c[w>>2]=13;o=u+8|0;c[o>>2]=0;c[o+4>>2]=0;c[a>>2]=0;if((d|0)==0){c[F>>2]=0;c[D>>2]=0;c[f>>2]=5;c[x>>2]=0;c[y>>2]=0;c[q>>2]=5;c[z>>2]=0;c[A>>2]=0;c[n>>2]=5;c[B>>2]=0;c[C>>2]=0;c[k>>2]=5;c[E>>2]=0;c[G>>2]=0;c[h>>2]=5;c[H>>2]=0;c[I>>2]=0;c[g>>2]=5;I=a+112|0;c[I>>2]=e;i=t;return}Zu(d,159192,j)|0;x=c[v>>2]|0;if((x|0)==9){Nf(j,b,u,0)|0;do{if((c[w>>2]|0)==7){v=c[v>>2]|0;if((v|0)==9){G=s;H=c[G+4>>2]|0;I=r;c[I>>2]=c[G>>2];c[I+4>>2]=H;I=FW(8)|0;uy(I,b,p,c[o>>2]|0);c[a>>2]=I;break}else{c[m>>2]=v;c[l+4>>2]=9;Qe(0,162256,l);tc()}}}while(0);Of(u)}else if((x|0)==7){I=FW(8)|0;uy(I,b,0,c[s>>2]|0);c[a>>2]=I}Of(j);Yu(d,159200,f,0)|0;Yu(d,159208,q,0)|0;Yu(d,159224,n,0)|0;Yu(d,159232,k,0)|0;Yu(d,159240,h,0)|0;Yu(d,159256,g,0)|0;I=a+112|0;c[I>>2]=e;i=t;return}function nx(a){a=a|0;var b=0,d=0;b=i;d=c[a>>2]|0;if((d|0)!=0){vy(d);HW(d)}Of(a+8|0);Of(a+24|0);Of(a+40|0);Of(a+56|0);Of(a+72|0);Of(a+96|0);sG(a+88|0);i=b;return}function ox(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;g=i;i=i+8|0;h=g;j=i;i=i+16|0;e=j;c[j>>2]=13;j=e+8|0;c[j>>2]=0;c[j+4>>2]=0;a:do{if((a|0)!=0){while(1){if((c[a+40>>2]|0)==7){if((c[(Yu(c[a+48>>2]|0,b,e,0)|0)>>2]|0)!=5){break}Of(e)}a=c[a+112>>2]|0;if((a|0)==0){break a}}j=vA(e,d)|0;Of(e);i=f;return j|0}}while(0);c[g>>2]=b;Qe(-1,159352,h);j=0;i=f;return j|0}function px(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;g=i;i=i+8|0;h=g;j=i;i=i+16|0;e=j;c[j>>2]=13;j=e+8|0;c[j>>2]=0;c[j+4>>2]=0;a:do{if((a|0)!=0){while(1){if((c[a+56>>2]|0)==7){if((c[(Yu(c[a+64>>2]|0,b,e,0)|0)>>2]|0)!=5){break}Of(e)}a=c[a+112>>2]|0;if((a|0)==0){break a}}j=BA(e,d)|0;Of(e);i=f;return j|0}}while(0);c[g>>2]=b;Qe(-1,159376,h);j=0;i=f;return j|0}function qx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;h=i;i=i+8|0;j=h;g=i;i=i+8|0;f=g;a:do{if((a|0)!=0){k=a;while(1){if((c[k+72>>2]|0)==7){if((c[(Zu(c[k+80>>2]|0,b,d)|0)>>2]|0)!=5){break}Of(d)}k=c[k+112>>2]|0;if((k|0)==0){break a}}if((c[d>>2]|0)!=9){k=1;i=e;return k|0}b=d+8|0;k=c[b+4>>2]|0;c[g>>2]=c[b>>2];c[g+4>>2]=k;g=a+88|0;if((c[(uG(g,f,d)|0)>>2]|0)!=5){k=1;i=e;return k|0}Of(d);Mf(tG(g,f)|0,d)|0;k=1;i=e;return k|0}}while(0);c[h>>2]=b;Qe(-1,159400,j);k=0;i=e;return k|0}function rx(b,d,e,f,g,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=+k;l=+l;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0;r=i;c[b+36>>2]=0;s=b+40|0;c[s>>2]=0;t=b+44|0;c[t>>2]=0;c[b>>2]=d;c[b+4>>2]=j;a[b+12|0]=0;a[b+13|0]=(uf(c[834]|0)|0)&1;a[b+14|0]=(vf(c[834]|0)|0)&1;a[b+15|0]=0;a[b+16|0]=0;a[b+17|0]=0;c[b+116>>2]=0;c[b+120>>2]=0;d=FW(120)|0;mx(d,c[b>>2]|0,g,0);c[b+20>>2]=d;g=b+8|0;c[g>>2]=e;d=FW(664)|0;DB(d,k,l,m,o,jd[c[(c[e>>2]|0)+8>>2]&511](e)|0);m=b+28|0;c[m>>2]=d;o=b+32|0;c[o>>2]=1;e=c[s>>2]|0;if((e|0)==(c[t>>2]|0)){eu(b+36|0,o)}else{if((e|0)==0){e=0}else{c[e>>2]=1;e=c[s>>2]|0}c[s>>2]=e+4}a[b+48|0]=0;c[b+52>>2]=0;c[b+56>>2]=0;s=c[g>>2]|0;Gd[c[(c[s>>2]|0)+60>>2]&255](s,f,c[m>>2]|0);s=c[g>>2]|0;hd[c[(c[s>>2]|0)+52>>2]&127](s,(c[m>>2]|0)+16|0);s=c[g>>2]|0;hd[c[(c[s>>2]|0)+88>>2]&127](s,c[m>>2]|0);s=c[m>>2]|0;h[b+64>>3]=+h[s+16>>3];h[b+72>>3]=+h[s+24>>3];h[b+80>>3]=+h[s+32>>3];h[b+88>>3]=+h[s+40>>3];h[b+96>>3]=+h[s+48>>3];h[b+104>>3]=+h[s+56>>3];c[b+112>>2]=0;c[b+124>>2]=p;c[b+128>>2]=q;if((n|0)==0){i=r;return}l=+h[n>>3];d=n+8|0;k=+h[d>>3];j=c[s+588>>2]|0;h[s+592>>3]=l;h[s+600>>3]=k;uB(j,l,k);j=c[m>>2]|0;t=n+16|0;k=+h[t>>3];l=+h[d>>3];d=c[j+588>>2]|0;h[j+592>>3]=k;h[j+600>>3]=l;vB(d,k,l);d=c[m>>2]|0;l=+h[t>>3];t=n+24|0;k=+h[t>>3];j=c[d+588>>2]|0;h[d+592>>3]=l;h[d+600>>3]=k;vB(j,l,k);j=c[m>>2]|0;k=+h[n>>3];l=+h[t>>3];t=c[j+588>>2]|0;h[j+592>>3]=k;h[j+600>>3]=l;vB(t,k,l);t=c[m>>2]|0;j=t+588|0;xB(c[j>>2]|0);j=c[j>>2]|0;d=j+28|0;j=j+24|0;o=c[(c[j>>2]|0)+((c[d>>2]|0)+ -1<<2)>>2]|0;h[t+592>>3]=+h[(c[o>>2]|0)+((c[o+12>>2]|0)+ -1<<3)>>3];d=c[(c[j>>2]|0)+((c[d>>2]|0)+ -1<<2)>>2]|0;h[t+600>>3]=+h[(c[d+4>>2]|0)+((c[d+12>>2]|0)+ -1<<3)>>3];TB(c[m>>2]|0);t=c[g>>2]|0;hd[c[(c[t>>2]|0)+256>>2]&127](t,c[m>>2]|0);SB(c[m>>2]|0);i=r;return}function sx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;h=i;i=i+8|0;j=i;i=i+8|0;d=b+40|0;p=c[d>>2]|0;f=b+36|0;n=c[f>>2]|0;g=b+28|0;if((p|0)!=(n|0)){m=b+32|0;l=b+8|0;o=c[m>>2]|0;do{a:do{if((o|0)>(c[n+((p-n>>2)+ -1<<2)>>2]|0)){do{q=c[g>>2]|0;if((c[q+656>>2]|0)==0){break a}o=YB(q)|0;c[g>>2]=o;p=c[l>>2]|0;hd[c[(c[p>>2]|0)+84>>2]&127](p,o);o=(c[m>>2]|0)+ -1|0;c[m>>2]=o;p=c[d>>2]|0;n=c[f>>2]|0;}while((o|0)>(c[n+((p-n>>2)+ -1<<2)>>2]|0))}}while(0);p=p+ -4|0;c[d>>2]=p;}while((p|0)!=(n|0))}if((c[(c[g>>2]|0)+656>>2]|0)!=0){m=b+32|0;l=b+8|0;n=b+18|0;do{Qe(-1,159432,j);q=c[f>>2]|0;do{if((c[m>>2]|0)>(c[q+(((c[d>>2]|0)-q>>2)+ -1<<2)>>2]|0)){o=c[g>>2]|0;if((c[o+656>>2]|0)==0){k=11;break}q=YB(o)|0;c[g>>2]=q;p=c[l>>2]|0;hd[c[(c[p>>2]|0)+84>>2]&127](p,q);c[m>>2]=(c[m>>2]|0)+ -1}else{k=11}}while(0);if((k|0)==11){k=0;Qe(-1,162208,h);a[n]=1}}while((c[(c[g>>2]|0)+656>>2]|0)!=0)}if((a[b+12|0]&1)==0){q=c[b+8>>2]|0;fd[c[(c[q>>2]|0)+64>>2]&511](q)}h=b+20|0;j=c[h>>2]|0;if((j|0)!=0){while(1){k=c[j+112>>2]|0;nx(j);HW(j);c[h>>2]=k;if((k|0)==0){break}else{j=k}}}g=c[g>>2]|0;if((g|0)!=0){EB(g);HW(g)}b=b+116|0;g=c[b>>2]|0;if((g|0)!=0){do{c[b>>2]=c[g+4>>2];HW(g);g=c[b>>2]|0;}while((g|0)!=0)}f=c[f>>2]|0;if((f|0)==0){i=e;return}b=c[d>>2]|0;if((f|0)!=(b|0)){c[d>>2]=b+(~((b+ -4+(0-f)|0)>>>2)<<2)}HW(f);i=e;return}function tx(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;d=i;i=i+8|0;f=b+32|0;h=c[b+36>>2]|0;do{if((c[f>>2]|0)>(c[h+(((c[b+40>>2]|0)-h>>2)+ -1<<2)>>2]|0)){h=b+28|0;g=c[h>>2]|0;if((c[g+656>>2]|0)==0){break}g=YB(g)|0;c[h>>2]=g;h=c[b+8>>2]|0;hd[c[(c[h>>2]|0)+84>>2]&127](h,g);c[f>>2]=(c[f>>2]|0)+ -1;i=e;return}}while(0);Qe(-1,162208,d);a[b+18|0]=1;i=e;return}function ux(a){a=a|0;var b=0,d=0,e=0;b=i;a=a+20|0;e=c[a>>2]|0;d=c[e+112>>2]|0;if((e|0)!=0){nx(e);HW(e)}c[a>>2]=d;i=b;return}function vx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;n=i;i=i+8|0;l=i;i=i+8|0;h=i;i=i+8|0;j=h;g=i;i=i+16|0;f=g;c[g>>2]=13;m=f+8|0;c[m>>2]=0;c[m+4>>2]=0;m=c[b>>2]|0;if((m|0)==6){k=2}else if((m|0)!=8){Qe(-1,159480,n);i=e;return}a:do{if((k|0)==2){m=b+8|0;n=0;while(1){o=c[m>>2]|0;if((n|0)>=(c[o+12>>2]|0)){break a}ut(o,n,f)|0;if((c[g>>2]|0)!=8){break}Of(f);o=c[b>>2]|0;if((o|0)==6){n=n+1|0}else{k=3;break}}if((k|0)==3){c[h>>2]=o;c[j+4>>2]=6;Qe(0,162256,j);tc()}Qe(-1,159480,l);Of(f);i=e;return}}while(0);o=FW(56)|0;n=c[a>>2]|0;f=FW(168)|0;cE(f,n,b);aG(o,n,f,0);f=a+120|0;c[f>>2]=o;wx(a,d);a=c[f>>2]|0;if((a|0)!=0){bG(a);HW(a)}c[f>>2]=0;i=e;return}
function $K(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;do{if((d|b|e|0)<0){a=6}else{if((e|0)==0|(b|0)==0){if((f|0)==0){f=0;a=0;break}hd[c[a+8>>2]&127](a,f);f=0;a=0;break}if((2147483647/(b|0)|0|0)<(e|0)){a=10;break}if((d|0)!=0){d=da(d,b)|0;b=da(e,b)|0;b=pd[c[a+12>>2]&63](a,d,b,f)|0;a=(b|0)==0;f=a?f:b;a=a?64:0;break}b=da(e,b)|0;if((b|0)<=0){f=0;a=b>>31&6;break}f=Bd[c[a+4>>2]&255](a,b)|0;e=(f|0)==0;a=e?64:0;if(e){f=0;break}bX(f|0,0,b|0)|0}}while(0);c[g>>2]=a;i=h;return f|0}function aL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;e=(b|0)==0;do{if(e){j=0;f=4}else{h=(ZW(b|0)|0)+1|0;if((h|0)<=0){j=h;f=4;break}j=Bd[c[a+4>>2]&255](a,h)|0;a=j;j=(j|0)==0?64:0}}while(0);if((f|0)==4){h=j;a=0;j=j>>31&6}if((j|0)!=0|e){h=d;c[h>>2]=j;i=g;return a|0}$W(a|0,b|0,h|0)|0;h=d;c[h>>2]=j;i=g;return a|0}function bL(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=i;a:do{if(d>>>0>1){while(1){g=a[c]|0;if(g<<24>>24==0){break a}c=c+1|0;f=b+1|0;a[b]=g;d=d+ -1|0;if(d>>>0>1){b=f}else{b=f;break}}}}while(0);a[b]=0;i=e;return(a[c]|0)!=0|0}function cL(a){a=a|0;var b=0,c=0;b=i;while(1){c=a+ -1&a;if((c|0)==0){break}else{a=c}}i=b;return a|0}function dL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;a=i;c[e>>2]=0;if((b|0)==0){d=81;i=a;return d|0}d=nL(b,333319,f)|0;i=a;return d|0}function eL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;a=i;c[e>>2]=0;if((b|0)==0){d=81;i=a;return d|0}d=nL(b,333312,f)|0;i=a;return d|0}function fL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;k=i;i=i+32|0;j=k;h=i;i=i+8|0;b=c[a>>2]|0;d=mL(b,d,206480)|0;if((d|0)==0){k=64;i=g;return k|0}c[k>>2]=4;c[j+12>>2]=d;a=xJ(a,j,h)|0;do{if((a|0)==0){a=c[h>>2]|0;if((a|0)==0){f=81;break}f=nL(a,333319,f)|0;h=c[a+28>>2]|0;j=c[a+24>>2]|0;if((j|0)!=0){fd[j&511](a)}hd[c[h+8>>2]&127](h,a);if((f|0)!=0){break}c[e>>2]=d;k=0;i=g;return k|0}else{f=a}}while(0);hd[c[b+8>>2]&127](b,d);k=f;i=g;return k|0}function gL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;b=ZW(d|0)|0;h=b+18|0;a=c[a>>2]|0;do{if((h|0)>0){j=Bd[c[a+4>>2]&255](a,h)|0;k=(j|0)==0;a=k?64:0;if(k){j=0;break}bX(j|0,0,h|0)|0}else{j=0;a=h>>31&6}}while(0);if((a|0)!=0){k=a;i=g;return k|0}$W(j|0,d|0,b|0)|0;$W(j+b|0,206456,18)|0;c[e>>2]=j;c[f>>2]=0;k=0;i=g;return k|0}function hL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;b=ZW(d|0)|0;h=b+6|0;a=c[a>>2]|0;do{if((h|0)>0){j=Bd[c[a+4>>2]&255](a,h)|0;k=(j|0)==0;a=k?64:0;if(k){j=0;break}bX(j|0,0,h|0)|0}else{j=0;a=h>>31&6}}while(0);if((a|0)!=0){k=a;i=g;return k|0}$W(j|0,d|0,b|0)|0;$W(j+b|0,206448,6)|0;c[e>>2]=j;c[f>>2]=0;k=0;i=g;return k|0}function iL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;b=i;d=mL(c[a>>2]|0,d,206432)|0;if((d|0)==0){a=64;i=b;return a|0}c[e>>2]=d;c[f>>2]=0;a=0;i=b;return a|0}function jL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;b=i;d=mL(c[a>>2]|0,d,206416)|0;if((d|0)==0){a=64;i=b;return a|0}c[e>>2]=d;c[f>>2]=0;a=0;i=b;return a|0}function kL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;k=i;i=i+32|0;j=k;h=i;i=i+8|0;b=c[a>>2]|0;d=mL(b,d,206408)|0;if((d|0)==0){k=64;i=g;return k|0}c[k>>2]=4;c[j+12>>2]=d;a=xJ(a,j,h)|0;do{if((a|0)==0){a=c[h>>2]|0;if((a|0)==0){f=81;break}f=nL(a,333319,f)|0;h=c[a+28>>2]|0;j=c[a+24>>2]|0;if((j|0)!=0){fd[j&511](a)}hd[c[h+8>>2]&127](h,a);if((f|0)!=0){break}c[e>>2]=d;k=0;i=g;return k|0}else{f=a}}while(0);hd[c[b+8>>2]&127](b,d);k=f;i=g;return k|0}function lL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;k=i;i=i+32|0;j=k;h=i;i=i+8|0;b=c[a>>2]|0;d=mL(b,d,206392)|0;if((d|0)==0){k=64;i=g;return k|0}c[k>>2]=4;c[j+12>>2]=d;a=xJ(a,j,h)|0;do{if((a|0)==0){a=c[h>>2]|0;if((a|0)==0){f=81;break}f=nL(a,333319,f)|0;h=c[a+28>>2]|0;j=c[a+24>>2]|0;if((j|0)!=0){fd[j&511](a)}hd[c[h+8>>2]&127](h,a);if((f|0)!=0){break}c[e>>2]=d;k=0;i=g;return k|0}else{f=a}}while(0);hd[c[b+8>>2]&127](b,d);k=f;i=g;return k|0}function mL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;g=ZW(d|0)|0;g=g+1+(ZW(e|0)|0)|0;do{if((g|0)>0){b=Bd[c[b+4>>2]&255](b,g)|0;j=(b|0)==0;h=j?64:0;if(j){b=0;break}bX(b|0,0,g|0)|0}else{b=0;h=g>>31&6}}while(0);if((h|0)!=0){j=0;i=f;return j|0}g=Sa(d|0,47)|0;if((g|0)==0){a[b]=0}else{j=g-d+1|0;hX(b|0,d|0,j|0)|0;a[b+j|0]=0;d=g+1|0}cX(b|0,e|0)|0;cX(b|0,d|0)|0;j=b;i=f;return j|0}function nL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;m=i;i=i+8|0;h=i;i=i+8|0;g=a+8|0;o=c[g>>2]|0;k=a+4|0;if((o+3|0)>>>0>=(c[k>>2]|0)>>>0){q=85;i=f;return q|0}j=a+20|0;n=c[j>>2]|0;do{if((n|0)==0){n=(c[a>>2]|0)+o|0;if((n|0)==0){p=0}else{l=6}}else{if((pd[n&63](a,o,h,4)|0)==4){o=c[g>>2]|0;n=h;l=6;break}else{q=85;i=f;return q|0}}}while(0);if((l|0)==6){p=(d[n+1|0]|0)<<16|(d[n]|0)<<24|(d[n+2|0]|0)<<8|(d[n+3|0]|0)}n=o+4|0;c[g>>2]=n;if((p|0)!=(b|0)){q=2;i=f;return q|0}if((o+7|0)>>>0>=(c[k>>2]|0)>>>0){q=85;i=f;return q|0}b=c[j>>2]|0;do{if((b|0)==0){c[g>>2]=o+8;o=o+24|0;l=14}else{if((pd[b&63](a,n,h,4)|0)!=4){q=85;i=f;return q|0}n=c[g>>2]|0;o=c[j>>2]|0;c[g>>2]=n+4;b=n+20|0;if((o|0)==0){o=b;l=14;break}q=(pd[o&63](a,b,0,0)|0)==0;o=q?0:85}}while(0);if((l|0)==14){b=o;o=(c[k>>2]|0)>>>0<o>>>0?85:0}if((o|0)!=0){q=o;i=f;return q|0}c[g>>2]=b;if((n+21|0)>>>0>=(c[k>>2]|0)>>>0){q=85;i=f;return q|0}l=c[j>>2]|0;do{if((l|0)==0){m=(c[a>>2]|0)+b|0;if((m|0)!=0){break}c[g>>2]=n+22;q=2;i=f;return q|0}else{if((pd[l&63](a,b,m,2)|0)==2){b=c[g>>2]|0;break}else{q=85;i=f;return q|0}}}while(0);q=(d[m]|0)<<8&65535|(d[m+1|0]|0);p=b+2|0;c[g>>2]=p;m=q&65535;if(q<<16>>16==0){q=2;i=f;return q|0}b=1;a:while(1){if((p+3|0)>>>0>=(c[k>>2]|0)>>>0){o=85;l=49;break}l=c[j>>2]|0;do{if((l|0)==0){n=(c[a>>2]|0)+p|0;if((n|0)!=0){l=30;break}c[g>>2]=p+4;o=p+12|0;l=44}else{if((pd[l&63](a,p,h,4)|0)!=4){o=85;l=49;break a}p=c[g>>2]|0;n=h;l=30}}while(0);do{if((l|0)==30){l=0;q=(d[n+1|0]|0)<<16|(d[n]|0)<<24|(d[n+2|0]|0)<<8|(d[n+3|0]|0);n=p+4|0;c[g>>2]=n;if((q|0)!=2){l=c[j>>2]|0;n=p+12|0;if((l|0)==0){o=n;l=44;break}q=(pd[l&63](a,n,0,0)|0)==0;o=q?0:85;l=45;break}o=c[k>>2]|0;if((p+7|0)>>>0>=o>>>0){break}p=c[j>>2]|0;if((p|0)==0){p=(c[a>>2]|0)+n|0;if((p|0)==0){p=0}else{l=36}}else{if((pd[p&63](a,n,h,4)|0)!=4){break}o=c[k>>2]|0;n=c[g>>2]|0;p=h;l=36}if((l|0)==36){l=0;p=(d[p+1|0]|0)<<16|(d[p]|0)<<24|(d[p+2|0]|0)<<8|(d[p+3|0]|0)}q=n+4|0;c[g>>2]=q;if((n+7|0)>>>0>=o>>>0){break}n=c[j>>2]|0;if((n|0)==0){break a}if((pd[n&63](a,q,h,4)|0)==4){l=40;break a}}}while(0);if((l|0)==44){n=o;o=(c[k>>2]|0)>>>0<o>>>0?85:0;l=45}if((l|0)==45){if((o|0)!=0){l=49;break}c[g>>2]=n}if((b|0)>=(m|0)){o=2;l=49;break}p=c[g>>2]|0;b=b+1|0}if((l|0)==40){q=c[g>>2]|0}else if((l|0)==49){i=f;return o|0}c[g>>2]=q+4;c[e>>2]=p;q=0;i=f;return q|0}function oL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;k=i;i=i+128|0;j=k;if((e|0)==0){n=85;i=h;return n|0}l=e+20|0;m=c[l>>2]|0;do{if((m|0)!=0){m=(pd[m&63](e,0,0,0)|0)==0;if(m){break}else{g=m?0:85}i=h;return g|0}}while(0);m=e+8|0;c[m>>2]=0;n=c[e+4>>2]|0;if((n|0)==0){n=85;i=h;return n|0}l=c[l>>2]|0;if((l|0)==0){l=n>>>0>128?128:n;$W(k|0,c[e>>2]|0,l|0)|0}else{l=pd[l&63](e,0,j,128)|0}c[m>>2]=l;if(l>>>0<=127){n=85;i=h;return n|0}if((a[k]|0)!=0){n=2;i=h;return n|0}if((a[j+74|0]|0)!=0){n=2;i=h;return n|0}if((a[j+82|0]|0)!=0){n=2;i=h;return n|0}k=a[j+1|0]|0;if(k<<24>>24==0|(k&255)>33){n=2;i=h;return n|0}if((a[j+63|0]|0)!=0){n=2;i=h;return n|0}if((a[j+((k&255)+2)|0]|0)!=0){n=2;i=h;return n|0}n=pL(b,e,(d[j+84|0]<<16|d[j+83|0]<<24|d[j+85|0]<<8|d[j+86|0])+255&-128,f,g)|0;i=h;return n|0}function pL(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;k=i;p=i;i=i+8|0;n=i;i=i+8|0;t=i;i=i+8|0;s=i;i=i+8|0;l=i;i=i+8|0;o=l;q=i;i=i+8|0;r=q;j=c[b>>2]|0;f=BK(0,e,f,t,s)|0;if((f|0)!=0){F=f;i=k;return F|0}t=c[t>>2]|0;s=c[s>>2]|0;if((FK(b,e,t,s,1347375956,o,r)|0)!=0){o=FK(b,e,t,s,1936092788,o,r)|0;if((o|0)!=0){F=o;i=k;return F|0}o=c[q>>2]|0;p=(g|0)%(o|0)|0;s=c[b>>2]|0;f=(p|0)==-1?0:p;p=c[l>>2]|0;a:do{if((f|0)<(o|0)){t=c[p+(f<<2)>>2]|0;r=e+20|0;q=c[r>>2]|0;if((q|0)==0){q=(c[e+4>>2]|0)>>>0<t>>>0?85:0}else{F=(pd[q&63](e,t,0,0)|0)==0;q=F?0:85}if((q|0)!=0){m=q;break}q=e+8|0;c[q>>2]=t;g=e+4|0;if((t+3|0)>>>0>=(c[g>>2]|0)>>>0){m=85;break}u=c[r>>2]|0;do{if((u|0)==0){n=(c[e>>2]|0)+t|0;if((n|0)!=0){u=t;m=77;break}c[q>>2]=t+4;n=0}else{if((pd[u&63](e,t,n,4)|0)!=4){m=85;break a}u=c[q>>2]|0;m=77}}while(0);if((m|0)==77){n=(d[n+1|0]|0)<<16|(d[n]|0)<<24|(d[n+2|0]|0)<<8|(d[n+3|0]|0);c[q>>2]=u+4;if((n|0)==-1){m=1;break}}m=QJ(b,e,f,h)|0;if((m|0)==0){m=0;break}t=t+4|0;f=c[r>>2]|0;if((f|0)==0){f=(c[g>>2]|0)>>>0<t>>>0?85:0}else{F=(pd[f&63](e,t,0,0)|0)==0;f=F?0:85}if((f|0)!=0){break}c[q>>2]=t;do{if((n|0)>0){m=Bd[c[s+4>>2]&255](s,n)|0;t=(m|0)==0;s=t?64:0;if(t){m=0;break}bX(m|0,0,n|0)|0}else{m=0;s=n>>31&6}}while(0);if((s|0)!=0){m=s;break}s=c[q>>2]|0;g=c[g>>2]|0;if(g>>>0<=s>>>0){m=85;break}r=c[r>>2]|0;if((r|0)==0){r=g-s|0;F=r>>>0>n>>>0?n:r;$W(m|0,(c[e>>2]|0)+s|0,F|0)|0;e=F}else{e=pd[r&63](e,s,m,n)|0}c[q>>2]=e+s;if(e>>>0<n>>>0){m=85;break}if((n|0)>4){F=(iX(m|0,206488,4)|0)!=0;e=F?206240:206496}else{e=206240}m=qL(b,m,n,0,e,h)|0}else{m=1}}while(0);if((p|0)!=0){hd[c[j+8>>2]&127](j,p)}c[l>>2]=0;if((m|0)!=0){F=m;i=k;return F|0}c[c[h>>2]>>2]=o;F=0;i=k;return F|0}o=c[l>>2]|0;r=c[q>>2]|0;q=c[b>>2]|0;b:do{if((g|0)==0|(g|0)==-1){f=(r|0)>0;do{if(f){v=e+20|0;g=e+4|0;u=e+8|0;s=0;t=0;do{w=c[o+(s<<2)>>2]|0;x=c[v>>2]|0;if((x|0)==0){C=(c[g>>2]|0)>>>0<w>>>0?85:0}else{F=(pd[x&63](e,w,0,0)|0)==0;C=F?0:85}if((C|0)!=0){break b}c[u>>2]=w;if((w+3|0)>>>0>=(c[g>>2]|0)>>>0){C=85;break b}x=c[v>>2]|0;if((x|0)==0){x=(c[e>>2]|0)+w|0;if((x|0)==0){x=6}else{m=15}}else{if((pd[x&63](e,w,n,4)|0)!=4){C=85;break b}w=c[u>>2]|0;x=n;m=15}if((m|0)==15){m=0;x=((d[x+1|0]|0)<<16|(d[x]|0)<<24|(d[x+2|0]|0)<<8|(d[x+3|0]|0))+6|0}c[u>>2]=w+4;t=x+t|0;s=s+1|0;}while((s|0)<(r|0));u=t+2|0;if((u|0)>0){g=u;m=19;break}g=u;s=0;C=u>>31&6}else{g=2;t=0;m=19}}while(0);do{if((m|0)==19){s=Bd[c[q+4>>2]&255](q,g)|0;u=(s|0)==0;C=u?64:0;if(u){s=0;break}bX(s|0,0,g|0)|0}}while(0);if((C|0)!=0){break}a[s]=-128;a[s+1|0]=1;F=s+2|0;a[F]=0;a[F+1|0]=0;a[F+2|0]=0;a[F+3|0]=0;c:do{if(f){v=e+20|0;f=e+4|0;u=e+8|0;w=0;z=0;y=2;x=6;A=1;do{B=c[o+(w<<2)>>2]|0;C=c[v>>2]|0;if((C|0)==0){C=(c[f>>2]|0)>>>0<B>>>0?85:0}else{F=(pd[C&63](e,B,0,0)|0)==0;C=F?0:85}if((C|0)!=0){break c}c[u>>2]=B;D=c[f>>2]|0;if((B+3|0)>>>0>=D>>>0){C=85;break b}C=c[v>>2]|0;if((C|0)==0){C=(c[e>>2]|0)+B|0;if((C|0)==0){C=B;B=0}else{E=C;m=33}}else{if((pd[C&63](e,B,n,4)|0)!=4){C=85;break b}D=c[f>>2]|0;B=c[u>>2]|0;E=n;m=33}if((m|0)==33){m=0;C=B;B=(d[E+1|0]|0)<<16|(d[E]|0)<<24|(d[E+2|0]|0)<<8|(d[E+3|0]|0)}E=C+4|0;c[u>>2]=E;if((C+5|0)>>>0>=D>>>0){C=85;break b}D=c[v>>2]|0;do{if((D|0)==0){D=(c[e>>2]|0)+E|0;if((D|0)!=0){m=40;break}c[u>>2]=C+6}else{if((pd[D&63](e,E,p,2)|0)!=2){C=85;break b}E=c[u>>2]|0;D=p;m=40}}while(0);do{if((m|0)==40){m=0;C=((d[D]|0)<<8&65535)>>>8;c[u>>2]=E+2;if((C|0)==0){break}B=(B|0)>2?B+ -2|0:0;if((C|0)==(A|0)){z=B+z|0;D=x}else{E=y+3|0;if((E|0)>(g|0)){C=0;break c}F=z&255;a[s+y|0]=F;A=z>>>8&255;a[s+(y+1)|0]=A;D=z>>>16&255;a[s+(y+2)|0]=D;z=z>>>24&255;a[s+E|0]=z;if((C|0)==5){e=z;m=56;break c}y=x+4|0;if((y|0)>(t|0)){C=0;break c}a[s+x|0]=-128;D=x+2|0;a[s+(x+1)|0]=C;a[s+D|0]=0;a[s+(x+3)|0]=0;a[s+y|0]=0;a[s+(x+5)|0]=0;z=B;y=D;D=x+6|0;A=C}if((D|0)>(t|0)){C=1;break c}x=D+B|0;if((x|0)>(t|0)){C=1;break c}D=s+D|0;C=c[u>>2]|0;E=c[f>>2]|0;if(E>>>0<=C>>>0){C=85;break c}F=c[v>>2]|0;if((F|0)==0){E=E-C|0;F=E>>>0>B>>>0?B:E;$W(D|0,(c[e>>2]|0)+C|0,F|0)|0;D=F}else{D=pd[F&63](e,C,D,B)|0}c[u>>2]=D+C;if(D>>>0<B>>>0){C=85;break c}}}while(0);w=w+1|0;}while((w|0)<(r|0));F=z&255;D=z>>>16&255;e=z>>>24&255;A=z>>>8&255;m=56}else{F=0;D=0;e=0;A=0;y=2;x=6;m=56}}while(0);do{if((m|0)==56){if((x|0)>(t|0)){C=0;break}a[s+x|0]=-128;a[s+(x+1)|0]=3;m=y+3|0;if((m|0)>(g|0)){C=0;break}a[s+y|0]=F;a[s+(y+1)|0]=A;a[s+(y+2)|0]=D;a[s+m|0]=e;C=qL(b,s,x+2|0,0,206504,h)|0;break b}}while(0);if((s|0)==0){break}hd[c[q+8>>2]&127](q,s)}else{C=1}}while(0);if((o|0)!=0){hd[c[j+8>>2]&127](j,o)}c[l>>2]=0;if((C|0)!=0){F=C;i=k;return F|0}c[c[h>>2]>>2]=1;F=0;i=k;return F|0}function qL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;m=i;i=i+32|0;l=m;j=c[a>>2]|0;k=(b|0)==0;do{if((a|0)==0){if(k){j=33}else{g=33;break}i=h;return j|0}else{if(k){n=6;i=h;return n|0}k=Bd[c[j+4>>2]&255](j,40)|0;if((k|0)==0){g=64;break}bX(k|0,0,40)|0;c[k>>2]=b;c[k+4>>2]=d;c[k+8>>2]=0;c[k+32>>2]=0;c[k+20>>2]=0;b=k+24|0;c[b>>2]=329;c[m>>2]=2;c[l+16>>2]=k;if((f|0)!=0){c[m>>2]=10;n=c[a+24>>2]|0;d=a+28+(n<<2)|0;a:do{if((n|0)>0){n=a+28|0;while(1){m=c[n>>2]|0;n=n+4|0;if((Qc(c[(c[m>>2]|0)+8>>2]|0,f|0)|0)==0){break a}if(n>>>0<d>>>0){}else{m=0;break}}}else{m=0}}while(0);c[l+20>>2]=m}e=MJ(a,l,e,g)|0;if((e|0)==0){n=(c[g>>2]|0)+8|0;c[n>>2]=c[n>>2]&-1025;n=0;i=h;return n|0}g=c[b>>2]|0;if((g|0)!=0){fd[g&511](k)}hd[c[j+8>>2]&127](j,k);n=e;i=h;return n|0}}while(0);hd[c[j+8>>2]&127](j,b);n=g;i=h;return n|0}function rL(a){a=a|0;var b=0,d=0,e=0;b=i;e=c[a+28>>2]|0;d=c[a>>2]|0;if((d|0)!=0){hd[c[e+8>>2]&127](e,d)}c[a+4>>2]=0;c[a>>2]=0;c[a+24>>2]=0;i=b;return}function sL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=c[a>>2]|0;if((c[b+72>>2]|0)!=1651078259){a=18;i=d;return a|0}c[a+20>>2]=c[b+100>>2];c[a+24>>2]=c[b+104>>2];f=b+156|0;a=a+28|0;if((c[(c[f>>2]|0)+4>>2]&1|0)==0){YV(a);a=ZV(e,b+76|0,a)|0;i=d;return a|0}else{$W(a|0,b+76|0,24)|0;a=(c[f>>2]|0)+4|0;c[a>>2]=c[a>>2]&-2;a=0;i=d;return a|0}return 0}function tL(a){a=a|0;var b=0;b=i;_V(c[a>>2]|0,a+28|0)|0;i=b;return}function uL(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[a>>2]|0;c[b+20>>2]=c[a+20>>2];c[b+24>>2]=c[a+24>>2];a=ZV(e,a+28|0,b+28|0)|0;i=d;return a|0}function vL(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+20>>2]<<6;c[b>>2]=e;d=a+28|0;c[b+8>>2]=(c[d+4>>2]<<6)+e;a=c[a+24>>2]<<6;c[b+12>>2]=a;c[b+4>>2]=a-(c[d>>2]<<6);i=i;return}function wL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;e=i;f=d+108|0;g=a+20|0;if((c[d+72>>2]|0)!=1869968492){d=18;i=e;return d|0}a=wK(c[a>>2]|0,b[d+110>>1]|0,b[f>>1]|0,g)|0;if((a|0)!=0){d=a;i=e;return d|0}xK(f,g)|0;d=0;i=e;return d|0}function xL(a){a=a|0;var b=0;b=i;yK(c[a>>2]|0,a+20|0)|0;i=b;return}function yL(a,d){a=a|0;d=d|0;var e=0,f=0;e=i;f=a+20|0;d=d+20|0;a=wK(c[a>>2]|0,b[f+2>>1]|0,b[f>>1]|0,d)|0;if((a|0)!=0){i=e;return a|0}xK(f,d)|0;i=e;return a|0}function zL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;if((b|0)!=0){GJ(a+20|0,b)}if((d|0)==0){i=e;return}HJ(a+20|0,c[d>>2]|0,c[d+4>>2]|0);i=e;return}function AL(a,b){a=a|0;b=b|0;var c=0;c=i;zK(a+20|0,b);i=c;return}function BL(a,b){a=a|0;b=b|0;var d=0;d=i;c[b+72>>2]=1869968492;$W(b+108|0,a+20|0,20)|0;a=b+124|0;c[a>>2]=c[a>>2]&-2;i=d;return 0}function CL(a){a=a|0;var b=0,d=0,e=0;b=i;if((a|0)==0){i=b;return}d=c[c[a>>2]>>2]|0;e=c[(c[a+4>>2]|0)+12>>2]|0;if((e|0)!=0){fd[e&511](a)}lJ(d,a);i=b;return}function DL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=i;i=i+8|0;f=e;if((a|0)==0){j=37;i=d;return j|0}g=c[a>>2]|0;if((b|0)==0){j=6;i=d;return j|0}h=c[a+72>>2]|0;do{if((h|0)==1651078259){h=206520}else if((h|0)==1869968492){h=206552}else{h=iK(g,h,0)|0;j=(h|0)==0;if(j){b=18}else{h=j?0:h+28|0;break}i=d;return b|0}}while(0);f=jJ(c[g>>2]|0,c[h>>2]|0,f)|0;j=c[e>>2]|0;if((j|0)!=0){i=d;return j|0}c[f>>2]=g;g=f+4|0;c[g>>2]=h;c[f+8>>2]=c[h+4>>2];e=c[e>>2]|0;if((e|0)!=0){j=e;i=d;return j|0}c[f+12>>2]=c[a+64>>2]<<10;c[f+16>>2]=c[a+68>>2]<<10;a=Bd[c[h+8>>2]&255](f,a)|0;if((a|0)==0){c[b>>2]=f;j=0;i=d;return j|0}if((f|0)==0){j=a;i=d;return j|0}b=c[c[f>>2]>>2]|0;e=c[(c[g>>2]|0)+12>>2]|0;if((e|0)!=0){fd[e&511](f)}lJ(b,f);j=a;i=d;return j|0}function EL(a){a=a|0;var b=0;b=i;kK(a,273368)|0;kK(a,274640)|0;kK(a,286944)|0;kK(a,277624)|0;kK(a,207424)|0;kK(a,280624)|0;kK(a,282080)|0;kK(a,206632)|0;kK(a,283472)|0;kK(a,271720)|0;kK(a,283256)|0;kK(a,209736)|0;kK(a,270912)|0;kK(a,273104)|0;kK(a,273184)|0;kK(a,273264)|0;kK(a,208112)|0;kK(a,209816)|0;i=b;return}function FL(a){a=a|0;var b=0,d=0,e=0;b=i;d=ML()|0;do{if((d|0)==0){e=7}else{e=pK(d,a)|0;if((e|0)==0){EL(c[a>>2]|0);e=0;break}else{OL(d);break}}}while(0);i=b;return e|0}function GL(a){a=a|0;var b=0,d=0;b=i;if((a|0)==0){i=b;return 0}d=c[a>>2]|0;rK(a)|0;OL(d);i=b;return 0}function HL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;f=i;i=i+8|0;e=i;i=i+8|0;g=i;i=i+80|0;if((a|0)==0){j=40;i=d;return j|0}e=gc(b|0,0,e|0)|0;if((e|0)<0){j=1;i=d;return j|0}c[f>>2]=1;xb(e|0,2,f|0)|0;a:do{if((Xa(e|0,g|0)|0)>=0){g=c[g+36>>2]|0;if((g|0)==0){break}f=a+4|0;c[f>>2]=g;c[a+8>>2]=0;j=Xb(0,g|0,1,2,e|0,0)|0;c[a>>2]=j;do{if((j|0)==0|(j|0)==-1){j=c[f>>2]|0;g=AW(j)|0;c[a>>2]=g;if((g|0)==0){break a}else{h=0}while(1){g=Qb(e|0,g+h|0,j-h|0)|0;if((g|0)<1){if((g|0)!=-1){f=16;break}if((c[(Pc()|0)>>2]|0)!=4){f=16;break}}else{h=g+h|0}j=c[f>>2]|0;if((h|0)==(j|0)){f=14;break}g=c[a>>2]|0}if((f|0)==14){c[a+24>>2]=331;break}else if((f|0)==16){BW(c[a>>2]|0);break a}}else{c[a+24>>2]=330}}while(0);cb(e|0)|0;c[a+12>>2]=c[a>>2];c[a+16>>2]=b;c[a+20>>2]=0;j=0;i=d;return j|0}}while(0);cb(e|0)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;j=81;i=d;return j|0}function IL(a){a=a|0;var b=0,d=0,e=0;b=i;e=a+12|0;d=a+4|0;Wb(c[e>>2]|0,c[d>>2]|0)|0;c[e>>2]=0;c[d>>2]=0;c[a>>2]=0;i=b;return}function JL(a,b){a=a|0;b=b|0;var c=0;c=i;a=AW(b)|0;i=c;return a|0}function KL(a){a=a|0;var b=0,d=0;b=i;d=a+12|0;BW(c[d>>2]|0);c[d>>2]=0;c[a+4>>2]=0;c[a>>2]=0;i=b;return}function LL(a,b){a=a|0;b=b|0;a=i;BW(b);i=a;return}function ML(){var a=0,b=0;b=i;a=AW(16)|0;if((a|0)==0){i=b;return a|0}c[a>>2]=0;c[a+4>>2]=190;c[a+12>>2]=40;c[a+8>>2]=91;i=b;return a|0}function NL(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=i;b=CW(d,c)|0;i=a;return b|0}function OL(a){a=a|0;var b=0;b=i;hd[c[a+8>>2]&127](a,a);i=b;return}function PL(a,b){a=a|0;b=b|0;b=c[a>>2]|0;c[a+16>>2]=c[b+296>>2];c[a+20>>2]=c[b+300>>2];i=i;return 0}function QL(a){a=a|0;c[a+20>>2]=0;c[a+16>>2]=0;i=i;return}function RL(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0;f=i;g=c[a+20>>2]|0;a=c[a+16>>2]|0;if((a|0)==0){k=0;i=f;return k|0}else{j=0}while(1){h=(j+a|0)>>>1;k=c[g+(h<<3)>>2]|0;if((k|0)==(b|0)){break}k=k>>>0>b>>>0;a=k?h:a;j=k?j:h+1|0;if(j>>>0>=a>>>0){g=0;d=5;break}}if((d|0)==5){i=f;return g|0}k=(e[g+(h<<3)+4>>1]|0)+1|0;i=f;return k|0}function SL(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;d=c[a+20>>2]|0;g=(c[b>>2]|0)+1|0;a=c[a+16>>2]|0;a:do{if((a|0)==0){k=0}else{j=a;k=0;while(1){h=(k+j|0)>>>1;l=c[d+(h<<3)>>2]|0;if((g|0)==(l|0)){break}l=g>>>0<l>>>0;j=l?h:j;k=l?k:h+1|0;if(k>>>0>=j>>>0){break a}}j=g;l=(e[d+(h<<3)+4>>1]|0)+1|0;k=b;c[k>>2]=j;i=f;return l|0}}while(0);if(k>>>0>=a>>>0){j=0;l=0;k=b;c[k>>2]=j;i=f;return l|0}j=c[d+(k<<3)>>2]|0;l=(e[d+(k<<3)+4>>1]|0)+1|0;k=b;c[k>>2]=j;i=f;return l|0}function TL(a,b){a=a|0;b=b|0;var c=0;c=i;a=uJ(207288,b)|0;i=c;return a|0}function UL(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;g=i;h=i;i=i+16|0;f=h;a:do{if((ZL(d,e)|0)!=0){VL(e);l=e+132|0;k=$V(l,d)|0;do{if((k&255|0)!=7){if((k|0)!=0){k=gW(l,d)|0;if(!((k&255|0)!=7&(k|0)==0)){break}}c[e+172>>2]=d;c[e+104>>2]=l;if((ZL(l,e)|0)==0){break a}}}while(0);VL(e);l=2;i=g;return l|0}}while(0);k=c[e+180>>2]|0;do{if((k|0)==0){j=14}else{d=c[e+176>>2]|0;if((d|0)==0){j=14;break}l=a[k]|0;if(!(l<<24>>24==73|l<<24>>24==105)){j=14;break}l=a[k+1|0]|0;if(!(l<<24>>24==83|l<<24>>24==115)){j=14;break}l=a[k+2|0]|0;if(!(l<<24>>24==79|l<<24>>24==111)){j=14;break}k=k+3|0;if((Qc(k|0,206736)|0)!=0){if((Qc(k|0,206744)|0)!=0){j=14;break}if((Qc(d|0,206752)|0)!=0){j=14;break}}c[h>>2]=e;l=f+4|0;k=l;c[k>>2]=0;c[k+4>>2]=0;c[l>>2]=1970170211;b[f+8>>1]=3;b[f+10>>1]=1}}while(0);if((j|0)==14){c[h>>2]=e;l=f+4|0;c[l>>2]=0;c[l+4>>2]=0}l=eK(206584,0,f,0)|0;i=g;return l|0}function VL(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;if((b|0)==0){i=d;return}e=c[b+100>>2]|0;f=b+300|0;lJ(e,c[f>>2]|0);c[f>>2]=0;f=b+292|0;lJ(e,c[f>>2]|0);c[f>>2]=0;f=b+284|0;h=c[f>>2]|0;do{if((h|0)==0){h=0}else{g=b+280|0;if((c[g>>2]|0)>0){j=0}else{break}do{k=h+(j*12|0)|0;do{if((k|0)!=0){lJ(e,c[k>>2]|0);c[k>>2]=0;if((a[h+(j*12|0)+4|0]|0)==0){break}k=h+(j*12|0)+8|0;lJ(e,c[k>>2]|0);c[k>>2]=0}}while(0);j=j+1|0;h=c[f>>2]|0}while((j|0)<(c[g>>2]|0))}}while(0);lJ(e,h);c[f>>2]=0;f=b+192|0;lJ(e,c[f>>2]|0);c[f>>2]=0;f=b+20|0;lJ(e,c[f>>2]|0);c[f>>2]=0;f=b+24|0;lJ(e,c[f>>2]|0);c[f>>2]=0;f=b+32|0;lJ(e,c[f>>2]|0);c[f>>2]=0;f=b+176|0;lJ(e,c[f>>2]|0);c[f>>2]=0;f=b+180|0;lJ(e,c[f>>2]|0);c[f>>2]=0;e=b+104|0;f=c[e>>2]|0;if((f|0)!=(b+132|0)){i=d;return}zJ(f);c[e>>2]=c[b+172>>2];i=d;return}function WL(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;f=c[f>>2]|0;if((f|0)==0){s=6;i=h;return s|0}if((c[f+16>>2]|0)>>>0<=g>>>0){s=6;i=h;return s|0}r=c[f+104>>2]|0;k=(g|0)==0?0:g+ -1|0;n=c[f+292>>2]|0;m=n+(k<<4)+6|0;p=(b[n+(k<<4)+8>>1]|0)+(b[m>>1]|0)|0;g=e+76|0;c[g>>2]=p;j=n+(k<<4)+2|0;l=n+(k<<4)|0;q=(b[j>>1]|0)-(b[l>>1]|0)|0;c[e+80>>2]=q;b[e+92>>1]=1;a[e+94|0]=1;o=f+308|0;s=1<<(c[o>>2]&3);if((s|0)==1){q=q+7>>3;c[e+84>>2]=q}else if((s|0)==8){q=q+63>>6<<3;c[e+84>>2]=q}else if((s|0)==4){q=q+31>>5<<2;c[e+84>>2]=q}else if((s|0)==2){q=q+15>>4<<1;c[e+84>>2]=q}else{s=3;i=h;return s|0}p=da(p,q)|0;q=CJ(e,p)|0;if((q|0)!=0){s=q;i=h;return s|0}q=PJ(r,c[n+(k<<4)+12>>2]|0)|0;if((q|0)!=0){s=q;i=h;return s|0}q=e+88|0;r=CK(r,c[q>>2]|0,p)|0;if((r|0)!=0){s=r;i=h;return s|0}r=c[o>>2]|0;if(!((r&8|0)!=0|(p|0)==0)){s=p;r=c[q>>2]|0;while(1){t=d[r]|0;t=t>>>1&85|t<<1&170;t=t>>>2&51|t<<2&204;a[r]=t>>>4|t<<4;s=s+ -1|0;if((s|0)==0){break}else{r=r+1|0}}r=c[o>>2]|0}do{if(((r>>>2^r>>>3)&1|0)!=0){o=1<<(r>>>4&3);if((o|0)==4){if(p>>>0<=3){break}o=c[q>>2]|0;while(1){s=a[o]|0;r=o+3|0;a[o]=a[r]|0;a[r]=s;r=o+1|0;s=a[r]|0;t=o+2|0;a[r]=a[t]|0;a[t]=s;p=p+ -4|0;if(p>>>0>3){o=o+4|0}else{break}}}else if((o|0)==2){if(p>>>0<=1){break}o=c[q>>2]|0;while(1){s=a[o]|0;t=o+1|0;a[o]=a[t]|0;a[t]=s;p=p+ -2|0;if(p>>>0>1){o=o+2|0}else{break}}}else{break}}}while(0);c[e+72>>2]=1651078259;c[e+100>>2]=b[l>>1]|0;c[e+104>>2]=b[m>>1]|0;s=e+24|0;c[e+40>>2]=b[n+(k<<4)+4>>1]<<6;c[e+32>>2]=b[l>>1]<<6;c[e+36>>2]=b[m>>1]<<6;c[s>>2]=(b[j>>1]|0)-(b[l>>1]|0)<<6;c[e+28>>2]=c[g>>2]<<6;t=f+196|0;XJ(s,(c[t+12>>2]|0)+(c[t+8>>2]|0)<<6);t=0;i=h;return t|0}function XL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;e=c[a>>2]|0;g=c[d+16>>2]|0;h=c[d+8>>2]|0;if((g|0)!=0){h=((da(h,g)|0)+36|0)/72|0}g=h+32>>6;d=c[d>>2]|0;if((d|0)==0){d=(c[(c[e+32>>2]|0)+12>>2]|0)+32>>6}else if((d|0)==1){d=e+196|0;d=(c[d+12>>2]|0)+(c[d+8>>2]|0)|0}else{h=7;i=f;return h|0}d=(g|0)==(d|0);if(!d){h=d?0:23;i=f;return h|0}h=e+196|0;YJ(e,0);c[a+24>>2]=c[h+8>>2]<<6;c[a+28>>2]=0-(c[h+12>>2]|0)<<6;c[a+36>>2]=b[h+40>>1]<<6;h=0;i=f;return h|0}function YL(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;e=i;g=c[a>>2]|0;f=g+196|0;YJ(g,d);c[a+24>>2]=c[f+8>>2]<<6;c[a+28>>2]=0-(c[f+12>>2]|0)<<6;c[a+36>>2]=b[f+40>>1]<<6;i=e;return 0}function ZL(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=i;m=i;i=i+8|0;n=m;p=i;i=i+8|0;r=p;s=i;i=i+8|0;v=s;x=i;i=i+8|0;y=x;w=i;i=i+8|0;A=w;o=i;i=i+8|0;z=o;D=i;i=i+8|0;u=D;B=i;i=i+16|0;h=i;i=i+8|0;j=h;c[h>>2]=0;q=f+100|0;k=c[q>>2]|0;t=f+184|0;J=PJ(e,0)|0;c[D>>2]=J;a:do{if((J|0)==0){J=ZK(e,207248,t)|0;c[D>>2]=J;if((J|0)!=0){f=1;l=20;break}if((c[t>>2]|0)!=1885562369){f=3;l=20;break}t=f+188|0;C=c[t>>2]|0;if(C>>>0>134217727|(C|0)==0){f=3;l=20;break}C=oJ(k,16,0,C,0,u)|0;u=f+192|0;c[u>>2]=C;if((c[D>>2]|0)!=0){f=64;l=20;break}do{if((c[t>>2]|0)==0){F=0;l=10}else{E=0;while(1){J=ZK(e,207264,C)|0;c[D>>2]=J;if((J|0)!=0){break}E=E+1|0;F=c[t>>2]|0;if(E>>>0<F>>>0){C=C+16|0}else{l=9;break}}if((l|0)==9){C=c[u>>2]|0;if((F|0)==1){F=1;l=22;break}else{l=10;break}}lJ(k,c[u>>2]|0);c[u>>2]=0;J=c[D>>2]|0;c[h>>2]=J;if((J|0)!=0){break a}F=c[t>>2]|0;C=0}}while(0);if((l|0)==10){D=0;while(1){l=~D;D=D+1|0;if((F|0)==(D|0)){break}G=c[C+12>>2]|0;H=0;F=0;while(1){E=F+1|0;I=C+(E<<4)+12|0;J=c[I>>2]|0;if(G>>>0>J>>>0){G=C+(E<<4)|0;H=C+(F<<4)|0;$W(B|0,H|0,16)|0;$W(H|0,G|0,16)|0;$W(G|0,B|0,16)|0;G=c[I>>2]|0;H=1}else{G=J}I=c[C+(F<<4)+8>>2]|0;if(I>>>0>G>>>0){f=9;l=20;break a}if((c[C+(F<<4)+12>>2]|0)>>>0>(G-I|0)>>>0){f=9;l=20;break a}F=c[t>>2]|0;if(E>>>0<(F+l|0)>>>0){F=E}else{break}}if((H|0)==0){break}if(D>>>0<(F+ -1|0)>>>0){}else{break}}C=c[u>>2]|0;l=22}if((l|0)==22){c[h>>2]=0}B=c[q>>2]|0;b:do{if((F|0)==0){z=3;l=30}else{D=0;while(1){E=D+1|0;if((c[C+(D<<4)>>2]|0)==1){break}if(E>>>0<F>>>0){D=E}else{z=3;l=30;break b}}E=c[e+8>>2]|0;F=c[C+(D<<4)+12>>2]|0;if(E>>>0>F>>>0){z=83;l=30;break}if((DK(e,F-E|0)|0)!=0){z=83;l=30;break}G=c[C+(D<<4)+8>>2]|0;c[o>>2]=0;C=YK(e,z)|0;if(!((c[o>>2]|0)==0&C>>>0<256)){D=0;G=0;break}F=(C&4|0)==0;if(F){C=YK(e,z)|0}else{C=GK(e,z)|0}if((c[o>>2]|0)!=0){D=0;G=0;break}if(C>>>0>((G>>>0)/9|0)>>>0){c[o>>2]=8;D=0;G=0;break}c[f+280>>2]=C;D=oJ(B,12,0,C,0,z)|0;if((c[o>>2]|0)!=0){G=0;break}E=(C|0)==0;do{if(!E){if(F){H=0;do{J=ZK(e,207224,D+(H*12|0)|0)|0;c[o>>2]=J;if((J|0)!=0){G=0;break b}H=H+1|0;}while(H>>>0<C>>>0)}else{H=0;do{J=ZK(e,207200,D+(H*12|0)|0)|0;c[o>>2]=J;if((J|0)!=0){G=0;break b}H=H+1|0;}while(H>>>0<C>>>0)}H=C&3;if((H|0)==0){break}J=DK(e,4-H|0)|0;c[o>>2]=J;if((J|0)==0){break}c[o>>2]=83;G=0;break b}}while(0);if(F){F=YK(e,z)|0}else{F=GK(e,z)|0}if((c[o>>2]|0)!=0){G=0;break}if(F>>>0>((da(C,-9)|0)+G|0)>>>0){c[o>>2]=8;G=0;break}G=oJ(B,1,0,F,0,z)|0;if((c[o>>2]|0)!=0){break}J=CK(e,G,F)|0;c[o>>2]=J;if((J|0)!=0){break}H=oJ(B,12,0,C,0,z)|0;if((c[o>>2]|0)!=0){break}c[f+284>>2]=H;c:do{if(!E){E=0;while(1){I=c[D+(E*12|0)>>2]|0;if((I|0)<0|I>>>0>F>>>0){l=59;break}c[H+(E*12|0)>>2]=aL(B,G+I|0,z)|0;if((c[o>>2]|0)!=0){break b}J=D+(E*12|0)+4|0;a[H+(E*12|0)+4|0]=a[J]|0;I=c[D+(E*12|0)+8>>2]|0;if((a[J]|0)==0){c[H+(E*12|0)+8>>2]=I}else{if((I|0)<0|I>>>0>F>>>0){l=63;break}c[H+(E*12|0)+8>>2]=aL(B,G+I|0,z)|0;if((c[o>>2]|0)!=0){break b}}E=E+1|0;if(E>>>0>=C>>>0){break c}}if((l|0)==59){c[o>>2]=9;break b}else if((l|0)==63){c[o>>2]=9;break b}}}while(0);c[o>>2]=0}}while(0);if((l|0)==30){c[o>>2]=z;D=0;G=0}lJ(B,D);lJ(B,G);J=c[o>>2]|0;c[h>>2]=J;if((J|0)!=0){break}o=c[u>>2]|0;B=c[t>>2]|0;d:do{if((B|0)==0){l=72}else{z=0;while(1){C=z+1|0;if((c[o+(z<<4)>>2]|0)==256){z=1;break d}if(C>>>0<B>>>0){z=C}else{l=72;break}}}}while(0);if((l|0)==72){J=_L(e,f,2)|0;c[h>>2]=J;if((J|0)!=0){break}B=c[t>>2]|0;o=c[u>>2]|0;z=0}c[w>>2]=0;C=c[q>>2]|0;e:do{if((B|0)==0){E=3;l=79}else{l=0;while(1){D=l+1|0;if((c[o+(l<<4)>>2]|0)==4){break}if(D>>>0<B>>>0){l=D}else{E=3;l=79;break e}}B=e+8|0;E=c[B>>2]|0;D=c[o+(l<<4)+12>>2]|0;if(E>>>0>D>>>0){E=83;l=79;break}if((DK(e,D-E|0)|0)!=0){E=83;l=79;break}D=c[o+(l<<4)+8>>2]|0;c[w>>2]=0;l=YK(e,A)|0;E=c[w>>2]|0;if((E|0)!=0){l=102;break}J=l&-256;if(!((J|0)==256|(J|0)==0)){E=3;l=102;break}F=l>>>0<256;E=(l&4|0)!=0;do{if(F){if(E){l=GK(e,A)|0;break}else{l=YK(e,A)|0;break}}else{if(E){l=(EK(e,A)|0)&65535;break}else{l=(WK(e,A)|0)&65535;break}}}while(0);if((c[w>>2]|0)!=0){E=3;l=102;break}o=f+288|0;c[o>>2]=l;if((l|0)==0){E=8;l=102;break}if(F){if(l>>>0>((D>>>0)/12|0)>>>0){E=8;l=102;break}}else{if(l>>>0>((D>>>0)/5|0)>>>0){E=8;l=102;break}}D=oJ(C,16,0,l,0,A)|0;A=f+292|0;c[A>>2]=D;if((c[w>>2]|0)!=0){E=64;l=102;break}J=E?206992:207024;I=y+1|0;E=y+2|0;H=y+3|0;G=y+4|0;f:do{if(F){x=0;while(1){c[w>>2]=ZK(e,J,D+(x<<4)|0)|0;c[D+(x<<4)+12>>2]=0;x=x+1|0;if((c[w>>2]|0)!=0){l=104;break f}if(x>>>0<l>>>0){}else{l=103;break}}}else{F=0;while(1){J=ZK(e,207056,y)|0;if((J|0)==0){b[D+(F<<4)>>1]=(d[x]|0)+ -128<<16>>16;b[D+(F<<4)+2>>1]=(d[I]|0)+ -128<<16>>16;b[D+(F<<4)+4>>1]=(d[E]|0)+ -128<<16>>16;b[D+(F<<4)+6>>1]=(d[H]|0)+ -128<<16>>16;b[D+(F<<4)+8>>1]=(d[G]|0)+ -128<<16>>16;b[D+(F<<4)+10>>1]=0;J=0}c[w>>2]=J;c[D+(F<<4)+12>>2]=0;F=F+1|0;if((c[w>>2]|0)!=0){l=104;break f}if(F>>>0>=l>>>0){l=103;break}}}}while(0);if((l|0)==103){c[h>>2]=0}else if((l|0)==104){lJ(C,c[A>>2]|0);c[A>>2]=0;J=c[w>>2]|0;c[h>>2]=J;if((J|0)!=0){break a}}c[s>>2]=0;w=c[q>>2]|0;y=c[u>>2]|0;D=c[t>>2]|0;g:do{if((D|0)==0){E=3;l=110}else{x=0;while(1){C=x+1|0;if((c[y+(x<<4)>>2]|0)==8){break}if(C>>>0<D>>>0){x=C}else{E=3;l=110;break g}}C=c[B>>2]|0;D=c[y+(x<<4)+12>>2]|0;if(C>>>0>D>>>0){E=83;l=110;break}if((DK(e,D-C|0)|0)!=0){E=83;l=110;break}x=c[y+(x<<4)+8>>2]|0;c[s>>2]=0;E=MK(e,8)|0;c[s>>2]=E;if((E|0)!=0){break}y=UK(e)|0;F=(y&4|0)==0;if(F){C=UK(e)|0}else{C=TK(e)|0}PK(e);if(y>>>0>=256){E=3;break}J=c[o>>2]|0;if(!((J|0)>-1&(C|0)==(J|0))){E=3;break}D=oJ(w,4,0,C,0,v)|0;E=c[s>>2]|0;if((E|0)!=0){break}E=(C|0)==0;if(E){l=123}else{if(F){G=0;do{c[D+(G<<2)>>2]=YK(e,v)|0;G=G+1|0;}while(G>>>0<C>>>0)}else{G=0;do{c[D+(G<<2)>>2]=GK(e,v)|0;G=G+1|0;}while(G>>>0<C>>>0)}if((c[s>>2]|0)==0){l=123}}h:do{if((l|0)==123){if(F){F=0;do{YK(e,v)|0;F=F+1|0;if((c[s>>2]|0)!=0){break h}}while(F>>>0<4)}else{F=0;do{GK(e,v)|0;F=F+1|0;if((c[s>>2]|0)!=0){break h}}while(F>>>0<4)}if(!E){E=0;do{v=c[D+(E<<2)>>2]|0;if(!((v|0)<0|v>>>0>x>>>0)){c[(c[A>>2]|0)+(E<<4)+12>>2]=(c[B>>2]|0)+v}E=E+1|0;}while(E>>>0<C>>>0)}c[f+308>>2]=y}}while(0);lJ(w,D);J=c[s>>2]|0;c[h>>2]=J;if((J|0)!=0){break a}c[p>>2]=0;s=c[q>>2]|0;u=c[u>>2]|0;v=c[t>>2]|0;i:do{if((v|0)==0){E=3;l=140}else{t=0;while(1){w=t+1|0;if((c[u+(t<<4)>>2]|0)==32){break}if(w>>>0<v>>>0){t=w}else{E=3;l=140;break i}}v=c[B>>2]|0;t=c[u+(t<<4)+12>>2]|0;if(v>>>0>t>>>0){E=83;l=140;break}if((DK(e,t-v|0)|0)!=0){E=83;l=140;break}c[p>>2]=0;E=MK(e,14)|0;c[p>>2]=E;if((E|0)!=0){break}x=UK(e)|0;t=(x&4|0)==0;if(t){w=SK(e)|0;y=SK(e)|0;u=SK(e)|0;v=SK(e)|0;b[f+304>>1]=SK(e)|0}else{w=RK(e)|0;y=RK(e)|0;u=RK(e)|0;v=RK(e)|0;b[f+304>>1]=RK(e)|0}u=u<<16>>16;w=w<<16>>16;PK(e);if(x>>>0>=256){E=3;break}x=(y<<16>>16)-w+1|0;y=da(1-u+(v<<16>>16)|0,x)|0;v=oJ(s,8,0,y,0,r)|0;if((c[p>>2]|0)!=0){E=64;break}J=MK(e,y<<1)|0;c[p>>2]=J;do{if((J|0)==0){if((y|0)>0){A=0;B=0;do{if(t){C=SK(e)|0}else{C=RK(e)|0}if(C<<16>>16!=-1){c[v+(B<<3)>>2]=((A|0)%(x|0)|0)+w+(((A|0)/(x|0)|0)+u<<8);b[v+(B<<3)+4>>1]=C;B=B+1|0}A=A+1|0;}while((A|0)<(y|0))}else{B=0}PK(e);t=oJ(s,8,0,B,0,r)|0;if((c[p>>2]|0)!=0){l=159;break}if((B|0)>0){r=0;do{c[t+(r<<3)>>2]=c[v+(r<<3)>>2];b[t+(r<<3)+4>>1]=b[v+(r<<3)+4>>1]|0;r=r+1|0;}while((r|0)<(B|0))}c[f+296>>2]=B;c[f+300>>2]=t;lJ(s,v)}else{t=0;l=159}}while(0);if((l|0)==159){lJ(s,t);lJ(s,v)}J=c[p>>2]|0;c[h>>2]=J;if((J|0)!=0){break a}if(z){J=_L(e,f,256)|0;c[h>>2]=J;if((J|0)!=0){break a}}c[f>>2]=1;c[f+4>>2]=0;c[f+8>>2]=(a[f+199|0]|0)==0?146:150;c[m>>2]=0;e=c[q>>2]|0;t=f+12|0;c[t>>2]=0;q=f+284|0;s=c[q>>2]|0;p=f+280|0;r=c[p>>2]|0;do{if((r|0)>0){u=0;while(1){v=u+1|0;w=(Qc(c[s+(u*12|0)>>2]|0,206904)|0)!=0;if((v|0)<(r|0)&w){u=v}else{break}}do{if(w){w=0;u=2}else{if((s+(u*12|0)|0)==0){w=0;u=2;break}if((a[s+(u*12|0)+4|0]|0)==0){w=0;u=2;break}u=s+(u*12|0)+8|0;J=a[c[u>>2]|0]|0;if(!(J<<24>>24==105|J<<24>>24==73|J<<24>>24==111|J<<24>>24==79)){w=0;u=2;break}c[t>>2]=1;u=a[c[u>>2]|0]|0;if(u<<24>>24==79){w=206912;u=3;break}w=u<<24>>24==111?206912:206920;u=3}}while(0);y=0;while(1){x=y+1|0;v=(Qc(c[s+(y*12|0)>>2]|0,206928)|0)!=0;if((x|0)<(r|0)&v){y=x}else{break}}do{if(v){x=0}else{if((s+(y*12|0)|0)==0){x=0;break}if((a[s+(y*12|0)+4|0]|0)==0){x=0;break}J=a[c[s+(y*12|0)+8>>2]|0]|0;if(!(J<<24>>24==98|J<<24>>24==66)){x=0;break}c[t>>2]=u;x=206944}}while(0);u=0;while(1){t=u+1|0;v=(Qc(c[s+(u*12|0)>>2]|0,206952)|0)!=0;if((t|0)<(r|0)&v){u=t}else{break}}do{if(v){t=0}else{if((s+(u*12|0)|0)==0){t=0;break}if((a[s+(u*12|0)+4|0]|0)==0){t=0;break}t=c[s+(u*12|0)+8>>2]|0;J=a[t]|0;if(J<<24>>24==110|J<<24>>24==78|J<<24>>24==0){t=0;break}}}while(0);y=0;while(1){v=y+1|0;u=(Qc(c[s+(y*12|0)>>2]|0,206968)|0)!=0;if((v|0)<(r|0)&u){y=v}else{break}}do{if(u){B=0;C=0;A=0}else{if((s+(y*12|0)|0)==0){B=0;C=0;A=0;break}if((a[s+(y*12|0)+4|0]|0)==0){B=0;C=0;A=0;break}B=c[s+(y*12|0)+8>>2]|0;J=a[B]|0;if(J<<24>>24==110|J<<24>>24==78|J<<24>>24==0){B=0;C=0;A=0;break}if((B|0)==0){B=0;C=0;A=0;break}A=ZW(B|0)|0;C=A;A=A+1|0}}while(0);if((x|0)==0){u=1;x=0;y=0}else{J=ZW(x|0)|0;u=0;y=J;A=A+1+J|0}if((w|0)==0){z=1;w=0;s=0}else{J=ZW(w|0)|0;z=0;s=J;A=A+1+J|0}if((t|0)==0){r=1;t=0;v=0;break}J=ZW(t|0)|0;r=0;v=J;A=A+1+J|0}else{r=1;s=0;u=1;C=0;B=0;t=0;w=0;x=0;y=0;z=1;v=0;A=0}}while(0);D=(A|0)==0;C=D?7:C;B=D?206984:B;e=jJ(e,D?8:A,n)|0;n=f+24|0;c[n>>2]=e;A=c[m>>2]|0;if((A|0)!=0){c[h>>2]=A;break a}if((B|0)!=0){$W(e|0,B|0,C|0)|0;if((C|0)!=0){B=0;do{A=e+B|0;if((a[A]|0)==32){a[A]=45}B=B+1|0;}while(B>>>0<C>>>0)}e=e+C|0}if(!u){if((e|0)!=(c[n>>2]|0)){a[e]=32;e=e+1|0}$W(e|0,x|0,y|0)|0;e=e+y|0}if(!z){if((e|0)!=(c[n>>2]|0)){a[e]=32;e=e+1|0}$W(e|0,w|0,s|0)|0;e=e+s|0}if(!r){if((e|0)!=(c[n>>2]|0)){a[e]=32;e=e+1|0}$W(e|0,t|0,v|0)|0;if((v|0)!=0){n=0;do{r=e+n|0;if((a[r]|0)==32){a[r]=45}n=n+1|0;}while(n>>>0<v>>>0)}e=e+v|0}a[e]=0;J=c[m>>2]|0;c[h>>2]=J;if((J|0)!=0){break a}e=c[q>>2]|0;n=c[p>>2]|0;do{if((n|0)>0){m=0;while(1){s=m+1|0;r=(Qc(c[e+(m*12|0)>>2]|0,206760)|0)!=0;if((s|0)<(n|0)&r){m=s}else{break}}if(r){l=231;break}if((e+(m*12|0)|0)==0){l=231;break}if((a[e+(m*12|0)+4|0]|0)==0){l=231;break}c[f+20>>2]=aL(k,c[e+(m*12|0)+8>>2]|0,j)|0;if((c[h>>2]|0)!=0){break a}}else{l=231}}while(0);if((l|0)==231){c[f+20>>2]=0}c[f+16>>2]=(c[o>>2]|0)+1;c[f+28>>2]=1;m=oJ(k,16,0,1,0,j)|0;c[f+32>>2]=m;if((c[h>>2]|0)!=0){break a}bX(m|0,0,16)|0;o=(c[f+208>>2]|0)+(c[f+204>>2]|0)&65535;b[m>>1]=o;s=c[q>>2]|0;r=c[p>>2]|0;do{if((r|0)>0){n=0;while(1){t=n+1|0;e=(Qc(c[s+(n*12|0)>>2]|0,206776)|0)!=0;if((t|0)<(r|0)&e){n=t}else{break}}if(e){l=238;break}if((s+(n*12|0)|0)==0){l=238;break}b[m+2>>1]=((c[s+(n*12|0)+8>>2]|0)+5|0)/10|0}else{l=238}}while(0);if((l|0)==238){b[m+2>>1]=(o<<16>>16<<1|0)/3|0}e=c[q>>2]|0;r=c[p>>2]|0;do{if((r|0)>0){s=0;while(1){n=s+1|0;o=(Qc(c[e+(s*12|0)>>2]|0,206792)|0)!=0;if((n|0)<(r|0)&o){s=n}else{break}}do{if(o){n=0}else{if((e+(s*12|0)|0)==0){n=0;break}n=(((c[e+(s*12|0)+8>>2]|0)*460800|0)+36135|0)/72270|0;c[m+4>>2]=n;e=c[q>>2]|0;r=c[p>>2]|0}}while(0);if((r|0)>0){o=0}else{l=259;break}while(1){s=o+1|0;t=(Qc(c[e+(o*12|0)>>2]|0,206808)|0)!=0;if((s|0)<(r|0)&t){o=s}else{break}}do{if(t){o=0}else{if((e+(o*12|0)|0)==0){o=0;break}o=c[e+(o*12|0)+8>>2]<<16>>10;c[m+12>>2]=o;e=c[q>>2]|0;r=c[p>>2]|0}}while(0);do{if((r|0)>0){s=0;while(1){u=s+1|0;t=(Qc(c[e+(s*12|0)>>2]|0,206824)|0)!=0;if((u|0)<(r|0)&t){s=u}else{break}}do{if(t){v=0}else{if((e+(s*12|0)|0)==0){v=0;break}v=c[e+(s*12|0)+8>>2]<<16>>16}}while(0);s=0;while(1){t=s+1|0;u=(Qc(c[e+(s*12|0)>>2]|0,206840)|0)!=0;if((t|0)<(r|0)&u){s=t}else{break}}if(u){r=v;e=0;break}if((e+(s*12|0)|0)==0){r=v;e=0;break}r=v;e=c[e+(s*12|0)+8>>2]&65535}else{r=0;e=0}}while(0);s=m+12|0;if((o|0)==0){c[s>>2]=n;if(e<<16>>16==0){l=265;break}n=(da(n,e<<16>>16)|0)/72|0;c[s>>2]=n}else{n=o}if((r|0)==0|e<<16>>16==0){l=265;break}c[m+8>>2]=(da(n,r)|0)/(e<<16>>16|0)|0}else{n=0;l=259}}while(0);if((l|0)==259){c[m+12>>2]=n;l=265}if((l|0)==265){c[m+8>>2]=n}m=c[q>>2]|0;n=c[p>>2]|0;do{if((n|0)>0){q=0;while(1){p=q+1|0;o=(Qc(c[m+(q*12|0)>>2]|0,206856)|0)!=0;if((p|0)<(n|0)&o){q=p}else{break}}if(o){o=0}else{o=m+(q*12|0)|0}p=0;while(1){q=p+1|0;e=(Qc(c[m+(p*12|0)>>2]|0,206880)|0)!=0;if((q|0)<(n|0)&e){p=q}else{break}}if(e){m=0}else{m=m+(p*12|0)|0}if((o|0)==0){break}if((a[o+4|0]|0)==0|(m|0)==0){break}if((a[m+4|0]|0)==0){break}c[f+176>>2]=aL(k,c[m+8>>2]|0,j)|0;if((c[h>>2]|0)!=0){break a}c[f+180>>2]=aL(k,c[o+8>>2]|0,j)|0}}while(0);E=c[h>>2]|0;break e}}while(0);if((l|0)==140){c[p>>2]=E}c[h>>2]=E;break e}}while(0);if((l|0)==110){c[s>>2]=E}c[h>>2]=E}}while(0);if((l|0)==79){c[w>>2]=E;l=102}if((l|0)==102){c[h>>2]=E}if((E|0)==0){h=0}else{break}i=g;return h|0}else{f=1;l=20}}while(0);if((l|0)==20){c[h>>2]=f}c[h>>2]=3;J=3;i=g;return J|0}function _L(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=i;i=i+8|0;g=f;c[f>>2]=0;j=c[b+192>>2]|0;l=c[b+188>>2]|0;a:do{if((l|0)==0){b=3}else{h=0;while(1){k=h+1|0;if((c[j+(h<<4)>>2]|0)==(d|0)){break}if(k>>>0<l>>>0){h=k}else{b=3;break a}}k=c[a+8>>2]|0;h=c[j+(h<<4)+12>>2]|0;if(k>>>0>h>>>0){b=83;break}if((DK(a,h-k|0)|0)!=0){b=83;break}c[f>>2]=0;h=YK(a,g)|0;g=c[f>>2]|0;if((g|0)!=0){l=g;i=e;return l|0}g=h&-256;if(!((g|0)==256|(g|0)==0)){l=0;i=e;return l|0}j=h&4;h=b+196|0;do{if((j|0)==0){h=ZK(a,207144,h)|0;c[f>>2]=h;if((h|0)==0){break}i=e;return h|0}else{h=ZK(a,207088,h)|0;c[f>>2]=h;if((h|0)==0){break}i=e;return h|0}}while(0);h=b+216|0;j=(j|0)!=0?206992:207024;k=ZK(a,j,h)|0;c[f>>2]=k;if((k|0)!=0){l=k;i=e;return l|0}k=b+232|0;d=ZK(a,j,k)|0;c[f>>2]=d;if((d|0)!=0){l=d;i=e;return l|0}d=b+248|0;if((g|0)!=256){$W(d|0,h|0,16)|0;$W(b+264|0,k|0,16)|0;l=0;i=e;return l|0}g=ZK(a,j,d)|0;c[f>>2]=g;if((g|0)!=0){l=g;i=e;return l|0}l=ZK(a,j,b+264|0)|0;c[f>>2]=l;i=e;return l|0}}while(0);c[f>>2]=b;l=b;i=e;return l|0}function $L(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+176>>2];c[d>>2]=c[a+180>>2];i=i;return 0}function aM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;g=i;f=c[b+284>>2]|0;b=c[b+280>>2]|0;if((b|0)>0){h=0}else{k=6;i=g;return k|0}while(1){j=h+1|0;k=(Qc(c[f+(h*12|0)>>2]|0,d|0)|0)!=0;if((j|0)<(b|0)&k){h=j}else{break}}if(k){k=6;i=g;return k|0}if((f+(h*12|0)|0)==0){k=6;i=g;return k|0}if((a[f+(h*12|0)+4|0]|0)==0){c[e>>2]=2;c[e+4>>2]=c[f+(h*12|0)+8>>2];k=0;i=g;return k|0}else{c[e>>2]=1;c[e+4>>2]=c[f+(h*12|0)+8>>2];k=0;i=g;return k|0}return 0}function bM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;b=i;e=(c[a>>2]|0)+288|0;d=c[e+120>>2]|0;c[a+16>>2]=d;e=c[e+128>>2]|0;c[a+20>>2]=e;if(d>>>0<=1){g=0;i=b;return g|0}a=c[e>>2]|0;g=1;while(1){f=c[e+(g<<4)>>2]|0;g=g+1|0;if(a>>>0>=f>>>0){e=8;d=5;break}if(g>>>0<d>>>0){a=f}else{e=0;d=5;break}}if((d|0)==5){i=b;return e|0}return 0}function cM(a){a=a|0;c[a+20>>2]=0;c[a+16>>2]=0;i=i;return}function dM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;g=c[a+16>>2]|0;if((g|0)==0){j=0;i=e;return j|0}a=c[a+20>>2]|0;h=0;while(1){f=((g-h|0)>>>1)+h|0;j=c[a+(f<<4)>>2]|0;if((j|0)==(b|0)){break}j=j>>>0<b>>>0;g=j?g:f;h=j?f+1|0:h;if(h>>>0>=g>>>0){b=0;d=6;break}}if((d|0)==6){i=e;return b|0}j=f+1|0;i=e;return j|0}function eM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;f=c[a+16>>2]|0;a=a+20|0;a:do{if((f|0)==0){l=0;d=8}else{j=c[b>>2]|0;do{j=j+1|0;h=c[a>>2]|0;k=f;l=0;while(1){g=((k-l|0)>>>1)+l|0;m=c[h+(g<<4)>>2]|0;if((m|0)==(j|0)){break}m=m>>>0<j>>>0;l=m?g+1|0:l;k=m?k:g;if(l>>>0>=k>>>0){d=8;break a}}}while((g|0)==0);f=g+1|0}}while(0);do{if((d|0)==8){if(l>>>0>=f>>>0|(l|0)==0){j=0;f=0;break}j=c[(c[a>>2]|0)+(l<<4)>>2]|0;f=l+1|0}}while(0);c[b>>2]=j;i=e;return f|0}function fM(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0,j=0;h=i;j=a+288|0;a=c[a+88>>2]|0;if((b|0)!=0){c[b>>2]=c[j+12>>2]}if((d|0)!=0){c[d>>2]=c[j+16>>2]}if((a|0)==0){j=65536;a=65536}else{b=j+16|0;j=bJ((e[a+12>>1]|0)<<6,c[b>>2]|0)|0;a=bJ((e[a+14>>1]|0)<<6,c[b>>2]|0)|0}if((f|0)!=0){c[f>>2]=j}if((g|0)==0){i=h;return 0}c[g>>2]=a;i=h;return 0}function gM(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;k=e+288|0;c[h>>2]=0;c[h+4>>2]=0;f=(f|0)==0?0:f+ -1|0;g=(g|0)==0?0:g+ -1|0;r=c[k+120>>2]|0;if(f>>>0>r>>>0|g>>>0>r>>>0){r=0;i=j;return r|0}r=c[k+128>>2]|0;f=c[r+(g<<4)>>2]&65535|c[r+(f<<4)>>2]<<16;k=c[k+136>>2]|0;e=c[e+104>>2]|0;if((k|0)==0){r=0;i=j;return r|0}while(1){if(f>>>0>=(c[k+16>>2]|0)>>>0){if(f>>>0<=(c[k+20>>2]|0)>>>0){break}}k=c[k>>2]|0;if((k|0)==0){h=0;l=33;break}}if((l|0)==33){i=j;return h|0}l=PJ(e,c[k+12>>2]|0)|0;if((l|0)!=0){r=l;i=j;return r|0}l=k+4|0;g=k+8|0;m=MK(e,da(d[l]|0,c[g>>2]|0)|0)|0;if((m|0)!=0){r=m;i=j;return r|0}l=d[l]|0;n=c[g>>2]|0;q=cL(l)|0;o=da(q,n)|0;p=c[e+32>>2]|0;g=a[k+5|0]|0;m=g&1;g=g&2;do{if((l|0)==(q|0)){l=16}else{q=da(l-q|0,n)|0;if(m<<24>>24==0){l=q+2|0;q=d[p+q|0]<<16|d[p+(q+1)|0]}else{l=q+4|0;q=d[p+(q+1)|0]<<16|d[p+q|0]<<24|d[p+(q+2)|0]<<8|d[p+(q+3)|0]}if((q|0)==(f|0)){n=p+l|0;l=28;break}if(q>>>0>=f>>>0){l=16;break}p=p+(l+(g<<24>>24==0?1:2))|0;l=16}}while(0);a:do{if((l|0)==16){b:do{if(o>>>0>n>>>0){if(m<<24>>24==0){while(1){o=o>>>1;q=p+o|0;r=d[q]<<16|d[p+(o+1)|0];if((r|0)==(f|0)){break}p=r>>>0<f>>>0?q:p;if(o>>>0>n>>>0){}else{break b}}n=p+(o+2)|0;l=28;break a}else{while(1){o=o>>>1;r=p+o|0;q=d[p+(o+1)|0]<<16|d[r]<<24|d[p+(o+2)|0]<<8|d[p+(o+3)|0];if((q|0)==(f|0)){break}p=q>>>0<f>>>0?r:p;if(o>>>0>n>>>0){}else{break b}}n=p+(o+4)|0;l=28;break a}}}while(0);if(m<<24>>24==0){m=d[p]<<16|d[p+1|0];n=p+2|0}else{m=d[p+1|0]<<16|d[p]<<24|d[p+2|0]<<8|d[p+3|0];n=p+4|0}if((m|0)==(f|0)){l=28}}}while(0);if((l|0)==28){f=a[n]|0;if(g<<24>>24==0){f=f&255}else{f=(d[n+1|0]|(f&255)<<8&65535)<<16>>16}c[h>>2]=(b[k+6>>1]|0)+f}PK(e);r=0;i=j;return r|0}function hM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;c[d>>2]=0;if((b|0)==0){b=6;i=e;return b|0}b=b+ -1|0;if((a|0)==0){b=6;i=e;return b|0}a=a+288|0;if(b>>>0>=(c[a+120>>2]|0)>>>0){b=6;i=e;return b|0}c[d>>2]=c[(c[a+128>>2]|0)+(b<<4)+4>>2];b=0;i=e;return b|0}function iM(a,b){a=a|0;b=b|0;var c=0;c=i;a=uJ(207688,b)|0;i=c;return a|0}function jM(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;h=i;r=i;i=i+8|0;t=r;u=i;i=i+8|0;s=u;o=i;i=i+8|0;q=o;p=i;i=i+8|0;v=p;w=i;i=i+8|0;z=w;j=i;i=i+8|0;m=j;l=i;i=i+16|0;k=l;y=f+132|0;x=PJ(e,0)|0;do{if((x|0)==0){x=ZK(e,207568,y)|0;if((x|0)!=0){break}x=f+204|0;O=f+168|0;c[O>>2]=(c[O>>2]|0)+(c[x>>2]<<16);c[j>>2]=0;do{if((c[y>>2]|0)==1346785840){if((c[f+136>>2]|0)>>>0>4){break}if((c[f+144>>2]|0)>>>0<58){break}if((c[f+140>>2]|0)!=3338){break}y=f+152|0;A=PJ(e,c[y>>2]|0)|0;c[w>>2]=A;if((A|0)!=0){c[j>>2]=A;O=A;i=h;return O|0}z=EK(e,z)|0;A=c[w>>2]|0;w=(A|0)==0;z=w?z&65535:0;c[j>>2]=A;if(!w){O=A;i=h;return O|0}c[f>>2]=z;if((g|0)<0){O=0;i=h;return O|0}if((z|0)<=(g|0)){c[j>>2]=6;O=6;i=h;return O|0}w=f+240|0;x=(c[x>>2]|0)==0;y=PJ(e,c[y>>2]|0)|0;c[p>>2]=y;do{if((y|0)==0){y=EK(e,v)|0;z=c[p>>2]|0;if((z|0)!=0){v=z;break}if((y&65535)>>>0<=g>>>0){v=6;break}y=DK(e,g*5|0)|0;c[p>>2]=y;if((y|0)!=0){v=y;break}A=EK(e,v)|0;z=A&65535;y=c[p>>2]|0;if((y|0)!=0){v=y;break}y=XK(e,v)|0;v=c[p>>2]|0;if((v|0)!=0){break}c[w>>2]=z;c[f+244>>2]=y;v=PJ(e,y)|0;c[p>>2]=v;if((v|0)!=0){break}v=MK(e,z)|0;c[p>>2]=v;if((v|0)!=0){break}v=e+32|0;B=c[v>>2]|0;y=B+z|0;a:do{if((A&65535)<13){n=53}else{c[w+8>>2]=d[B+1|0]<<8|a[B]<<16|d[B+2|0];c[w+12>>2]=d[B+4|0]<<8|a[B+3|0]<<16|d[B+5|0];c[w+16>>2]=d[B+7|0]<<8|a[B+6|0]<<16|d[B+8|0];c[w+20>>2]=d[B+10|0]<<8|a[B+9|0]<<16|d[B+11|0];E=B+13|0;A=d[B+12|0]|0;D=(A&4|0)!=0;if(D){C=A>>>3&1;F=(A&3|0)==0?C|4:C+1|0}else{F=0}C=(A&16|0)!=0;if(C){F=(A>>>5&1)+1+F|0}if((F+13|0)>(z|0)){n=53;break}do{if(D){if((A&8|0)==0){z=d[E]|0;E=B+14|0}else{z=(d[E]<<8&65535|d[B+14|0])<<16>>16;E=B+15|0}c[w+28>>2]=z;if((A&3|0)!=0){break}c[w+36>>2]=d[E+1|0]<<8|a[E]<<16|d[E+2|0];E=E+3|0}}while(0);if(C){if((A&32|0)==0){z=d[E]|0;E=E+1|0}else{z=(d[E]<<8&65535|d[E+1|0])<<16>>16;E=E+2|0}c[w+32>>2]=z}b:do{if((A&64|0)!=0){A=E+1|0;c:do{if(A>>>0<=y>>>0){z=a[E]|0;if(z<<24>>24==0){E=A}else{z=z&255;E=A;do{if((E+2|0)>>>0>y>>>0){break c}E=E+((d[E]|0)+2)|0;if(E>>>0>y>>>0){break c}z=z+ -1|0;}while((z|0)!=0)}c[p>>2]=0;break b}}while(0);c[p>>2]=8;break a}}while(0);A=E+5|0;if(A>>>0>y>>>0){n=53;break}z=(d[E]<<8&65535|d[E+1|0])&65535;B=w+40|0;c[B>>2]=z;c[w+44>>2]=d[E+3|0]<<8|d[E+2|0]<<16|d[E+4|0];if(x){break}if((E+6|0)>>>0>y>>>0){n=53;break}c[B>>2]=d[A]<<16|z}}while(0);if((n|0)==53){c[p>>2]=8}PK(e);p=c[p>>2]|0;c[j>>2]=p;if((p|0)!=0){O=p;i=h;return O|0}p=f+288|0;A=c[w+44>>2]|0;C=c[w+40>>2]|0;B=c[e+28>>2]|0;c[p>>2]=B;c[p+4>>2]=A;O=p+136|0;c[O>>2]=0;c[p+140>>2]=O;O=PJ(e,A)|0;c[o>>2]=O;d:do{if((O|0)==0){O=MK(e,C)|0;c[o>>2]=O;if((O|0)!=0){break}w=p+148|0;c[w>>2]=c[v>>2];E=c[v>>2]|0;z=E+C|0;e:do{if((C|0)<15){n=125}else{c[p+8>>2]=(d[E]<<8&65535|d[E+1|0])&65535;c[p+12>>2]=(d[E+2|0]<<8&65535|d[E+3|0])&65535;c[p+16>>2]=(d[E+4|0]<<8&65535|d[E+5|0])&65535;c[p+20>>2]=(d[E+6|0]<<8&65535|d[E+7|0])<<16>>16;c[p+24>>2]=(d[E+8|0]<<8&65535|d[E+9|0])<<16>>16;c[p+28>>2]=(d[E+10|0]<<8&65535|d[E+11|0])<<16>>16;c[p+32>>2]=(d[E+12|0]<<8&65535|d[E+13|0])<<16>>16;D=E+15|0;y=d[E+14|0]|0;c[p+36>>2]=y;x=(y&4|0)!=0;if(x){C=D}else{if((C|0)<17){n=125;break}c[p+40>>2]=(d[D]<<8&65535|d[E+16|0])<<16>>16;C=E+17|0}f:do{if((y&128|0)==0){D=C}else{D=C+1|0;g:do{if(D>>>0>z>>>0){E=8}else{C=a[C]|0;if(C<<24>>24!=0){C=C&255;do{E=D+2|0;if(E>>>0>z>>>0){E=8;break g}F=d[D+1|0]|0;D=D+((d[D]|0)+2)|0;if(D>>>0>z>>>0){E=8;break g}else{H=30;G=207528}while(1){if((c[G>>2]|0)==(F|0)){n=70;break}H=c[G+12>>2]|0;if((H|0)==0){break}else{G=G+8|0}}if((n|0)==70){n=0;E=sd[H&127](E,D,p)|0;if((E|0)!=0){break g}}C=C+ -1|0;}while((C|0)!=0)}c[o>>2]=0;break f}}while(0);c[o>>2]=E;break e}}while(0);M=D+3|0;if(M>>>0>z>>>0){n=125;break}I=d[D+1|0]<<8|d[D]<<16|d[D+2|0];h:do{if((I|0)==0){H=M}else{H=D+(I+3)|0;if(H>>>0>z>>>0){n=125;break e}D=p+84|0;G=p+44|0;C=p+48|0;F=p+52|0;E=p+88|0;i:while(1){L=M+4|0;if(L>>>0>H>>>0){break h}N=d[M]<<8&65535|d[M+1|0];K=N&65535;if((N&65535)<4|K>>>0>I>>>0){break h}J=M+K|0;O=(d[M+2|0]<<8&65535|d[M+3|0])&65535;j:do{if((O|0)==2){if((N&65535)<36){break}c[G>>2]=(d[M+14|0]<<8&65535|d[M+15|0])<<16>>16;c[C>>2]=(d[M+16|0]<<8&65535|d[M+17|0])<<16>>16;c[F>>2]=(d[M+18|0]<<8&65535|d[M+19|0])<<16>>16}else if((O|0)==3){N=K+ -4|0;c[r>>2]=0;k:do{if((N|0)!=0){N=(a[M+(K+ -1)|0]|0)==0?K+ -5|0:N;if((N|0)==0){break}else{O=0}do{P=a[M+(O+4)|0]|0;O=O+1|0;if((P&255)<32|P<<24>>24<0){break k}}while(O>>>0<N>>>0);M=jJ(B,N+1|0,t)|0;O=c[r>>2]|0;if((O|0)!=0){n=96;break i}$W(M|0,L|0,N|0)|0;a[M+N|0]=0;O=c[r>>2]|0;c[E>>2]=M;c[o>>2]=O;if((O|0)==0){break j}else{break d}}}while(0);c[E>>2]=0;c[o>>2]=0}else if((O|0)==1){N=K+ -4|0;c[u>>2]=0;l:do{if((N|0)!=0){N=(a[M+(K+ -1)|0]|0)==0?K+ -5|0:N;if((N|0)==0){break}else{O=0}do{P=a[M+(O+4)|0]|0;O=O+1|0;if((P&255)<32|P<<24>>24<0){break l}}while(O>>>0<N>>>0);M=jJ(B,N+1|0,s)|0;O=c[u>>2]|0;if((O|0)!=0){n=86;break i}$W(M|0,L|0,N|0)|0;a[M+N|0]=0;O=c[u>>2]|0;c[D>>2]=M;c[o>>2]=O;if((O|0)==0){break j}else{break d}}}while(0);c[D>>2]=0;c[o>>2]=0}}while(0);if((I|0)==(K|0)){break h}else{I=I-K|0;M=J}}if((n|0)==86){c[D>>2]=M;c[o>>2]=O;break d}else if((n|0)==96){c[E>>2]=M;c[o>>2]=O;break d}}}while(0);D=H+1|0;if(D>>>0>z>>>0){n=125;break}C=a[H]|0;r=C&255;c[p+104>>2]=r;s=H+(r<<1|1)|0;if(s>>>0>z>>>0){n=125;break}u=oJ(B,4,0,r,0,q)|0;t=p+108|0;c[t>>2]=u;if((c[o>>2]|0)!=0){break}do{if(C<<24>>24!=0){c[u>>2]=(d[D]<<8&65535|d[H+2|0])<<16>>16;if((C&255)>1){C=1}else{D=s;break}while(1){u=D+2|0;c[(c[t>>2]|0)+(C<<2)>>2]=(d[u]<<8&65535|d[D+3|0])<<16>>16;C=C+1|0;if(C>>>0<r>>>0){D=u}else{D=s;break}}}}while(0);C=D+8|0;if(C>>>0>z>>>0){n=125;break}c[p+112>>2]=d[D]|0;c[p+116>>2]=d[D+1|0]|0;c[p+68>>2]=(d[D+2|0]<<8&65535|d[D+3|0])&65535;c[p+56>>2]=(d[D+4|0]<<8&65535|d[D+5|0])&65535;E=d[D+6|0]<<8&65535|d[D+7|0];r=E&65535;c[p+120>>2]=r;c[p+124>>2]=C+A-(c[v>>2]|0);A=oJ(B,16,0,r,0,q)|0;s=p+128|0;c[s>>2]=A;if((c[o>>2]|0)!=0){break}q=(y&2|0)==0;O=y&8;t=(O|0)!=0;N=y&16;v=(N|0)==0;P=y&32;u=(P|0)==0;if((D+((da(r,(N>>>4)+(O>>>3)+(P>>>5)+(y>>>1&3|4)|0)|0)+8)|0)>>>0>z>>>0){n=125;break}if(E<<16>>16==0){break}y=p+40|0;z=A;A=0;while(1){if(q){B=d[C]|0;C=C+1|0}else{B=(d[C]<<8&65535|d[C+1|0])&65535;C=C+2|0}c[z+(A<<4)>>2]=B;if(x){B=(d[C]<<8&65535|d[C+1|0])<<16>>16;C=C+2|0}else{B=c[y>>2]|0}c[z+(A<<4)+4>>2]=B;C=t?C+1|0:C;if(v){B=d[C]|0;C=C+1|0}else{B=(d[C]<<8&65535|d[C+1|0])&65535;C=C+2|0}c[z+(A<<4)+8>>2]=B;if(u){B=(d[C]<<8&65535|d[C+1|0])&65535;C=C+2|0}else{B=d[C+1|0]<<8|d[C]<<16|d[C+2|0];C=C+3|0}c[z+(A<<4)+12>>2]=B;A=A+1|0;if(A>>>0>=r>>>0){break e}z=c[s>>2]|0}}}while(0);if((n|0)==125){c[o>>2]=8}PK(e);c[p+144>>2]=IK(e)|0;c[w>>2]=0;e=c[o>>2]|0;c[j>>2]=e;if((e|0)!=0){P=e;i=h;return P|0}c[f+4>>2]=g;e=p+120|0;o=c[e>>2]|0;c[f+16>>2]=o+1;g=f+8|0;c[g>>2]=1;if((o|0)==0){n=133}else{q=c[p+128>>2]|0;s=0;while(1){r=s+1|0;if((c[q+(s<<4)+12>>2]|0)!=0){r=s;break}if(r>>>0<o>>>0){s=r}else{break}}if((r|0)==(o|0)){n=133}else{o=1}}do{if((n|0)==133){if((c[p+92>>2]|0)!=0){c[g>>2]=0;o=0;break}c[j>>2]=3;P=3;i=h;return P|0}}while(0);r=p+36|0;u=c[r>>2]|0;if((u&4|0)==0){o=o|4;c[g>>2]=o}o=(u<<4&16)+16|o;c[g>>2]=o;s=c[p+92>>2]|0;v=(s|0)==0;if(!v){o=o|2;c[g>>2]=o}n=p+132|0;if((c[n>>2]|0)!=0){c[g>>2]=o|64}P=c[p+84>>2]|0;o=f+20|0;c[o>>2]=P;if((P|0)==0){c[o>>2]=c[p+80>>2]}c[f+24>>2]=c[p+88>>2];t=f+28|0;c[t>>2]=0;w=f+32|0;c[w>>2]=0;$W(f+52|0,p+20|0,16)|0;x=c[p+12>>2]|0;o=f+68|0;b[o>>1]=x;P=c[p+32>>2]&65535;b[f+70>>1]=P;y=c[p+24>>2]&65535;b[f+72>>1]=y;x=((((x&65535)*12|0)>>>0)/10|0)&65535;q=f+74|0;y=(P<<16>>16)-(y<<16>>16)|0;b[q>>1]=(x<<16>>16|0)<(y|0)?y&65535:x;if(!v){m=oJ(c[(c[f+104>>2]|0)+28>>2]|0,16,0,s,0,m)|0;c[w>>2]=m;u=c[j>>2]|0;if((u|0)!=0){P=u;i=h;return P|0}u=0;v=c[p+100>>2]|0;while(1){P=v+4|0;b[m>>1]=c[P>>2];b[m+2>>1]=c[v>>2];c[m+4>>2]=c[P>>2]<<6;c[m+8>>2]=c[v>>2]<<6;c[m+12>>2]=c[P>>2]<<6;u=u+1|0;if(u>>>0<s>>>0){v=v+36|0;m=m+16|0}else{break}}c[t>>2]=s;u=c[r>>2]|0}if((u&4|0)==0){b[f+76>>1]=c[p+40>>2]}else{m=c[e>>2]|0;if((m|0)==0){m=0}else{e=c[p+128>>2]|0;p=0;while(1){r=c[e+4>>2]|0;p=(p|0)<(r|0)?r:p;m=m+ -1|0;if((m|0)==0){break}else{e=e+16|0}}m=p&65535}b[f+76>>1]=m}b[f+78>>1]=b[q>>1]|0;P=b[o>>1]|0;b[f+80>>1]=(P&65535|0)/-10|0;b[f+82>>1]=(P&65535)/30|0;c[l>>2]=f;b[k+8>>1]=3;b[k+10>>1]=1;c[k+4>>2]=1970170211;f=eK(207360,0,k,0)|0;c[j>>2]=f;if((c[n>>2]|0)==0){P=f;i=h;return P|0}c[g>>2]=c[g>>2]|64;P=f;i=h;return P|0}}while(0);c[j>>2]=O;P=O;i=h;return P|0}else{v=y}}while(0);c[j>>2]=v;P=v;i=h;return P|0}}while(0);c[j>>2]=2;P=2;i=h;return P|0}}while(0);c[j>>2]=x;P=x;i=h;return P|0}function kM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;if((a|0)==0){i=b;return}f=c[(c[a+96>>2]|0)+8>>2]|0;c[a+20>>2]=0;c[a+24>>2]=0;e=a+288|0;g=c[a+100>>2]|0;d=e+80|0;lJ(g,c[d>>2]|0);c[d>>2]=0;d=e+84|0;lJ(g,c[d>>2]|0);c[d>>2]=0;d=e+88|0;lJ(g,c[d>>2]|0);c[d>>2]=0;d=e+76|0;lJ(g,c[d>>2]|0);c[d>>2]=0;c[e+72>>2]=0;c[e+64>>2]=0;c[e+60>>2]=0;d=e+100|0;lJ(g,c[d>>2]|0);c[d>>2]=0;c[e+92>>2]=0;c[e+96>>2]=0;d=e+128|0;lJ(g,c[d>>2]|0);c[d>>2]=0;c[e+120>>2]=0;c[e+124>>2]=0;d=e+108|0;lJ(g,c[d>>2]|0);c[d>>2]=0;c[e+104>>2]=0;d=e+136|0;h=c[d>>2]|0;if((h|0)!=0){while(1){j=c[h>>2]|0;lJ(g,h);if((j|0)==0){break}else{h=j}}}c[d>>2]=0;c[e+140>>2]=0;c[e+132>>2]=0;j=a+32|0;lJ(f,c[j>>2]|0);c[j>>2]=0;i=b;return}function lM(b){b=b|0;var d=0,e=0;d=i;e=c[c[b+156>>2]>>2]|0;bX(b+160|0,0,36)|0;c[b+188>>2]=e;a[b+192|0]=0;kJ(e);i=d;return 0}function mM(a){a=a|0;var b=0,d=0,e=0;b=i;d=c[c[a+188>>2]>>2]|0;e=a+168|0;lJ(d,c[e>>2]|0);c[e>>2]=0;c[a+172>>2]=0;c[a+164>>2]=0;lJ(d,c[a+184>>2]|0);bX(a+176|0,0,17)|0;i=b;return}function nM(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;k=i;l=i;i=i+16|0;m=l;s=c[f+4>>2]|0;n=f+108|0;r=(h|0)==0?0:h+ -1|0;if((s|0)==0){H=6;i=k;return H|0}p=s+288|0;if(r>>>0>=(c[p+120>>2]|0)>>>0){H=6;i=k;return H|0}a:do{if((j&9|0)==0){h=c[s+104>>2]|0;t=c[p+128>>2]|0;w=c[p+92>>2]|0;if((w|0)==0){break}q=g+12|0;u=e[q>>1]|0;v=g+14|0;x=0;o=c[p+100>>2]|0;while(1){if((c[o>>2]|0)==(u|0)){if((c[o+4>>2]|0)==(e[v>>1]|0)){break}}x=x+1|0;if(x>>>0<w>>>0){o=o+36|0}else{break a}}w=o+8|0;u=c[w>>2]|0;if((PJ(h,(c[o+24>>2]|0)+(c[p+144>>2]|0)|0)|0)!=0){break}y=o+28|0;if((MK(h,da(c[y>>2]|0,(u&1|4)+(u>>>1&1)+(u>>>2&1)|0)|0)|0)!=0){break}u=h+32|0;v=c[u>>2]|0;o=h+36|0;x=c[o>>2]|0;E=c[y>>2]|0;z=c[w>>2]|0;C=c[t+(r<<4)>>2]|0;G=z&1;B=(G|0)==0;H=z&2;y=(H|0)==0;z=z&4;w=(z|0)==0;z=(G|4)+(H>>>1)+(z>>>2)|0;b:do{if((E|0)!=0){A=0;while(1){F=(E+A|0)>>>1;H=da(F,z)|0;G=v+H|0;if((v+(H+z)|0)>>>0>x>>>0){break b}if(B){D=H+1|0;H=d[G]|0}else{D=H+2|0;H=(d[G]<<8&65535|d[v+(H+1)|0])&65535}G=v+D|0;if((H|0)==(C|0)){break}D=H>>>0<C>>>0;E=D?E:F;A=D?F:A;if(A>>>0>=E>>>0){break b}}if(y){y=D+1|0;x=d[G]|0}else{y=D+2|0;x=(d[G]<<8&65535|d[v+(D+1)|0])&65535}z=a[v+y|0]|0;if(w){v=(d[v+(y+1)|0]|(z&255)<<8&65535)&65535}else{v=d[v+(y+1)|0]<<8|(z&255)<<16|d[v+(y+2)|0]}PK(h);if((x|0)==0){break a}w=t+(r<<4)+4|0;y=c[w>>2]|0;t=p+16|0;z=c[t>>2]|0;A=c[p+12>>2]|0;if((z|0)!=(A|0)){y=_I(y,A,z)|0}c[f+56>>2]=y;t=_I(e[q>>1]<<8,c[w>>2]|0,c[t>>2]|0)|0;if((PJ(h,(c[s+188>>2]|0)+v|0)|0)!=0){break a}if((MK(h,x)|0)!=0){break a}u=c[u>>2]|0;w=c[o>>2]|0;q=u+1|0;c:do{if(q>>>0<=w>>>0){v=a[u]|0;x=v&3;if((x|0)==0){y=u+2|0;if(y>>>0>w>>>0){break}u=a[q]|0;q=u<<24>>24>>4;u=(u<<4&255)<<24>>24>>4}else if((x|0)==2){y=u+5|0;if(y>>>0>w>>>0){break}q=(d[q]<<8&65535|d[u+2|0])<<16>>16;u=(d[u+3|0]<<8&65535|d[u+4|0])<<16>>16}else if((x|0)==1){y=u+3|0;if(y>>>0>w>>>0){break}q=a[q]|0;u=a[u+2|0]|0}else if((x|0)==3){y=u+7|0;if(y>>>0>w>>>0){break}q=d[u+2|0]<<8|a[q]<<16|d[u+3|0];u=d[u+5|0]<<8|a[u+4|0]<<16|d[u+6|0]}else{y=q;q=0;u=0}x=(v&255)>>>2&3;if((x|0)==2){z=y+2|0;if(z>>>0>w>>>0){break}x=d[y]|0;y=d[y+1|0]|0}else if((x|0)==3){z=y+4|0;if(z>>>0>w>>>0){break}x=(d[y]<<8&65535|d[y+1|0])&65535;y=(d[y+2|0]<<8&65535|d[y+3|0])&65535}else if((x|0)==1){z=y+1|0;if(z>>>0>w>>>0){break}y=a[y]|0;x=y>>>4&15;y=y&15}else{z=y;x=0;y=0}A=(v&255)>>>4&255;v=A&3;if((v|0)==3){v=z+3|0;if(v>>>0>w>>>0){break}t=d[z+1|0]<<8|a[z]<<16|d[z+2|0]}else if((v|0)==2){v=z+2|0;if(v>>>0>w>>>0){break}t=(d[z]<<8&65535|d[z+1|0])<<16>>16}else if((v|0)==1){v=z+1|0;if(v>>>0>w>>>0){break}t=a[z]<<8}else if((v|0)==0){v=z}else{t=0;v=z}w=A>>>2;C=y+u|0;if((C|0)<=-1){break}c[f+72>>2]=1651078259;A=f+80|0;c[A>>2]=x;B=f+76|0;c[B>>2]=y;H=(x+7|0)>>>3;z=f+84|0;c[z>>2]=H;a[f+94|0]=1;G=x<<6;c[f+24>>2]=G;c[f+28>>2]=y<<6;c[f+32>>2]=q<<6;c[f+36>>2]=u<<6;c[f+40>>2]=(t>>2)+32&-64;c[f+44>>2]=0-G>>1;c[f+48>>2]=0;c[f+52>>2]=c[g+32>>2];c[f+100>>2]=q;c[f+104>>2]=C;if((CJ(f,da(H,y)|0)|0)!=0){break}t=c[o>>2]|0;q=c[s+208>>2]|0;y=c[B>>2]|0;do{if((y|0)>0){o=c[A>>2]|0;if((o|0)<=0){break}x=c[f+88>>2]|0;z=c[z>>2]|0;u=da(o,y)|0;if((q&2|0)==0){q=0-z|0;x=x+(da(z,y+ -1|0)|0)|0}else{q=z}if((w|0)==1){if((u|0)>0){l=x;n=0;j=0;r=0;f=x;m=o;p=128;s=1;g=1}else{break}while(1){d:do{if((g|0)==0){g=j}else{g=j;while(1){if((s|0)==0){g=r;s=1}else{if(v>>>0>=t>>>0){break d}r=d[v]|0;v=v+1|0;g=r>>>4;r=r&15;s=0}if((g|0)==0){g=0}else{break}}}}while(0);n=((s|0)==0?0:p)|n;p=p>>>1;j=m+ -1|0;do{if((m|0)<2){a[f]=n;f=l+q|0;l=f;n=0;m=o;p=128}else{if((p|0)!=0){m=j;break}a[f]=n;n=0;f=f+1|0;m=j;p=128}}while(0);u=u+ -1|0;if((u|0)>0){j=g+ -1|0;g=(g|0)<2|0}else{break}}if((p|0)==128){break}a[f]=n;break}else if((w|0)==2){if((u|0)>0){l=x;n=0;r=0;f=x;m=o;p=128;j=1;g=1}else{break}while(1){e:do{if((g|0)==0){g=r}else{g=r;while(1){if(v>>>0>=t>>>0){break e}r=v+1|0;H=a[v]|0;g=H&255;j=j^1;if(H<<24>>24==0){v=r}else{v=r;break}}}}while(0);n=((j|0)==0?0:p)|n;p=p>>>1;r=m+ -1|0;do{if((m|0)<2){a[f]=n;f=l+q|0;l=f;n=0;m=o;p=128}else{if((p|0)!=0){m=r;break}a[f]=n;n=0;f=f+1|0;m=r;p=128}}while(0);u=u+ -1|0;if((u|0)>0){r=g+ -1|0;g=(g|0)<2|0}else{break}}if((p|0)==128){break}a[f]=n;break}else if((w|0)==0){l=t-v<<3;l=(l|0)>(u|0)?u:l;if((l|0)>0){f=x;r=0;n=x;j=o;s=128;g=l;p=0}else{break}while(1){if(((g^l)&7|0)==0){m=v+1|0;p=d[v]|0}else{m=v}r=((p&128|0)==0?0:s)|r;p=p<<1;s=s>>>1;t=j+ -1|0;do{if((j|0)<2){a[n]=r;n=f+q|0;f=n;r=0;j=o;s=128}else{if((s|0)!=0){j=t;break}a[n]=r;r=0;n=n+1|0;j=t;s=128}}while(0);g=g+ -1|0;if((g|0)>0){v=m}else{break}}if((s|0)==128){break}a[n]=r;break}else{break c}}}while(0);PK(h);H=0;i=k;return H|0}}while(0);PK(h);break a}}while(0);PK(h)}}while(0);if((j&16384|0)!=0){H=6;i=k;return H|0}t=c[p+128>>2]|0;c[f+72>>2]=1869968492;h=f+110|0;b[h>>1]=0;b[n>>1]=0;G=c[s+188>>2]|0;F=c[s+104>>2]|0;H=c[t+(r<<4)+12>>2]|0;q=c[t+(r<<4)+8>>2]|0;o=f+188|0;kJ(c[o>>2]|0);c[f+176>>2]=0;q=pM(f+160|0,F,G,H,q)|0;if((q|0)!=0){H=q;i=k;return H|0}j=j&1;$W(n|0,(c[o>>2]|0)+20|0,20)|0;o=f+124|0;q=c[o>>2]&-6;c[o>>2]=q|4;do{if((g|0)!=0){if((e[g+14>>1]|0)>=24){break}c[o>>2]=q|260}}while(0);q=f+40|0;c[q>>2]=0;o=f+52|0;c[o>>2]=0;r=c[t+(r<<4)+4>>2]|0;s=c[p+16>>2]|0;t=c[p+12>>2]|0;if((s|0)!=(t|0)){r=_I(r,t,s)|0}if((c[p+36>>2]&1|0)==0){c[q>>2]=r;p=c[o>>2]|0}else{c[o>>2]=r;p=r;r=c[q>>2]|0}c[f+56>>2]=r;c[f+60>>2]=p;c[f+44>>2]=0;c[f+48>>2]=0;if((j|0)==0){p=c[g+16>>2]|0;g=c[g+20>>2]|0;if((b[h>>1]|0)>0){j=0;r=c[f+112>>2]|0;while(1){c[r>>2]=aJ(c[r>>2]|0,p)|0;H=r+4|0;c[H>>2]=aJ(c[H>>2]|0,g)|0;j=j+1|0;if((j|0)<(b[h>>1]|0)){r=r+8|0}else{break}}r=c[q>>2]|0}c[q>>2]=aJ(r,p)|0;c[o>>2]=aJ(c[o>>2]|0,g)|0}zK(n,m);G=c[l>>2]|0;c[f+24>>2]=(c[m+8>>2]|0)-G;H=c[m+4>>2]|0;c[f+28>>2]=(c[m+12>>2]|0)-H;c[f+32>>2]=G;c[f+36>>2]=H;H=0;i=k;return H|0}function oM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;g=a+288|0;gM(a,b,d,e)|0;a=g+12|0;d=c[a>>2]|0;b=g+16|0;g=c[b>>2]|0;if((d|0)==(g|0)){i=f;return 0}h=c[e>>2]|0;if((h|0)==0){d=0}else{d=_I(h,d,g)|0;c[e>>2]=d}e=e+4|0;if((c[e>>2]|0)==0){i=f;return 0}c[e>>2]=_I(d,c[a>>2]|0,c[b>>2]|0)|0;i=f;return 0}function pM(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;k=i;m=i;i=i+8|0;s=m;n=i;i=i+32|0;o=n;p=i;i=i+8|0;r=p;h=PJ(f,h+g|0)|0;if((h|0)!=0){H=h;i=k;return H|0}h=MK(f,j)|0;if((h|0)!=0){H=h;i=k;return H|0}u=c[f+32>>2]|0;h=u+j|0;do{if((j|0)!=0){if((a[u]|0)>=0){break}n=c[e+28>>2]|0;o=e+16|0;m=c[o>>2]|0;c[p>>2]=0;s=c[n>>2]|0;t=u+1|0;a:do{if((j|0)<1){l=52}else{v=d[u]|0;if((v&128|0)==0){l=52;break}q=v&63;b:do{if((v&8|0)!=0){u=u+2|0;c:do{if((j|0)>=2){t=a[t]|0;if(t<<24>>24==0){t=u}else{j=t&255;t=u;do{if((t+2|0)>>>0>h>>>0){break c}t=t+((d[t]|0)+2)|0;if(t>>>0>h>>>0){break c}j=j+ -1|0;}while((j|0)!=0)}c[p>>2]=0;break b}}while(0);c[p>>2]=8;r=8;break a}}while(0);v=m+q|0;j=e+20|0;u=c[j>>2]|0;if(v>>>0>u>>>0){v=v+3&-4;if(v>>>0>64){c[p>>2]=8;r=8;break}H=e+24|0;c[H>>2]=oJ(s,24,u,v,c[H>>2]|0,r)|0;r=c[p>>2]|0;if((r|0)!=0){break}c[j>>2]=v}if((q|0)==0){r=0;break}s=0;u=t;r=(c[e+24>>2]|0)+(m*24|0)|0;while(1){j=u+1|0;if(j>>>0>h>>>0){l=52;break a}t=d[u]|0;c[r>>2]=65536;if((t&16|0)!=0){v=u+3|0;if(v>>>0>h>>>0){l=52;break a}c[r>>2]=(d[j]<<8&65535|d[u+2|0])<<16>>16<<4;j=v}v=r+4|0;c[v>>2]=65536;if((t&32|0)!=0){u=j+2|0;if(u>>>0>h>>>0){l=52;break a}c[v>>2]=(d[j]<<8&65535|d[j+1|0])<<16>>16<<4;j=u}u=t&3;if((u|0)==1){u=j+2|0;if(u>>>0>h>>>0){l=52;break a}j=(d[j]<<8&65535|d[j+1|0])<<16>>16}else if((u|0)==2){u=j+1|0;if(u>>>0>h>>>0){l=52;break a}j=a[j]|0}else{u=j;j=0}v=t>>>2&3;if((v|0)==1){v=u+2|0;if(v>>>0>h>>>0){l=52;break a}u=(d[u]<<8&65535|d[u+1|0])<<16>>16}else if((v|0)==2){v=u+1|0;if(v>>>0>h>>>0){l=52;break a}u=a[u]|0}else{v=u;u=0}c[r+8>>2]=j;c[r+12>>2]=u;if((t&64|0)==0){j=v+1|0;if(j>>>0>h>>>0){l=52;break a}c[r+20>>2]=d[v]|0}else{j=v+2|0;if(j>>>0>h>>>0){l=52;break a}c[r+20>>2]=(d[v]<<8&65535|d[v+1|0])&65535}if((t&128|0)==0){u=j+2|0;if(u>>>0>h>>>0){l=52;break a}c[r+16>>2]=(d[j]<<8&65535|d[j+1|0])&65535}else{u=j+3|0;if(u>>>0>h>>>0){l=52;break a}c[r+16>>2]=d[j+1|0]<<8|a[j]<<16|d[j+2|0]}c[o>>2]=(c[o>>2]|0)+1;s=s+1|0;if(s>>>0<q>>>0){r=r+24|0}else{break}}r=c[p>>2]|0}}while(0);if((l|0)==52){c[p>>2]=8;r=8}PK(f);if((r|0)!=0){H=r;i=k;return H|0}h=(c[o>>2]|0)-m|0;p=e+24|0;if((h|0)<=0){H=0;i=k;return H|0}o=n+22|0;n=n+24|0;q=0;while(1){r=c[p>>2]|0;v=q+m|0;s=b[o>>1]|0;r=pM(e,f,g,c[r+(v*24|0)+16>>2]|0,c[r+(v*24|0)+20>>2]|0)|0;if((r|0)!=0){l=181;break}w=c[p>>2]|0;r=(b[o>>1]|0)-s|0;u=w+(v*24|0)|0;x=c[u>>2]|0;do{if((x|0)==65536){if((c[w+(v*24|0)+4>>2]|0)!=65536){l=59;break}if((r|0)<=0){break}t=w+(v*24|0)+8|0;j=w+(v*24|0)+12|0;u=0;s=(c[n>>2]|0)+(s<<3)|0;while(1){c[s>>2]=(c[s>>2]|0)+(c[t>>2]|0);H=s+4|0;c[H>>2]=(c[H>>2]|0)+(c[j>>2]|0);u=u+1|0;if((u|0)<(r|0)){s=s+8|0}else{break}}}else{l=59}}while(0);d:do{if((l|0)==59){l=0;if((r|0)<=0){break}j=w+(v*24|0)+8|0;t=w+(v*24|0)+4|0;v=w+(v*24|0)+12|0;w=1;s=(c[n>>2]|0)+(s<<3)|0;while(1){H=aJ(c[s>>2]|0,x)|0;c[s>>2]=(c[j>>2]|0)+H;H=s+4|0;G=aJ(c[H>>2]|0,c[t>>2]|0)|0;c[H>>2]=(c[v>>2]|0)+G;if((w|0)>=(r|0)){break d}x=c[u>>2]|0;w=w+1|0;s=s+8|0}}}while(0);q=q+1|0;if((q|0)>=(h|0)){r=0;l=181;break}}if((l|0)==181){i=k;return r|0}}}while(0);c[m>>2]=0;g=e+28|0;r=c[c[g>>2]>>2]|0;p=u+1|0;e:do{if((j|0)<1){l=179}else{t=d[u]|0;if((t&128|0)!=0){l=179;break}do{if((t&4|0)==0){if((t&2|0)==0){q=p;p=0}else{if((j|0)<2){l=179;break e}q=u+2|0;p=d[p]|0}if((t&1|0)==0){u=q;q=0;break}u=q+1|0;if(u>>>0>h>>>0){l=179;break e}q=d[q]|0}else{if((j|0)<2){l=179;break e}q=d[p]|0;u=u+2|0;p=q&15;q=q>>>4}}while(0);j=p+q|0;v=e+4|0;x=c[v>>2]|0;if(j>>>0>x>>>0){w=j+7&-8;C=e+8|0;r=oJ(r,4,x,w,c[C>>2]|0,s)|0;c[C>>2]=r;C=c[m>>2]|0;if((C|0)!=0){break}c[v>>2]=w;v=r}else{v=c[e+8>>2]|0}s=e+8|0;r=e+12|0;c[r>>2]=v+(p<<2);if((j|0)!=0){v=0;w=0;x=0;while(1){if((v&7|0)==0){y=u+1|0;if(y>>>0>h>>>0){l=179;break e}w=d[u]|0}else{y=u}if((w&1|0)==0){u=y+1|0;if(u>>>0>h>>>0){l=179;break e}x=(d[y]|0)+x|0}else{u=y+2|0;if(u>>>0>h>>>0){l=179;break e}x=(d[y]<<8&65535|d[y+1|0])<<16>>16}c[(c[s>>2]|0)+(v<<2)>>2]=x;v=v+1|0;if(v>>>0<j>>>0){w=w>>>1}else{break}}}f:do{if((t&8|0)==0){A=u}else{A=u+1|0;g:do{if(A>>>0<=h>>>0){t=a[u]|0;if(t<<24>>24!=0){t=t&255;do{if((A+2|0)>>>0>h>>>0){break g}A=A+((d[A]|0)+2)|0;if(A>>>0>h>>>0){break g}t=t+ -1|0;}while((t|0)!=0)}c[m>>2]=0;break f}}while(0);c[m>>2]=8;C=8;break e}}while(0);e=e+32|0;a[e]=0;t=o+4|0;c[t>>2]=0;c[n>>2]=0;v=o+24|0;x=n;y=c[x>>2]|0;x=c[x+4>>2]|0;w=v;c[w>>2]=y;c[w+4>>2]=x;w=o+28|0;j=o+8|0;u=o+16|0;x=x|0;h:while(1){z=A+1|0;if(z>>>0>h>>>0){l=179;break e}A=d[A]|0;D=A&15;A=A>>>4;switch(A|0){case 6:{C=3;D=2958;x=o;B=0;l=111;break};case 7:{C=3;D=3627;x=o;B=0;l=111;break};case 3:{if(D>>>0>=q>>>0){l=179;break e}c[n>>2]=y;c[t>>2]=c[(c[r>>2]|0)+(D<<2)>>2];x=n;y=c[x>>2]|0;x=c[x+4>>2]|0;H=v;c[H>>2]=y;c[H+4>>2]=x;x=x|0;break};case 0:{break h};case 5:case 4:case 1:{C=1;x=o;B=0;l=111;break};case 2:{if(D>>>0>=p>>>0){l=179;break e}c[n>>2]=c[(c[s>>2]|0)+(D<<2)>>2];c[t>>2]=x;x=n;y=c[x>>2]|0;x=c[x+4>>2]|0;H=v;c[H>>2]=y;c[H+4>>2]=x;x=x|0;break};default:{C=4;x=o;B=0;l=111}}if((l|0)==111){while(1){l=0;E=D&3;if((E|0)==1){y=z+2|0;if(y>>>0>h>>>0){l=179;break e}c[x>>2]=(d[z]<<8&65535|d[z+1|0])<<16>>16;z=y}else if((E|0)==0){y=z+1|0;if(y>>>0>h>>>0){l=179;break e}z=d[z]|0;if(z>>>0>=p>>>0){l=179;break e}c[x>>2]=c[(c[s>>2]|0)+(z<<2)>>2];z=y}else if((E|0)==2){E=z+1|0;if(E>>>0>h>>>0){l=179;break e}c[x>>2]=(a[z]|0)+y;z=E}else{c[x>>2]=y}y=D>>>2&3;if((y|0)==0){y=z+1|0;if(y>>>0>h>>>0){l=179;break e}z=d[z]|0;if(z>>>0>=q>>>0){l=179;break e}c[x+4>>2]=c[(c[r>>2]|0)+(z<<2)>>2];z=y}else if((y|0)==2){y=z+1|0;if(y>>>0>h>>>0){l=179;break e}c[x+4>>2]=(c[w>>2]|0)+(a[z]|0);z=y}else if((y|0)==1){y=z+2|0;if(y>>>0>h>>>0){l=179;break e}c[x+4>>2]=(d[z]<<8&65535|d[z+1|0])<<16>>16;z=y}else{c[x+4>>2]=c[w>>2]}if((B|0)==0&(C|0)==4){y=z+1|0;if(y>>>0>h>>>0){l=179;break e}C=3;D=d[z]|0;z=y}else{D=D>>>4}E=x;y=c[E>>2]|0;E=c[E+4>>2]|0;H=v;c[H>>2]=y;c[H+4>>2]=E;B=B+1|0;if(B>>>0<C>>>0){x=x+8|0;l=111}else{break}}x=E|0}switch(A|0){case 5:case 4:{A=c[g>>2]|0;l=A+58|0;if((a[e]|0)!=0){F=b[l>>1]|0;E=F<<16>>16;H=E+ -1|0;D=A+56|0;C=b[D>>1]|0;if(C<<16>>16>0){B=b[(c[A+68>>2]|0)+((C<<16>>16)+ -1<<1)>>1]|0}else{B=0}do{if((H|0)>(B|0)){G=c[A+60>>2]|0;if((c[G+(B<<3)>>2]|0)!=(c[G+(H<<3)>>2]|0)){break}if((c[G+(B<<3)+4>>2]|0)!=(c[G+(H<<3)+4>>2]|0)){break}b[l>>1]=F+ -1<<16>>16;H=E+ -2|0}}while(0);if((H|0)>=(B|0)){b[D>>1]=C+1<<16>>16;b[(c[A+68>>2]|0)+(C<<16>>16<<1)>>1]=H}a[e]=0}a[e]=1;if(((b[A+22>>1]|0)+1+(b[l>>1]|0)|0)>>>0>(c[A+4>>2]|0)>>>0){l=165}else{if(((b[A+20>>1]|0)+1+(b[A+56>>1]|0)|0)>>>0>(c[A+8>>2]|0)>>>0){l=165}else{l=167}}do{if((l|0)==165){l=0;C=pJ(A,1,1)|0;if((C|0)!=0){break}if((a[e]|0)==0){C=8}else{l=167}}}while(0);do{if((l|0)==167){l=0;B=c[g>>2]|0;A=B+58|0;C=b[A>>1]|0;if(((b[B+22>>1]|0)+1+(C<<16>>16)|0)>>>0>(c[B+4>>2]|0)>>>0){C=pJ(B,1,0)|0;if((C|0)!=0){break}C=b[A>>1]|0}C=C<<16>>16;F=n;G=c[F+4>>2]|0;H=(c[B+60>>2]|0)+(C<<3)|0;c[H>>2]=c[F>>2];c[H+4>>2]=G;a[(c[B+64>>2]|0)+C|0]=1;b[A>>1]=(b[A>>1]|0)+1<<16>>16;C=0}}while(0);c[m>>2]=C;break};case 0:{break h};case 3:case 2:case 1:{B=c[g>>2]|0;do{if((a[e]|0)==0){C=8}else{A=B+58|0;C=b[A>>1]|0;if(((b[B+22>>1]|0)+1+(C<<16>>16)|0)>>>0>(c[B+4>>2]|0)>>>0){C=pJ(B,1,0)|0;if((C|0)!=0){break}C=b[A>>1]|0}C=C<<16>>16;F=n;G=c[F+4>>2]|0;H=(c[B+60>>2]|0)+(C<<3)|0;c[H>>2]=c[F>>2];c[H+4>>2]=G;a[(c[B+64>>2]|0)+C|0]=1;b[A>>1]=(b[A>>1]|0)+1<<16>>16;C=0}}while(0);c[m>>2]=C;break};default:{A=c[g>>2]|0;do{if((a[e]|0)==0){C=8}else{B=A+58|0;C=b[B>>1]|0;if(((b[A+22>>1]|0)+3+(C<<16>>16)|0)>>>0>(c[A+4>>2]|0)>>>0){C=pJ(A,3,0)|0;if((C|0)!=0){break}C=b[B>>1]|0}E=c[A+60>>2]|0;F=C<<16>>16;H=c[A+64>>2]|0;A=n;D=c[A+4>>2]|0;G=E+(F<<3)|0;c[G>>2]=c[A>>2];c[G+4>>2]=D;G=F+1|0;D=j;A=c[D+4>>2]|0;C=E+(G<<3)|0;c[C>>2]=c[D>>2];c[C+4>>2]=A;C=F+2|0;A=u;D=c[A+4>>2]|0;E=E+(C<<3)|0;c[E>>2]=c[A>>2];c[E+4>>2]=D;a[H+F|0]=2;a[H+G|0]=2;a[H+C|0]=1;b[B>>1]=(b[B>>1]|0)+3<<16>>16;C=0}}while(0);c[m>>2]=C}}if((C|0)==0){A=z}else{break e}}h=c[g>>2]|0;if((a[e]|0)!=0){s=h+58|0;t=b[s>>1]|0;r=t<<16>>16;j=r+ -1|0;n=h+56|0;o=b[n>>1]|0;if(o<<16>>16>0){p=b[(c[h+68>>2]|0)+((o<<16>>16)+ -1<<1)>>1]|0}else{p=0}do{if((j|0)>(p|0)){q=c[h+60>>2]|0;if((c[q+(p<<3)>>2]|0)!=(c[q+(j<<3)>>2]|0)){break}if((c[q+(p<<3)+4>>2]|0)!=(c[q+(j<<3)+4>>2]|0)){break}b[s>>1]=t+ -1<<16>>16;j=r+ -2|0}}while(0);if((j|0)>=(p|0)){b[n>>1]=o+1<<16>>16;b[(c[h+68>>2]|0)+(o<<16>>16<<1)>>1]=j}a[e]=0;h=c[g>>2]|0}sJ(h);C=c[m>>2]|0}}while(0);if((l|0)==179){c[m>>2]=8;C=8}PK(f);H=C;i=k;return H|0}function qM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=i;k=i;i=i+8|0;s=k;m=c[f>>2]|0;c[k>>2]=0;r=b+5|0;do{if(r>>>0<=e>>>0){p=d[b+3|0]|0;q=a[b+4|0]|0;j=q&255;h=f+92|0;n=c[h>>2]|0;o=n+j|0;l=f+96|0;do{if(o>>>0>(c[l>>2]|0)>>>0){o=o+3&-4;t=f+100|0;c[t>>2]=oJ(m,36,n,o,c[t>>2]|0,s)|0;m=c[k>>2]|0;if((m|0)==0){c[l>>2]=o;break}else{t=m;i=g;return t|0}}}while(0);w=p&1;m=(w|0)==0;v=p&2;l=(v|0)==0;u=p&4;n=(u|0)==0;s=p&8;o=(s|0)==0;t=p&16;p=(t|0)==0;if((b+((da((w|8)+(v>>>1)+(u>>>2)+(s>>>3)+(t>>>4)|0,j)|0)+5)|0)>>>0>e>>>0){break}if(q<<24>>24==0){k=0}else{q=0;f=(c[f+100>>2]|0)+((c[h>>2]|0)*36|0)|0;while(1){if(m){b=d[r]|0;r=r+1|0}else{b=((d[r]|0)<<8&65535|(d[r+1|0]|0))&65535;r=r+2|0}c[f>>2]=b;if(l){b=d[r]|0;r=r+1|0}else{b=((d[r]|0)<<8&65535|(d[r+1|0]|0))&65535;r=r+2|0}c[f+4>>2]=b;c[f+8>>2]=d[r]|0;if(n){b=((d[r+1|0]|0)<<8&65535|(d[r+2|0]|0))&65535;r=r+3|0}else{b=(d[r+2|0]|0)<<8|(d[r+1|0]|0)<<16|(d[r+3|0]|0);r=r+4|0}c[f+20>>2]=b;if(o){b=((d[r]|0)<<8&65535|(d[r+1|0]|0))&65535;r=r+2|0}else{b=(d[r+1|0]|0)<<8|(d[r]|0)<<16|(d[r+2|0]|0);r=r+3|0}c[f+24>>2]=b;if(p){b=d[r]|0;r=r+1|0}else{b=((d[r]|0)<<8&65535|(d[r+1|0]|0))&65535;r=r+2|0}c[f+28>>2]=b;q=q+1|0;if(q>>>0<j>>>0){f=f+36|0}else{break}}k=c[k>>2]|0}c[h>>2]=(c[h>>2]|0)+j;w=k;i=g;return w|0}}while(0);c[k>>2]=8;w=8;i=g;return w|0}function rM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;g=i;i=i+8|0;c[g>>2]=0;d=d-b|0;h=e+80|0;if((c[h>>2]|0)!=0){j=0;i=f;return j|0}j=jJ(c[e>>2]|0,d+1|0,g)|0;c[h>>2]=j;e=c[g>>2]|0;if((e|0)!=0){j=e;i=f;return j|0}$W(j|0,b|0,d|0)|0;a[(c[h>>2]|0)+d|0]=0;j=c[g>>2]|0;i=f;return j|0}function sM(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;f=i;i=i+8|0;m=f;c[f>>2]=0;n=c[e>>2]|0;l=e+76|0;if((c[l>>2]|0)!=0){n=0;i=g;return n|0}j=a+1|0;do{if(j>>>0<=b>>>0){h=d[a]|0;k=h&15;h=k+(h>>>4)|0;if((a+(h<<1|1)|0)>>>0>b>>>0){break}b=oJ(n,4,0,h,0,m)|0;a=c[f>>2]|0;if((a|0)!=0){n=a;i=g;return n|0}c[l>>2]=b;c[e+64>>2]=b+(k<<2);if((h|0)==0){n=0;i=g;return n|0}while(1){c[b>>2]=((d[j]|0)<<8&65535|(d[j+1|0]|0))<<16>>16;h=h+ -1|0;if((h|0)==0){break}else{b=b+4|0;j=j+2|0}}n=c[f>>2]|0;i=g;return n|0}}while(0);c[f>>2]=8;n=8;i=g;return n|0}function tM(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=i;j=i;i=i+8|0;c[j>>2]=0;k=c[g>>2]|0;l=jJ(k,24,j)|0;if((c[j>>2]|0)!=0){t=j;t=c[t>>2]|0;i=n;return t|0}m=e+4|0;do{if(m>>>0<=f>>>0){p=a[e]|0;h=l+4|0;a[h]=p;b[l+6>>1]=(d[e+1|0]|0)<<8&65535|(d[e+2|0]|0);r=a[e+3|0]|0;a[l+5|0]=r;c[l+12>>2]=(c[g+4>>2]|0)+m-(c[g+148>>2]|0);o=(r&1)==0;q=o?3:5;t=(r&2)==0;s=q+1|0;r=t?q:s;c[l+8>>2]=t?q:s;q=p&255;if((e+((da(q,r)|0)+4)|0)>>>0>f>>>0){break}if(p<<24>>24==0){lJ(k,l);t=j;t=c[t>>2]|0;i=n;return t|0}if(o){c[l+16>>2]=(d[m]|0)<<16|(d[e+5|0]|0);t=da(q+ -1|0,r)|0;c[l+20>>2]=(d[e+(t+4)|0]|0)<<16|(d[e+(t+5)|0]|0)}else{c[l+16>>2]=((d[e+6|0]|0)<<8&65535|(d[e+7|0]|0))&65535|(((d[m]|0)<<8&65535|(d[e+5|0]|0))&65535)<<16;t=da(q+ -1|0,r)|0;c[l+20>>2]=((d[e+(t+6)|0]|0)<<8&65535|(d[e+(t+7)|0]|0))&65535|(((d[e+(t+4)|0]|0)<<8&65535|(d[e+(t+5)|0]|0))&65535)<<16}c[l>>2]=0;t=g+140|0;c[c[t>>2]>>2]=l;c[t>>2]=l;t=g+132|0;c[t>>2]=(c[t>>2]|0)+(d[h]|0);t=j;t=c[t>>2]|0;i=n;return t|0}}while(0);lJ(k,l);c[j>>2]=8;t=j;t=c[t>>2]|0;i=n;return t|0}function uM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;f=i;i=i+8|0;h=f;c[a+32>>2]=d;e=a+24|0;c[e>>2]=oJ(d,4,0,b,0,h)|0;do{if((c[f>>2]|0)==0){c[a+28>>2]=oJ(d,4,0,b,0,h)|0;if((c[f>>2]|0)!=0){break}c[a+16>>2]=b;c[a+12>>2]=-559038737;c[a+20>>2]=0;c[a>>2]=0;c[a+8>>2]=0;c[a+4>>2]=0;$W(a+36|0,207760,16)|0;a=0;i=g;return a|0}}while(0);lJ(d,c[e>>2]|0);c[e>>2]=0;a=c[f>>2]|0;i=g;return a|0}function vM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;f=i;g=i;i=i+8|0;b=c[a+32>>2]|0;d=c[a>>2]|0;if((d|0)==0){i=f;return}e=a+4|0;h=jJ(b,c[e>>2]|0,g)|0;c[a>>2]=h;if((c[g>>2]|0)!=0){i=f;return}$W(h|0,d|0,c[e>>2]|0)|0;j=c[a+16>>2]|0;k=c[a+24>>2]|0;h=(c[a>>2]|0)-d|0;g=k+(j<<2)|0;if((j|0)>0){do{j=c[k>>2]|0;if((j|0)!=0){c[k>>2]=j+h}k=k+4|0;}while(k>>>0<g>>>0)}c[a+8>>2]=c[e>>2];lJ(b,d);i=f;return}function wM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;o=i;i=i+8|0;p=o;if((b|0)<0){q=6;i=g;return q|0}n=a+16|0;if((c[n>>2]|0)<=(b|0)|(e|0)<0){q=6;i=g;return q|0}f=a+4|0;m=(c[f>>2]|0)+e|0;j=a+8|0;l=c[j>>2]|0;do{if(m>>>0>l>>>0){h=c[a>>2]|0;k=d-h|0;k=k>>>0>=l>>>0?-1:k;do{l=l+1024+(l>>>2)&-1024;}while(l>>>0<m>>>0);m=c[a+32>>2]|0;p=jJ(m,l,p)|0;c[a>>2]=p;o=c[o>>2]|0;if((o|0)!=0){c[a>>2]=h;q=o;i=g;return q|0}if((h|0)!=0){$W(p|0,h|0,c[j>>2]|0)|0;q=c[n>>2]|0;p=c[a+24>>2]|0;n=(c[a>>2]|0)-h|0;o=p+(q<<2)|0;if((q|0)>0){do{q=c[p>>2]|0;if((q|0)!=0){c[p>>2]=q+n}p=p+4|0;}while(p>>>0<o>>>0)}lJ(m,h)}c[j>>2]=l;if((k|0)<=-1){break}d=(c[a>>2]|0)+k|0}}while(0);c[(c[a+24>>2]|0)+(b<<2)>>2]=(c[a>>2]|0)+(c[f>>2]|0);c[(c[a+28>>2]|0)+(b<<2)>>2]=e;$W((c[a>>2]|0)+(c[f>>2]|0)|0,d|0,e|0)|0;c[f>>2]=(c[f>>2]|0)+e;q=0;i=g;return q|0}function xM(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=c[a+32>>2]|0;e=a+12|0;if((c[e>>2]|0)!=-559038737){i=b;return}lJ(d,c[a>>2]|0);c[a>>2]=0;f=a+24|0;lJ(d,c[f>>2]|0);c[f>>2]=0;a=a+28|0;lJ(d,c[a>>2]|0);c[a>>2]=0;c[e>>2]=0;i=b;return}function yM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;c[a+12>>2]=0;c[a+4>>2]=b;c[a+8>>2]=d;c[a>>2]=b;c[a+16>>2]=e;$W(a+20|0,207776,52)|0;i=f;return}function zM(a){a=a|0;i=i;return}function AM(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;e=c[b+8>>2]|0;g=c[b>>2]|0;a:do{if(g>>>0<e>>>0){while(1){b:do{switch(a[g]|0){case 37:{f=37;while(1){if(f<<24>>24==10|f<<24>>24==13){break b}g=g+1|0;if(g>>>0>=e>>>0){break b}f=a[g]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{break a}}}while(0);g=g+1|0;if(g>>>0>=e>>>0){break a}}}}while(0);c[b>>2]=g;i=d;return}function BM(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;e=c[b>>2]|0;g=c[b+8>>2]|0;a:do{if(e>>>0<g>>>0){l=e;while(1){b:do{switch(a[l]|0){case 37:{j=37;while(1){if(j<<24>>24==10|j<<24>>24==13){break b}l=l+1|0;if(l>>>0>=g>>>0){break b}j=a[l]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{break a}}}while(0);l=l+1|0;if(l>>>0>=g>>>0){break a}}}else{l=e}}while(0);c:do{if(l>>>0<g>>>0){switch(a[l]|0){case 40:{j=0;while(1){d:while(1){h=a[l]|0;k=l+1|0;e:do{if(h<<24>>24==41){h=56;break d}else if(h<<24>>24==40){h=54;break d}else if(h<<24>>24==92){if((k|0)==(g|0)){h=3;break c}switch(d[k]|0){case 41:case 40:case 92:case 102:case 98:case 116:case 114:case 110:{l=l+2|0;break e};default:{}}if(k>>>0<g>>>0){l=k;h=0}else{l=k;break}do{if(((a[l]|0)+ -48<<24>>24&255)>=8){break e}l=l+1|0;h=h+1|0;}while(h>>>0<3&l>>>0<g>>>0)}else{l=k}}while(0);if(l>>>0>=g>>>0){g=l;h=3;break c}}if((h|0)==54){j=j+1|0}else if((h|0)==56){j=j+ -1|0;if((j|0)==0){g=k;h=0;break c}}if(k>>>0<g>>>0){l=k}else{g=k;h=3;break c}}break};case 93:case 91:{g=l+1|0;h=0;break c};case 47:{l=l+1|0;break};case 60:{h=l+1|0;do{if(h>>>0<g>>>0){if((a[h]|0)!=60){break}g=l+2|0;h=0;break c}}while(0);do{l=l+1|0;if(l>>>0>=g>>>0){break}f:do{g:do{switch(a[l]|0){case 37:{h=37;while(1){if(h<<24>>24==10|h<<24>>24==13){break g}l=l+1|0;if(l>>>0>=g>>>0){break g}h=a[l]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{break f}}}while(0);l=l+1|0;}while(l>>>0<g>>>0);if(l>>>0>=g>>>0){break}m=a[l]|0;}while((m+ -48<<24>>24&255)<10|(m+ -65<<24>>24&255)<6|(m+ -97<<24>>24&255)<6);if(l>>>0<g>>>0){if((a[l]|0)!=62){g=l;h=3;break c}}g=l+1|0;h=0;break c};case 123:{k=123;j=0;h:while(1){i:do{switch(k&255|0){case 125:{j=j+ -1|0;if((j|0)==0){h=13;break h}break};case 60:{do{l=l+1|0;if(l>>>0>=g>>>0){break}j:do{k:do{switch(a[l]|0){case 37:{k=37;while(1){if(k<<24>>24==10|k<<24>>24==13){break k}l=l+1|0;if(l>>>0>=g>>>0){break k}k=a[l]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{break j}}}while(0);l=l+1|0;}while(l>>>0<g>>>0);if(l>>>0>=g>>>0){break}m=a[l]|0;}while((m+ -48<<24>>24&255)<10|(m+ -65<<24>>24&255)<6|(m+ -97<<24>>24&255)<6);if(l>>>0<g>>>0){if((a[l]|0)!=62){g=l;h=41;break h}}l=l+1|0;break};case 40:{if(l>>>0<g>>>0){k=0}else{g=l;h=41;break h}while(1){h=l;l:while(1){m=a[h]|0;l=h+1|0;m:do{if(m<<24>>24==92){if((l|0)==(g|0)){h=41;break h}switch(d[l]|0){case 41:case 40:case 92:case 102:case 98:case 116:case 114:case 110:{l=h+2|0;break m};default:{}}if(l>>>0<g>>>0){h=0}else{break}do{if(((a[l]|0)+ -48<<24>>24&255)>=8){break m}l=l+1|0;h=h+1|0;}while(h>>>0<3&l>>>0<g>>>0)}else if(m<<24>>24==41){h=26;break l}else if(m<<24>>24==40){h=24;break l}}while(0);if(l>>>0<g>>>0){h=l}else{g=l;h=41;break h}}if((h|0)==24){k=k+1|0}else if((h|0)==26){h=0;k=k+ -1|0;if((k|0)==0){break i}}if(l>>>0>=g>>>0){g=l;h=41;break h}}break};case 123:{j=j+1|0;break};case 37:{while(1){if(k<<24>>24==10|k<<24>>24==13){break i}l=l+1|0;if(l>>>0>=g>>>0){break i}k=a[l]|0}break};default:{}}}while(0);l=l+1|0;if(l>>>0>=g>>>0){g=l;k=0;break}k=a[l]|0}if((h|0)==13){g=l+1|0;j=0;k=0}else if((h|0)==41){g=g+1|0;k=3}h=(j|0)==0?k:3;break c};case 62:{j=l+1|0;if(j>>>0>=g>>>0){g=j;h=3;break c}h=(a[j]|0)==62;g=h?l+2|0:j;h=h?0:3;break c};default:{}}if(l>>>0>=g>>>0){g=l;h=0;break}while(1){switch(a[l]|0){case 37:case 125:case 123:case 93:case 91:case 62:case 60:case 41:case 40:case 47:case 0:case 12:case 9:case 10:case 13:case 32:{g=l;h=0;break c};default:{}}l=l+1|0;if(l>>>0>=g>>>0){g=l;h=0;break c}}}else{g=l;h=0}}while(0);c[b+12>>2]=(g|0)==(e|0)?3:h;c[b>>2]=g;i=f;return}function CM(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;e=c[b+8>>2]|0;g=c[b>>2]|0;a:do{if(g>>>0<e>>>0){while(1){b:do{switch(a[g]|0){case 37:{f=37;while(1){if(f<<24>>24==10|f<<24>>24==13){break b}g=g+1|0;if(g>>>0>=e>>>0){break b}f=a[g]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{break a}}}while(0);g=g+1|0;if(g>>>0>=e>>>0){break a}}}}while(0);c[b>>2]=g;g=nN(b,e)|0;i=d;return g|0}function DM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;f=c[b+8>>2]|0;h=c[b>>2]|0;a:do{if(h>>>0<f>>>0){while(1){b:do{switch(a[h]|0){case 37:{g=37;while(1){if(g<<24>>24==10|g<<24>>24==13){break b}h=h+1|0;if(h>>>0>=f>>>0){break b}g=a[h]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{break a}}}while(0);h=h+1|0;if(h>>>0>=f>>>0){break a}}}}while(0);c[b>>2]=h;h=mN(b,f,d)|0;i=e;return h|0}function EM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;k=b+8|0;l=c[k>>2]|0;j=c[b>>2]|0;a:do{if(j>>>0<l>>>0){while(1){b:do{switch(a[j]|0){case 37:{m=37;while(1){if(m<<24>>24==10|m<<24>>24==13){break b}j=j+1|0;if(j>>>0>=l>>>0){break b}m=a[j]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{break a}}}while(0);j=j+1|0;if(j>>>0>=l>>>0){break a}}}}while(0);c[b>>2]=j;if(j>>>0>=l>>>0){o=0;i=h;return o|0}if(g<<24>>24==0){k=e<<1;l=l-j|0;l=k>>>0>l>>>0?l:k;do{if((l|0)==0){k=0;g=0}else{e=1;k=0;g=0;c:do{m=a[j+k|0]|0;d:do{switch(m<<24>>24){case 0:case 9:case 10:case 12:case 13:case 32:{break};default:{if(m<<24>>24<0){break c}m=a[208184+(m&127)|0]|0;if((m&255)>15){break c}e=m<<24>>24|e<<4;if((e&256|0)==0){break d}a[d+g|0]=e;e=1;g=g+1|0}}}while(0);k=k+1|0;}while(k>>>0<l>>>0);if((e|0)==1){break}a[d+g|0]=e<<4;g=g+1|0}}while(0);c[f>>2]=g}else{if((a[j]|0)!=60){o=3;i=h;return o|0}g=e<<1;l=l-(j+1)|0;e=g>>>0>l>>>0?l:g;do{if((e|0)==0){g=0;l=0}else{m=1;n=0;l=0;e:while(1){g=n+1|0;o=a[j+g|0]|0;f:do{switch(o<<24>>24){case 0:case 9:case 10:case 12:case 13:case 32:{break};default:{if(o<<24>>24<0){g=n;break e}o=a[208184+(o&127)|0]|0;if((o&255)>15){g=n;break e}m=o<<24>>24|m<<4;if((m&256|0)==0){break f}a[d+l|0]=m;m=1;l=l+1|0}}}while(0);if(g>>>0<e>>>0){n=g}else{break}}if((m|0)==1){break}a[d+l|0]=m<<4;l=l+1|0}}while(0);d=j+(g+1)|0;c[f>>2]=l;do{if(d>>>0<(c[k>>2]|0)>>>0){if((a[d]|0)==62){break}else{b=3}i=h;return b|0}}while(0);k=g+2|0}c[b>>2]=j+k;o=0;i=h;return o|0}function FM(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;h=i;i=i+8|0;j=h;k=c[d+8>>2]|0;o=c[d>>2]|0;a:do{if(o>>>0<k>>>0){while(1){b:do{switch(a[o]|0){case 37:{l=37;while(1){if(l<<24>>24==10|l<<24>>24==13){break b}o=o+1|0;if(o>>>0>=k>>>0){break b}l=a[o]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{break a}}}while(0);o=o+1|0;if(o>>>0>=k>>>0){break a}}}}while(0);c[d>>2]=o;c[h>>2]=o;c:do{if(o>>>0<k>>>0){l=a[o]|0;if(l<<24>>24==91){l=93;m=10}else{if(l<<24>>24==123){l=125;m=10}else{n=0;l=0}}if((m|0)==10){o=o+1|0;c[h>>2]=o;n=1}d:do{if((f|0)==0){e=n;n=0;while(1){if(o>>>0>=k>>>0){break c}e:do{f:do{switch(a[o]|0){case 37:{f=37;while(1){if(f<<24>>24==10|f<<24>>24==13){break f}o=o+1|0;if(o>>>0>=k>>>0){break f}f=a[o]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{break e}}}while(0);o=o+1|0;}while(o>>>0<k>>>0);c[h>>2]=o;if(o>>>0>=k>>>0){break c}if((a[o]|0)==l<<24>>24){break d}mN(j,k,0)|0;f=c[h>>2]|0;if((o|0)==(f|0)){n=-1;break c}n=n+1|0;if(e){o=f;e=1}else{o=f;break c}}}else{m=n;n=0;while(1){if(o>>>0<k>>>0){p=o}else{break c}g:while(1){h:do{switch(a[p]|0){case 37:{o=37;while(1){if(o<<24>>24==10|o<<24>>24==13){break h}p=p+1|0;if(p>>>0>=k>>>0){break h}o=a[p]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{o=p;break g}}}while(0);o=p+1|0;if(o>>>0<k>>>0){p=o}else{break}}c[h>>2]=o;if(o>>>0>=k>>>0){break c}if((a[o]|0)==l<<24>>24){break d}if((n|0)>=(e|0)){break c}b[f+(n<<1)>>1]=(mN(j,k,0)|0)>>>16;p=c[h>>2]|0;if((o|0)==(p|0)){n=-1;break c}n=n+1|0;if(m){o=p;m=1}else{o=p;break c}}}}while(0);o=o+1|0;c[h>>2]=o}else{n=0}}while(0);c[d>>2]=o;i=g;return n|0}function GM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;k=i;i=i+8|0;h=k;j=i;i=i+8|0;l=c[b+8>>2]|0;r=c[b>>2]|0;a:do{if(r>>>0<l>>>0){while(1){b:do{switch(a[r]|0){case 37:{m=37;while(1){if(m<<24>>24==10|m<<24>>24==13){break b}r=r+1|0;if(r>>>0>=l>>>0){break b}m=a[r]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{break a}}}while(0);r=r+1|0;if(r>>>0>=l>>>0){break a}}}}while(0);c[b>>2]=r;c[k>>2]=r;c:do{if(r>>>0<l>>>0){m=a[r]|0;if(m<<24>>24==91){m=93;n=10}else{if(m<<24>>24==123){m=125;n=10}else{p=0;m=0}}if((n|0)==10){r=r+1|0;c[k>>2]=r;p=1}n=(e|0)!=0;o=n^1;q=0;while(1){if(r>>>0<l>>>0){s=r}else{break c}d:while(1){e:do{switch(a[s]|0){case 37:{r=37;while(1){if(r<<24>>24==10|r<<24>>24==13){break e}s=s+1|0;if(s>>>0>=l>>>0){break e}r=a[s]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{r=s;break d}}}while(0);r=s+1|0;if(r>>>0<l>>>0){s=r}else{break}}c[k>>2]=r;if(r>>>0>=l>>>0){break c}if((a[r]|0)==m<<24>>24){break}if(!((q|0)<(d|0)|o)){break c}s=mN(h,l,f)|0;if(n){t=e+(q<<2)|0}else{t=j}c[t>>2]=s;s=c[k>>2]|0;if((r|0)==(s|0)){q=-1;break c}q=q+1|0;if(p){r=s;p=1}else{r=s;break c}}r=r+1|0;c[k>>2]=r}else{q=0}}while(0);c[b>>2]=r;i=g;return q|0}function HM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;g=e+8|0;c[g>>2]=0;c[e>>2]=0;h=e+4|0;c[h>>2]=0;l=b+8|0;j=c[l>>2]|0;n=c[b>>2]|0;a:do{if(n>>>0<j>>>0){while(1){b:do{switch(a[n]|0){case 37:{m=37;while(1){if(m<<24>>24==10|m<<24>>24==13){break b}n=n+1|0;if(n>>>0>=j>>>0){break b}m=a[n]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{break a}}}while(0);n=n+1|0;if(n>>>0>=j>>>0){break a}}}}while(0);c[b>>2]=n;if(n>>>0>=j>>>0){i=f;return}m=d[n]|0;c:do{if((m|0)==40){c[g>>2]=2;c[e>>2]=n;l=0;while(1){d:while(1){k=a[n]|0;m=n+1|0;e:do{if(k<<24>>24==92){if((m|0)==(j|0)){k=81;break c}switch(d[m]|0){case 41:case 40:case 92:case 102:case 98:case 116:case 114:case 110:{n=n+2|0;break e};default:{}}if(m>>>0<j>>>0){n=m;k=0}else{n=m;break}do{if(((a[n]|0)+ -48<<24>>24&255)>=8){break e}n=n+1|0;k=k+1|0;}while(k>>>0<3&n>>>0<j>>>0)}else if(k<<24>>24==41){k=22;break d}else if(k<<24>>24==40){k=20;break d}else{n=m}}while(0);if(n>>>0>=j>>>0){j=n;k=81;break c}}if((k|0)==20){l=l+1|0}else if((k|0)==22){k=0;l=l+ -1|0;if((l|0)==0){break}}if(m>>>0<j>>>0){n=m}else{j=m;k=81;break c}}c[h>>2]=m;j=m}else if((m|0)==91){c[g>>2]=3;q=n+1|0;c[e>>2]=n;c[b>>2]=q;m=c[l>>2]|0;f:do{if(q>>>0<m>>>0){while(1){g:do{switch(a[q]|0){case 0:case 12:case 9:case 10:case 13:case 32:{break};case 37:{n=37;while(1){if(n<<24>>24==10|n<<24>>24==13){break g}q=q+1|0;if(q>>>0>=m>>>0){break g}n=a[q]|0}break};default:{break f}}}while(0);q=q+1|0;if(q>>>0>=m>>>0){break f}}}}while(0);c[b>>2]=q;if(q>>>0>=j>>>0){j=q;k=81;break}m=b+12|0;n=1;while(1){if((c[m>>2]|0)!=0){j=q;k=81;break c}o=a[q]|0;if(o<<24>>24==91){n=n+1|0}else if(o<<24>>24==93){if((n|0)<2){break}else{n=n+ -1|0}}c[b>>2]=q;BM(b);o=c[l>>2]|0;q=c[b>>2]|0;h:do{if(q>>>0<o>>>0){while(1){i:do{switch(a[q]|0){case 0:case 12:case 9:case 10:case 13:case 32:{break};case 37:{p=37;while(1){if(p<<24>>24==10|p<<24>>24==13){break i}q=q+1|0;if(q>>>0>=o>>>0){break i}p=a[q]|0}break};default:{break h}}}while(0);q=q+1|0;if(q>>>0>=o>>>0){break h}}}}while(0);c[b>>2]=q;if(q>>>0>=j>>>0){j=q;k=81;break c}}j=q+1|0;c[h>>2]=j}else if((m|0)==123){c[g>>2]=3;c[e>>2]=n;l=0;j:while(1){m=a[n]|0;k:do{switch(m&255|0){case 40:{if(n>>>0<j>>>0){m=0}else{j=n;k=55;break j}while(1){o=n;l:while(1){k=a[o]|0;n=o+1|0;m:do{if(k<<24>>24==41){k=40;break l}else if(k<<24>>24==40){k=38;break l}else if(k<<24>>24==92){if((n|0)==(j|0)){k=55;break j}switch(d[n]|0){case 41:case 40:case 92:case 102:case 98:case 116:case 114:case 110:{n=o+2|0;break m};default:{}}if(n>>>0<j>>>0){k=0}else{break}do{if(((a[n]|0)+ -48<<24>>24&255)>=8){break m}n=n+1|0;k=k+1|0;}while(k>>>0<3&n>>>0<j>>>0)}}while(0);if(n>>>0<j>>>0){o=n}else{j=n;k=55;break j}}if((k|0)==38){m=m+1|0}else if((k|0)==40){k=0;m=m+ -1|0;if((m|0)==0){break k}}if(n>>>0>=j>>>0){j=n;k=55;break j}}break};case 125:{l=l+ -1|0;if((l|0)==0){k=27;break j}break};case 60:{do{n=n+1|0;if(n>>>0>=j>>>0){break}n:do{o:do{switch(a[n]|0){case 0:case 12:case 9:case 10:case 13:case 32:{break};case 37:{m=37;while(1){if(m<<24>>24==10|m<<24>>24==13){break o}n=n+1|0;if(n>>>0>=j>>>0){break o}m=a[n]|0}break};default:{break n}}}while(0);n=n+1|0;}while(n>>>0<j>>>0);if(n>>>0>=j>>>0){break}q=a[n]|0;}while((q+ -48<<24>>24&255)<10|(q+ -65<<24>>24&255)<6|(q+ -97<<24>>24&255)<6);if(n>>>0<j>>>0){if((a[n]|0)!=62){j=n;k=55;break j}}n=n+1|0;break};case 123:{l=l+1|0;break};case 37:{while(1){if(m<<24>>24==10|m<<24>>24==13){break k}n=n+1|0;if(n>>>0>=j>>>0){break k}m=a[n]|0}break};default:{}}}while(0);n=n+1|0;if(n>>>0>=j>>>0){j=n;m=0;break}}if((k|0)==27){j=n+1|0;l=0;m=0}else if((k|0)==55){j=j+1|0;m=3}if((l|m|0)!=0){k=81;break}c[h>>2]=j}else{c[e>>2]=n;c[g>>2]=(a[n]|0)==47?4:1;BM(b);j=c[b>>2]|0;if((c[b+12>>2]|0)!=0){k=81;break}c[h>>2]=j;h=j;k=82}}while(0);if((k|0)==81){h=c[h>>2]|0;k=82}do{if((k|0)==82){if((h|0)!=0){break}c[e>>2]=0;c[g>>2]=0}}while(0);c[b>>2]=j;i=f;return}function IM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;n=i;i=i+16|0;m=n;l=i;i=i+16|0;k=l;c[e>>2]=-1;HM(a,m);if((c[m+8>>2]|0)!=3){i=j;return}g=c[a>>2]|0;f=a+8|0;h=c[f>>2]|0;d=b+(d*12|0)|0;o=(c[n>>2]|0)+1|0;c[a>>2]=o;n=(c[m+4>>2]|0)+ -1|0;c[f>>2]=n;a:do{if(o>>>0<n>>>0){m=k+8|0;if((b|0)==0){n=0;while(1){HM(a,k);if((c[m>>2]|0)==0){break a}n=n+12|0;if((c[a>>2]|0)>>>0>=(c[f>>2]|0)>>>0){break a}}}else{n=b}do{HM(a,k);if((c[m>>2]|0)==0){break a}if(n>>>0<d>>>0){$W(n|0,l|0,12)|0}n=n+12|0;}while((c[a>>2]|0)>>>0<(c[f>>2]|0)>>>0)}else{n=b}}while(0);c[e>>2]=(n-b|0)/12|0;c[a>>2]=g;c[f>>2]=h;i=j;return}function JM(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;j=i;t=i;i=i+8|0;l=t;w=i;i=i+16|0;u=w;r=i;i=i+8|0;o=r;q=i;i=i+8|0;p=q;v=i;i=i+16|0;n=i;i=i+16|0;m=n;HM(e,u);s=c[u+8>>2]|0;a:do{if((s|0)!=0){F=c[w>>2]|0;c[r>>2]=F;w=c[u+4>>2]|0;u=f+8|0;if((c[u>>2]|0)==7){G=c[e>>2]|0;I=e+8|0;H=c[I>>2]|0;c[e>>2]=F+1;c[I>>2]=w+ -1;HM(e,v);c[e>>2]=G;c[I>>2]=H;if((c[v+8>>2]|0)==3){k=5}else{h=1;A=0}}else{if((s|0)==3){k=5}else{h=1;A=0}}if((k|0)==5){if((h|0)==0){break}F=F+1|0;c[r>>2]=F;A=1;w=w+ -1|0}v=f+16|0;f=f+20|0;z=e+16|0;y=m+4|0;e=m+8|0;x=m+12|0;b:while(1){C=c[g+(A<<2)>>2]|0;D=c[v>>2]|0;B=C+D|0;c:do{if(F>>>0<w>>>0){while(1){d:do{switch(a[F]|0){case 37:{E=37;while(1){if(E<<24>>24==10|E<<24>>24==13){break d}F=F+1|0;if(F>>>0>=w>>>0){break d}E=a[F]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{break c}}}while(0);F=F+1|0;if(F>>>0>=w>>>0){break c}}}}while(0);c[r>>2]=F;e:do{switch(c[u>>2]|0){case 4:{C=mN(o,w,3)|0;k=31;break};case 3:{C=mN(o,w,0)|0;k=31;break};case 7:{c[t>>2]=F;f:do{if(F>>>0<w>>>0){E=a[F]|0;if(E<<24>>24==91){E=93;k=48}else{if(E<<24>>24==123){E=125;k=48}else{H=F;F=0;E=0}}if((k|0)==48){k=0;H=F+1|0;c[t>>2]=H;F=1}G=0;while(1){if(H>>>0<w>>>0){I=H}else{break}g:while(1){h:do{switch(a[I]|0){case 37:{H=37;while(1){if(H<<24>>24==10|H<<24>>24==13){break h}I=I+1|0;if(I>>>0>=w>>>0){break h}H=a[I]|0}break};case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{H=I;break g}}}while(0);H=I+1|0;if(H>>>0<w>>>0){I=H}else{break}}c[t>>2]=H;if(H>>>0>=w>>>0){break}if((a[H]|0)==E<<24>>24){k=58;break}if((G|0)>=4){F=H;k=63;break f}c[m+(G<<2)>>2]=mN(l,w,0)|0;I=c[t>>2]|0;if((H|0)==(I|0)){k=61;break b}G=G+1|0;if(F){H=I;F=1}else{H=I;break}}if((k|0)==58){k=0;H=H+1|0;c[t>>2]=H}c[r>>2]=H;if((G|0)<0){break b}}else{k=63}}while(0);if((k|0)==63){k=0;c[r>>2]=F}c[B>>2]=ZI(c[n>>2]|0)|0;c[C+(D+4)>>2]=ZI(c[y>>2]|0)|0;c[C+(D+8)>>2]=ZI(c[e>>2]|0)|0;c[C+(D+12)>>2]=ZI(c[x>>2]|0)|0;break};case 6:case 5:{E=c[z>>2]|0;D=w-F|0;if(F>>>0>=w>>>0){break e}if((s|0)==2){C=F+1|0;c[r>>2]=C;D=D+ -2|0}else if((s|0)==4){C=F+1|0;c[r>>2]=C;D=D+ -1|0}else{k=40;break b}F=c[B>>2]|0;if((F|0)!=0){lJ(E,F);c[B>>2]=0}F=jJ(E,D+1|0,p)|0;E=c[q>>2]|0;if((E|0)!=0){k=70;break b}$W(F|0,C|0,D|0)|0;a[F+D|0]=0;c[B>>2]=F;break};case 1:{C=F+3|0;do{if(C>>>0<w>>>0){if((a[F]|0)!=116){k=21;break}if((a[F+1|0]|0)!=114){k=21;break}if((a[F+2|0]|0)!=117){k=21;break}if((a[C]|0)!=101){k=21;break}F=F+5|0;C=1}else{k=21}}while(0);do{if((k|0)==21){k=F+4|0;if(k>>>0>=w>>>0){C=0;break}if((a[F]|0)!=102){C=0;break}if((a[F+1|0]|0)!=97){C=0;break}if((a[F+2|0]|0)!=108){C=0;break}if((a[C]|0)!=115){C=0;break}F=(a[k]|0)==101?F+6|0:F;C=0}}while(0);c[r>>2]=F;k=31;break};case 2:{C=nN(o,w)|0;k=31;break};default:{break a}}}while(0);do{if((k|0)==31){k=0;D=d[f]|0;if((D|0)==2){b[B>>1]=C;break}else if((D|0)==1){a[B]=C;break}else if((D|0)==4){c[B>>2]=C;break}else{c[B>>2]=C;break}}}while(0);h=h+ -1|0;if((h|0)==0){k=69;break}F=c[r>>2]|0;A=A+1|0}if((k|0)==40){c[q>>2]=3;I=3;i=j;return I|0}else if((k|0)==61){c[r>>2]=H}else if((k|0)==69){c[q>>2]=0;I=0;i=j;return I|0}else if((k|0)==70){i=j;return E|0}c[q>>2]=3;I=3;i=j;return I|0}}while(0);c[q>>2]=3;I=3;i=j;return I|0}function KM(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;t=i;i=i+16|0;s=t;q=i;i=i+16|0;p=q;n=i;i=i+384|0;k=i;i=i+40|0;h=k;$W(k|0,e|0,36)|0;k=h+8|0;c[k>>2]=2;o=e+8|0;r=c[o>>2]|0;if((r|0)==7|(r|0)==9){c[k>>2]=3}HM(b,s);if((c[s+8>>2]|0)!=3){t=162;i=j;return t|0}m=c[b>>2]|0;k=b+8|0;l=c[k>>2]|0;r=n+384|0;u=(c[t>>2]|0)+1|0;c[b>>2]=u;t=(c[s+4>>2]|0)+ -1|0;c[k>>2]=t;a:do{if(u>>>0<t>>>0){s=p+8|0;t=n;do{HM(b,p);if((c[s>>2]|0)==0){break a}if(t>>>0<r>>>0){$W(t|0,q|0,12)|0}t=t+12|0;}while((c[b>>2]|0)>>>0<(c[k>>2]|0)>>>0)}else{t=n}}while(0);u=t-n|0;q=(u|0)/12|0;c[b>>2]=m;c[k>>2]=l;if((u|0)<0){u=162;i=j;return u|0}p=c[e+24>>2]|0;p=q>>>0>p>>>0?p:q;do{if((c[o>>2]|0)!=7){e=c[e+28>>2]|0;if((e|0)==0){break}a[(c[f>>2]|0)+e|0]=p}}while(0);if((p|0)>0){o=h+20|0;e=h+16|0;while(1){c[b>>2]=c[n>>2];c[k>>2]=c[n+4>>2];JM(b,h,f,g,0)|0;c[e>>2]=(c[e>>2]|0)+(d[o]|0);p=p+ -1|0;if((p|0)>0){n=n+12|0}else{break}}}c[b>>2]=m;c[k>>2]=l;u=0;i=j;return u|0}function LM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;c[b+64>>2]=0;a[b+68|0]=1;c[b+4>>2]=d;c[b+8>>2]=f;c[b>>2]=c[d+100>>2];do{if((f|0)!=0){f=f+156|0;d=c[c[f>>2]>>2]|0;c[b+12>>2]=d;c[b+16>>2]=d+20;c[b+20>>2]=d+56;kJ(d);c[b+76>>2]=c[e+40>>2];e=b+72|0;c[e>>2]=0;if(g<<24>>24==0){break}c[e>>2]=c[(c[f>>2]|0)+36>>2]}}while(0);bX(b+24|0,0,24)|0;$W(b+80|0,207832,32)|0;i=h;return}function MM(a){a=a|0;var b=0,d=0;b=i;d=c[a+8>>2]|0;if((d|0)==0){i=b;return}$W(d+108|0,c[a+16>>2]|0,20)|0;i=b;return}function NM(a,d){a=a|0;d=d|0;var e=0;e=i;if((d|0)==0){a=0;i=e;return a|0}a=c[a+12>>2]|0;if(((b[a+22>>1]|0)+d+(b[a+58>>1]|0)|0)>>>0<=(c[a+4>>2]|0)>>>0){a=0;i=e;return a|0}a=pJ(a,d,0)|0;i=e;return a|0}function OM(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;j=c[d+20>>2]|0;if((a[d+68|0]|0)==0){d=j+2|0;j=d;j=b[j>>1]|0;j=j+1<<16>>16;b[d>>1]=j;i=h;return}else{l=c[j+4>>2]|0;d=j+2|0;k=b[d>>1]|0;j=(c[j+8>>2]|0)+k|0;c[l+(k<<3)>>2]=(ZI(e)|0)>>16;c[l+(k<<3)+4>>2]=(ZI(f)|0)>>16;a[j]=g<<24>>24!=0?1:2;l=d;k=l;k=b[k>>1]|0;k=k+1<<16>>16;b[l>>1]=k;i=h;return}}function PM(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;h=c[d+12>>2]|0;do{if(((b[h+22>>1]|0)+1+(b[h+58>>1]|0)|0)>>>0>(c[h+4>>2]|0)>>>0){h=pJ(h,1,0)|0;if((h|0)==0){break}i=g;return h|0}}while(0);h=c[d+20>>2]|0;if((a[d+68|0]|0)==0){d=h+2|0}else{k=c[h+4>>2]|0;d=h+2|0;j=b[d>>1]|0;h=(c[h+8>>2]|0)+j|0;c[k+(j<<3)>>2]=(ZI(e)|0)>>16;c[k+(j<<3)+4>>2]=(ZI(f)|0)>>16;a[h]=1}b[d>>1]=(b[d>>1]|0)+1<<16>>16;k=0;i=g;return k|0}function QM(d){d=d|0;var e=0,f=0;e=i;f=c[d+20>>2]|0;if((f|0)==0){d=3;i=e;return d|0}if((a[d+68|0]|0)==0){b[f>>1]=(b[f>>1]|0)+1<<16>>16;d=0;i=e;return d|0}d=c[d+12>>2]|0;do{if(((b[d+20>>1]|0)+1+(b[d+56>>1]|0)|0)>>>0>(c[d+8>>2]|0)>>>0){d=pJ(d,0,1)|0;if((d|0)==0){break}i=e;return d|0}}while(0);d=b[f>>1]|0;if(d<<16>>16>0){b[(c[f+12>>2]|0)+((d<<16>>16)+ -1<<1)>>1]=(b[f+2>>1]|0)+ -1<<16>>16;d=b[f>>1]|0}b[f>>1]=d+1<<16>>16;d=0;i=e;return d|0}function RM(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;h=d+64|0;if((c[h>>2]|0)==3){l=0;i=g;return l|0}c[h>>2]=3;j=d+20|0;k=c[j>>2]|0;if((k|0)==0){l=3;i=g;return l|0}h=d+68|0;if((a[h]|0)==0){b[k>>1]=(b[k>>1]|0)+1<<16>>16;d=d+12|0}else{d=d+12|0;l=c[d>>2]|0;do{if(((b[l+20>>1]|0)+1+(b[l+56>>1]|0)|0)>>>0>(c[l+8>>2]|0)>>>0){l=pJ(l,0,1)|0;if((l|0)==0){break}i=g;return l|0}}while(0);l=b[k>>1]|0;if(l<<16>>16>0){b[(c[k+12>>2]|0)+((l<<16>>16)+ -1<<1)>>1]=(b[k+2>>1]|0)+ -1<<16>>16;l=b[k>>1]|0}b[k>>1]=l+1<<16>>16}k=c[d>>2]|0;do{if(((b[k+22>>1]|0)+1+(b[k+58>>1]|0)|0)>>>0>(c[k+4>>2]|0)>>>0){l=pJ(k,1,0)|0;if((l|0)==0){break}i=g;return l|0}}while(0);j=c[j>>2]|0;if((a[h]|0)==0){e=j+2|0}else{h=c[j+4>>2]|0;l=j+2|0;k=b[l>>1]|0;d=(c[j+8>>2]|0)+k|0;c[h+(k<<3)>>2]=(ZI(e)|0)>>16;c[h+(k<<3)+4>>2]=(ZI(f)|0)>>16;a[d]=1;e=l}b[e>>1]=(b[e>>1]|0)+1<<16>>16;l=0;i=g;return l|0}function SM(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=c[d+20>>2]|0;if((f|0)==0){i=e;return}g=b[f>>1]|0;if(g<<16>>16<2){h=0}else{h=(b[(c[f+12>>2]|0)+((g<<16>>16)+ -2<<1)>>1]|0)+1|0}d=f+2|0;j=b[d>>1]|0;do{if(j<<16>>16>1){l=c[f+4>>2]|0;k=(j<<16>>16)+ -1|0;if((c[l+(h<<3)>>2]|0)!=(c[l+(k<<3)>>2]|0)){break}if((c[l+(h<<3)+4>>2]|0)!=(c[l+(k<<3)+4>>2]|0)){break}if((a[(c[f+8>>2]|0)+k|0]|0)!=1){break}j=j+ -1<<16>>16;b[d>>1]=j}}while(0);if(g<<16>>16<=0){i=e;return}k=(j<<16>>16)+ -1|0;if((h|0)==(k|0)){b[f>>1]=g+ -1<<16>>16;b[d>>1]=j+ -1<<16>>16;i=e;return}else{b[(c[f+12>>2]|0)+((g<<16>>16)+ -1<<1)>>1]=k;i=e;return}}function TM(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;m=i;bX(b|0,0,1500)|0;n=oK(c[d+96>>2]|0,209568)|0;if((n|0)==0){n=7;i=m;return n|0}c[b+1348>>2]=n;c[b+64>>2]=0;a[b+68|0]=1;c[b+4>>2]=d;c[b+8>>2]=f;c[b>>2]=c[d+100>>2];do{if((f|0)!=0){f=f+156|0;n=c[c[f>>2]>>2]|0;c[b+12>>2]=n;c[b+16>>2]=n+20;c[b+20>>2]=n+56;kJ(n);c[b+76>>2]=c[e+40>>2];e=b+72|0;c[e>>2]=0;if(j<<24>>24==0){break}c[e>>2]=c[(c[f>>2]|0)+36>>2]}}while(0);bX(b+24|0,0,24)|0;$W(b+80|0,207832,32)|0;c[b+1352>>2]=c[d+16>>2];c[b+1356>>2]=g;c[b+1468>>2]=k;c[b+1464>>2]=h;c[b+1472>>2]=l;$W(b+1476|0,207864,12)|0;n=0;i=m;return n|0}function UM(a){a=a|0;var b=0,d=0;b=i;d=c[a+8>>2]|0;if((d|0)==0){i=b;return}$W(d+108|0,c[a+16>>2]|0,20)|0;i=b;return}function VM(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;j=i;l=i;i=i+8|0;p=i;i=i+8|0;k=i;i=i+8|0;c[l>>2]=f;c[p>>2]=g;m=p^l^k;m=(m>>>10^m^m>>20)&65535;c[k>>2]=(m|0)==0?29572:m;c[f+1136>>2]=f+112;D=f+1140|0;c[f+1344>>2]=D;n=f+64|0;c[n>>2]=0;m=c[f+72>>2]|0;q=c[f+1492>>2]|0;if((q|0)!=0){bX(c[f+1488>>2]|0,0,q<<2|0)|0;g=c[p>>2]|0}c[f+1144>>2]=g;E=g+h|0;c[f+1148>>2]=E;c[D>>2]=g;q=f+24|0;H=c[q>>2]|0;r=f+28|0;G=c[r>>2]|0;p=(m|0)!=0;if(p){fd[c[m+4>>2]&511](c[m>>2]|0)}if((h|0)<=0){R=0;i=j;return R|0}B=f+12|0;y=f+20|0;z=f+68|0;A=m+20|0;v=f+32|0;x=f+40|0;u=f+44|0;w=f+70|0;h=f+36|0;s=m+12|0;t=m+16|0;I=0;F=0;C=H;J=0;a:while(1){b:while(1){N=g;L=F;while(1){M=c[l>>2]|0;K=c[M+1136>>2]|0;g=N+1|0;O=a[N]|0;F=O&255;c:do{switch(F|0){case 11:{F=L;O=24;N=0;break};case 13:{F=L;O=2;N=0;break};case 255:{F=N+5|0;if(F>>>0>E>>>0){M=160;o=238;break a}N=d[N+2|0]<<16|d[g]<<24|d[N+3|0]<<8|d[N+4|0];P=L<<24>>24!=0;if((N+32e3|0)>>>0>64e3){g=F;F=P?L:1;O=0;break c}else{g=F;F=L;O=0;N=P?N:N<<16;break c}break};case 30:{F=L;O=12;N=0;break};case 31:{F=L;O=8;N=0;break};case 3:{F=L;O=18;N=0;break};case 4:{F=L;O=14;N=0;break};case 5:{F=L;O=9;N=0;break};case 6:{F=L;O=6;N=0;break};case 1:{F=L;O=16;N=0;break};case 14:{F=L;O=1;N=0;break};case 15:{F=L;O=26;N=0;break};case 9:{F=L;O=5;N=0;break};case 10:{F=L;O=22;N=0;break};case 7:{F=L;O=13;N=0;break};case 8:{F=L;O=11;N=0;break};case 21:{F=L;O=10;N=0;break};case 22:{F=L;O=7;N=0;break};case 12:{if(g>>>0>E>>>0){M=160;o=238;break a}F=N+2|0;switch(d[g]|0){case 2:{g=F;F=L;O=17;N=0;break c};case 12:{g=F;F=L;O=20;N=0;break c};case 16:{g=F;F=L;O=21;N=0;break c};case 0:{g=F;F=L;O=15;N=0;break c};case 6:{g=F;F=L;O=3;N=0;break c};case 7:{g=F;F=L;O=4;N=0;break c};case 1:{g=F;F=L;O=19;N=0;break c};case 17:{g=F;F=L;O=23;N=0;break c};case 33:{g=F;F=L;O=25;N=0;break c};default:{M=160;o=238;break a}}break};default:{if((O&255)<=31){M=160;o=238;break a}do{if((O&255)<247){N=g;P=F+ -139|0}else{N=N+2|0;if(N>>>0>E>>>0){M=160;o=238;break a}F=F<<8;if((O&255)<251){P=(d[g]|F+ -63232)+108|0;break}else{P=-108-(d[g]|F+ -64256)|0;break}}}while(0);g=N;F=L;O=0;N=L<<24>>24==0?P<<16:P}}}while(0);do{if((J|0)>0){if((O|0)==23|(O|0)==0|(O|0)==24|(O|0)==22){break}J=0}}while(0);do{if(F<<24>>24==0){F=0}else{if((O|0)==0|(O|0)==20){break}F=0}}while(0);if((O|0)==21){break}else if((O|0)!=0){break b}if((K-(M+112)|0)>1020){M=160;o=238;break a}c[K>>2]=N;c[(c[l>>2]|0)+1136>>2]=K+4;if(g>>>0<E>>>0){N=g;L=F}else{M=0;o=238;break a}}O=M+112|0;if((K-O|0)<8){M=161;o=238;break a}R=K+ -8|0;I=c[K+ -4>>2]>>16;J=c[R>>2]>>16;if((J|0)>(R-O>>2|0)){M=161;o=238;break a}N=-2-J|0;L=K+(N<<2)|0;d:do{switch(I|0){case 2:{if((J|0)!=0){M=160;o=238;break a}R=M+1404|0;I=c[R>>2]|0;c[R>>2]=I+1;if((I+ -1|0)>>>0>=6){I=0;J=0;break d}if((I|0)==3){J=1}else{J=(I|0)==6|0}K=c[y>>2]|0;if((a[z]|0)==0){I=K+2|0}else{Q=c[K+4>>2]|0;I=K+2|0;R=b[I>>1]|0;K=(c[K+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=(ZI(H)|0)>>16;c[Q+(R<<3)+4>>2]=(ZI(G)|0)>>16;a[K]=J<<24>>24!=0?1:2}b[I>>1]=(b[I>>1]|0)+1<<16>>16;I=0;J=0;break};case 19:{I=c[M+1464>>2]|0;if((J|0)!=1|(I|0)==0){M=160;o=238;break a}J=c[L>>2]>>16;if((J|0)<0){M=160;o=238;break a}K=c[I>>2]|0;if((K+J|0)>>>0>(c[M+1492>>2]|0)>>>0){M=160;o=238;break a}$W((c[M+1488>>2]|0)+(J<<2)|0,c[I+136>>2]|0,K<<2|0)|0;I=0;J=0;break};case 3:{if((J|0)!=1){M=160;o=238;break a}if(!p){I=1;J=0;break d}hd[c[A>>2]&127](c[m>>2]|0,b[(c[y>>2]|0)+2>>1]|0);I=1;J=0;break};case 24:{if((J|0)!=2){M=160;o=238;break a}if((c[M+1464>>2]|0)==0){M=160;o=238;break a}I=c[K+(N+1<<2)>>2]>>16;if((I|0)<0){M=160;o=238;break a}if(I>>>0>=(c[M+1492>>2]|0)>>>0){M=160;o=238;break a}c[(c[M+1488>>2]|0)+(I<<2)>>2]=c[L>>2];I=0;J=0;break};case 21:{if((J|0)!=2){M=160;o=238;break a}c[L>>2]=(c[L>>2]|0)-(c[K+(N+1<<2)>>2]|0);I=1;J=0;break};case 1:{if((J|0)!=0){M=160;o=238;break a}c[M+1400>>2]=1;c[(c[l>>2]|0)+1404>>2]=0;M=RM(f,H,G)|0;if((M|0)!=0){o=238;break a}I=c[B>>2]|0;if(((b[I+22>>1]|0)+6+(b[I+58>>1]|0)|0)>>>0<=(c[I+4>>2]|0)>>>0){I=0;J=0;break d}M=pJ(I,6,0)|0;if((M|0)==0){I=0;J=0}else{o=238;break a}break};case 23:{if((J|0)!=2){M=160;o=238;break a}I=c[K+(N+1<<2)>>2]|0;if((I|0)==0){M=160;o=238;break a}c[L>>2]=bJ(c[L>>2]|0,I)|0;I=1;J=0;break};case 22:{if((J|0)!=2){M=160;o=238;break a}c[L>>2]=aJ(c[L>>2]|0,c[K+(N+1<<2)>>2]|0)|0;I=1;J=0;break};case 28:{if((J|0)!=0){M=160;o=238;break a}I=c[k>>2]|0;c[L>>2]=((I|0)>32767)+I;I=c[k>>2]|0;I=aJ(I,65536-I|0)|0;c[k>>2]=(I|0)==0?I+10355|0:I;I=1;J=0;break};case 27:{if((J|0)!=4){M=160;o=238;break a}if((c[K+(N+2<<2)>>2]|0)<=(c[K+(N+3<<2)>>2]|0)){I=1;J=0;break d}c[L>>2]=c[K+(N+1<<2)>>2];I=1;J=0;break};case 13:case 12:{I=0;L=O;J=0;break};case 18:case 17:case 16:case 15:case 14:{M=c[M+1464>>2]|0;if((M|0)==0){M=160;o=238;break a}I=I+ -13+((I|0)==18)|0;P=c[M>>2]|0;if((J|0)!=(da(P,I)|0)){M=160;o=238;break a}if((I|0)==0){I=0;J=0;break d}J=M+136|0;O=K+(I+N<<2)|0;K=1;N=L;while(1){Q=c[N>>2]|0;if(P>>>0>1){R=O;P=1;while(1){O=R+4|0;Q=(aJ(c[R>>2]|0,c[(c[J>>2]|0)+(P<<2)>>2]|0)|0)+Q|0;P=P+1|0;if(P>>>0<(c[M>>2]|0)>>>0){R=O}else{break}}}c[N>>2]=Q;if(K>>>0>=I>>>0){J=0;break d}P=c[M>>2]|0;K=K+1|0;N=N+4|0}break};case 0:{if((J|0)!=3){M=160;o=238;break a}if((c[M+1400>>2]|0)==0){M=160;o=238;break a}if((c[M+1404>>2]|0)!=7){M=160;o=238;break a}c[L>>2]=H;c[K+(N+1<<2)>>2]=G;I=2;J=0;break};case 25:{if((J|0)!=1){M=160;o=238;break a}if((c[M+1464>>2]|0)==0){M=160;o=238;break a}I=c[L>>2]>>16;if((I|0)<0){M=160;o=238;break a}if(I>>>0>=(c[M+1492>>2]|0)>>>0){M=160;o=238;break a}c[L>>2]=c[(c[M+1488>>2]|0)+(I<<2)>>2];I=1;J=0;break};case 20:{if((J|0)!=2){M=160;o=238;break a}c[L>>2]=(c[L>>2]|0)+(c[K+(N+1<<2)>>2]|0);I=1;J=0;break};default:{I=0}}}while(0);c[(c[l>>2]|0)+1136>>2]=L+(I<<2);if(g>>>0>=E>>>0){M=0;o=238;break a}}N=c[209592+(O<<2)>>2]|0;if((K-(M+112)>>2|0)<(N|0)){M=161;o=238;break}L=K+(0-N<<2)|0;e:do{switch(O|0){case 12:{M=RM(f,H,G)|0;if((M|0)!=0){o=238;break a}M=c[B>>2]|0;if(((b[M+22>>1]|0)+3+(b[M+58>>1]|0)|0)>>>0>(c[M+4>>2]|0)>>>0){M=pJ(M,3,0)|0;if((M|0)!=0){o=238;break a}}G=(c[L>>2]|0)+G|0;M=c[y>>2]|0;if((a[z]|0)==0){M=M+2|0}else{P=c[M+4>>2]|0;R=M+2|0;Q=b[R>>1]|0;M=(c[M+8>>2]|0)+Q|0;c[P+(Q<<3)>>2]=(ZI(H)|0)>>16;c[P+(Q<<3)+4>>2]=(ZI(G)|0)>>16;a[M]=2;M=R}b[M>>1]=(b[M>>1]|0)+1<<16>>16;H=(c[K+(1-N<<2)>>2]|0)+H|0;G=(c[K+(2-N<<2)>>2]|0)+G|0;M=c[y>>2]|0;if((a[z]|0)==0){M=M+2|0}else{P=c[M+4>>2]|0;R=M+2|0;Q=b[R>>1]|0;M=(c[M+8>>2]|0)+Q|0;c[P+(Q<<3)>>2]=(ZI(H)|0)>>16;c[P+(Q<<3)+4>>2]=(ZI(G)|0)>>16;a[M]=2;M=R}b[M>>1]=(b[M>>1]|0)+1<<16>>16;H=(c[K+(3-N<<2)>>2]|0)+H|0;K=c[y>>2]|0;if((a[z]|0)==0){K=K+2|0}else{P=c[K+4>>2]|0;R=K+2|0;Q=b[R>>1]|0;K=(c[K+8>>2]|0)+Q|0;c[P+(Q<<3)>>2]=(ZI(H)|0)>>16;c[P+(Q<<3)+4>>2]=(ZI(G)|0)>>16;a[K]=1;K=R}b[K>>1]=(b[K>>1]|0)+1<<16>>16;K=L;break};case 6:{M=RM(f,H,G)|0;if((M|0)!=0){o=238;break a}H=(c[L>>2]|0)+H|0;o=173;break};case 13:{M=RM(f,H,G)|0;if((M|0)!=0){o=238;break a}G=(c[L>>2]|0)+G|0;o=173;break};case 14:{G=(c[L>>2]|0)+G|0;if((c[M+1400>>2]|0)!=0){K=L;break e}if((c[n>>2]|0)==0){M=160;o=238;break a}c[n>>2]=2;K=L;break};case 17:{if(!p){K=L;break e}Gd[c[t>>2]&255](c[m>>2]|0,1,L);K=L;break};case 18:{if(!p){K=L;break e}c[L>>2]=(c[L>>2]|0)+C;Gd[c[s>>2]&255](c[m>>2]|0,0,L);K=L;break};case 19:{if(!p){K=L;break e}c[L>>2]=(c[L>>2]|0)+C;R=K+(2-N<<2)|0;c[R>>2]=(c[R>>2]|0)+C;K=K+(4-N<<2)|0;c[K>>2]=(c[K>>2]|0)+C;Gd[c[t>>2]&255](c[m>>2]|0,0,L);K=L;break};case 23:{if((I|0)>0){I=I+ -1|0;K=L;break e}if((J|0)==0){M=160;o=238;break a}K=K+(1-N<<2)|0;J=J+ -1|0;break};case 24:{if(D>>>0<=(M+1140|0)>>>0){M=160;o=238;break a}R=D+ -12|0;g=c[R>>2]|0;E=c[D+ -4>>2]|0;c[M+1344>>2]=R;K=L;D=R;break};case 16:{if(!p){K=L;break e}Gd[c[s>>2]&255](c[m>>2]|0,1,L);K=L;break};case 10:{H=(c[L>>2]|0)+H|0;G=(c[K+(1-N<<2)>>2]|0)+G|0;if((c[M+1400>>2]|0)!=0){K=L;break e}if((c[n>>2]|0)==0){M=160;o=238;break a}c[n>>2]=2;K=L;break};case 11:{M=RM(f,H,G)|0;if((M|0)!=0){o=238;break a}M=c[B>>2]|0;if(((b[M+22>>1]|0)+3+(b[M+58>>1]|0)|0)>>>0>(c[M+4>>2]|0)>>>0){M=pJ(M,3,0)|0;if((M|0)!=0){o=238;break a}}H=(c[L>>2]|0)+H|0;G=(c[K+(1-N<<2)>>2]|0)+G|0;M=c[y>>2]|0;if((a[z]|0)==0){M=M+2|0}else{P=c[M+4>>2]|0;R=M+2|0;Q=b[R>>1]|0;M=(c[M+8>>2]|0)+Q|0;c[P+(Q<<3)>>2]=(ZI(H)|0)>>16;c[P+(Q<<3)+4>>2]=(ZI(G)|0)>>16;a[M]=2;M=R}b[M>>1]=(b[M>>1]|0)+1<<16>>16;H=(c[K+(2-N<<2)>>2]|0)+H|0;G=(c[K+(3-N<<2)>>2]|0)+G|0;M=c[y>>2]|0;if((a[z]|0)==0){M=M+2|0}else{P=c[M+4>>2]|0;R=M+2|0;Q=b[R>>1]|0;M=(c[M+8>>2]|0)+Q|0;c[P+(Q<<3)>>2]=(ZI(H)|0)>>16;c[P+(Q<<3)+4>>2]=(ZI(G)|0)>>16;a[M]=2;M=R}b[M>>1]=(b[M>>1]|0)+1<<16>>16;H=(c[K+(4-N<<2)>>2]|0)+H|0;G=(c[K+(5-N<<2)>>2]|0)+G|0;K=c[y>>2]|0;if((a[z]|0)==0){K=K+2|0}else{P=c[K+4>>2]|0;R=K+2|0;Q=b[R>>1]|0;K=(c[K+8>>2]|0)+Q|0;c[P+(Q<<3)>>2]=(ZI(H)|0)>>16;c[P+(Q<<3)+4>>2]=(ZI(G)|0)>>16;a[K]=1;K=R}b[K>>1]=(b[K>>1]|0)+1<<16>>16;K=L;break};case 3:{o=124;break a};case 4:{c[n>>2]=1;c[v>>2]=(c[v>>2]|0)+(c[L>>2]|0);G=K+(1-N<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[G>>2]|0);c[x>>2]=c[K+(2-N<<2)>>2];c[u>>2]=c[K+(3-N<<2)>>2];if((a[w]|0)==0){K=L;H=(c[L>>2]|0)+(c[q>>2]|0)|0;G=(c[G>>2]|0)+(c[r>>2]|0)|0}else{M=0;o=238;break a}break};case 2:{c[n>>2]=1;c[v>>2]=(c[v>>2]|0)+(c[L>>2]|0);c[x>>2]=c[K+(1-N<<2)>>2];c[u>>2]=0;G=(c[L>>2]|0)+(c[q>>2]|0)|0;if((a[w]|0)==0){C=G;K=L;H=G;G=c[r>>2]|0}else{M=0;o=238;break a}break};case 1:{o=119;break a};case 25:{H=c[L>>2]|0;G=c[K+(1-N<<2)>>2]|0;c[M+1400>>2]=0;K=L;break};case 26:case 15:{K=L;break};case 20:{K=K+(1-N<<2)|0;c[L>>2]=bJ(c[L>>2]|0,c[K>>2]|0)|0;F=0;break};case 22:{E=c[L>>2]>>16;if((E|0)<0){M=160;o=238;break a}if((E|0)>=(c[M+1364>>2]|0)){M=160;o=238;break a}if((D-(M+1140)|0)>180){M=160;o=238;break a}c[D>>2]=g;M=D+12|0;K=c[(c[(c[l>>2]|0)+1368>>2]|0)+(E<<2)>>2]|0;g=D+16|0;c[g>>2]=K;N=c[l>>2]|0;O=c[N+1372>>2]|0;if((O|0)==0){N=c[N+1360>>2]|0;K=K+((N|0)<0?0:N)|0;c[g>>2]=K;c[D+20>>2]=c[(c[(c[l>>2]|0)+1368>>2]|0)+(E+1<<2)>>2]}else{c[D+20>>2]=K+(c[O+(E<<2)>>2]|0)}c[M>>2]=K;if((K|0)==0){M=160;o=238;break a}c[(c[l>>2]|0)+1344>>2]=M;g=c[g>>2]|0;E=c[D+20>>2]|0;K=L;D=M;break};case 7:{H=(c[L>>2]|0)+H|0;if((c[M+1400>>2]|0)!=0){K=L;break e}if((c[n>>2]|0)==0){M=160;o=238;break a}c[n>>2]=2;K=L;break};case 8:{M=RM(f,H,G)|0;if((M|0)!=0){o=238;break a}M=c[B>>2]|0;if(((b[M+22>>1]|0)+3+(b[M+58>>1]|0)|0)>>>0>(c[M+4>>2]|0)>>>0){M=pJ(M,3,0)|0;if((M|0)!=0){o=238;break a}}H=(c[L>>2]|0)+H|0;M=c[y>>2]|0;if((a[z]|0)==0){M=M+2|0}else{P=c[M+4>>2]|0;R=M+2|0;Q=b[R>>1]|0;M=(c[M+8>>2]|0)+Q|0;c[P+(Q<<3)>>2]=(ZI(H)|0)>>16;c[P+(Q<<3)+4>>2]=(ZI(G)|0)>>16;a[M]=2;M=R}b[M>>1]=(b[M>>1]|0)+1<<16>>16;H=(c[K+(1-N<<2)>>2]|0)+H|0;G=(c[K+(2-N<<2)>>2]|0)+G|0;M=c[y>>2]|0;if((a[z]|0)==0){M=M+2|0}else{P=c[M+4>>2]|0;R=M+2|0;Q=b[R>>1]|0;M=(c[M+8>>2]|0)+Q|0;c[P+(Q<<3)>>2]=(ZI(H)|0)>>16;c[P+(Q<<3)+4>>2]=(ZI(G)|0)>>16;a[M]=2;M=R}b[M>>1]=(b[M>>1]|0)+1<<16>>16;G=(c[K+(3-N<<2)>>2]|0)+G|0;K=c[y>>2]|0;if((a[z]|0)==0){K=K+2|0}else{P=c[K+4>>2]|0;R=K+2|0;Q=b[R>>1]|0;K=(c[K+8>>2]|0)+Q|0;c[P+(Q<<3)>>2]=(ZI(H)|0)>>16;c[P+(Q<<3)+4>>2]=(ZI(G)|0)>>16;a[K]=1;K=R}b[K>>1]=(b[K>>1]|0)+1<<16>>16;K=L;break};case 5:{if(((c[n>>2]|0)+ -2|0)>>>0<2){SM(f)}c[n>>2]=1;K=L;break};case 9:{M=RM(f,H,G)|0;if((M|0)!=0){o=238;break a}H=(c[L>>2]|0)+H|0;G=(c[K+(1-N<<2)>>2]|0)+G|0;o=173;break};default:{M=160;o=238;break a}}}while(0);if((o|0)==173){o=0;K=c[B>>2]|0;if(((b[K+22>>1]|0)+1+(b[K+58>>1]|0)|0)>>>0>(c[K+4>>2]|0)>>>0){M=pJ(K,1,0)|0;if((M|0)!=0){o=238;break}}K=c[y>>2]|0;if((a[z]|0)==0){K=K+2|0}else{P=c[K+4>>2]|0;R=K+2|0;Q=b[R>>1]|0;K=(c[K+8>>2]|0)+Q|0;c[P+(Q<<3)>>2]=(ZI(H)|0)>>16;c[P+(Q<<3)+4>>2]=(ZI(G)|0)>>16;a[K]=1;K=R}b[K>>1]=(b[K>>1]|0)+1<<16>>16;K=L}c[(c[l>>2]|0)+1136>>2]=K;if(g>>>0>=E>>>0){M=0;o=238;break}}if((o|0)==119){SM(f);do{if(p){if((Bd[c[m+8>>2]&255](c[m>>2]|0,b[(c[y>>2]|0)+2>>1]|0)|0)==0){pd[c[m+24>>2]&63](c[m>>2]|0,c[y>>2]|0,c[f+76>>2]|0,c[(c[l>>2]|0)+1468>>2]|0)|0;break}else{R=160;i=j;return R|0}}}while(0);sJ(c[B>>2]|0);R=0;i=j;return R|0}else if((o|0)==124){k=c[L>>2]|0;f=c[K+(2-N<<2)>>2]|0;r=c[K+(3-N<<2)>>2]>>16;o=c[K+(4-N<<2)>>2]>>16;l=M+1496|0;if((a[l]|0)!=0){R=160;i=j;return R|0}m=M+32|0;n=(c[m>>2]|0)+(c[K+(1-N<<2)>>2]|0)|0;p=M+1356|0;q=(c[(c[(c[M+4>>2]|0)+128>>2]|0)+52>>2]|0)==0;f:do{if((c[p>>2]|0)==0){if(q){M=160}else{break}i=j;return M|0}else{if(!q){break}q=M+1348|0;h=c[q>>2]|0;g:do{if(r>>>0>255){r=-1}else{s=jd[c[h+20>>2]&511](e[(c[h+24>>2]|0)+(r<<1)>>1]|0)|0;h=c[M+1352>>2]|0;if((h|0)==0){r=-1;break}t=c[p>>2]|0;r=0;while(1){u=c[t+(r<<2)>>2]|0;do{if((u|0)!=0){if((a[u]|0)!=(a[s]|0)){break}if((Qc(u|0,s|0)|0)==0){break g}}}while(0);r=r+1|0;if(r>>>0>=h>>>0){r=-1;break}}}}while(0);q=c[q>>2]|0;if(o>>>0>255){R=160;i=j;return R|0}q=jd[c[q+20>>2]&511](e[(c[q+24>>2]|0)+(o<<1)>>1]|0)|0;h=c[M+1352>>2]|0;if((h|0)==0){R=160;i=j;return R|0}p=c[p>>2]|0;o=0;while(1){s=c[p+(o<<2)>>2]|0;do{if((s|0)!=0){if((a[s]|0)!=(a[q]|0)){break}if((Qc(s|0,q|0)|0)==0){break f}}}while(0);o=o+1|0;if(o>>>0>=h>>>0){M=160;break}}i=j;return M|0}}while(0);if((r|o|0)<0){R=160;i=j;return R|0}if((a[M+69|0]|0)!=0){l=c[M+8>>2]|0;m=c[c[l+156>>2]>>2]|0;p=qJ(m,2)|0;if((p|0)!=0){R=p;i=j;return R|0}R=c[m+88>>2]|0;c[R>>2]=r;b[R+4>>1]=514;c[R+8>>2]=0;c[R+12>>2]=0;c[R+32>>2]=o;b[R+36>>1]=2;c[R+40>>2]=(ZI(n-k|0)|0)>>16;c[R+44>>2]=(ZI(f)|0)>>16;c[l+128>>2]=2;c[l+132>>2]=c[m+52>>2];c[l+72>>2]=1668246896;c[m+84>>2]=2;R=0;i=j;return R|0}rJ(c[M+12>>2]|0);a[l]=1;p=M+1472|0;q=Bd[c[p>>2]&255](M,r)|0;a[l]=0;if((q|0)!=0){R=q;i=j;return R|0}h=m;t=c[h>>2]|0;h=c[h+4>>2]|0;q=M+40|0;r=q;s=c[r>>2]|0;r=c[r+4>>2]|0;c[m>>2]=0;c[M+36>>2]=0;u=M+24|0;c[u>>2]=n-k;k=M+28|0;c[k>>2]=f;a[l]=1;f=Bd[c[p>>2]&255](M,o)|0;a[l]=0;if((f|0)!=0){R=f;i=j;return R|0}R=m;c[R>>2]=t;c[R+4>>2]=h;R=q;c[R>>2]=s;c[R+4>>2]=r;c[u>>2]=0;c[k>>2]=0;R=0;i=j;return R|0}else if((o|0)==238){i=j;return M|0}return 0}function WM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;g=i;i=i+8|0;h=jJ(b,16,g)|0;g=c[g>>2]|0;if((g|0)!=0){a=g;i=f;return a|0}c[h+4>>2]=d;c[h>>2]=d;c[h+8>>2]=e;c[h+12>>2]=2;c[a>>2]=b;c[a+4>>2]=h;c[a+8>>2]=0;c[a+12>>2]=0;a=0;i=f;return a|0}function XM(a){a=a|0;var b=0,d=0;b=i;d=a+4|0;lJ(c[a>>2]|0,c[d>>2]|0);c[d>>2]=0;i=b;return}function YM(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;J=i;ha=i;i=i+8|0;ca=ha;S=i;i=i+8|0;T=S;n=i;i=i+8|0;h=n;q=i;i=i+8|0;p=q;r=i;i=i+40|0;j=r;o=i;i=i+8|0;k=o;t=i;i=i+8|0;s=t;u=i;i=i+32|0;l=u;Q=i;i=i+32|0;R=Q;g=c[b>>2]|0;m=b+8|0;x=c[m>>2]|0;if((x|0)==0){Ha=6;i=J;return Ha|0}N=b+4|0;ma=c[N>>2]|0;la=ma+12|0;ta=c[la>>2]|0;a:do{if((ta|0)>1){ra=c[ma+8>>2]|0;sa=c[ma>>2]|0}else{ua=c[ma>>2]|0;ra=c[ma+8>>2]|0;b:do{if((ta|0)>0){sa=ua}else{c:do{if(ua>>>0<ra>>>0){d:while(1){ta=ua+1|0;c[ma>>2]=ta;switch(d[ua]|0){case 9:case 32:{break};case 59:{K=9;break d};case 10:case 13:{K=8;break d};case 26:{sa=ta;break c};default:{sa=ta;break b}}if(ta>>>0<ra>>>0){ua=ta}else{sa=ta;break c}}if((K|0)==8){c[la>>2]=2;sa=ta;break a}else if((K|0)==9){c[la>>2]=1;sa=ta;break b}}else{sa=ua}}while(0);c[la>>2]=3;break a}}while(0);while(1){if(sa>>>0>=ra>>>0){ta=3;break}ta=sa+1|0;c[ma>>2]=ta;sa=a[sa]|0;Ha=sa&255;if((Ha|0)==10|(Ha|0)==13){sa=ta;ta=2;break}if(sa<<24>>24==26){sa=ta;ta=3;break}else{sa=ta}}c[la>>2]=ta}}while(0);c[la>>2]=0;e:do{if(sa>>>0<ra>>>0){f:while(1){ta=sa+1|0;c[ma>>2]=ta;switch(d[sa]|0){case 59:{K=20;break f};case 26:{break e};case 10:case 13:{c[la>>2]=2;sa=ta;break};case 9:case 32:{if(ta>>>0<ra>>>0){sa=ta;continue f}else{break e}break};default:{g:while(1){if(ta>>>0>=ra>>>0){oa=ta;K=26;break}pa=ta+1|0;c[ma>>2]=pa;switch(d[ta]|0){case 9:case 32:{qa=pa;na=0;break g};case 10:case 13:{K=24;break g};case 59:{K=25;break g};case 26:{oa=pa;K=26;break g};default:{ta=pa}}}if((K|0)==24){K=0;c[la>>2]=2;qa=pa;na=2}else if((K|0)==25){K=0;c[la>>2]=1;qa=pa;na=1}else if((K|0)==26){K=0;c[la>>2]=3;qa=oa;na=3}if((sa|0)!=0){K=30;break f}if((na|0)==2){sa=qa}else{L=2;K=273;break f}}}c[la>>2]=0;if(sa>>>0>=ra>>>0){break e}}if((K|0)==20){c[la>>2]=1;Ha=2;i=J;return Ha|0}else if((K|0)==30){if((qa+~sa|0)!=16){Ha=2;i=J;return Ha|0}if((vc(sa|0,208152,16)|0)!=0){Ha=2;i=J;return Ha|0}qa=T+4|0;pa=R+4|0;la=R+8|0;ma=R+16|0;na=R+24|0;sa=x+4|0;ta=R+12|0;ua=x+8|0;va=R+20|0;wa=x+12|0;xa=R+28|0;ya=x+16|0;ra=x+20|0;za=x+24|0;oa=ca+4|0;Ba=160;h:while(1){Ca=c[N>>2]|0;Aa=Ca+12|0;Fa=c[Aa>>2]|0;i:do{if((Fa|0)>1){Ea=c[Ca+8>>2]|0;Da=c[Ca>>2]|0}else{Da=c[Ca>>2]|0;Ea=c[Ca+8>>2]|0;j:do{if((Fa|0)<=0){k:do{if(Da>>>0<Ea>>>0){Fa=Da;l:while(1){Da=Fa+1|0;c[Ca>>2]=Da;switch(d[Fa]|0){case 26:{X=Da;break k};case 59:{K=40;break l};case 9:case 32:{break};case 10:case 13:{K=39;break l};default:{break j}}if(Da>>>0<Ea>>>0){Fa=Da}else{X=Da;break k}}if((K|0)==39){K=0;c[Aa>>2]=2;break i}else if((K|0)==40){K=0;c[Aa>>2]=1;break j}}else{X=Da}}while(0);c[Aa>>2]=3;Da=X;break i}}while(0);while(1){if(Da>>>0>=Ea>>>0){Fa=3;break}Fa=Da+1|0;c[Ca>>2]=Fa;Da=a[Da]|0;Ha=Da&255;if((Ha|0)==10|(Ha|0)==13){Da=Fa;Fa=2;break}if(Da<<24>>24==26){Da=Fa;Fa=3;break}else{Da=Fa}}c[Aa>>2]=Fa}}while(0);c[Aa>>2]=0;if(Da>>>0>=Ea>>>0){K=52;break}m:while(1){Fa=Da+1|0;c[Ca>>2]=Fa;switch(d[Da]|0){case 9:case 32:{if(Fa>>>0<Ea>>>0){Da=Fa;continue m}else{K=52;break h}break};case 26:{K=52;break h};case 59:{K=51;break h};case 10:case 13:{c[Aa>>2]=2;Da=Fa;break};default:{n:while(1){if(Fa>>>0>=Ea>>>0){U=Fa;K=57;break}Y=Fa+1|0;c[Ca>>2]=Y;switch(d[Fa]|0){case 9:case 32:{V=Y;W=0;break n};case 10:case 13:{K=55;break n};case 59:{K=56;break n};case 26:{U=Y;K=57;break n};default:{Fa=Y}}}if((K|0)==55){K=0;c[Aa>>2]=2;V=Y;W=2}else if((K|0)==56){K=0;c[Aa>>2]=1;V=Y;W=1}else if((K|0)==57){K=0;c[Aa>>2]=3;V=U;W=3}if((Da|0)!=0){break m}if((W|0)==2){Da=V}else{M=Ba;break h}}}c[Aa>>2]=0;if(Da>>>0>=Ea>>>0){K=52;break h}}Ea=V+~Da|0;Ca=a[Da]|0;Fa=0;o:while(1){Ga=c[208312+(Fa<<2)>>2]|0;p:do{if((a[Ga]|0)==Ca<<24>>24&(Fa|0)<74){Ha=Fa;while(1){Fa=Ha+1|0;if((vc(Ga|0,Da|0,Ea|0)|0)==0){break o}if((Fa|0)>=74){break p}Ga=c[208312+(Fa<<2)>>2]|0;if((a[Ga]|0)==Ca<<24>>24){Ha=Fa}else{Ha=Ba;Ba=Ha;continue h}}}}while(0);Fa=Fa+1|0;if((Fa|0)>=74){Ha=Ba;Ba=Ha;continue h}}switch(Ha|0){case 20:{L=0;K=273;break h};case 45:{c[ha>>2]=3;if((kN(b,ca,1)|0)!=1){M=Ba;break h}Ca=c[oa>>2]|0;if((Ca|0)!=0){while(1){Ca=Ca+ -1|0;Da=c[N>>2]|0;ja=Da+12|0;Ga=c[ja>>2]|0;q:do{if((Ga|0)>1){Ea=c[Da+8>>2]|0;Fa=c[Da>>2]|0}else{Fa=c[Da>>2]|0;Ea=c[Da+8>>2]|0;r:do{if((Ga|0)<=0){s:do{if(Fa>>>0<Ea>>>0){Ga=Fa;t:while(1){Fa=Ga+1|0;c[Da>>2]=Fa;switch(d[Ga]|0){case 59:{K=88;break t};case 10:case 13:{K=87;break t};case 26:{Z=Fa;break s};case 9:case 32:{break};default:{break r}}if(Fa>>>0<Ea>>>0){Ga=Fa}else{Z=Fa;break s}}if((K|0)==87){K=0;c[ja>>2]=2;break q}else if((K|0)==88){K=0;c[ja>>2]=1;break r}}else{Z=Fa}}while(0);c[ja>>2]=3;Fa=Z;break q}}while(0);while(1){if(Fa>>>0>=Ea>>>0){Ga=3;break}Ga=Fa+1|0;c[Da>>2]=Ga;Fa=a[Fa]|0;Ha=Fa&255;if((Ha|0)==10|(Ha|0)==13){Fa=Ga;Ga=2;break}if(Fa<<24>>24==26){Fa=Ga;Ga=3;break}else{Fa=Ga}}c[ja>>2]=Ga}}while(0);c[ja>>2]=0;if(Fa>>>0>=Ea>>>0){K=99;break h}u:while(1){Ga=Fa+1|0;c[Da>>2]=Ga;switch(d[Fa]|0){case 59:{K=98;break h};case 9:case 32:{if(Ga>>>0<Ea>>>0){Fa=Ga;continue u}else{K=99;break h}break};case 10:case 13:{c[ja>>2]=2;Fa=Ga;break};case 26:{K=99;break h};default:{v:while(1){if(Ga>>>0>=Ea>>>0){$=Ga;K=104;break}_=Ga+1|0;c[Da>>2]=_;switch(d[Ga]|0){case 10:case 13:{K=102;break v};case 26:{$=_;K=104;break v};case 9:case 32:{ba=_;aa=0;break v};case 59:{K=103;break v};default:{Ga=_}}}if((K|0)==102){K=0;c[ja>>2]=2;ba=_;aa=2}else if((K|0)==103){K=0;c[ja>>2]=1;ba=_;aa=1}else if((K|0)==104){K=0;c[ja>>2]=3;ba=$;aa=3}if((Fa|0)!=0){break u}if((aa|0)==2){Fa=ba}else{L=160;K=273;break h}}}c[ja>>2]=0;if(Fa>>>0>=Ea>>>0){K=99;break h}}if((Ca|0)==0){break}}}w:while(1){Ca=c[N>>2]|0;ka=Ca+12|0;Fa=c[ka>>2]|0;x:do{if((Fa|0)>1){Ea=c[Ca+8>>2]|0;Da=c[Ca>>2]|0}else{Da=c[Ca>>2]|0;Ea=c[Ca+8>>2]|0;y:do{if((Fa|0)<=0){z:do{if(Da>>>0<Ea>>>0){Fa=Da;A:while(1){Da=Fa+1|0;c[Ca>>2]=Da;switch(d[Fa]|0){case 10:case 13:{K=114;break A};case 59:{K=115;break A};case 26:{da=Da;break z};case 9:case 32:{break};default:{break y}}if(Da>>>0<Ea>>>0){Fa=Da}else{da=Da;break z}}if((K|0)==114){K=0;c[ka>>2]=2;break x}else if((K|0)==115){K=0;c[ka>>2]=1;break y}}else{da=Da}}while(0);c[ka>>2]=3;Da=da;break x}}while(0);while(1){if(Da>>>0>=Ea>>>0){Fa=3;break}Fa=Da+1|0;c[Ca>>2]=Fa;Da=a[Da]|0;Ha=Da&255;if((Ha|0)==10|(Ha|0)==13){Da=Fa;Fa=2;break}if(Da<<24>>24==26){Da=Fa;Fa=3;break}else{Da=Fa}}c[ka>>2]=Fa}}while(0);c[ka>>2]=0;if(Da>>>0>=Ea>>>0){K=126;break h}B:while(1){Fa=Da+1|0;c[Ca>>2]=Fa;switch(d[Da]|0){case 9:case 32:{if(Fa>>>0<Ea>>>0){Da=Fa;continue B}else{K=126;break h}break};case 26:{K=126;break h};case 59:{K=125;break h};case 10:case 13:{c[ka>>2]=2;Da=Fa;break};default:{C:while(1){if(Fa>>>0>=Ea>>>0){fa=Fa;K=131;break}ea=Fa+1|0;c[Ca>>2]=ea;switch(d[Fa]|0){case 10:case 13:{K=129;break C};case 26:{fa=ea;K=131;break C};case 59:{K=130;break C};case 9:case 32:{ga=ea;ia=0;break C};default:{Fa=ea}}}if((K|0)==129){K=0;c[ka>>2]=2;ga=ea;ia=2}else if((K|0)==130){K=0;c[ka>>2]=1;ga=ea;ia=1}else if((K|0)==131){K=0;c[ka>>2]=3;ga=fa;ia=3}if((Da|0)!=0){break B}if((ia|0)==2){Da=ga}else{L=160;K=273;break h}}}c[ka>>2]=0;if(Da>>>0>=Ea>>>0){K=126;break h}}Ea=ga+~Da|0;Ca=a[Da]|0;Fa=0;D:while(1){Ga=c[208312+(Fa<<2)>>2]|0;E:do{if((a[Ga]|0)==Ca<<24>>24&(Fa|0)<74){Ha=Fa;while(1){Fa=Ha+1|0;if((vc(Ga|0,Da|0,Ea|0)|0)==0){break D}if((Fa|0)>=74){break E}Ga=c[208312+(Fa<<2)>>2]|0;if((a[Ga]|0)==Ca<<24>>24){Ha=Fa}else{continue w}}}}while(0);Fa=Fa+1|0;if((Fa|0)>=74){continue w}}if((Ha|0)==17|(Ha|0)==20){Ba=0;continue h}}break};case 30:{c[Q>>2]=4;if((kN(b,R,1)|0)!=1){M=Ba;break h}a[x]=a[pa]|0;Ha=Ba;Ba=Ha;continue h};case 40:{c[S>>2]=3;if((kN(b,T,1)|0)!=1){M=Ba;break h}Ha=c[qa>>2]|0;if((Ha|0)==0|(Ha|0)==2){Ha=Ba;Ba=Ha;continue h}else{M=7;break h}break};case 49:{K=142;break h};case 0:{c[Q>>2]=2;if((kN(b,R,1)|0)!=1){M=Ba;break h}c[ra>>2]=c[pa>>2];Ha=Ba;Ba=Ha;continue h};case 26:{c[Q>>2]=2;c[la>>2]=2;c[ma>>2]=2;c[na>>2]=2;if((kN(b,R,4)|0)!=4){M=Ba;break h}c[sa>>2]=c[pa>>2];c[ua>>2]=c[ta>>2];c[wa>>2]=c[va>>2];c[ya>>2]=c[xa>>2];Ha=Ba;Ba=Ha;continue h};case 14:{c[Q>>2]=2;if((kN(b,R,1)|0)!=1){M=Ba;break h}c[za>>2]=c[pa>>2];Ha=Ba;Ba=Ha;continue h};default:{Ha=Ba;Ba=Ha;continue h}}}F:do{if((K|0)==51){c[Aa>>2]=1;M=Ba}else if((K|0)==52){c[Aa>>2]=3;M=Ba}else if((K|0)==98){c[ja>>2]=1;Ha=160;i=J;return Ha|0}else if((K|0)==99){c[ja>>2]=3;Ha=160;i=J;return Ha|0}else if((K|0)==125){c[ka>>2]=1;Ha=160;i=J;return Ha|0}else if((K|0)==126){c[ka>>2]=3;Ha=160;i=J;return Ha|0}else if((K|0)==142){R=h+4|0;Z=j+8|0;S=j+16|0;T=j+24|0;U=j+32|0;fa=j+4|0;ga=j+12|0;ea=j+20|0;da=j+28|0;ca=j+36|0;ba=k+4|0;aa=l+8|0;$=l+16|0;_=l+24|0;Q=l+4|0;Y=l+12|0;X=l+20|0;W=l+28|0;G:while(1){ha=c[N>>2]|0;V=ha+12|0;ka=c[V>>2]|0;H:do{if((ka|0)>1){ja=c[ha+8>>2]|0;ia=c[ha>>2]|0}else{ia=c[ha>>2]|0;ja=c[ha+8>>2]|0;I:do{if((ka|0)<=0){J:do{if(ia>>>0<ja>>>0){ka=ia;K:while(1){ia=ka+1|0;c[ha>>2]=ia;switch(d[ka]|0){case 9:case 32:{break};case 59:{K=150;break K};case 26:{v=ia;break J};case 10:case 13:{K=149;break K};default:{break I}}if(ia>>>0<ja>>>0){ka=ia}else{v=ia;break J}}if((K|0)==149){K=0;c[V>>2]=2;break H}else if((K|0)==150){K=0;c[V>>2]=1;break I}}else{v=ia}}while(0);c[V>>2]=3;ia=v;break H}}while(0);while(1){if(ia>>>0>=ja>>>0){ka=3;break}ka=ia+1|0;c[ha>>2]=ka;ia=a[ia]|0;Ha=ia&255;if((Ha|0)==10|(Ha|0)==13){ia=ka;ka=2;break}if(ia<<24>>24==26){ia=ka;ka=3;break}else{ia=ka}}c[V>>2]=ka}}while(0);c[V>>2]=0;if(ia>>>0>=ja>>>0){K=161;break}L:while(1){ka=ia+1|0;c[ha>>2]=ka;switch(d[ia]|0){case 10:case 13:{c[V>>2]=2;ia=ka;break};case 59:{K=160;break G};case 26:{K=161;break G};case 9:case 32:{if(ka>>>0<ja>>>0){ia=ka;continue L}else{K=161;break G}break};default:{M:while(1){if(ka>>>0>=ja>>>0){e=ka;K=166;break}w=ka+1|0;c[ha>>2]=w;switch(d[ka]|0){case 10:case 13:{K=164;break M};case 59:{K=165;break M};case 26:{e=w;K=166;break M};case 9:case 32:{y=w;z=0;break M};default:{ka=w}}}if((K|0)==164){K=0;c[V>>2]=2;y=w;z=2}else if((K|0)==165){K=0;c[V>>2]=1;y=w;z=1}else if((K|0)==166){K=0;c[V>>2]=3;y=e;z=3}if((ia|0)!=0){break L}if((z|0)==2){ia=y}else{M=160;break F}}}c[V>>2]=0;if(ia>>>0>=ja>>>0){K=161;break G}}ha=y+~ia|0;ja=a[ia]|0;ka=0;N:while(1){la=c[208312+(ka<<2)>>2]|0;O:do{if((a[la]|0)==ja<<24>>24&(ka|0)<74){ma=ka;while(1){ka=ma+1|0;if((vc(la|0,ia|0,ha|0)|0)==0){break N}if((ka|0)>=74){break O}la=c[208312+(ka<<2)>>2]|0;if((a[la]|0)==ja<<24>>24){ma=ka}else{continue G}}}}while(0);ka=ka+1|0;if((ka|0)>=74){continue G}}switch(ma|0){case 20:case 21:{L=0;K=273;break G};case 75:{continue G};case 53:{ia=c[m>>2]|0;ha=ia+32|0;c[n>>2]=3;if((kN(b,h,1)|0)!=1){M=160;break F}P=c[R>>2]|0;c[ha>>2]=P;if((P|0)==0){ja=ia+28|0}else{ja=ia+28|0;c[ja>>2]=oJ(c[b>>2]|0,20,0,P,0,p)|0;P=c[q>>2]|0;if((P|0)!=0){M=P;break F}}ia=0;P:while(1){Q:while(1){ka=c[N>>2]|0;P=ka+12|0;na=c[P>>2]|0;R:do{if((na|0)>1){ma=c[ka+8>>2]|0;la=c[ka>>2]|0}else{la=c[ka>>2]|0;ma=c[ka+8>>2]|0;S:do{if((na|0)<=0){T:do{if(la>>>0<ma>>>0){na=la;U:while(1){la=na+1|0;c[ka>>2]=la;switch(d[na]|0){case 59:{K=189;break U};case 26:{A=la;break T};case 9:case 32:{break};case 10:case 13:{K=188;break U};default:{break S}}if(la>>>0<ma>>>0){na=la}else{A=la;break T}}if((K|0)==188){K=0;c[P>>2]=2;break R}else if((K|0)==189){K=0;c[P>>2]=1;break S}}else{A=la}}while(0);c[P>>2]=3;la=A;break R}}while(0);while(1){if(la>>>0>=ma>>>0){na=3;break}na=la+1|0;c[ka>>2]=na;la=a[la]|0;Ha=la&255;if((Ha|0)==10|(Ha|0)==13){la=na;na=2;break}if(la<<24>>24==26){la=na;na=3;break}else{la=na}}c[P>>2]=na}}while(0);c[P>>2]=0;if(la>>>0>=ma>>>0){K=200;break G}V:while(1){na=la+1|0;c[ka>>2]=na;switch(d[la]|0){case 10:case 13:{c[P>>2]=2;la=na;break};case 59:{K=199;break G};case 9:case 32:{if(na>>>0<ma>>>0){la=na;continue V}else{K=200;break G}break};case 26:{K=200;break G};default:{W:while(1){if(na>>>0>=ma>>>0){C=na;K=205;break}B=na+1|0;c[ka>>2]=B;switch(d[na]|0){case 59:{K=204;break W};case 26:{C=B;K=205;break W};case 9:case 32:{D=B;E=0;break W};case 10:case 13:{K=203;break W};default:{na=B}}}if((K|0)==203){K=0;c[P>>2]=2;D=B;E=2}else if((K|0)==204){K=0;c[P>>2]=1;D=B;E=1}else if((K|0)==205){K=0;c[P>>2]=3;D=C;E=3}if((la|0)!=0){break V}if((E|0)==2){la=D}else{M=160;break F}}}c[P>>2]=0;if(la>>>0>=ma>>>0){K=200;break G}}ma=D+~la|0;ka=a[la]|0;oa=0;X:while(1){na=c[208312+(oa<<2)>>2]|0;Y:do{if((a[na]|0)==ka<<24>>24&(oa|0)<74){pa=oa;while(1){oa=pa+1|0;if((vc(na|0,la|0,ma|0)|0)==0){break X}if((oa|0)>=74){break Y}na=c[208312+(oa<<2)>>2]|0;if((a[na]|0)==ka<<24>>24){pa=oa}else{continue Q}}}}while(0);oa=oa+1|0;if((oa|0)>=74){continue Q}}switch(pa|0){case 56:{break Q};case 75:{break};case 20:case 21:case 23:{break P};default:{M=160;break F}}}if((ia|0)>=(c[ha>>2]|0)){M=160;break F}ka=c[ja>>2]|0;c[r>>2]=3;c[Z>>2]=2;c[S>>2]=2;c[T>>2]=2;c[U>>2]=2;if((kN(b,j,5)|0)!=5){M=160;break F}Ha=c[fa>>2]|0;c[ka+(ia*20|0)>>2]=Ha;c[ka+(ia*20|0)+4>>2]=c[ga>>2];la=c[ea>>2]|0;P=ka+(ia*20|0)+8|0;c[P>>2]=la;c[ka+(ia*20|0)+12>>2]=c[da>>2];c[ka+(ia*20|0)+16>>2]=c[ca>>2];if((Ha|0)<0&(la|0)>0){c[P>>2]=0-la}ia=ia+1|0}c[ha>>2]=ia;continue G};case 51:case 50:{break};default:{M=160;break F}}ia=c[m>>2]|0;ha=ia+40|0;c[o>>2]=3;if((kN(b,k,1)|0)!=1){M=160;break F}O=c[ba>>2]|0;c[ha>>2]=O;if((O|0)==0){ja=ia+36|0}else{ja=ia+36|0;c[ja>>2]=oJ(c[b>>2]|0,16,0,O,0,s)|0;O=c[t>>2]|0;if((O|0)!=0){M=O;break F}}ia=0;Z:while(1){_:while(1){ka=c[N>>2]|0;O=ka+12|0;na=c[O>>2]|0;$:do{if((na|0)>1){ma=c[ka+8>>2]|0;la=c[ka>>2]|0}else{la=c[ka>>2]|0;ma=c[ka+8>>2]|0;aa:do{if((na|0)<=0){ba:do{if(la>>>0<ma>>>0){na=la;ca:while(1){la=na+1|0;c[ka>>2]=la;switch(d[na]|0){case 26:{F=la;break ba};case 9:case 32:{break};case 10:case 13:{K=234;break ca};case 59:{K=235;break ca};default:{break aa}}if(la>>>0<ma>>>0){na=la}else{F=la;break ba}}if((K|0)==234){K=0;c[O>>2]=2;break $}else if((K|0)==235){K=0;c[O>>2]=1;break aa}}else{F=la}}while(0);c[O>>2]=3;la=F;break $}}while(0);while(1){if(la>>>0>=ma>>>0){na=3;break}na=la+1|0;c[ka>>2]=na;la=a[la]|0;Ha=la&255;if((Ha|0)==10|(Ha|0)==13){la=na;na=2;break}if(la<<24>>24==26){la=na;na=3;break}else{la=na}}c[O>>2]=na}}while(0);c[O>>2]=0;if(la>>>0>=ma>>>0){K=246;break G}da:while(1){na=la+1|0;c[ka>>2]=na;switch(d[la]|0){case 26:{K=246;break G};case 9:case 32:{if(na>>>0<ma>>>0){la=na;continue da}else{K=246;break G}break};case 10:case 13:{c[O>>2]=2;la=na;break};case 59:{K=245;break G};default:{ea:while(1){if(na>>>0>=ma>>>0){H=na;K=251;break}G=na+1|0;c[ka>>2]=G;switch(d[na]|0){case 10:case 13:{K=249;break ea};case 59:{K=250;break ea};case 26:{H=G;K=251;break ea};case 9:case 32:{I=G;f=0;break ea};default:{na=G}}}if((K|0)==249){K=0;c[O>>2]=2;I=G;f=2}else if((K|0)==250){K=0;c[O>>2]=1;I=G;f=1}else if((K|0)==251){K=0;c[O>>2]=3;I=H;f=3}if((la|0)!=0){break da}if((f|0)==2){la=I}else{M=160;break F}}}c[O>>2]=0;if(la>>>0>=ma>>>0){K=246;break G}}ka=I+~la|0;ma=a[la]|0;na=0;fa:while(1){pa=c[208312+(na<<2)>>2]|0;ga:do{if((a[pa]|0)==ma<<24>>24&(na|0)<74){while(1){oa=na+1|0;if((vc(pa|0,la|0,ka|0)|0)==0){break fa}if((oa|0)>=74){na=oa;break ga}pa=c[208312+(oa<<2)>>2]|0;if((a[pa]|0)==ma<<24>>24){na=oa}else{continue _}}}}while(0);na=na+1|0;if((na|0)>=74){continue _}}switch(na|0){case 20:case 21:case 22:{break Z};case 37:case 36:case 34:{break _};case 75:{break};default:{M=160;break F}}}if((ia|0)>=(c[ha>>2]|0)){M=160;break F}O=c[ja>>2]|0;c[u>>2]=5;c[aa>>2]=5;c[$>>2]=3;c[_>>2]=3;ka=kN(b,l,4)|0;if((ka|0)<3){M=160;break F}c[O+(ia<<4)>>2]=c[Q>>2];c[O+(ia<<4)+4>>2]=c[Y>>2];if((na|0)==37){c[O+(ia<<4)+8>>2]=0;c[O+(ia<<4)+12>>2]=c[X>>2]}else{c[O+(ia<<4)+8>>2]=c[X>>2];if((na|0)==34&(ka|0)==4){ka=c[W>>2]|0}else{ka=0}c[O+(ia<<4)+12>>2]=ka}ia=ia+1|0}c[ha>>2]=ia;pb(c[ja>>2]|0,ia|0,16,191)}if((K|0)==160){c[V>>2]=1;M=160;break}else if((K|0)==161){c[V>>2]=3;M=160;break}else if((K|0)==199){c[P>>2]=1;M=160;break}else if((K|0)==200){c[P>>2]=3;M=160;break}else if((K|0)==245){c[O>>2]=1;M=160;break}else if((K|0)==246){c[O>>2]=3;M=160;break}else if((K|0)==273){i=J;return L|0}}else if((K|0)==273){i=J;return L|0}}while(0);Ha=x+28|0;lJ(g,c[Ha>>2]|0);c[Ha>>2]=0;c[x+32>>2]=0;Ha=x+36|0;lJ(g,c[Ha>>2]|0);c[Ha>>2]=0;c[x+40>>2]=0;a[x]=0;Ha=M;i=J;return Ha|0}else if((K|0)==273){i=J;return L|0}}}while(0);c[la>>2]=3;Ha=2;i=J;return Ha|0}function ZM(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;b=c[d+484>>2]|0;c[a+24>>2]=c[d+416>>2];c[a+28>>2]=c[d+420>>2];c[a+20>>2]=c[b+20>>2];c[a+16>>2]=c[b+24>>2];i=i;return 0}function _M(a){a=a|0;var b=0;b=i;bX(a+16|0,0,16)|0;i=b;return}function $M(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0;f=i;if(d>>>0>=256){j=0;i=f;return j|0}g=jd[c[b+20>>2]&511](e[(c[b+16>>2]|0)+(d<<1)>>1]|0)|0;d=c[b+24>>2]|0;if((d|0)==0){j=0;i=f;return j|0}b=c[b+28>>2]|0;h=0;a:while(1){j=c[b+(h<<2)>>2]|0;do{if((j|0)!=0){if((a[j]|0)!=(a[g]|0)){break}if((Qc(j|0,g|0)|0)==0){d=8;break a}}}while(0);h=h+1|0;if(h>>>0>=d>>>0){h=0;d=8;break}}if((d|0)==8){i=f;return h|0}return 0}function aN(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;m=(c[d>>2]|0)+1|0;if(m>>>0>=256){n=0;p=0;o=d;c[o>>2]=n;i=f;return p|0}h=b+16|0;g=b+20|0;j=b+24|0;b=b+28|0;a:while(1){o=jd[c[g>>2]&511](e[(c[h>>2]|0)+(m<<1)>>1]|0)|0;n=c[j>>2]|0;b:do{if((n|0)!=0){l=c[b>>2]|0;k=0;c:while(1){p=c[l+(k<<2)>>2]|0;do{if((p|0)!=0){if((a[p]|0)!=(a[o]|0)){break}if((Qc(p|0,o|0)|0)==0){break c}}}while(0);k=k+1|0;if(k>>>0>=n>>>0){break b}}if((k|0)!=0){g=11;break a}}}while(0);m=m+1|0;if(m>>>0>=256){m=0;k=0;g=11;break}}if((g|0)==11){p=d;c[p>>2]=m;i=f;return k|0}return 0}function bN(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;b=c[d+484>>2]|0;c[a+24>>2]=c[d+416>>2];c[a+28>>2]=c[d+420>>2];c[a+20>>2]=c[b+20>>2];c[a+16>>2]=c[b+28>>2];i=i;return 0}function cN(a,b){a=a|0;b=b|0;var d=0;d=c[a>>2]|0;b=d+372|0;d=c[d+376>>2]|0;c[a+16>>2]=d;c[a+20>>2]=(c[b+8>>2]|0)-d;c[a+24>>2]=c[b+12>>2];i=i;return 0}function dN(a){a=a|0;c[a+24>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;i=i;return}function eN(a,b){a=a|0;b=b|0;var d=0,f=0;d=i;f=c[a+16>>2]|0;if(f>>>0>b>>>0){b=0;i=d;return b|0}if(((c[a+20>>2]|0)+f|0)>>>0<=b>>>0){b=0;i=d;return b|0}b=e[(c[a+24>>2]|0)+(b<<1)>>1]|0;i=d;return b|0}function fN(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;g=(c[d>>2]|0)+1|0;f=c[a+16>>2]|0;j=g>>>0<f>>>0?f:g;f=(c[a+20>>2]|0)+f|0;a:do{if(j>>>0<f>>>0){g=c[a+24>>2]|0;while(1){k=b[g+(j<<1)>>1]|0;a=k&65535;h=j+1|0;if(k<<16>>16!=0){break a}if(h>>>0<f>>>0){j=h}else{j=0;break}}}else{j=0;a=0}}while(0);c[d>>2]=j;i=e;return a|0}function gN(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[a>>2]|0;b=id[c[(c[b+484>>2]|0)+4>>2]&3](c[b+100>>2]|0,a,c[b+416>>2]|0,192,0,b)|0;i=d;return b|0}function hN(a){a=a|0;var b=0,d=0;b=i;d=a+20|0;lJ(c[(c[a>>2]|0)+100>>2]|0,c[d>>2]|0);c[d>>2]=0;c[a+16>>2]=0;i=b;return}function iN(a,b){a=a|0;b=b|0;var d=0;d=i;a=Bd[c[(c[(c[a>>2]|0)+484>>2]|0)+8>>2]&255](a,b)|0;i=d;return a|0}function jN(a,b){a=a|0;b=b|0;var d=0;d=i;a=Bd[c[(c[(c[a>>2]|0)+484>>2]|0)+12>>2]&255](a,b)|0;i=d;return a|0}function kN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=i;k=i;i=i+8|0;m=k;n=i;i=i+8|0;j=n;l=c[b+4>>2]|0;if(f>>>0>5|(f|0)==0){x=0;i=h;return x|0}p=l+12|0;q=l+8|0;o=b+12|0;r=b+16|0;s=0;a:while(1){t=e+(s<<3)|0;u=c[p>>2]|0;v=(u|0)>0;if((c[t>>2]|0)==0){b:do{if(v){g=11}else{x=c[l>>2]|0;v=c[q>>2]|0;if(x>>>0>=v>>>0){g=10;break a}c:while(1){w=x+1|0;c[l>>2]=w;switch(d[x]|0|0){case 26:{g=10;break a};case 10:case 13:{g=8;break a};case 59:{break c};case 9:case 32:{break};default:{g=11;break b}}if(w>>>0<v>>>0){x=w}else{g=10;break a}}c[p>>2]=1}}while(0);if((g|0)==11){g=0;if((u|0)>1){break}w=c[l>>2]|0;v=c[q>>2]|0}u=w+ -1|0;x=w;while(1){if(x>>>0>=v>>>0){w=x;v=3;break}w=x+1|0;c[l>>2]=w;x=a[x]|0;y=x&255;if((y|0)==10|(y|0)==13){v=2;break}if(x<<24>>24==26){v=3;break}else{x=w}}c[p>>2]=v;c[k>>2]=u}else{if(v){break}u=c[l>>2]|0;v=c[q>>2]|0;if(u>>>0>=v>>>0){g=24;break}d:while(1){x=u+1|0;c[l>>2]=x;switch(d[u]|0|0){case 26:{g=24;break a};case 9:case 32:{break};case 59:{g=23;break a};case 10:case 13:{g=22;break a};default:{break d}}if(x>>>0<v>>>0){u=x}else{g=24;break a}}e:while(1){if(x>>>0>=v>>>0){w=x;g=29;break}w=x+1|0;c[l>>2]=w;switch(d[x]|0|0){case 59:{g=28;break e};case 10:case 13:{g=27;break e};case 9:case 32:{break e};case 26:{g=29;break e};default:{x=w}}}if((g|0)==27){g=0;c[p>>2]=2}else if((g|0)==28){g=0;c[p>>2]=1}else if((g|0)==29){g=0;c[p>>2]=3}c[k>>2]=u;if((u|0)==0){g=44;break}}w=w-u|0;v=w+ -1|0;f:do{switch(c[t>>2]|0){case 4:{if((v|0)==4){t=(vc(u|0,208176,4)|0)==0|0}else{t=0}a[e+(s<<3)+4|0]=t;break};case 3:{c[e+(s<<3)+4>>2]=nN(m,u+v|0)|0;break};case 5:{t=c[o>>2]|0;if((t|0)==0){c[e+(s<<3)+4>>2]=0;break f}else{c[e+(s<<3)+4>>2]=sd[t&127](u,v,c[r>>2]|0)|0;break f}break};case 1:case 0:{t=OK(c[b>>2]|0,w,j)|0;w=e+(s<<3)+4|0;c[w>>2]=t;if((c[n>>2]|0)!=0){break f}$W(t|0,u|0,v|0)|0;a[(c[w>>2]|0)+v|0]=0;break};case 2:{c[e+(s<<3)+4>>2]=mN(m,u+v|0,0)|0;break};default:{}}}while(0);s=s+1|0;if(s>>>0>=f>>>0){g=44;break}}if((g|0)==8){c[p>>2]=2}else if((g|0)==10){c[p>>2]=3}else if((g|0)==22){c[p>>2]=2}else if((g|0)==23){c[p>>2]=1}else if((g|0)==24){c[p>>2]=3}else if((g|0)==44){i=h;return s|0}c[k>>2]=0;y=s;i=h;return y|0}function lN(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a>>2]<<16|c[a+4>>2];b=c[b>>2]<<16|c[b+4>>2];if(a>>>0>b>>>0){a=1;i=d;return a|0}a=(a>>>0<b>>>0)<<31>>31;i=d;return a|0}function mN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;f=i;i=i+8|0;k=f;m=c[b>>2]|0;c[f>>2]=m;if((m|0)==(d|0)){o=0;i=g;return o|0}h=a[m]|0;do{if(h<<24>>24==43|h<<24>>24==45){m=m+1|0;c[f>>2]=m;if((m|0)==(d|0)){o=0;i=g;return o|0}else{j=a[m]|0;h=h<<24>>24==45|0;break}}else{j=h;h=0}}while(0);if(j<<24>>24==46){j=0}else{j=(nN(k,d)|0)<<16;m=c[f>>2]|0}a:do{if(m>>>0<d>>>0){if((a[m]|0)!=46){l=0;n=1;break}m=m+1|0;c[f>>2]=m;if(m>>>0>=d>>>0){l=0;n=1;break}if((j|0)==0){l=0;n=1}else{l=0;n=1;while(1){o=a[m]|0;switch(o<<24>>24){case 0:case 12:case 9:case 10:case 13:case 32:{break a};default:{}}if(o<<24>>24<0){break a}o=o&127;if((o+ -48|0)>>>0>9){break a}if((n|0)<1e7){l=(l*10|0)+(a[208184+o|0]|0)|0;n=n*10|0}m=m+1|0;c[f>>2]=m;if(m>>>0>=d>>>0){break a}}}while(1){o=a[m]|0;switch(o<<24>>24){case 0:case 12:case 9:case 10:case 13:case 32:{break a};default:{}}if(o<<24>>24<0){break a}p=o&127;o=a[208184+p|0]|0;if((p+ -48|0)>>>0>9){break a}do{if((e|0)>0){e=e+ -1|0;l=o+(l*10|0)|0}else{if((n|0)>=1e7){break}l=o+(l*10|0)|0;n=n*10|0}}while(0);m=m+1|0;c[f>>2]=m;if(m>>>0>=d>>>0){break a}}}else{l=0;n=1}}while(0);o=m+1|0;do{if(o>>>0<d>>>0){p=a[m]|0;if(!(p<<24>>24==69|p<<24>>24==101)){break}c[f>>2]=o;e=(nN(k,d)|0)+e|0}}while(0);do{if((e|0)>0){while(1){j=j*10|0;l=l*10|0;e=e+ -1|0;if((e|0)>0){}else{break}}}else{if((e|0)>=0){break}while(1){j=(j|0)/10|0;n=n*10|0;e=e+1|0;if((e|0)<0){}else{break}}}}while(0);if((l|0)!=0){j=(bJ(l,n)|0)+j|0}c[b>>2]=c[f>>2];p=h<<24>>24==0?j:0-j|0;i=g;return p|0}function nN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;j=c[b>>2]|0;if((j|0)==(d|0)){k=0;i=e;return k|0}f=a[j]|0;if(f<<24>>24==43|f<<24>>24==45){h=j+1|0;if((h|0)==(d|0)){f=0}else{j=h;f=f<<24>>24==45|0;g=4}}else{f=0;g=4}if((g|0)==4){a:do{if(j>>>0<d>>>0){h=0;g=j;while(1){j=a[g]|0;switch(j<<24>>24){case 0:case 12:case 9:case 10:case 13:case 32:{break a};default:{}}if(j<<24>>24<0){break a}j=j&127;if((j+ -48|0)>>>0>=10){break a}h=(a[208184+j|0]|0)+(h*10|0)|0;g=g+1|0;if(g>>>0>=d>>>0){break a}}}else{h=0;g=j}}while(0);c[b>>2]=g;j=g;f=f<<24>>24==0?h:0-h|0}if(j>>>0>=d>>>0){k=f;i=e;return k|0}if((a[j]|0)!=35){k=f;i=e;return k|0}h=j+1|0;c[b>>2]=h;if((h|0)==(d|0)){k=0;i=e;return k|0}if((f+ -2|0)>>>0>34){k=0;i=e;return k|0}g=a[h]|0;do{if(g<<24>>24==43|g<<24>>24==45){h=j+2|0;if((h|0)==(d|0)){b=0}else{g=g<<24>>24==45|0;break}i=e;return b|0}else{g=0}}while(0);b:do{if(h>>>0<d>>>0){j=0;while(1){k=a[h]|0;switch(k<<24>>24){case 0:case 12:case 9:case 10:case 13:case 32:{break b};default:{}}if(k<<24>>24<0){break b}l=a[208184+(k&127)|0]|0;k=l<<24>>24;if(!(l<<24>>24>-1&(k|0)<(f|0))){break b}j=k+(da(j,f)|0)|0;h=h+1|0;if(h>>>0>=d>>>0){break b}}}else{j=0}}while(0);c[b>>2]=h;l=g<<24>>24==0?j:0-j|0;i=e;return l|0}function oN(a,b){a=a|0;b=b|0;i=i;return c[(c[a+420>>2]|0)+(b<<2)>>2]|0}function pN(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;if((c|0)==0){i=f;return}g=0;e=e&65535;while(1){j=b+g|0;h=d[j]|0;a[j]=h^e>>>8;g=g+1|0;if(g>>>0<c>>>0){e=((h+e|0)*52845|0)+22719&65535}else{break}}i=f;return}function qN(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;j=i;o=i;i=i+64|0;p=i;i=i+8|0;n=p;t=i;i=i+8|0;q=t;h=i;i=i+128|0;k=h;r=e+2|0;v=b[r>>1]|0;if(v<<16>>16==0){R=0;i=j;return R|0}if((b[e>>1]|0)==0){R=0;i=j;return R|0}bX(h|0,0,128)|0;u=c[f>>2]|0;m=k+16|0;c[m>>2]=u;l=k+8|0;c[l>>2]=oJ(u,48,0,v<<16>>16,0,q)|0;v=c[t>>2]|0;do{if((v|0)==0){x=oJ(u,8,0,b[e>>1]|0,0,q)|0;q=k+12|0;c[q>>2]=x;v=c[t>>2]|0;if((v|0)!=0){break}y=b[r>>1]|0;c[h>>2]=y;R=b[e>>1]|0;r=k+4|0;c[r>>2]=R<<16>>16;w=c[l>>2]|0;if(R<<16>>16!=0){v=e+12|0;D=0;A=0;while(1){B=b[(c[v>>2]|0)+(A<<1)>>1]|0;y=B+1|0;C=y-D|0;z=w+(D*48|0)|0;c[x>>2]=z;c[x+4>>2]=C;if((C|0)>0){B=w+(B*48|0)|0;c[z>>2]=B;c[w+(D*48|0)+8>>2]=x;if((C|0)>1){E=C;C=z;while(1){D=C+48|0;c[C+4>>2]=D;c[D>>2]=C;c[C+56>>2]=x;E=E+ -1|0;if((E|0)>1){C=D}else{break}}}else{B=z}c[B+4>>2]=z}A=A+1|0;if(A>>>0<(c[r>>2]|0)>>>0){x=x+8|0;D=y}else{break}}y=c[h>>2]|0;w=c[l>>2]|0}v=e+4|0;x=c[v>>2]|0;do{if((y|0)==0){c[k+20>>2]=e;c[k+24>>2]=f}else{y=e+8|0;A=0;z=w;while(1){C=((c[z>>2]|0)-w|0)/48|0;F=((c[z+4>>2]|0)-w|0)/48|0;if((a[(c[y>>2]|0)+A|0]&1)==0){c[z+12>>2]=1}E=x+(A<<3)|0;B=(c[E>>2]|0)-(c[x+(C<<3)>>2]|0)|0;G=x+(A<<3)+4|0;C=(c[G>>2]|0)-(c[x+(C<<3)+4>>2]|0)|0;D=(B|0)>-1?B:0-B|0;H=(C|0)>-1?C:0-C|0;do{if((H*12|0)<(D|0)){D=(B>>31&252|2)&255}else{if((D*12|0)>=(H|0)){D=4;break}D=(C>>31&2)+255&255}}while(0);a[z+20|0]=D;E=(c[x+(F<<3)>>2]|0)-(c[E>>2]|0)|0;F=(c[x+(F<<3)+4>>2]|0)-(c[G>>2]|0)|0;G=(E|0)>-1?E:0-E|0;H=(F|0)>-1?F:0-F|0;do{if((H*12|0)<(G|0)){H=(E>>31&252|2)&255}else{if((G*12|0)>=(H|0)){H=4;break}H=(F>>31&2)+255&255}}while(0);a[z+21|0]=H;G=z+12|0;I=c[G>>2]|0;do{if((I&1|0)==0){if(D<<24>>24!=H<<24>>24){break}if(D<<24>>24==4){if((hJ(B,C,E,F)|0)==0){break}I=c[G>>2]|0}c[G>>2]=I|2}else{c[G>>2]=I|2}}while(0);A=A+1|0;B=c[h>>2]|0;if(A>>>0<B>>>0){z=z+48|0}else{break}}c[k+20>>2]=e;c[k+24>>2]=f;if((B|0)==0){break}e=c[l>>2]|0;v=c[v>>2]|0;while(1){c[e+16>>2]=0;c[e+32>>2]=0;c[e+36>>2]=c[v>>2];c[e+40>>2]=c[v+4>>2];B=B+ -1|0;if((B|0)==0){break}else{v=v+8|0;e=e+48|0}}}}while(0);if((c[r>>2]|0)!=0){e=0;do{v=c[q>>2]|0;a:do{if((c[v+(e<<3)+4>>2]|0)>>>0>=4){y=c[v+(e<<3)>>2]|0;B=y+36|0;v=y+40|0;z=y;do{z=c[z+4>>2]|0;if((z|0)==(y|0)){break a}Q=c[z+36>>2]|0;D=c[B>>2]|0;w=Q-D|0;R=c[z+40>>2]|0;A=c[v>>2]|0;x=R-A|0;}while((Q|0)==(D|0)&(R|0)==(A|0));C=c[y>>2]|0;if((C|0)==(y|0)){break}else{v=y}while(1){G=C+36|0;Q=c[G>>2]|0;E=D-Q|0;F=C+40|0;R=c[F>>2]|0;B=A-R|0;if(!((D|0)==(Q|0)&(A|0)==(R|0))){A=gJ(w,x,E,B)|0;if((A|0)!=0){w=E;E=v;break}}v=c[C>>2]|0;if((v|0)==(y|0)){break a}R=C;A=c[F>>2]|0;D=c[G>>2]|0;C=v;v=R}while(1){x=z;F=0;while(1){z=c[x+4>>2]|0;F=(z|0)==(v|0)?1:F;O=c[z+36>>2]|0;P=c[x+36>>2]|0;D=O-P|0;Q=c[z+40>>2]|0;R=c[x+40>>2]|0;y=Q-R|0;if((O|0)==(P|0)&(Q|0)==(R|0)){x=z;continue}C=gJ(w,B,D,y)|0;if((C|0)==0){x=z}else{break}}if((C^A|0)<0){do{R=E+12|0;c[R>>2]=c[R>>2]|4;E=c[E+4>>2]|0;}while((E|0)!=(x|0));R=x+12|0;c[R>>2]=c[R>>2]|4}if((F|0)==0){w=D;B=y;A=C;E=x}else{break}}}}while(0);e=e+1|0;}while(e>>>0<(c[r>>2]|0)>>>0)}v=RN(k+28|0,d+16|0,d+28|0,u)|0;c[t>>2]=v;if((v|0)!=0){break}v=RN(k+68|0,d+52|0,d+64|0,u)|0;if((v|0)!=0){break}d=k+24|0;u=c[d>>2]|0;t=c[u+200>>2]|0;u=c[u+404>>2]|0;v=aJ(c[f+416>>2]|0,u)|0;w=v+32&-64;if((w|0)==0|(v|0)==(w|0)){B=0}else{e=_I(u,w,v)|0;if((w|0)<(v|0)){v=t-((t|0)/50|0)|0}else{v=t}rN(c[d>>2]|0,v,e,0,0)|0;B=1}a[k+120|0]=1;a[k+121|0]=1;if((g|0)==2){a[k+122|0]=1;e=1}else{a[k+122|0]=(g|0)==3|0;e=(g|0)==4|0}a[k+123|0]=e;a[k+124|0]=(g|0)!=1|0;x=k+20|0;z=f+412|0;y=f+416|0;e=f+928|0;v=f+2488|0;A=f+2492|0;g=f+2484|0;w=f+428|0;B=B<<24>>24==0;C=0;while(1){E=c[h>>2]|0;F=c[l>>2]|0;D=c[(c[x>>2]|0)+4>>2]|0;if((E|0)!=0){if((C|0)==0){while(1){c[F+16>>2]=0;c[F+32>>2]=0;c[F+36>>2]=c[D>>2];c[F+40>>2]=c[D+4>>2];E=E+ -1|0;if((E|0)==0){break}else{D=D+8|0;F=F+48|0}}}else{while(1){c[F+16>>2]=0;c[F+32>>2]=0;c[F+36>>2]=c[D+4>>2];c[F+40>>2]=c[D>>2];E=E+ -1|0;if((E|0)==0){break}else{D=D+8|0;F=F+48|0}}}}F=c[r>>2]|0;b:do{if((F|0)==0){D=0}else{D=0;while(1){R=c[q>>2]|0;E=c[R+(D<<3)>>2]|0;if((c[R+(D<<3)+4>>2]|0)!=0){F=E+36|0;G=E;do{G=c[G>>2]|0;if((G|0)==(E|0)){s=97;break b}}while((c[G+36>>2]|0)==(c[F>>2]|0));E=c[G+4>>2]|0;I=E;c:while(1){H=I+36|0;F=I;do{F=c[F+4>>2]|0;if((F|0)==(E|0)){break c}J=c[F+36>>2]|0;K=c[H>>2]|0;}while((J|0)==(K|0));if((c[G+36>>2]|0)<(K|0)){if((J|0)<(K|0)){s=82}}else{if((J|0)>(K|0)){s=82}}if((s|0)==82){while(1){s=0;R=I+16|0;c[R>>2]=c[R>>2]|64;I=c[I+4>>2]|0;if((I|0)==(F|0)){break}else{s=82}}}G=c[F>>2]|0;I=F}F=c[r>>2]|0}D=D+1|0;if(D>>>0>=F>>>0){D=0;break}}}}while(0);d:while(1){if((s|0)==97){s=0;D=D+1|0}if(D>>>0>=(c[h>>2]|0)>>>0){break}G=c[l>>2]|0;s=G+(D*48|0)|0;F=G+(D*48|0)+16|0;E=c[F>>2]|0;if((E&64|0)==0){s=97;continue}I=G+(D*48|0)+40|0;J=s;while(1){J=c[J>>2]|0;if((J|0)==(s|0)){s=97;continue d}H=c[J+40>>2]|0;G=c[I>>2]|0;if((H|0)==(G|0)){}else{J=s;break}}while(1){J=c[J+4>>2]|0;if((J|0)==(s|0)){s=97;continue d}I=c[J+40>>2]|0;if((I|0)!=(G|0)){break}}if((H|0)<(G|0)&(I|0)>(G|0)){c[F>>2]=E|128;s=97;continue}if(!((H|0)>(G|0)&(I|0)<(G|0))){s=97;continue}c[F>>2]=E|256;s=97}E=k+28+(C*40|0)|0;H=c[d>>2]|0;F=c[E>>2]|0;if((F|0)!=0){D=c[k+28+(C*40|0)+8>>2]|0;while(1){QN(D,H,C,k);F=F+ -1|0;if((F|0)==0){break}else{D=D+28|0}}H=c[d>>2]|0}F=k+28+(C*40|0)+32|0;L=c[F>>2]|0;K=c[L+8>>2]|0;L=c[L>>2]|0;D=(C|0)==0;G=D?1:2;H=bJ(32,c[H+4+(C*204|0)+196>>2]|0)|0;H=(H|0)>30?30:H;e:do{if(L>>>0>1){M=c[h>>2]|0;if((M|0)==0){break}N=c[K+12>>2]|0;I=k+28+(C*40|0)+4|0;s=k+28+(C*40|0)+12|0;J=M;M=N>>>0>M>>>0?M:N;while(1){N=K+16|0;O=c[K+28>>2]|0;O=O>>>0>J>>>0?J:O;J=O-M|0;if((J|0)>0){R=(c[l>>2]|0)+(M*48|0)|0;ON(E,c[N>>2]|0,c[K+24>>2]|0);PN(c[I>>2]|0,c[s>>2]|0,R,J,H,G)}L=L+ -1|0;if(L>>>0<=1){J=s;s=111;break e}J=c[h>>2]|0;M=O;K=N}}else{if((L|0)!=1){s=112;break}I=k+28+(C*40|0)+4|0;J=k+28+(C*40|0)+12|0;s=111}}while(0);if((s|0)==111){R=c[h>>2]|0;Q=c[l>>2]|0;P=c[(c[F>>2]|0)+8>>2]|0;ON(E,c[P>>2]|0,c[P+8>>2]|0);PN(c[I>>2]|0,c[J>>2]|0,Q,R,H,G);s=112}do{if((s|0)==112){s=0;H=c[h>>2]|0;if((H|0)==0){break}E=c[l>>2]|0;while(1){do{if((c[E+32>>2]|0)!=0){F=E+16|0;G=c[F>>2]|0;if((G&16|0)!=0){break}c[F>>2]=G|16}}while(0);H=H+ -1|0;if((H|0)==0){break}else{E=E+48|0}}}}while(0);do{if((C|0)==1){H=c[h>>2]|0;if((H|0)==0){H=0;break}E=c[l>>2]|0;while(1){R=a[E+20|0]|0;if(R<<24>>24==-2|R<<24>>24==2){s=123}else{R=a[E+21|0]|0;if(R<<24>>24==-2|R<<24>>24==2){s=123}}f:do{if((s|0)==123){s=0;F=E+16|0;M=c[F>>2]|0;if((M&16|0)!=0){break}G=c[E+36>>2]|0;N=c[z>>2]|0;g:do{if((N|0)!=0){I=E+44|0;L=G-(c[w>>2]|0)|0;J=c[v>>2]|0;if((L|0)<(0-J|0)){break}else{K=y}while(1){do{if((G|0)<=((c[K+8>>2]|0)+J|0)){if((a[A]|0)==0){if((L|0)>(c[g>>2]|0)){break}}c[I>>2]=c[K+24>>2];M=M|48;c[F>>2]=M}}while(0);N=N+ -1|0;if((N|0)==0){break g}L=G-(c[K+44>>2]|0)|0;J=c[v>>2]|0;if((L|0)<(0-J|0)){break}else{K=K+32|0}}}}while(0);N=c[e>>2]|0;if((N|0)==0){break}L=N+ -1|0;I=E+44|0;K=(c[f+932+(L<<5)+8>>2]|0)-G|0;J=c[v>>2]|0;if((K|0)<(0-J|0)){break}L=f+932+(L<<5)|0;while(1){do{if((G|0)>=((c[L+12>>2]|0)-J|0)){if((a[A]|0)==0){if((K|0)>=(c[g>>2]|0)){break}}c[I>>2]=c[L+28>>2];M=M|48;c[F>>2]=M}}while(0);N=N+ -1|0;if((N|0)==0){break f}K=(c[L+ -24>>2]|0)-G|0;J=c[v>>2]|0;if((K|0)<(0-J|0)){break}else{L=L+ -32|0}}}}while(0);H=H+ -1|0;if((H|0)==0){s=142;break}else{E=E+48|0}}}else{s=142}}while(0);do{if((s|0)==142){s=0;H=c[h>>2]|0;E=c[(c[d>>2]|0)+4+(C*204|0)+196>>2]|0;if((H|0)==0){H=0;break}F=c[l>>2]|0;while(1){J=c[F+32>>2]|0;if((J|0)!=0){G=F+16|0;I=c[G>>2]|0;do{if((I&512|0)==0){if((I&1024|0)!=0){c[F+44>>2]=(c[J+12>>2]|0)+(c[J+8>>2]|0);break}I=(c[F+36>>2]|0)-(c[J>>2]|0)|0;if((I|0)<1){R=c[J+8>>2]|0;c[F+44>>2]=(aJ(I,E)|0)+R;break}K=c[J+4>>2]|0;L=c[J+8>>2]|0;J=c[J+12>>2]|0;if((I|0)<(K|0)){c[F+44>>2]=(_I(I,J,K)|0)+L;break}else{c[F+44>>2]=J+L+(aJ(I-K|0,E)|0);break}}else{c[F+44>>2]=c[J+8>>2]}}while(0);c[G>>2]=c[G>>2]|32}H=H+ -1|0;if((H|0)==0){break}else{F=F+48|0}}H=c[h>>2]|0}}while(0);G=c[(c[d>>2]|0)+4+(C*204|0)+196>>2]|0;F=c[m>>2]|0;L=c[l>>2]|0;E=L+(H*48|0)|0;do{if((H|0)>0){H=0;I=L;do{H=((c[I+16>>2]|0)>>>4&1)+H|0;I=I+48|0;}while(I>>>0<E>>>0);if((H|0)==0){break}if(H>>>0<17){H=o}else{H=oJ(F,4,0,H,0,n)|0;if((c[p>>2]|0)!=0){break}}I=0;J=L;do{if((c[J+16>>2]&16|0)!=0){M=H+(I<<2)|0;h:do{if((I|0)>0){K=J+36|0;while(1){N=M+ -4|0;O=c[N>>2]|0;if((c[O+36>>2]|0)<=(c[K>>2]|0)){break h}c[M>>2]=O;if(N>>>0>H>>>0){M=N}else{M=N;break}}}}while(0);c[M>>2]=J;I=I+1|0}J=J+48|0;}while(J>>>0<E>>>0);K=(I|0)==0;J=H+(I+ -1<<2)|0;do{M=L+16|0;Q=c[M>>2]|0;do{if((Q&16|0)==0){O=L+12|0;P=c[O>>2]|0;if((P&2|0)!=0){N=a[L+20|0]|0;if(N<<24>>24==4){break}if(N<<24>>24!=(a[L+21|0]|0)){break}if((Q&64|0)==0){if((P&4|0)==0){break}}c[O>>2]=P&-3}N=c[L+36>>2]|0;do{if(K){s=182}else{O=0;while(1){P=O+1|0;if((c[(c[H+(O<<2)>>2]|0)+36>>2]|0)>(N|0)){break}if(P>>>0<I>>>0){O=P}else{O=P;break}}if((O|0)==0){s=182;break}O=c[H+(O+ -1<<2)>>2]|0;P=I;while(1){if((P|0)==0){P=0;break}Q=P+ -1|0;if((c[(c[H+(Q<<2)>>2]|0)+36>>2]|0)<(N|0)){break}else{P=Q}}if((P|0)==(I|0)){Q=c[J>>2]|0;R=c[Q+44>>2]|0;c[L+44>>2]=(aJ(N-(c[Q+36>>2]|0)|0,G)|0)+R;break}P=c[H+(P<<2)>>2]|0;R=c[O+36>>2]|0;if((N|0)==(R|0)){c[L+44>>2]=c[O+44>>2];break}Q=c[P+36>>2]|0;if((N|0)==(Q|0)){c[L+44>>2]=c[P+44>>2];break}else{O=c[O+44>>2]|0;c[L+44>>2]=(_I(N-R|0,(c[P+44>>2]|0)-O|0,Q-R|0)|0)+O;break}}}while(0);if((s|0)==182){s=0;Q=c[H>>2]|0;R=c[Q+44>>2]|0;c[L+44>>2]=(aJ(N-(c[Q+36>>2]|0)|0,G)|0)+R}c[M>>2]=c[M>>2]|32}}while(0);L=L+48|0;}while(L>>>0<E>>>0);if((H|0)==(o|0)){break}lJ(F,H)}}while(0);G=c[r>>2]|0;H=c[d>>2]|0;E=c[H+4+(C*204|0)+196>>2]|0;if((G|0)!=0){F=c[q>>2]|0;H=c[H+4+(C*204|0)+200>>2]|0;while(1){K=c[F>>2]|0;R=c[F+4>>2]|0;J=K+(R*48|0)|0;i:do{if((R|0)>0){I=0;L=0;M=K;do{if((c[M+16>>2]&32|0)!=0){I=(I|0)==0?M:I;L=L+1|0}M=M+48|0;}while(M>>>0<J>>>0);if(L>>>0<2){if((L|0)==1){H=c[I+44>>2]|0;H=H-(aJ(c[I+36>>2]|0,E)|0)|0}while(1){if((K|0)!=(I|0)){c[K+44>>2]=(aJ(c[K+36>>2]|0,E)|0)+H}K=K+48|0;if(K>>>0>=J>>>0){break i}}}O=I+4|0;M=c[O>>2]|0;if((M|0)==(I|0)){break}else{L=I}while(1){if((c[M+16>>2]&32|0)==0){J=M;do{J=c[J+4>>2]|0;}while((c[J+16>>2]&32|0)==0);N=c[L+36>>2]|0;Q=c[J+36>>2]|0;if((N|0)>(Q|0)){P=c[J+44>>2]|0;K=P;P=(c[L+44>>2]|0)-P|0;L=Q;N=N-Q|0}else{P=c[L+44>>2]|0;K=P;P=(c[J+44>>2]|0)-P|0;L=N;N=Q-N|0}if((N|0)>0){R=bJ(P,N)|0;M=c[O>>2]|0;O=R}else{O=65536}P=P+K|0;do{Q=(c[M+36>>2]|0)-L|0;do{if((Q|0)<1){Q=(aJ(Q,E)|0)+K|0}else{if((Q|0)<(N|0)){Q=(aJ(Q,O)|0)+K|0;break}else{Q=P+(aJ(Q-N|0,E)|0)|0;break}}}while(0);c[M+44>>2]=Q;M=c[M+4>>2]|0;}while((M|0)!=(J|0));if((J|0)==(I|0)){break i}}else{J=M}O=J+4|0;M=c[O>>2]|0;if((M|0)==(I|0)){break}else{L=J}}}}while(0);G=G+ -1|0;if((G|0)==0){break}else{F=F+8|0}}}H=c[l>>2]|0;G=c[x>>2]|0;F=c[G+4>>2]|0;G=c[G+8>>2]|0;if((c[h>>2]|0)!=0){E=D?32:64;if(D){D=0;while(1){c[F+(D<<3)>>2]=c[H+44>>2];if((c[H+16>>2]&16|0)!=0){R=G+D|0;a[R]=a[R]|E}D=D+1|0;if(D>>>0<(c[h>>2]|0)>>>0){H=H+48|0}else{break}}}else{D=0;while(1){c[F+(D<<3)+4>>2]=c[H+44>>2];if((c[H+16>>2]&16|0)!=0){R=G+D|0;a[R]=a[R]|E}D=D+1|0;if(D>>>0<(c[h>>2]|0)>>>0){H=H+48|0}else{break}}}}if(!B){rN(c[d>>2]|0,t,u,0,0)|0}C=C+1|0;if((C|0)>=2){v=0;break}}}else{q=k+12|0}}while(0);R=c[m>>2]|0;Q=k+92|0;lJ(R,c[Q>>2]|0);c[Q>>2]=0;c[k+88>>2]=0;c[k+96>>2]=0;Q=k+80|0;lJ(R,c[Q>>2]|0);c[Q>>2]=0;Q=k+76|0;lJ(R,c[Q>>2]|0);c[Q>>2]=0;c[k+72>>2]=0;c[k+68>>2]=0;c[k+84>>2]=0;Q=k+52|0;lJ(R,c[Q>>2]|0);c[Q>>2]=0;c[k+48>>2]=0;c[k+56>>2]=0;Q=k+40|0;lJ(R,c[Q>>2]|0);c[Q>>2]=0;Q=k+36|0;lJ(R,c[Q>>2]|0);c[Q>>2]=0;c[k+32>>2]=0;c[k+28>>2]=0;c[k+44>>2]=0;lJ(R,c[l>>2]|0);c[l>>2]=0;lJ(R,c[q>>2]|0);c[q>>2]=0;c[h>>2]=0;c[k+4>>2]=0;c[m>>2]=0;R=v;i=j;return R|0}function rN(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;k=b+200|0;l=b+204|0;if((c[k>>2]|0)==(d|0)){if((c[l>>2]|0)!=(f|0)){j=3}}else{j=3}do{if((j|0)==3){c[k>>2]=d;c[l>>2]=f;k=c[b+4>>2]|0;if((k|0)==0){break}m=aJ(c[b+8>>2]|0,d)|0;j=b+12|0;c[j>>2]=m;c[b+16>>2]=m+32&-64;m=k+ -1|0;if((m|0)==0){break}k=b+20|0;while(1){l=aJ(c[k>>2]|0,d)|0;n=c[j>>2]|0;f=l-n|0;o=(((f|0)<0?0-f|0:f)|0)<128?n:l;c[k+4>>2]=o;c[k+8>>2]=o+32&-64;m=m+ -1|0;if((m|0)==0){break}else{k=k+12|0}}}}while(0);j=b+404|0;d=b+408|0;do{if((c[j>>2]|0)==(e|0)){if((c[d>>2]|0)!=(g|0)){break}i=h;return 0}}while(0);c[j>>2]=e;c[d>>2]=g;j=c[b+208>>2]|0;do{if((j|0)!=0){m=aJ(c[b+212>>2]|0,e)|0;d=b+216|0;c[d>>2]=m;c[b+220>>2]=m+32&-64;m=j+ -1|0;if((m|0)==0){break}j=b+224|0;while(1){f=aJ(c[j>>2]|0,e)|0;l=c[d>>2]|0;k=f-l|0;o=(((k|0)<0?0-k|0:k)|0)<128?l:f;c[j+4>>2]=o;c[j+8>>2]=o+32&-64;m=m+ -1|0;if((m|0)==0){break}else{j=j+12|0}}}}while(0);l=b+412|0;if((e|0)>34359737){a[b+2492|0]=((c[b+2476>>2]<<3|0)/125|0|0)>(e|0)|0}else{a[b+2492|0]=(e*125|0)<(c[b+2476>>2]<<3|0)|0}d=c[b+2480>>2]|0;a:do{if((d|0)>0){while(1){j=d+ -1|0;if((aJ(d,e)|0)<=32){break a}if((j|0)>0){d=j}else{d=j;break}}}}while(0);c[b+2484>>2]=d;d=b+1960|0;j=b+928|0;k=b+1444|0;f=0;do{if((f|0)==2){n=k}else if((f|0)==1){n=j}else if((f|0)==0){n=l}else{n=d}m=c[n>>2]|0;if((m|0)!=0){n=n+4|0;while(1){c[n+28>>2]=(aJ(c[n+8>>2]|0,e)|0)+g;c[n+24>>2]=(aJ(c[n+12>>2]|0,e)|0)+g;o=n+16|0;c[o>>2]=(aJ(c[n>>2]|0,e)|0)+g;c[n+20>>2]=aJ(c[n+4>>2]|0,e)|0;c[o>>2]=(c[o>>2]|0)+32&-64;m=m+ -1|0;if((m|0)==0){break}else{n=n+32|0}}}f=f+1|0;}while(f>>>0<4);f=c[l>>2]|0;b:do{if((f|0)!=0){g=b+1448|0;l=b+416|0;while(1){o=c[k>>2]|0;c:do{if((o|0)!=0){m=g;while(1){n=(c[l>>2]|0)-(c[m>>2]|0)|0;if((aJ((n|0)<0?0-n|0:n,e)|0)<64){break}o=o+ -1|0;if((o|0)==0){break c}else{m=m+32|0}}c[l+28>>2]=c[m+28>>2];c[l+24>>2]=c[m+24>>2];c[l+16>>2]=c[m+16>>2];c[l+20>>2]=c[m+20>>2]}}while(0);f=f+ -1|0;if((f|0)==0){break b}l=l+32|0}}}while(0);j=c[j>>2]|0;if((j|0)==0){i=h;return 0}g=b+1964|0;b=b+932|0;while(1){f=c[d>>2]|0;d:do{if((f|0)!=0){k=g;while(1){l=(c[b>>2]|0)-(c[k>>2]|0)|0;if((aJ((l|0)<0?0-l|0:l,e)|0)<64){break}f=f+ -1|0;if((f|0)==0){break d}else{k=k+32|0}}c[b+28>>2]=c[k+28>>2];c[b+24>>2]=c[k+24>>2];c[b+16>>2]=c[k+16>>2];c[b+20>>2]=c[k+20>>2]}}while(0);j=j+ -1|0;if((j|0)==0){break}b=b+32|0}i=h;return 0}function sN(a){a=a|0;var b=0,d=0,e=0;b=i;d=c[a+8>>2]|0;e=a+20|0;bX(e|0,0,88)|0;c[e>>2]=d;c[a+108>>2]=77;c[a+112>>2]=39;c[a+116>>2]=332;d=a+120|0;bX(d|0,0,20)|0;c[a+124>>2]=333;c[a+128>>2]=193;c[a+132>>2]=146;c[a+136>>2]=147;c[a+140>>2]=92;c[a+144>>2]=41;c[d>>2]=e;d=a+148|0;bX(d|0,0,20)|0;c[a+152>>2]=334;c[a+156>>2]=193;c[a+160>>2]=33;c[a+164>>2]=34;c[a+168>>2]=148;c[a+172>>2]=41;c[d>>2]=e;i=b;return 0}function tN(a){a=a|0;var b=0,d=0,e=0;b=i;c[a+120>>2]=0;c[a+148>>2]=0;d=a+20|0;e=c[d>>2]|0;uN(a+36|0,e);uN(a+72|0,e);c[a+24>>2]=0;c[d>>2]=0;i=b;return}function uN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;f=a+28|0;h=c[f>>2]|0;e=a+32|0;if((h|0)!=0){g=c[e>>2]|0;while(1){lJ(b,c[g+8>>2]|0);bX(g|0,0,16)|0;h=h+ -1|0;if((h|0)==0){break}else{g=g+16|0}}}lJ(b,c[e>>2]|0);c[e>>2]=0;c[a+24>>2]=0;c[f>>2]=0;f=a+16|0;h=c[f>>2]|0;e=a+20|0;if((h|0)!=0){g=c[e>>2]|0;while(1){lJ(b,c[g+8>>2]|0);bX(g|0,0,16)|0;h=h+ -1|0;if((h|0)==0){break}else{g=g+16|0}}}lJ(b,c[e>>2]|0);c[e>>2]=0;c[a+12>>2]=0;c[f>>2]=0;h=a+8|0;lJ(b,c[h>>2]|0);c[h>>2]=0;c[a>>2]=0;c[a+4>>2]=0;i=d;return}function vN(a){a=a|0;c[a+4>>2]=0;c[a+12>>2]=2;c[a+16>>2]=0;c[a+28>>2]=0;c[a+40>>2]=0;c[a+52>>2]=0;c[a+64>>2]=0;c[a+76>>2]=0;i=i;return}function wN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=c[a+4>>2]|0;if((e|0)!=0){f=e;i=d;return f|0}f=c[a>>2]|0;e=CN(a+16|0,b,f)|0;if((e|0)!=0){f=e;i=d;return f|0}f=CN(a+52|0,b,f)|0;i=d;return f|0}function xN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;f=i;i=i+128|0;if((d|0)<=0){i=g;return}h=a+4|0;j=a+12|0;b=a+16+((b>>>0>1?1:b)*36|0)|0;m=0;do{k=(d|0)>16?16:d;l=k<<1;n=(k|0)>0;do{if(n){o=0;do{m=(c[e+(o<<2)>>2]|0)+m|0;c[f+(o<<2)>>2]=(ZI(m)|0)>>16;o=o+1|0;}while((o|0)<(l|0));if(n){n=0}else{break}while(1){o=f+((n|1)<<2)|0;c[o>>2]=(c[o>>2]|0)-(c[f+(n<<2)>>2]|0);n=n+2|0;if((n|0)<(l|0)){}else{break}}}}while(0);a:do{if((c[h>>2]|0)==0){if(((c[j>>2]|0)+ -1|0)>>>0>1|(k|0)==0){break}else{o=k;l=f}while(1){n=BN(b,c[l>>2]|0,c[l+4>>2]|0,c[a>>2]|0,0)|0;if((n|0)!=0){break}o=o+ -1|0;if((o|0)==0){break a}l=l+8|0}c[h>>2]=n}}while(0);d=d-k|0;}while((d|0)>0);i=g;return}function yN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;f=a+4|0;if((c[f>>2]|0)!=0){i=g;return}l=a+16|0;h=c[a>>2]|0;k=c[l>>2]|0;a=a+52|0;j=c[a>>2]|0;if((j+k|0)!=(d|0)){i=g;return}d=AN(l,e,j,k,b,h)|0;do{if((d|0)==0){d=AN(a,e,0,j,b,h)|0;if((d|0)!=0){break}i=g;return}}while(0);c[f>>2]=d;i=g;return}function zN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;e=a+4|0;if((c[e>>2]|0)!=0){i=f;return}k=a+16|0;h=c[a>>2]|0;g=c[k>>2]|0;a=a+52|0;j=c[a>>2]|0;if((j+g|0)!=(b|0)){i=f;return}b=AN(k,d,0,g,0,h)|0;do{if((b|0)==0){b=AN(a,d,g,j,0,h)|0;if((b|0)!=0){break}i=f;return}}while(0);c[e>>2]=b;i=f;return}function AN(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;k=i;m=i;i=i+8|0;l=m;o=i;i=i+8|0;q=o;r=i;i=i+8|0;n=b+12|0;p=c[n>>2]|0;if((p|0)==0){h=0}else{c[(c[b+20>>2]|0)+(p+ -1<<4)+12>>2]=h;h=c[n>>2]|0}s=h+1|0;p=b+16|0;u=c[p>>2]|0;do{if(s>>>0>u>>>0){c[r>>2]=0;t=h+8&-8;v=b+20|0;u=oJ(j,16,u,t,c[v>>2]|0,r)|0;c[v>>2]=u;r=c[r>>2]|0;if((r|0)==0){c[p>>2]=t;break}else{v=r;i=k;return v|0}}else{u=c[b+20>>2]|0}}while(0);c[u+(h<<4)>>2]=0;c[u+(h<<4)+12>>2]=0;c[n>>2]=s;if((s|0)==0){do{if((c[p>>2]|0)==0){c[o>>2]=0;v=b+20|0;q=oJ(j,16,0,8,c[v>>2]|0,q)|0;c[v>>2]=q;o=c[o>>2]|0;if((o|0)==0){c[p>>2]=8;break}else{v=o;i=k;return v|0}}else{q=c[b+20>>2]|0}}while(0);c[q>>2]=0;c[q+12>>2]=0;c[n>>2]=1;n=q}else{n=(c[b+20>>2]|0)+(h<<4)|0}o=n+4|0;p=((c[o>>2]|0)+7|0)>>>3;q=(g+7|0)>>>3;c[m>>2]=0;do{if(q>>>0>p>>>0){q=q+7&1073741816;v=n+8|0;c[v>>2]=oJ(j,1,p,q,c[v>>2]|0,l)|0;l=c[m>>2]|0;if((l|0)==0){c[o>>2]=q<<3;break}else{v=l;i=k;return v|0}}}while(0);c[n>>2]=g;if((g|0)==0){v=0;i=k;return v|0}e=e+(f>>>3)|0;j=128>>>(f&7);l=128;f=c[n+8>>2]|0;while(1){m=(d[f]|0)&~l;if(((d[e]|0)&j|0)==0){m=m&255}else{m=(m|l)&255}a[f]=m;n=j>>1;j=(n|0)==0;l=l>>1;m=(l|0)==0;g=g+ -1|0;if((g|0)==0){f=0;break}else{e=j?e+1|0:e;j=j?128:n;l=m?128:l;f=m?f+1|0:f}}i=k;return f|0}function BN(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;j=i;k=i;i=i+8|0;l=k;n=i;i=i+8|0;o=n;p=i;i=i+8|0;q=p;if((f|0)<0){m=(f|0)==-21;f=0;e=(m?-21:0)+e|0;r=m?3:1}else{r=0}m=(h|0)!=0;if(m){c[h>>2]=-1}s=c[b>>2]|0;a:do{if((s|0)==0){u=0;t=10}else{u=0;v=c[b+8>>2]|0;while(1){if((c[v>>2]|0)==(e|0)){if((c[v+4>>2]|0)==(f|0)){p=u;break a}}u=u+1|0;if(u>>>0<s>>>0){v=v+12|0}else{t=10;break}}}}while(0);if((t|0)==10){w=s+1|0;t=b+4|0;x=c[t>>2]|0;do{if(w>>>0>=x>>>0){c[p>>2]=0;if(x>>>0>=w>>>0){break}v=s+8&-8;y=b+8|0;c[y>>2]=oJ(g,12,x,v,c[y>>2]|0,q)|0;p=c[p>>2]|0;if((p|0)==0){c[t>>2]=v;break}else{y=p;i=j;return y|0}}}while(0);p=c[b+8>>2]|0;c[b>>2]=w;c[p+(s*12|0)>>2]=e;c[p+(s*12|0)+4>>2]=f;c[p+(s*12|0)+8>>2]=r;p=u}f=b+12|0;q=c[f>>2]|0;if((q|0)==0){q=b+16|0;do{if((c[q>>2]|0)==0){c[n>>2]=0;y=b+20|0;o=oJ(g,16,0,8,c[y>>2]|0,o)|0;c[y>>2]=o;n=c[n>>2]|0;if((n|0)==0){c[q>>2]=8;n=o;break}else{y=n;i=j;return y|0}}else{n=c[b+20>>2]|0}}while(0);c[n>>2]=0;c[n+12>>2]=0;c[f>>2]=1}else{n=(c[b+20>>2]|0)+(q+ -1<<4)|0}if((p|0)>=0){if((c[n>>2]|0)>>>0<=p>>>0){o=p+1|0;b=n+4|0;q=((c[b>>2]|0)+7|0)>>>3;f=(p+8|0)>>>3;c[k>>2]=0;do{if(f>>>0>q>>>0){f=f+7&1073741816;y=n+8|0;c[y>>2]=oJ(g,1,q,f,c[y>>2]|0,l)|0;g=c[k>>2]|0;if((g|0)==0){c[b>>2]=f<<3;break}else{y=g;i=j;return y|0}}}while(0);c[n>>2]=o}y=(c[n+8>>2]|0)+(p>>3)|0;a[y]=d[y]|0|128>>>(p&7)}if(!m){y=0;i=j;return y|0}c[h>>2]=p;y=0;i=j;return y|0}function CN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=i;k=i;i=i+8|0;j=k;h=i;i=i+16|0;l=c[b+12>>2]|0;if((l|0)!=0){c[(c[b+20>>2]|0)+(l+ -1<<4)+12>>2]=e}e=b+24|0;m=c[e>>2]|0;l=m+ -1|0;if((l|0)<=0){x=0;i=g;return x|0}b=b+32|0;o=m;a:while(1){p=m+ -2|0;b:do{if((p|0)>-1){m=c[b>>2]|0;n=c[m+(l<<4)+8>>2]|0;q=c[m+(l<<4)>>2]|0;c:while(1){r=c[m+(p<<4)+8>>2]|0;s=c[m+(p<<4)>>2]|0;s=q>>>0<=s>>>0?q:s;if(s>>>0>7){t=n;do{if((a[r]&a[t])<<24>>24!=0){break c}t=t+1|0;r=r+1|0;s=s+ -8|0;}while(s>>>0>7)}else{t=n}if((s|0)!=0){if((a[r]&a[t]&255&~(255>>>s)|0)!=0){break}}if((p|0)>0){p=p+ -1|0}else{break b}}q=(p|0)>(l|0);n=q?p:l;p=q?l:p;if(!((p|0)<(n|0)&(p|0)>-1&(n|0)<(o|0))){break}o=m+(n<<4)|0;s=m+(p<<4)|0;t=c[s>>2]|0;q=c[o>>2]|0;do{if((q|0)!=0){if(q>>>0>t>>>0){w=m+(p<<4)+4|0;x=((c[w>>2]|0)+7|0)>>>3;r=(q+7|0)>>>3;c[k>>2]=0;if(r>>>0>x>>>0){v=r+7&1073741816;u=m+(p<<4)+8|0;c[u>>2]=oJ(f,1,x,v,c[u>>2]|0,j)|0;x=c[k>>2]|0;if((x|0)!=0){f=32;break a}c[w>>2]=v<<3}else{u=m+(p<<4)+8|0}do{if((c[s>>2]|0)>>>0>t>>>0){x=(c[u>>2]|0)+(t>>3)|0;a[x]=(d[x]|0)&(128>>>(t&7)^255)}t=t+1|0;}while(t>>>0<q>>>0)}else{r=(q+7|0)>>>3}if((r|0)==0){break}q=c[m+(n<<4)+8>>2]|0;p=c[m+(p<<4)+8>>2]|0;while(1){a[p]=a[q]|a[p];r=r+ -1|0;if((r|0)==0){break}else{p=p+1|0;q=q+1|0}}}}while(0);c[o>>2]=0;c[m+(n<<4)+12>>2]=0;r=c[e>>2]|0;p=r+ -1|0;q=p-n|0;if((q|0)>0){$W(h|0,o|0,16)|0;aX(o|0,m+(n+1<<4)|0,q<<4|0)|0;$W(m+(p<<4)|0,h|0,16)|0;r=c[e>>2]|0}o=r+ -1|0;c[e>>2]=o}}while(0);m=l+ -1|0;if((m|0)>0){x=l;l=m;m=x}else{x=0;f=32;break}}if((f|0)==32){i=g;return x|0}return 0}function DN(a){a=a|0;c[a+4>>2]=0;c[a+12>>2]=1;c[a+16>>2]=0;c[a+28>>2]=0;c[a+40>>2]=0;c[a+52>>2]=0;c[a+64>>2]=0;c[a+76>>2]=0;i=i;return}function EN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;h=i;i=i+8|0;g=h;f=(ZI(c[d>>2]|0)|0)>>16;c[h>>2]=f;c[g+4>>2]=(ZI(c[d+4>>2]|0)|0)>>16;d=a+4|0;if((c[d>>2]|0)!=0){i=e;return}if(((c[a+12>>2]|0)+ -1|0)>>>0>=2){i=e;return}a=BN(a+16+((b>>>0>1?1:b)*36|0)|0,f,c[g+4>>2]|0,c[a>>2]|0,0)|0;if((a|0)==0){i=e;return}c[d>>2]=a;i=e;return}function FN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;g=i;s=i;i=i+8|0;t=s;p=i;i=i+8|0;q=p;n=i;i=i+8|0;m=n;j=i;i=i+8|0;k=j;r=i;i=i+16|0;o=r;h=b+4|0;if((c[h>>2]|0)!=0){i=g;return}l=c[b>>2]|0;u=e>>>0>1?1:e;e=b+16+(u*36|0)|0;a:do{if((c[b+12>>2]|0)==1){x=0;while(1){w=(ZI(c[f>>2]|0)|0)>>16;w=BN(e,w,(ZI(c[f+4>>2]|0)|0)>>16,l,o+(x<<2)|0)|0;if((w|0)!=0){break a}x=x+1|0;if((x|0)<3){f=f+8|0}else{break}}e=c[r>>2]|0;r=c[o+4>>2]|0;o=c[o+8>>2]|0;f=b+16+(u*36|0)+24|0;w=c[f>>2]|0;b:do{if((w|0)==0){v=14}else{C=e>>3;B=128>>>(e&7);D=r>>3;A=128>>>(r&7);z=o>>3;y=128>>>(o&7);F=w;x=c[b+16+(u*36|0)+32>>2]|0;while(1){E=c[x>>2]|0;if(E>>>0>e>>>0){if(((d[(c[x+8>>2]|0)+C|0]|0)&B|0)!=0){s=x;break b}}if(E>>>0>r>>>0){if(((d[(c[x+8>>2]|0)+D|0]|0)&A|0)!=0){s=x;break b}}if(E>>>0>o>>>0){if(((d[(c[x+8>>2]|0)+z|0]|0)&y|0)!=0){s=x;break b}}F=F+ -1|0;if((F|0)==0){v=14;break}else{x=x+16|0}}}}while(0);if((v|0)==14){v=w+1|0;y=b+16+(u*36|0)+28|0;z=c[y>>2]|0;if(v>>>0>z>>>0){c[s>>2]=0;x=w+8&-8;F=b+16+(u*36|0)+32|0;b=oJ(l,16,z,x,c[F>>2]|0,t)|0;c[F>>2]=b;s=c[s>>2]|0;if((s|0)!=0){w=s;break}c[y>>2]=x}else{b=c[b+16+(u*36|0)+32>>2]|0}s=b+(w<<4)|0;c[s>>2]=0;c[b+(w<<4)+12>>2]=0;c[f>>2]=v}if((e|0)>=0){if((c[s>>2]|0)>>>0<=e>>>0){b=e+1|0;t=s+4|0;u=((c[t>>2]|0)+7|0)>>>3;v=(e+8|0)>>>3;c[p>>2]=0;if(v>>>0>u>>>0){v=v+7&1073741816;w=s+8|0;c[w>>2]=oJ(l,1,u,v,c[w>>2]|0,q)|0;w=c[p>>2]|0;if((w|0)!=0){break}c[t>>2]=v<<3}c[s>>2]=b}F=(c[s+8>>2]|0)+(e>>3)|0;a[F]=d[F]|0|128>>>(e&7)}if((r|0)>=0){if((c[s>>2]|0)>>>0<=r>>>0){p=r+1|0;q=s+4|0;e=((c[q>>2]|0)+7|0)>>>3;b=(r+8|0)>>>3;c[n>>2]=0;if(b>>>0>e>>>0){b=b+7&1073741816;w=s+8|0;c[w>>2]=oJ(l,1,e,b,c[w>>2]|0,m)|0;w=c[n>>2]|0;if((w|0)!=0){break}c[q>>2]=b<<3}c[s>>2]=p}F=(c[s+8>>2]|0)+(r>>3)|0;a[F]=d[F]|0|128>>>(r&7)}if((o|0)<0){i=g;return}if((c[s>>2]|0)>>>0<=o>>>0){n=o+1|0;m=s+4|0;p=((c[m>>2]|0)+7|0)>>>3;q=(o+8|0)>>>3;c[j>>2]=0;if(q>>>0>p>>>0){q=q+7&1073741816;w=s+8|0;c[w>>2]=oJ(l,1,p,q,c[w>>2]|0,k)|0;w=c[j>>2]|0;if((w|0)!=0){break}c[m>>2]=q<<3}c[s>>2]=n}F=(c[s+8>>2]|0)+(o>>3)|0;a[F]=d[F]|0|128>>>(o&7);i=g;return}else{w=6}}while(0);c[h>>2]=w;i=g;return}function GN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;f=i;i=i+8|0;h=f;n=i;i=i+8|0;p=n;e=a+4|0;if((c[e>>2]|0)!=0){i=d;return}g=c[a>>2]|0;do{if((c[a+12>>2]|0)==1){j=a+28|0;k=c[j>>2]|0;if((k|0)==0){k=0}else{c[(c[a+36>>2]|0)+(k+ -1<<4)+12>>2]=b;k=c[j>>2]|0}l=k+1|0;m=a+32|0;q=c[m>>2]|0;if(l>>>0>q>>>0){c[n>>2]=0;o=k+8&-8;r=a+36|0;p=oJ(g,16,q,o,c[r>>2]|0,p)|0;c[r>>2]=p;n=c[n>>2]|0;if((n|0)!=0){break}c[m>>2]=o}else{p=c[a+36>>2]|0}c[p+(k<<4)>>2]=0;c[p+(k<<4)+12>>2]=0;c[j>>2]=l;j=a+64|0;k=c[j>>2]|0;if((k|0)==0){k=0}else{c[(c[a+72>>2]|0)+(k+ -1<<4)+12>>2]=b;k=c[j>>2]|0}b=k+1|0;l=a+68|0;n=c[l>>2]|0;if(b>>>0>n>>>0){c[f>>2]=0;m=k+8&-8;r=a+72|0;g=oJ(g,16,n,m,c[r>>2]|0,h)|0;c[r>>2]=g;n=c[f>>2]|0;if((n|0)!=0){break}c[l>>2]=m}else{g=c[a+72>>2]|0}c[g+(k<<4)>>2]=0;c[g+(k<<4)+12>>2]=0;c[j>>2]=b;i=d;return}else{n=6}}while(0);c[e>>2]=n;i=d;return}function HN(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=i;j=i;i=i+8|0;l=jJ(f,2496,j)|0;m=c[j>>2]|0;if((m|0)!=0){q=m;p=h;c[p>>2]=l;i=k;return q|0}c[l>>2]=f;f=l+4|0;m=l+208|0;c[l+212>>2]=e[g+120>>1]|0;n=g+124|0;o=a[n]|0;if(o<<24>>24==0){n=1}else{q=o&255;p=g+128|0;o=l+224|0;while(1){c[o>>2]=b[p>>1]|0;q=q+ -1|0;if((q|0)==0){break}else{o=o+12|0;p=p+2|0}}n=(d[n]|0)+1|0}c[m>>2]=n;c[l+8>>2]=e[g+122>>1]|0;m=g+125|0;n=a[m]|0;if(n<<24>>24==0){m=1}else{p=n&255;o=g+154|0;n=l+20|0;while(1){c[n>>2]=b[o>>1]|0;p=p+ -1|0;if((p|0)==0){break}else{n=n+12|0;o=o+2|0}}m=(d[m]|0)+1|0}c[f>>2]=m;p=l+412|0;q=g+116|0;JN(p,d[g+8|0]|0,g+12|0,d[g+9|0]|0,g+40|0,c[q>>2]|0,0);JN(p,d[g+10|0]|0,g+60|0,d[g+11|0]|0,g+88|0,c[q>>2]|0,1);c[l+2476>>2]=c[g+108>>2];c[l+2480>>2]=c[g+112>>2];c[l+2488>>2]=c[q>>2];c[l+200>>2]=0;c[l+204>>2]=0;c[l+404>>2]=0;c[l+408>>2]=0;q=c[j>>2]|0;p=h;c[p>>2]=l;i=k;return q|0}function IN(a){a=a|0;var b=0,d=0;b=i;if((a|0)==0){i=b;return}d=c[a>>2]|0;c[a+4>>2]=0;c[a+208>>2]=0;c[a+412>>2]=0;c[a+928>>2]=0;c[a+1444>>2]=0;c[a+1960>>2]=0;lJ(d,a);i=b;return}function JN(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;if((h|0)==0){h=a+516|0}else{h=a+1548|0;a=a+1032|0}c[a>>2]=0;c[h>>2]=0;KN(0,b,d,a,h);KN(1,e,f,a,h);b=c[a>>2]|0;e=c[h>>2]|0;if((b|0)>0){d=b;f=a+4|0;while(1){do{if(d>>>0>1){k=c[f>>2]|0;m=(c[f+32>>2]|0)-k|0;n=f+4|0;l=c[n>>2]|0;if((l|0)<=(m|0)){break}c[n>>2]=m;l=m}else{l=c[f+4>>2]|0;k=c[f>>2]|0}}while(0);c[f+12>>2]=k;c[f+8>>2]=k+l;d=d+ -1|0;if((d|0)==0){break}else{f=f+32|0}}}if((e|0)>0){k=e;f=h+4|0;while(1){d=c[f>>2]|0;do{if(k>>>0>1){n=d-(c[f+32>>2]|0)|0;l=f+4|0;m=c[l>>2]|0;if((m|0)>=(n|0)){break}c[l>>2]=n;m=n}else{m=c[f+4>>2]|0}}while(0);c[f+8>>2]=d;c[f+12>>2]=d+m;k=k+ -1|0;if((k|0)==0){break}else{f=f+32|0}}}f=g<<1;d=a+4|0;if((b|0)!=0){l=a+16|0;c[l>>2]=(c[l>>2]|0)-g;l=b+ -1|0;k=c[a+12>>2]|0;if((l|0)==0){a=d}else{a=a+ -28+(b<<3<<2)|0;b=l;while(1){n=d+44|0;l=c[n>>2]|0;m=l-k|0;if((m|0)<(f|0)){m=((m|0)/2|0)+k|0;c[n>>2]=m;c[d+8>>2]=m}else{c[d+8>>2]=k+g;c[n>>2]=l-g}b=b+ -1|0;k=c[d+40>>2]|0;if((b|0)==0){break}else{d=d+32|0}}}c[a+8>>2]=k+g}a=h+4|0;if((e|0)==0){i=j;return}d=h+16|0;c[d>>2]=(c[d>>2]|0)-g;d=e+ -1|0;b=c[h+12>>2]|0;if((d|0)==0){h=a}else{h=h+ -28+(e<<3<<2)|0;e=d;while(1){l=a+44|0;k=c[l>>2]|0;d=k-b|0;if((d|0)<(f|0)){n=((d|0)/2|0)+b|0;c[l>>2]=n;c[a+8>>2]=n}else{c[a+8>>2]=b+g;c[l>>2]=k-g}e=e+ -1|0;b=c[a+40>>2]|0;if((e|0)==0){break}else{a=a+32|0}}}c[h+8>>2]=b+g;i=j;return}function KN(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;m=c[f>>2]|0;l=c[g>>2]|0;if(d>>>0>1){k=1}else{r=l;q=m;s=f;c[s>>2]=q;s=g;c[s>>2]=r;i=h;return}while(1){if((k|a)<<24>>24==0){o=b[e>>1]|0;q=f;r=m;n=(b[e+2>>1]|0)-o|0;p=1}else{o=b[e+2>>1]|0;q=g;r=l;n=(b[e>>1]|0)-o|0;k=0;p=0}q=q+4|0;a:do{if((r|0)==0){j=16}else{while(1){s=c[q>>2]|0;if((o|0)<(s|0)){j=14;break}if((o|0)==(s|0)){break}r=r+ -1|0;q=q+32|0;if((r|0)==0){j=16;break a}}if((j|0)==14){if((r|0)==0){j=16;break}while(1){j=r+ -1|0;$W(q+(r<<5)|0,q+(j<<5)|0,32)|0;if((j|0)==0){j=16;break a}else{r=j}}}o=q+4|0;p=c[o>>2]|0;if((n|0)<0){if((n|0)>=(p|0)){break}c[o>>2]=n;break}else{if((n|0)<=(p|0)){break}c[o>>2]=n;break}}}while(0);do{if((j|0)==16){j=0;c[q>>2]=o;c[q+4>>2]=n;if(p<<24>>24==0){l=l+1|0;break}else{m=m+1|0;break}}}while(0);d=d+ -2|0;if(d>>>0>1){e=e+4|0}else{break}}s=f;c[s>>2]=m;s=g;c[s>>2]=l;i=h;return}function LN(a){a=a|0;i=i;return a+108|0}function MN(a){a=a|0;i=i;return a+120|0}function NN(a){a=a|0;i=i;return a+148|0}function ON(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;h=c[a>>2]|0;if((h|0)!=0){g=c[a+8>>2]|0;while(1){p=g+16|0;c[p>>2]=c[p>>2]&-5;c[g+24>>2]=-1;h=h+ -1|0;if((h|0)==0){break}else{g=g+28|0}}}if((b|0)==0){c[a+4>>2]=0;i=f;return}h=a+8|0;g=a+12|0;j=0;l=0;m=0;n=0;while(1){if((m|0)==0){k=e+1|0;m=128;n=d[e]|0}else{k=e}do{if((m&n|0)!=0){p=c[h>>2]|0;o=p+(l*28|0)+16|0;e=c[o>>2]|0;if((e&4|0)!=0){break}c[o>>2]=e|4;if(j>>>0>=(c[a>>2]|0)>>>0){break}c[(c[g>>2]|0)+(j<<2)>>2]=p+(l*28|0);j=j+1|0}}while(0);l=l+1|0;if(l>>>0<b>>>0){e=k;m=m>>1}else{break}}c[a+4>>2]=j;m=c[g>>2]|0;if((j|0)>1){l=1}else{i=f;return}do{h=c[m+(l<<2)>>2]|0;g=l;while(1){a=g+ -1|0;k=m+(a<<2)|0;b=c[k>>2]|0;if((c[b>>2]|0)<(c[h>>2]|0)){break}c[m+(g<<2)>>2]=b;c[k>>2]=h;if((a|0)>0){g=a}else{break}}l=l+1|0;}while((l|0)<(j|0));i=f;return}function PN(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;l=i;if((f|0)==0){i=l;return}m=0-h|0;j=(b|0)==0;o=(h|0)==2;n=o?128:256;o=o?256:128;while(1){p=c[e+36>>2]|0;q=e+16|0;r=c[q>>2]|0;a:do{if((r&16|0)==0){s=a[e+20|0]|0;if((s|0)==(h|0)|(s|0)==(m|0)){k=6}else{s=a[e+21|0]|0;if((s|0)==(h|0)|(s|0)==(m|0)){k=6}}do{if((k|0)==6){k=0;if((s|0)==0){break}if((s|0)==(h|0)){if(j){break a}else{s=0}while(1){t=c[d+(s<<2)>>2]|0;u=p-(c[t>>2]|0)|0;s=s+1|0;if((u|0)<(g|0)&(0-u|0)<(g|0)){break}if(s>>>0>=b>>>0){break a}}c[q>>2]=r|528;c[e+32>>2]=t;break a}else{if((s|0)!=(m|0)|j){break a}else{s=0}while(1){t=c[d+(s<<2)>>2]|0;u=p-(c[t>>2]|0)-(c[t+4>>2]|0)|0;s=s+1|0;if((u|0)<(g|0)&(0-u|0)<(g|0)){break}if(s>>>0>=b>>>0){break a}}c[q>>2]=r|1040;c[e+32>>2]=t;break a}}}while(0);if((r&64|0)==0){break}b:do{if((r&n|0)==0){if((r&o|0)==0|j){break}else{t=0}while(1){s=c[d+(t<<2)>>2]|0;u=p-(c[s>>2]|0)-(c[s+4>>2]|0)|0;t=t+1|0;if((u|0)<(g|0)&(0-u|0)<(g|0)){break}if(t>>>0>=b>>>0){break b}}c[e+32>>2]=s;c[q>>2]=r|1040}else{if(j){break}else{t=0}while(1){s=c[d+(t<<2)>>2]|0;u=p-(c[s>>2]|0)|0;t=t+1|0;if((u|0)<(g|0)&(0-u|0)<(g|0)){break}if(t>>>0>=b>>>0){break b}}c[e+32>>2]=s;c[q>>2]=r|528}}while(0);t=e+32|0;if((c[t>>2]|0)!=0|j){break}else{s=0}while(1){r=c[d+(s<<2)>>2]|0;q=c[r>>2]|0;if((p|0)>=(q|0)){if((p|0)<=((c[r+4>>2]|0)+q|0)){break}}s=s+1|0;if(s>>>0>=b>>>0){break a}}c[t>>2]=r}}while(0);f=f+ -1|0;if((f|0)==0){break}else{e=e+48|0}}i=l;return}function QN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=i;n=c[d+4+(e*204|0)+196>>2]|0;g=b+16|0;if((c[g>>2]&8|0)!=0){i=h;return}l=c[d+4+(e*204|0)+200>>2]|0;l=(aJ(c[b>>2]|0,n)|0)+l|0;m=b+4|0;k=aJ(c[m>>2]|0,n)|0;do{if((e|0)==0){if((a[f+120|0]|0)==0){j=5;break}p=(a[f+122|0]|0)!=0;o=b+12|0;c[o>>2]=k;q=0;r=0;j=27}else if((e|0)==1){if((a[f+121|0]|0)==0){j=5;break}p=(a[f+123|0]|0)!=0;o=b+12|0;c[o>>2]=k;t=c[b>>2]|0;u=(c[m>>2]|0)+t|0;s=a[d+2492|0]|0;x=c[d+412>>2]|0;a:do{if((x|0)==0){r=0;q=0;u=2}else{r=c[d+2488>>2]|0;q=0-r|0;v=d+416|0;while(1){w=u-(c[v+12>>2]|0)|0;if((w|0)<(q|0)){r=0;q=0;u=2;break a}if(((c[v+8>>2]|0)+r|0)>=(u|0)){break}x=x+ -1|0;if((x|0)==0){r=0;q=0;u=2;break a}else{v=v+32|0}}if(s<<24>>24==0){if((w|0)>(c[d+2484>>2]|0)){r=0;q=0;u=2;break}}r=c[v+16>>2]|0;q=1;u=3}}while(0);y=c[d+928>>2]|0;b:do{if((y|0)==0){s=0}else{v=c[d+2488>>2]|0;w=0-v|0;x=y;y=d+932+(y+ -1<<5)|0;while(1){z=(c[y+8>>2]|0)-t|0;if((z|0)<(w|0)){s=0;break b}if(((c[y+12>>2]|0)-v|0)<=(t|0)){break}x=x+ -1|0;if((x|0)==0){s=0;break b}else{y=y+ -32|0}}if(s<<24>>24==0){if((z|0)>=(c[d+2484>>2]|0)){s=0;break}}s=c[y+16>>2]|0;q=u}}while(0);if((q|0)==3){c[b+8>>2]=s;c[o>>2]=r-s;if(p){q=3;j=47;break}else{break}}else if((q|0)==1){c[b+8>>2]=r-k;if(p){q=1;j=47;break}else{break}}else if((q|0)==2){c[b+8>>2]=s;if(p){q=2;j=47;break}else{break}}else{j=27;break}}else{o=b+12|0;c[o>>2]=k;q=0;r=0;p=0;j=27}}while(0);if((j|0)==5){c[b+8>>2]=l;c[b+12>>2]=k;c[g>>2]=c[g>>2]|8;i=h;return}if((j|0)==27){s=c[b+20>>2]|0;if((s|0)!=0){if((c[s+16>>2]&8|0)==0){QN(s,d,e,f)}z=c[s+8>>2]|0;l=c[s+12>>2]>>1;l=z-(k>>1)+l+(aJ((c[b>>2]|0)-((c[s+4>>2]>>1)+(c[s>>2]|0))+(c[m>>2]>>1)|0,n)|0)|0}m=b+8|0;c[m>>2]=l;c[o>>2]=k;do{if((a[f+124|0]|0)==0){d=k}else{if((k|0)<65){if((k|0)>31){d=64;l=l+(k>>1)&-64;break}e=l+32&-64;if((k|0)<=0){d=k;l=e;break}d=l+k|0;f=d+32&-64;n=e-l|0;l=f-d|0;d=k;l=(((n|0)<0?0-n|0:n)|0)>(((l|0)<0?0-l|0:l)|0)?f:e;break}d=c[d+4+(e*204|0)+8>>2]|0;f=k-d|0;if((((f|0)<0?0-f|0:f)|0)<40){k=(d|0)<48?48:d}if((k|0)>=192){d=k+32&-64;break}d=k&63;f=k&-64;if(d>>>0<10){d=k;break}if(d>>>0<32){d=f|10;break}else{d=d>>>0<54?f|54:k;break}}}while(0);f=l+32|0;k=(f&-64)-l|0;f=(f+d&-64)-l-d|0;c[m>>2]=((((k|0)<0?0-k|0:k)|0)>(((f|0)<0?0-f|0:f)|0)?f:k)+l;c[o>>2]=d;if(p){j=47}}do{if((j|0)==47){b=b+8|0;k=c[b>>2]|0;j=c[o>>2]|0;if((j|0)<64){j=64}else{j=j+32&-64}if((q|0)==1){c[b>>2]=r-j;c[o>>2]=j;break}else if((q|0)==2){c[o>>2]=j;break}else if((q|0)==3){break}else{c[o>>2]=j;d=j>>1;k=d+k|0;if((j&64|0)==0){k=k+32&-64}else{k=k&-64|32}c[b>>2]=k-d;c[o>>2]=j;break}}}while(0);c[g>>2]=c[g>>2]|8;i=h;return}function RN(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=i;h=i;i=i+8|0;n=h;m=c[b>>2]|0;k=m<<1;l=a+12|0;c[l>>2]=oJ(f,4,0,k,0,n)|0;if((c[h>>2]|0)!=0){x=h;x=c[x>>2]|0;i=g;return x|0}j=a+8|0;c[j>>2]=oJ(f,28,0,m,0,n)|0;if((c[h>>2]|0)!=0){x=h;x=c[x>>2]|0;i=g;return x|0}c[a+24>>2]=oJ(f,16,0,k|1,0,n)|0;if((c[h>>2]|0)!=0){x=h;x=c[x>>2]|0;i=g;return x|0}c[a>>2]=m;k=a+16|0;c[k>>2]=(c[l>>2]|0)+(m<<2);l=a+4|0;c[l>>2]=0;c[a+20>>2]=0;c[a+28>>2]=0;if((m|0)!=0){b=c[b+8>>2]|0;n=c[j>>2]|0;while(1){c[n>>2]=c[b>>2];c[n+4>>2]=c[b+4>>2];c[n+16>>2]=c[b+8>>2];m=m+ -1|0;if((m|0)==0){break}else{n=n+28|0;b=b+12|0}}}do{if((e|0)!=0){b=c[e+8>>2]|0;m=c[e>>2]|0;c[a+32>>2]=e;if((m|0)==0){break}while(1){n=c[b>>2]|0;if((n|0)!=0){q=c[b+8>>2]|0;p=0;o=0;f=0;while(1){if((o|0)==0){e=q+1|0;o=128;f=d[q]|0}else{e=q}do{if((o&f|0)!=0){t=c[j>>2]|0;q=t+(p*28|0)|0;if((c[a>>2]|0)>>>0<=p>>>0){break}s=t+(p*28|0)+16|0;r=c[s>>2]|0;if((r&4|0)!=0){break}c[s>>2]=r|4;u=c[k>>2]|0;v=c[l>>2]|0;s=t+(p*28|0)+20|0;c[s>>2]=0;a:do{if((v|0)!=0){r=c[q>>2]|0;t=(c[t+(p*28|0)+4>>2]|0)+r|0;while(1){x=c[u>>2]|0;w=c[x>>2]|0;if((t|0)>=(w|0)){if(((c[x+4>>2]|0)+w|0)>=(r|0)){break}}v=v+ -1|0;if((v|0)==0){break a}else{u=u+4|0}}c[s>>2]=x}}while(0);r=c[l>>2]|0;if(r>>>0>=(c[a>>2]|0)>>>0){break}c[l>>2]=r+1;c[(c[k>>2]|0)+(r<<2)>>2]=q}}while(0);p=p+1|0;if(p>>>0<n>>>0){q=e;o=o>>1}else{break}}}m=m+ -1|0;if((m|0)==0){break}else{b=b+16|0}}}}while(0);b=c[a>>2]|0;if((c[l>>2]|0)==(b|0)|(b|0)==0){x=h;x=c[x>>2]|0;i=g;return x|0}else{n=b;m=0}while(1){o=c[j>>2]|0;e=o+(m*28|0)|0;do{if(n>>>0>m>>>0){f=o+(m*28|0)+16|0;n=c[f>>2]|0;if((n&4|0)!=0){break}c[f>>2]=n|4;q=c[k>>2]|0;p=c[l>>2]|0;n=o+(m*28|0)+20|0;c[n>>2]=0;b:do{if((p|0)!=0){f=c[e>>2]|0;o=(c[o+(m*28|0)+4>>2]|0)+f|0;while(1){r=c[q>>2]|0;s=c[r>>2]|0;if((o|0)>=(s|0)){if(((c[r+4>>2]|0)+s|0)>=(f|0)){break}}p=p+ -1|0;if((p|0)==0){break b}else{q=q+4|0}}c[n>>2]=r}}while(0);n=c[l>>2]|0;if(n>>>0>=(c[a>>2]|0)>>>0){break}c[l>>2]=n+1;c[(c[k>>2]|0)+(n<<2)>>2]=e}}while(0);m=m+1|0;if(m>>>0>=b>>>0){break}n=c[a>>2]|0}x=h;x=c[x>>2]|0;i=g;return x|0}function SN(a,b){a=a|0;b=b|0;var c=0;c=i;a=uJ(209856,b)|0;i=c;return a|0}function TN(b){b=b|0;var c=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;f=a[b]|0;do{if(f<<24>>24==117){g=b+1|0;h=a[g]|0;do{if(h<<24>>24==110){if((a[b+2|0]|0)!=105){h=110;j=6;k=0;break}l=4;j=b+3|0;k=0;do{m=d[j]|0;n=m+ -48|0;if(n>>>0>9){n=(m+ -65|0)>>>0>5?16:m+ -55|0;if(n>>>0>15){break}}k=n+(k<<4)|0;l=l+ -1|0;j=j+1|0;}while((l|0)>0);if((l|0)!=0){j=6;k=0;break}j=a[j]|0;if(j<<24>>24==0){n=k;i=e;return n|0}else if(j<<24>>24!=46){j=6;k=0;break}n=k|-2147483648;i=e;return n|0}else{j=6;k=0}}while(0);while(1){h=h&255;l=h+ -48|0;if(l>>>0>9){l=(h+ -65|0)>>>0>5?16:h+ -55|0;if(l>>>0>15){c=15;break}}k=l+(k<<4)|0;j=j+ -1|0;g=g+1|0;if((j|0)<=0){break}h=a[g]|0}if((c|0)==15){if((j|0)>=3){g=b;break}}g=a[g]|0;if(g<<24>>24==0){n=k;i=e;return n|0}else if(g<<24>>24!=46){g=b;break}n=k|-2147483648;i=e;return n|0}else{g=b}}while(0);while(1){if(f<<24>>24==0){break}else if(f<<24>>24==46){if(g>>>0>b>>>0){c=21;break}}n=g+1|0;f=a[n]|0;g=n}do{if((c|0)==21){if((g|0)==0){g=0;break}n=_N(b,g)|0|-2147483648;i=e;return n|0}}while(0);n=_N(b,g)|0;i=e;return n|0}function UN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=i;k=i;i=i+8|0;l=k;o=i;i=i+40|0;n=o;p=i;i=i+40|0;m=p;bX(o|0,0,40)|0;j=b+16|0;c[j>>2]=0;b=b+20|0;c[b>>2]=0;s=oJ(a,8,0,d+10|0,0,l)|0;c[b>>2]=s;r=c[k>>2]|0;if((r|0)!=0){w=r;i=h;return w|0}do{if((d|0)!=0){if((f|0)==0){f=0;do{r=Bd[e&255](g,f)|0;do{if((r|0)!=0){t=0;while(1){u=t+1|0;if((Qc(215960+(c[216048+(t<<2)>>2]|0)|0,r|0)|0)==0){q=7;break}if(u>>>0<10){t=u}else{break}}do{if((q|0)==7){q=0;u=n+(t<<2)|0;if((c[u>>2]|0)!=0){break}c[u>>2]=1;c[m+(t<<2)>>2]=f}}while(0);r=TN(r)|0;if((r&2147483647|0)==0){break}else{t=0}while(1){u=t+1|0;if((c[215920+(t<<2)>>2]|0)==(r|0)){q=12;break}if(u>>>0<10){t=u}else{break}}if((q|0)==12){q=0;c[n+(t<<2)>>2]=2}c[s>>2]=r;c[s+4>>2]=f;s=s+8|0}}while(0);f=f+1|0;}while(f>>>0<d>>>0)}else{r=0;do{t=Bd[e&255](g,r)|0;if((t|0)!=0){u=0;while(1){v=u+1|0;if((Qc(215960+(c[216048+(u<<2)>>2]|0)|0,t|0)|0)==0){q=19;break}if(v>>>0<10){u=v}else{break}}do{if((q|0)==19){q=0;v=n+(u<<2)|0;if((c[v>>2]|0)!=0){break}c[v>>2]=1;c[m+(u<<2)>>2]=r}}while(0);w=TN(t)|0;if((w&2147483647|0)!=0){v=0;while(1){u=v+1|0;if((c[215920+(v<<2)>>2]|0)==(w|0)){q=24;break}if(u>>>0<10){v=u}else{break}}if((q|0)==24){q=0;c[n+(v<<2)>>2]=2}c[s>>2]=w;c[s+4>>2]=r;s=s+8|0}hd[f&127](g,t)}r=r+1|0;}while(r>>>0<d>>>0)}if((c[o>>2]|0)!=1){break}c[s>>2]=916;c[s+4>>2]=c[p>>2];s=s+8|0}}while(0);if((c[n+4>>2]|0)==1){c[s>>2]=937;c[s+4>>2]=c[m+4>>2];s=s+8|0}if((c[n+8>>2]|0)==1){c[s>>2]=8725;c[s+4>>2]=c[m+8>>2];s=s+8|0}if((c[n+12>>2]|0)==1){c[s>>2]=173;c[s+4>>2]=c[m+12>>2];s=s+8|0}if((c[n+16>>2]|0)==1){c[s>>2]=713;c[s+4>>2]=c[m+16>>2];s=s+8|0}if((c[n+20>>2]|0)==1){c[s>>2]=956;c[s+4>>2]=c[m+20>>2];s=s+8|0}if((c[n+24>>2]|0)==1){c[s>>2]=8729;c[s+4>>2]=c[m+24>>2];s=s+8|0}if((c[n+28>>2]|0)==1){c[s>>2]=160;c[s+4>>2]=c[m+28>>2];s=s+8|0}if((c[n+32>>2]|0)==1){c[s>>2]=538;c[s+4>>2]=c[m+32>>2];s=s+8|0}if((c[n+36>>2]|0)==1){c[s>>2]=539;c[s+4>>2]=c[m+36>>2];s=s+8|0}n=c[b>>2]|0;m=s-n>>3;do{if((m|0)==0){lJ(a,n);c[b>>2]=0;a=c[k>>2]|0;if((a|0)!=0){break}c[k>>2]=163;a=163}else{if(m>>>0<d>>>1>>>0){n=oJ(a,8,d,m,n,l)|0;c[b>>2]=n;c[k>>2]=0}pb(n|0,m|0,8,194);a=c[k>>2]|0}}while(0);c[j>>2]=m;w=a;i=h;return w|0}function VN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=c[a+20>>2]|0;a=(c[a+16>>2]|0)+ -1|0;if((a|0)<0){j=0;i=d;return j|0}a=e+(a<<3)|0;f=0;a:while(1){j=f;while(1){g=a-e>>4;f=e+(g<<3)|0;h=c[f>>2]|0;if((h|0)==(b|0)){break a}h=h&2147483647;f=(h|0)==(b|0)?f:j;if((e|0)==(a|0)){break a}if(h>>>0>=b>>>0){break}e=e+(g+1<<3)|0;if(e>>>0>a>>>0){break a}else{j=f}}a=g+ -1|0;if((a|0)<0){break}else{a=e+(a<<3)|0}}if((f|0)==0){j=0;i=d;return j|0}j=c[f+4>>2]|0;i=d;return j|0}function WN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;g=(c[b>>2]|0)+1|0;e=c[a+16>>2]|0;do{if((e|0)==0){l=0;k=9}else{f=c[a+20>>2]|0;k=e;l=0;j=0;while(1){h=((k-l|0)>>>1)+l|0;m=c[f+(h<<3)>>2]|0;if((m|0)==(g|0)){k=4;break}m=m&2147483647;if((m|0)==(g|0)){j=c[f+(h<<3)+4>>2]|0}m=m>>>0<g>>>0;l=m?h+1|0:l;k=m?k:h;if(l>>>0>=k>>>0){k=8;break}}if((k|0)==4){j=c[f+(h<<3)+4>>2]|0;break}else if((k|0)==8){if((j|0)==0){k=9;break}else{break}}}}while(0);do{if((k|0)==9){if(l>>>0>=e>>>0){g=0;j=0;break}j=c[a+20>>2]|0;g=c[j+(l<<3)>>2]&2147483647;j=c[j+(l<<3)+4>>2]|0}}while(0);c[b>>2]=g;i=d;return j|0}function XN(a){a=a|0;i=i;return 210920+(b[215400+((a>>>0>257?0:a)<<1)>>1]|0)|0}function YN(a){a=a|0;var c=0;c=i;if(a>>>0>390){a=0;i=c;return a|0}a=210920+(b[214616+(a<<1)>>1]|0)|0;i=c;return a|0}function ZN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;a=c[a>>2]|0;e=a&2147483647;b=c[b>>2]|0;f=b&2147483647;do{if((e|0)==(f|0)){if(a>>>0>b>>>0){a=1;break}a=(a>>>0<b>>>0)<<31>>31}else{if(e>>>0>f>>>0){a=1;break}a=(e>>>0<f>>>0)<<31>>31}}while(0);i=d;return a|0}function _N(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;if(!((b|0)!=0&b>>>0<c>>>0)){q=0;i=g;return q|0}h=b+1|0;l=a[b]|0;o=52;p=0;while(1){n=o+p>>1;b=n<<1;b=216088+(d[b+216090|0]<<8|d[b+216091|0])|0;m=a[b]|0;q=m&127;if((q|0)==(l|0)){break}q=(q|0)<(l|0);p=q?n+1|0:p;o=q?o:n;if((p|0)>=(o|0)){j=0;k=16;break}}if((k|0)==16){i=g;return j|0}a:do{if(h>>>0<c>>>0){k=b;b:while(1){b=h+1|0;h=a[h]|0;j=k+1|0;o=a[j]|0;l=o&255;n=l&127;c:do{if(m<<24>>24<0){if((h|0)==(n|0)){m=o}else{j=0;k=16;break b}}else{if((n|0)==0){j=0;k=16;break b}k=((l&128|0)==0?j:k+3|0)+1|0;while(1){j=216088+(d[k]<<8|d[k+1|0])|0;m=a[j]|0;if((h|0)==(m&127|0)){break c}n=n+ -1|0;if((n|0)>0){k=k+2|0}else{j=0;k=16;break b}}}}while(0);if(b>>>0<c>>>0){k=j;h=b}else{e=m;f=j;break a}}if((k|0)==16){i=g;return j|0}}else{e=m;f=b}}while(0);if(e<<24>>24<=-1){q=0;i=g;return q|0}if((a[f+1|0]|0)>=0){q=0;i=g;return q|0}q=d[f+2|0]<<8|d[f+3|0];i=g;return q|0}function $N(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;g=i;i=i+8|0;c[b>>2]=0;f=jJ(a,24,g)|0;e=c[g>>2]|0;if((e|0)!=0){b=e;i=d;return b|0}c[f+8>>2]=a;c[b>>2]=f;b=c[g>>2]|0;i=d;return b|0}function aO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;if((a|0)==0){i=e;return}if((b|0)!=0&(d|0)>3075){c[a>>2]=b+1032;c[a+4>>2]=d+ -1032;c[a+12>>2]=b;i=e;return}else{c[a>>2]=0;c[a+4>>2]=0;c[a+12>>2]=0;i=e;return}}function bO(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return 0}function cO(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;k=c[e+4>>2]|0;j=c[e>>2]|0;if((d|0)==0){p=96;i=f;return p|0}if((c[d>>2]|0)==0){p=96;i=f;return p|0}h=d+4|0;if((c[h>>2]|0)==0){p=96;i=f;return p|0}if((k|0)==0){p=20;i=f;return p|0}g=b[k+2>>1]|0;if(g<<16>>16==0){p=0;i=f;return p|0}m=b[k>>1]|0;if(m<<16>>16<1){p=0;i=f;return p|0}l=c[k+12>>2]|0;if((l|0)==0){p=20;i=f;return p|0}if((c[k+4>>2]|0)==0){p=20;i=f;return p|0}if((g<<16>>16|0)!=((b[l+((m<<16>>16)+ -1<<1)>>1]|0)+1|0)){p=20;i=f;return p|0}g=c[d+12>>2]|0;e=e+8|0;if((c[e>>2]&2|0)!=0){p=19;i=f;return p|0}if((j|0)==0){p=20;i=f;return p|0}if((c[j+4>>2]|0)==0){p=0;i=f;return p|0}if((c[j>>2]|0)==0){p=0;i=f;return p|0}if((c[j+12>>2]|0)==0){p=20;i=f;return p|0}$W(g+128|0,k|0,20)|0;$W(g+104|0,j|0,24)|0;p=c[d>>2]|0;c[g+28>>2]=p;c[g+32>>2]=p+((c[h>>2]|0)>>>2<<2);if((c[e>>2]&1|0)!=0){p=19;i=f;return p|0}h=c[g+144>>2]|0;if((h&256|0)==0){c[g>>2]=6;c[g+16>>2]=32;c[g+20>>2]=2;d=6}else{c[g>>2]=12;c[g+16>>2]=256;c[g+20>>2]=50;d=12}p=1<<d;c[g+4>>2]=p;c[g+8>>2]=(p|0)/2|0;p=d+ -6|0;c[g+12>>2]=p;c[g+24>>2]=p;do{if((h&8|0)==0){d=g+180|0;j=(h&16|0)==0?0:4;a[d]=j;if((h&32|0)!=0){break}a[d]=j|1}else{a[g+180|0]=2}}while(0);d=g+181|0;a[d]=h>>>9&1^1;o=g+164|0;c[o>>2]=149;p=g+168|0;c[p>>2]=4;m=g+172|0;c[m>>2]=5;l=g+176|0;c[l>>2]=335;h=g+1024|0;c[h>>2]=0;j=g+960|0;b[j>>1]=0;e=g+962|0;b[e>>1]=(c[g+104>>2]|0)+65535;n=g+108|0;b[g+56>>1]=c[n>>2];c[g+60>>2]=c[g+116>>2];k=nO(g,0)|0;if((k|0)!=0){p=k;i=f;return p|0}do{if((a[d]|0)!=0){if((a[g+180|0]|0)==2){break}c[o>>2]=150;c[p>>2]=6;c[m>>2]=7;c[l>>2]=336;c[h>>2]=0;b[j>>1]=0;b[e>>1]=(c[n>>2]|0)+65535;g=nO(g,1)|0;if((g|0)==0){break}i=f;return g|0}}while(0);p=0;i=f;return p|0}function dO(a){a=a|0;var b=0;b=i;lJ(c[a+8>>2]|0,a);i=b;return}function eO(a){a=a|0;var b=0,d=0;b=i;d=c[a+4>>2]|0;Gd[c[(c[(c[a+20>>2]|0)+56>>2]|0)+8>>2]&255](c[a+60>>2]|0,c[d+172>>2]|0,c[d+176>>2]|0);i=b;return 0}function fO(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=i;n=i;i=i+8|0;o=n;j=i;i=i+16|0;q=j;m=i;i=i+48|0;l=m;k=e+72|0;if((c[k>>2]|0)!=(c[d+24>>2]|0)){c[n>>2]=6;v=6;i=h;return v|0}p=c[d+20>>2]|0;do{if((f|0)==2){if((p|0)==270984){e=19}else{break}i=h;return e|0}else{if((p|0)==270912){e=19}else{break}i=h;return e|0}}while(0);p=e+108|0;if((g|0)!=0){HJ(p,c[g>>2]|0,c[g+4>>2]|0)}zK(p,q);v=c[j>>2]&-64;c[j>>2]=v;g=q+4|0;t=c[g>>2]&-64;c[g>>2]=t;s=q+8|0;u=(c[s>>2]|0)+63&-64;c[s>>2]=u;q=q+12|0;s=(c[q>>2]|0)+63&-64;c[q>>2]=s;v=u-v>>6;t=s-t>>6;s=e+76|0;u=c[d+8>>2]|0;r=e+156|0;if((c[(c[r>>2]|0)+4>>2]&1|0)!=0){w=e+88|0;lJ(u,c[w>>2]|0);c[w>>2]=0;w=(c[r>>2]|0)+4|0;c[w>>2]=c[w>>2]&-2}if((f&2|0)==0){a[e+94|0]=2;b[e+92>>1]=256;f=v+3&-4}else{a[e+94|0]=1;f=(v+15|0)>>>4<<1}c[e+80>>2]=v;c[s>>2]=t;c[e+84>>2]=f;c[e+88>>2]=oJ(u,t,0,f,0,o)|0;o=c[n>>2]|0;if((o|0)!=0){w=o;i=h;return w|0}w=(c[r>>2]|0)+4|0;c[w>>2]=c[w>>2]|1;HJ(p,0-(c[j>>2]|0)|0,0-(c[g>>2]|0)|0);c[m>>2]=s;c[l+4>>2]=p;c[l+8>>2]=(a[e+94|0]|0)==2;c[n>>2]=Bd[c[d+64>>2]&255](c[d+60>>2]|0,l)|0;HJ(p,c[j>>2]|0,c[g>>2]|0);l=c[n>>2]|0;if((l|0)!=0){w=l;i=h;return w|0}c[k>>2]=1651078259;c[e+100>>2]=c[j>>2]>>6;c[e+104>>2]=c[q>>2]>>6;w=0;i=h;return w|0}function gO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;if((c[b+72>>2]|0)!=(c[a+24>>2]|0)){a=6;i=f;return a|0}if((d|0)!=0){GJ(b+108|0,d)}if((e|0)==0){a=0;i=f;return a|0}HJ(b+108|0,c[e>>2]|0,c[e+4>>2]|0);a=0;i=f;return a|0}function hO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;bX(d|0,0,16)|0;if((c[b+72>>2]|0)!=(c[a+24>>2]|0)){i=e;return}zK(b+108|0,d);i=e;return}function iO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;a=sd[c[(c[(c[a+20>>2]|0)+56>>2]|0)+12>>2]&127](c[a+60>>2]|0,b,d)|0;i=e;return a|0}function jO(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;e=c[a+112>>2]|0;g=0-e|0;b[a+156>>1]=g;f=b[d>>1]|0;d=a+148|0;c[d>>2]=da(f,g)|0;if((e|0)>0){c[d>>2]=da((c[a+104>>2]|0)+~f|0,e)|0}b[a+158>>1]=0;b[a+160>>1]=0;i=i;return}function kO(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;l=i;p=c[f+4>>2]|0;g=0-p|0;m=c[f>>2]|0;k=(h+ -1+p&g)>>m;if((j-h-p|0)>(c[f+20>>2]|0)){h=(g&j)>>m}else{h=k}if((h|0)<=-1){i=l;return}j=e[f+56>>1]|0;if((k|0)>=(j|0)){i=l;return}k=(k|0)<0?0:k;m=(h|0)<(j|0)?h:j+ -1|0;h=k<<13>>16;j=m<<13>>16;g=255>>>(k&7);k=127>>>(m&7)^255;m=f+158|0;if((b[m>>1]|0)>(h|0)){b[m>>1]=h}m=f+160|0;if((b[m>>1]|0)<(j|0)){b[m>>1]=j}m=c[f+60>>2]|0;n=c[f+148>>2]|0;o=n+h|0;p=m+o|0;f=j-h|0;if((f|0)<=0){a[p]=d[p]|k&g;i=l;return}a[p]=d[p]|g;g=m+(o+1)|0;if((f+ -1|0)>0){bX(g|0,-1,j+ -1-h|0)|0;g=m+(n+j)|0}a[g]=d[g]|k;i=l;return}function lO(f,g,h,j,k,l){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=i;q=c[f+4>>2]|0;r=h+ -1|0;p=0-q|0;n=r+q&p;o=p&j;do{if((n|0)>(o|0)){s=c[k+12>>2]|0;t=s&7;if((n|0)!=(o+q|0)){i=m;return}do{if((t|0)==5|(t|0)==1){do{if((c[k+28>>2]|0)==(l|0)){if((c[k+16>>2]|0)>=1){break}if((s&16|0)==0){i=m;return}if((j-h|0)>=(c[f+8>>2]|0)){break}i=m;return}}while(0);do{if((c[l+28>>2]|0)==(k|0)){if((c[k+20>>2]|0)!=(g<<16>>16|0)){break}if((s&32|0)==0){i=m;return}if((j-h|0)>=(c[f+8>>2]|0)){break}i=m;return}}while(0);if((t|0)==1){l=o;break}l=(c[f+8>>2]|0)+((r+j|0)/2|0)&p}else if((t|0)==0){l=o}else if((t|0)==4){l=(c[f+8>>2]|0)+((r+j|0)/2|0)&p}else{i=m;return}}while(0);p=c[f>>2]|0;n=((l|0)==(n|0)?o:n)>>p;if((n|0)<=-1){n=l;break}if((n|0)>=(e[f+56>>1]|0)){n=l;break}if((d[(c[f+60>>2]|0)+((c[f+148>>2]|0)+(n<<13>>16))|0]&128>>>(n&7)|0)==0){n=l;break}i=m;return}else{p=c[f>>2]|0}}while(0);n=n>>p;if((n|0)<=-1){i=m;return}if((n|0)>=(e[f+56>>1]|0)){i=m;return}o=n>>>3&65535;l=f+158|0;if((b[l>>1]|0)>o<<16>>16){b[l>>1]=o}l=f+160|0;if((b[l>>1]|0)<o<<16>>16){b[l>>1]=o}t=(c[f+60>>2]|0)+((c[f+148>>2]|0)+(o<<16>>16))|0;a[t]=d[t]|128>>>(n&7);i=m;return}function mO(a){a=a|0;var d=0;d=a+148|0;c[d>>2]=(c[d>>2]|0)+(b[a+156>>1]|0);i=i;return}function nO(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=i;q=i;i=i+8|0;o=q;l=i;i=i+8|0;p=l;m=i;i=i+8|0;k=m;u=i;i=i+8|0;j=u;r=i;i=i+8|0;K=r;n=d+1024|0;X=c[n>>2]|0;if((X|0)<=-1){ia=0;i=g;return ia|0}M=d+4|0;I=d+80|0;J=d+76|0;w=d+28|0;F=d+40|0;N=d+44|0;H=d+92|0;C=d+87|0;v=d+86|0;L=d+32|0;D=d+36|0;h=d+48|0;E=d+88|0;G=d+84|0;B=d+128|0;x=d+100|0;y=d+96|0;A=d+140|0;z=d+132|0;s=d+24|0;t=d+8|0;O=f<<24>>24!=0;T=d+136|0;V=d+68|0;U=d+72|0;P=d+180|0;Q=d+164|0;f=d+176|0;S=d+172|0;R=d+168|0;a:while(1){ia=c[M>>2]|0;c[I>>2]=da(b[d+960+(X<<2)+2>>1]|0,ia)|0;c[J>>2]=da(b[d+960+(X<<2)>>1]|0,ia)|0;ia=c[w>>2]|0;c[F>>2]=ia;c[N>>2]=0;c[H>>2]=0;a[C]=0;a[v]=0;c[D>>2]=(c[L>>2]|0)+ -32;c[h>>2]=0;c[E>>2]=ia;c[ia+8>>2]=ia;b[G>>1]=0;b:do{if((b[B>>1]|0)>0){X=0;ca=0;while(1){c[x>>2]=0;c[y>>2]=0;aa=c[z>>2]|0;fa=e[(c[A>>2]|0)+(X<<1)>>1]|0;W=aa+(fa<<3)|0;_=aa+(ca<<3)|0;ia=c[s>>2]|0;ea=c[t>>2]|0;Y=(c[_>>2]<<ia)-ea|0;$=(c[aa+(ca<<3)+4>>2]<<ia)-ea|0;Z=(c[W>>2]<<ia)-ea|0;ea=(c[aa+(fa<<3)+4>>2]<<ia)-ea|0;ba=O?$:Y;$=O?Y:$;Y=O?ea:Z;Z=O?Z:ea;ea=c[T>>2]|0;ga=ea+ca|0;ha=a[ga]|0;if((ha&4)!=0){a[P]=(ha&255)>>>5;ha=a[ga]|0}ha=ha&3;if((ha|0)==0){if((a[ea+fa|0]&3)==1){W=aa+(fa+ -1<<3)|0}else{Y=(Y+ba|0)/2|0;Z=(Z+$|0)/2|0}ga=ca+ -1|0;_=aa+(ga<<3)|0;ga=ea+ga|0}else if((ha|0)==2){W=30;break a}else{Y=ba;Z=$}c[V>>2]=Y;c[U>>2]=Z;c:do{if(_>>>0<W>>>0){$=ga;d:while(1){fa=_+8|0;aa=$+1|0;ba=a[aa]&3;if((ba|0)==1){ha=c[s>>2]|0;ia=c[t>>2]|0;$=(c[fa>>2]<<ha)-ia|0;_=(c[_+12>>2]<<ha)-ia|0;if((sO(d,O?_:$,O?$:_)|0)<<24>>24==0){_=fa;$=aa}else{W=83;break b}}else if((ba|0)==0){ha=c[s>>2]|0;ia=c[t>>2]|0;$=(c[fa>>2]<<ha)-ia|0;_=(c[_+12>>2]<<ha)-ia|0;ca=O?_:$;ba=O?$:_;e:do{if(O){$=aa;while(1){if(fa>>>0>=W>>>0){W=23;break d}_=fa+8|0;$=$+1|0;ga=a[$]&3;ia=c[s>>2]|0;aa=c[t>>2]|0;ea=(c[_>>2]<<ia)-aa|0;aa=(c[fa+12>>2]<<ia)-aa|0;if((ga|0)==1){break e}else if((ga|0)!=0){W=30;break a}if((tO(d,ca,ba,(aa+ca|0)/2|0,(ea+ba|0)/2|0)|0)<<24>>24==0){fa=_;ca=aa;ba=ea}else{W=83;break b}}}else{$=aa;while(1){if(fa>>>0>=W>>>0){W=23;break d}_=fa+8|0;$=$+1|0;ga=a[$]&3;ia=c[s>>2]|0;ea=c[t>>2]|0;aa=(c[_>>2]<<ia)-ea|0;ea=(c[fa+12>>2]<<ia)-ea|0;if((ga|0)==1){break e}else if((ga|0)!=0){W=30;break a}if((tO(d,ca,ba,(aa+ca|0)/2|0,(ea+ba|0)/2|0)|0)<<24>>24==0){fa=_;ca=aa;ba=ea}else{W=83;break b}}}}while(0);if((tO(d,ca,ba,aa,ea)|0)<<24>>24!=0){W=83;break b}}else{if((_+16|0)>>>0>W>>>0){W=30;break a}if((a[$+2|0]&3)!=2){W=30;break a}ba=_+24|0;fa=c[s>>2]|0;ca=c[t>>2]|0;ga=(c[_+8>>2]<<fa)-ca|0;ea=(c[_+12>>2]<<fa)-ca|0;ha=(c[_+16>>2]<<fa)-ca|0;ia=(c[_+20>>2]<<fa)-ca|0;aa=O?ea:ga;ga=O?ga:ea;ea=O?ia:ha;ha=O?ha:ia;if(ba>>>0>W>>>0){W=28;break}ia=(c[ba>>2]<<fa)-ca|0;_=(c[_+28>>2]<<fa)-ca|0;if((uO(d,aa,ga,ea,ha,O?_:ia,O?ia:_)|0)<<24>>24==0){_=ba;$=$+3|0}else{W=83;break b}}if(_>>>0>=W>>>0){W=29;break c}}if((W|0)==23){W=0;if((tO(d,ca,ba,Y,Z)|0)<<24>>24==0){break}else{W=83;break b}}else if((W|0)==28){W=0;if((uO(d,aa,ga,ea,ha,Y,Z)|0)<<24>>24==0){break}else{W=83;break b}}}else{W=29}}while(0);if((W|0)==29){W=0;if((sO(d,Y,Z)|0)<<24>>24!=0){W=83;break b}}Y=(b[(c[A>>2]|0)+(X<<1)>>1]|0)+1<<16>>16;aa=c[U>>2]|0;_=c[M>>2]|0;$=_+ -1&aa;do{if(($|0)==0){if((aa|0)<(c[J>>2]|0)){break}if((aa|0)>(c[I>>2]|0)){break}Z=c[y>>2]|0;if((Z|0)==0){break}if(((c[(c[E>>2]|0)+12>>2]^c[Z+12>>2])&8|0)!=0){break}c[F>>2]=(c[F>>2]|0)+ -4}}while(0);Z=c[E>>2]|0;if((c[Z+12>>2]&8|0)==0){aa=((aa+ -1+_&0-_)-aa|0)>=(c[t>>2]|0)}else{aa=($|0)>=(c[t>>2]|0)}$=c[F>>2]|0;_=$-(c[Z+8>>2]|0)|0;if((_|0)<0){W=41;break a}if((_|0)>0){c[Z+16>>2]=_>>2;do{if(aa){_=(c[E>>2]|0)+12|0;$=c[_>>2]|0;if(($&8|0)==0){c[_>>2]=$|32;break}else{c[_>>2]=$|16;break}}}while(0);$=c[E>>2]|0;ia=c[F>>2]|0;c[E>>2]=ia;c[F>>2]=ia+32;c[ia+16>>2]=0;c[(c[E>>2]|0)+8>>2]=c[F>>2];c[$+28>>2]=c[E>>2];b[G>>1]=(b[G>>1]|0)+1<<16>>16;$=c[F>>2]|0}if($>>>0>=(c[D>>2]|0)>>>0){W=49;break}a[C]=0;_=c[y>>2]|0;if((_|0)!=0){c[Z+28>>2]=_}X=X+1|0;if((X|0)>=(b[B>>1]|0)){break}ca=Y&65535}if((W|0)==49){c[N>>2]=98;W=84;break}Y=b[G>>1]|0;X=c[H>>2]|0;if((Y&65535)<2|(X|0)==0){W=81;break}if(Y<<16>>16==0){W=82;break}while(1){if((Y&65535)>1){W=c[X+16>>2]|0;c[X+4>>2]=(c[X+8>>2]|0)+(W<<2)}else{c[X+4>>2]=0;W=c[X+16>>2]|0}_=X+20|0;Z=c[_>>2]|0;if((c[X+12>>2]&8|0)==0){aa=Z-W+1|0;c[_>>2]=aa;ia=X+8|0;c[ia>>2]=(c[ia>>2]|0)+(W+ -1<<2)}else{aa=Z;Z=W+ -1+Z|0}$=c[h>>2]|0;_=c[L>>2]|0;ca=$;while(1){ba=ca+ -1|0;if((ca|0)<=0){W=68;break}ea=c[_+(ba-$<<2)>>2]|0;if((ea|0)>(aa|0)){ca=ba}else{W=65;break}}do{if((W|0)==65){W=0;if((ea|0)<(aa|0)){W=aa;while(1){ia=_+(ba-$<<2)|0;aa=c[ia>>2]|0;c[ia>>2]=W;if((ba|0)>0){ba=ba+ -1|0;W=aa}else{W=68;break}}}else{if((ca|0)<1){W=68;break}else{break}}}}while(0);if((W|0)==68){ia=(c[D>>2]|0)+ -4|0;c[D>>2]=ia;if(ia>>>0<=(c[F>>2]|0)>>>0){W=70;break}_=c[h>>2]|0;c[h>>2]=_+1;c[(c[L>>2]|0)+(~_<<2)>>2]=aa;_=c[L>>2]|0;$=c[h>>2]|0}ca=Z+1|0;ba=$;while(1){Z=ba+ -1|0;if((ba|0)<=0){W=77;break}aa=c[_+(Z-$<<2)>>2]|0;if((aa|0)>(ca|0)){ba=Z}else{W=74;break}}do{if((W|0)==74){W=0;if((aa|0)<(ca|0)){W=ca;while(1){ia=_+(Z-$<<2)|0;ca=c[ia>>2]|0;c[ia>>2]=W;if((Z|0)>0){Z=Z+ -1|0;W=ca}else{W=77;break}}}else{if((ba|0)<1){W=77;break}else{break}}}}while(0);if((W|0)==77){ia=(c[D>>2]|0)+ -4|0;c[D>>2]=ia;if(ia>>>0<=(c[F>>2]|0)>>>0){W=79;break}ia=c[h>>2]|0;c[h>>2]=ia+1;c[(c[L>>2]|0)+(~ia<<2)>>2]=ca}Y=Y+ -1<<16>>16;if(Y<<16>>16==0){W=82;break b}else{X=c[X+4>>2]|0}}if((W|0)==70){c[N>>2]=98;W=84;break}else if((W|0)==79){c[N>>2]=98;W=84;break}}else{W=81}}while(0);if((W|0)==81){c[H>>2]=0;W=82}do{if((W|0)==82){W=0;if((c[F>>2]|0)>>>0>=(c[D>>2]|0)>>>0){W=83;break}X=c[H>>2]|0;do{if((X|0)!=0){c[m>>2]=0;c[u>>2]=0;c[r>>2]=0;ba=c[d>>2]|0;aa=c[J>>2]>>ba&65535;b[l>>1]=aa;ba=c[I>>2]>>ba&65535;b[q>>1]=ba;while(1){Y=X+4|0;Z=c[Y>>2]|0;$=c[X+20>>2]|0;_=$&65535;$=$+65535+(c[X+16>>2]|0)&65535;if(ba<<16>>16>_<<16>>16){b[q>>1]=_}else{_=ba}if(aa<<16>>16<$<<16>>16){b[l>>1]=$}else{$=aa}c[X>>2]=0;aa=c[m>>2]|0;f:do{if((aa|0)==0){ba=k;aa=0}else{ca=k;while(1){ba=aa+4|0;if((c[aa>>2]|0)>0){ba=ca;break f}aa=c[ba>>2]|0;if((aa|0)==0){aa=0;break}else{ca=ba}}}}while(0);c[Y>>2]=aa;c[ba>>2]=X;if((Z|0)==0){break}else{aa=$;ba=_;X=Z}}if((c[h>>2]|0)==0){W=98;break a}Gd[c[Q>>2]&255](d,o,p);Z=c[m>>2]|0;Y=b[q>>1]|0;if((Z|0)!=0){X=Y&65535;_=Z;do{c[_+24>>2]=(c[_+20>>2]|0)-X&65535;_=c[_+4>>2]|0;}while((_|0)!=0)}X=c[h>>2]|0;g:do{if((X|0)>0){if((c[(c[L>>2]|0)+(0-X<<2)>>2]|0)==(Y<<16>>16|0)){ia=X+ -1|0;c[h>>2]=ia;if((ia|0)>0){X=0}else{break}}else{X=0}while(1){if((Z|0)!=0){while(1){$=Z+4|0;_=c[$>>2]|0;ha=Z+24|0;ia=c[ha>>2]|0;c[ha>>2]=ia-X;do{if((ia|0)==(X|0)){ca=k;while(1){aa=c[ca>>2]|0;if((aa|0)==0){break}ba=aa+4|0;if((aa|0)==(Z|0)){W=112;break}else{ca=ba}}if((W|0)==112){W=0;c[ca>>2]=c[ba>>2]}aa=c[Z>>2]|0;if((c[Z+12>>2]&8|0)==0){ca=c[r>>2]|0;h:do{if((ca|0)==0){ba=K;ca=0}else{ea=K;while(1){ba=ca+4|0;if((aa|0)<(c[ca>>2]|0)){ba=ea;break h}ca=c[ba>>2]|0;if((ca|0)==0){ca=0;break}else{ea=ba}}}}while(0);c[$>>2]=ca;c[ba>>2]=Z;break}else{ca=c[u>>2]|0;i:do{if((ca|0)==0){ba=j;ca=0}else{ea=j;while(1){ba=ca+4|0;if((aa|0)<(c[ca>>2]|0)){ba=ea;break i}ca=c[ba>>2]|0;if((ca|0)==0){ca=0;break}else{ea=ba}}}}while(0);c[$>>2]=ca;c[ba>>2]=Z;break}}}while(0);if((_|0)==0){break}else{Z=_}}}$=c[u>>2]|0;do{if(($|0)==0){$=0}else{X=$;do{ia=X+8|0;ha=c[ia>>2]|0;c[X>>2]=c[ha>>2];c[ia>>2]=ha+(((c[X+12>>2]|0)>>>2&2)+ -1<<2);ia=X+16|0;c[ia>>2]=(c[ia>>2]|0)+ -1;X=c[X+4>>2]|0;}while((X|0)!=0);ba=$+4|0;aa=c[ba>>2]|0;if((aa|0)==0){break}else{X=$;Z=$;_=j}while(1){if((c[Z>>2]|0)>(c[aa>>2]|0)){c[_>>2]=aa;$=aa+4|0;c[ba>>2]=c[$>>2];c[$>>2]=Z;Z=c[u>>2]|0;$=Z;_=j}else{$=X;Z=aa;_=ba}ba=Z+4|0;aa=c[ba>>2]|0;if((aa|0)==0){break}else{X=$}}}}while(0);_=c[r>>2]|0;do{if((_|0)==0){_=0}else{X=_;do{ia=X+8|0;ha=c[ia>>2]|0;c[X>>2]=c[ha>>2];c[ia>>2]=ha+(((c[X+12>>2]|0)>>>2&2)+ -1<<2);ia=X+16|0;c[ia>>2]=(c[ia>>2]|0)+ -1;X=c[X+4>>2]|0;}while((X|0)!=0);ba=_+4|0;aa=c[ba>>2]|0;if((aa|0)==0){break}else{X=_;Z=_;$=aa;aa=K}while(1){if((c[Z>>2]|0)>(c[$>>2]|0)){c[aa>>2]=$;_=$+4|0;c[ba>>2]=c[_>>2];c[_>>2]=Z;Z=c[r>>2]|0;_=Z;aa=K}else{_=X;Z=$;aa=ba}ba=Z+4|0;$=c[ba>>2]|0;if(($|0)==0){break}else{X=_}}$=c[u>>2]|0}}while(0);Z=c[h>>2]|0;c[h>>2]=Z+ -1;Z=c[(c[L>>2]|0)+(0-Z<<2)>>2]<<16>>16;X=Z-(Y&65535)|0;j:do{if((Y<<16>>16|0)<(Z|0)){while(1){k:do{if(($|0)!=0){aa=0;while(1){ca=c[$>>2]|0;fa=c[_>>2]|0;ea=(ca|0)>(fa|0);ba=ea?fa:ca;ca=ea?ca:fa;ea=c[M>>2]|0;ga=0-ea|0;fa=ba&ga;ga=ea+ -1+ca&ga;do{if((ca-ba|0)>(ea|0)|(fa|0)==(ba|0)|(ga|0)==(ca|0)){W=143}else{if(!((fa|0)>(ga|0)|(ga|0)==(fa+ea|0))){W=143;break}if((c[$+12>>2]&7|0)==2){break}c[$>>2]=ba;c[_>>2]=ca;c[$+24>>2]=1;aa=aa+1<<16>>16}}while(0);if((W|0)==143){W=0;ud[c[R>>2]&7](d,Y,ba,ca,$,_)}$=c[$+4>>2]|0;if(($|0)==0){break}_=c[_+4>>2]|0}if(aa<<16>>16<=0){break}$=c[u>>2]|0;if(($|0)==0){break}else{_=K}while(1){_=c[_>>2]|0;aa=$+24|0;if((c[aa>>2]|0)!=0){c[aa>>2]=0;ud[c[S>>2]&7](d,Y,c[$>>2]|0,c[_>>2]|0,$,_)}$=c[$+4>>2]|0;if(($|0)==0){break k}_=_+4|0}}}while(0);fd[c[f>>2]&511](d);Y=Y+1<<16>>16;$=c[u>>2]|0;if((Y<<16>>16|0)>=(Z|0)){break j}do{if(($|0)==0){$=0}else{_=$;do{ia=_+8|0;ha=c[ia>>2]|0;c[_>>2]=c[ha>>2];c[ia>>2]=ha+(((c[_+12>>2]|0)>>>2&2)+ -1<<2);ia=_+16|0;c[ia>>2]=(c[ia>>2]|0)+ -1;_=c[_+4>>2]|0;}while((_|0)!=0);ca=$+4|0;ba=c[ca>>2]|0;if((ba|0)==0){break}else{_=$;aa=j}while(1){if((c[$>>2]|0)>(c[ba>>2]|0)){c[aa>>2]=ba;_=ba+4|0;c[ca>>2]=c[_>>2];c[_>>2]=$;$=c[u>>2]|0;_=$;aa=j}else{$=ba;aa=ca}ca=$+4|0;ba=c[ca>>2]|0;if((ba|0)==0){$=_;break}}}}while(0);_=c[r>>2]|0;if((_|0)==0){_=0;continue}else{aa=_}do{ia=aa+8|0;ha=c[ia>>2]|0;c[aa>>2]=c[ha>>2];c[ia>>2]=ha+(((c[aa+12>>2]|0)>>>2&2)+ -1<<2);ia=aa+16|0;c[ia>>2]=(c[ia>>2]|0)+ -1;aa=c[aa+4>>2]|0;}while((aa|0)!=0);ca=_+4|0;aa=c[ca>>2]|0;if((aa|0)==0){continue}else{$=_;ba=K}while(1){if((c[_>>2]|0)>(c[aa>>2]|0)){c[ba>>2]=aa;aa=aa+4|0;c[ca>>2]=c[aa>>2];c[aa>>2]=_;aa=c[r>>2]|0;_=aa;ba=K}else{_=$;ba=ca}ca=aa+4|0;ea=c[ca>>2]|0;if((ea|0)==0){break}else{$=_;_=aa;aa=ea}}$=c[u>>2]|0}}}while(0);if(($|0)!=0){while(1){aa=c[$+4>>2]|0;l:do{if((c[$+16>>2]|0)==0){_=j;while(1){Z=c[_>>2]|0;if((Z|0)==0){break l}ba=Z+4|0;if((Z|0)==($|0)){break}else{_=ba}}c[_>>2]=c[ba>>2]}}while(0);if((aa|0)==0){break}else{$=aa}}}_=c[r>>2]|0;if((_|0)!=0){while(1){$=c[_+4>>2]|0;m:do{if((c[_+16>>2]|0)==0){Z=K;while(1){ba=c[Z>>2]|0;if((ba|0)==0){break m}aa=ba+4|0;if((ba|0)==(_|0)){break}else{Z=aa}}c[Z>>2]=c[aa>>2]}}while(0);if(($|0)==0){break}else{_=$}}}if((c[h>>2]|0)<=0){break g}Z=c[m>>2]|0;X=X<<16>>16}}}while(0);if(Y<<16>>16>(b[l>>1]|0)){break}do{fd[c[f>>2]&511](d);Y=Y+1<<16>>16;}while(Y<<16>>16<=(b[l>>1]|0))}}while(0);X=(c[n>>2]|0)+ -1|0}}while(0);if((W|0)==83){if((c[N>>2]|0)==98){W=84}else{h=1;W=180;break}}if((W|0)==84){c[N>>2]=0;X=c[n>>2]|0;ia=b[d+960+(X<<2)>>1]|0;W=b[d+960+(X<<2)+2>>1]|0;Y=(((W<<16>>16)+(ia<<16>>16)|0)/2|0)&65535;if((X|0)>6|Y<<16>>16<ia<<16>>16){W=85;break}b[d+960+(X+1<<2)>>1]=Y;b[d+960+((c[n>>2]|0)+1<<2)+2>>1]=W;b[d+960+(c[n>>2]<<2)+2>>1]=Y+ -1<<16>>16;X=(c[n>>2]|0)+1|0}c[n>>2]=X;if((X|0)<=-1){h=0;W=180;break}}if((W|0)==30){c[N>>2]=20;ia=1;i=g;return ia|0}else if((W|0)==41){c[N>>2]=99;ia=1;i=g;return ia|0}else if((W|0)==85){c[n>>2]=0;c[N>>2]=20;ia=20;i=g;return ia|0}else if((W|0)==98){c[N>>2]=20;ia=20;i=g;return ia|0}else if((W|0)==180){i=g;return h|0}return 0}function oO(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return}function pO(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;j=i;h=c[b+4>>2]|0;if((g-f|0)>=(h|0)){i=j;return}k=0-h|0;f=f+ -1+h&k;if((f|0)!=(k&g|0)){i=j;return}e=e<<16>>16;h=f>>c[b>>2];if((h|0)<=-1){i=j;return}g=c[b+104>>2]|0;if((h|0)>=(g|0)){i=j;return}f=c[b+112>>2]|0;h=(e>>3)-(da(f,h)|0)|0;if((f|0)>0){h=h+(da(f,g+ -1|0)|0)|0}k=(c[b+60>>2]|0)+h|0;a[k]=d[k]|0|128>>>(e&7);i=j;return}function qO(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;m=c[b+4>>2]|0;r=f+ -1|0;q=0-m|0;l=r+m&q;n=q&g;do{if((l|0)>(n|0)){p=c[h+12>>2]|0;o=p&7;if((l|0)!=(n+m|0)){i=k;return}do{if((o|0)==0){m=n}else if((o|0)==5|(o|0)==1){do{if((c[h+28>>2]|0)==(j|0)){if((c[h+16>>2]|0)>=1){break}if((p&16|0)==0){i=k;return}if((g-f|0)>=(c[b+8>>2]|0)){break}i=k;return}}while(0);do{if((c[j+28>>2]|0)==(h|0)){if((c[h+20>>2]|0)!=(e<<16>>16|0)){break}if((p&32|0)==0){i=k;return}if((g-f|0)>=(c[b+8>>2]|0)){break}i=k;return}}while(0);if((o|0)==1){m=n;break}m=(c[b+8>>2]|0)+((r+g|0)/2|0)&q}else if((o|0)==4){m=(c[b+8>>2]|0)+((r+g|0)/2|0)&q}else{i=k;return}}while(0);j=c[b>>2]|0;g=((m|0)==(l|0)?n:l)>>j;f=c[b+60>>2]|0;n=e<<16>>16;l=n>>3;n=128>>>(n&7);e=b+104|0;p=c[b+112>>2]|0;o=l-(da(g,p)|0)|0;if((p|0)>0){o=(da((c[e>>2]|0)+ -1|0,p)|0)+o|0}if((g|0)<=-1){e=f;f=l;l=m;break}if((g|0)>=(c[e>>2]|0)){e=f;f=l;l=m;break}if((n&(d[f+o|0]|0)|0)==0){e=f;f=l;l=m;break}i=k;return}else{f=e<<16>>16;j=c[b>>2]|0;e=c[b+60>>2]|0;n=128>>>(f&7);f=f>>3}}while(0);m=l>>j;if((m|0)<=-1){i=k;return}l=c[b+104>>2]|0;if((m|0)>=(l|0)){i=k;return}b=c[b+112>>2]|0;m=f-(da(b,m)|0)|0;if((b|0)>0){m=m+(da(b,l+ -1|0)|0)|0}r=e+m|0;a[r]=d[r]|0|n;i=k;return}function rO(a){a=a|0;i=i;return}function sO(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=i;j=e+100|0;k=c[j>>2]|0;do{if((k|0)==0){k=c[e+72>>2]|0;if((k|0)<(g|0)){n=c[e+4>>2]|0;k=((k+ -1+n&0-n)-k|0)<(c[e+8>>2]|0);n=e+92|0;l=e+40|0;m=c[l>>2]|0;if((c[n>>2]|0)==0){c[e+88>>2]=m;c[n>>2]=m;m=m+32|0;c[l>>2]=m}if(m>>>0>=(c[e+36>>2]|0)>>>0){c[e+44>>2]=98;s=1;i=h;return s|0}m=e+88|0;c[(c[m>>2]|0)+12>>2]=0;c[(c[m>>2]|0)+20>>2]=0;c[(c[m>>2]|0)+16>>2]=0;c[(c[m>>2]|0)+8>>2]=c[l>>2];c[(c[m>>2]|0)+4>>2]=0;c[(c[m>>2]|0)+28>>2]=0;c[(c[m>>2]|0)+12>>2]=d[e+180|0]|0;s=(c[m>>2]|0)+12|0;c[s>>2]=c[s>>2]|8;if(!k){s=(c[m>>2]|0)+12|0;c[s>>2]=c[s>>2]|32}k=e+96|0;if((c[k>>2]|0)==0){c[k>>2]=c[m>>2]}c[j>>2]=1;a[e+86|0]=1;a[e+87|0]=0;l=63;break}if((k|0)<=(g|0)){l=62;break}k=((c[e+4>>2]|0)+ -1&k|0)<(c[e+8>>2]|0);m=e+92|0;l=e+40|0;n=c[l>>2]|0;if((c[m>>2]|0)==0){c[e+88>>2]=n;c[m>>2]=n;n=n+32|0;c[l>>2]=n}if(n>>>0>=(c[e+36>>2]|0)>>>0){c[e+44>>2]=98;s=1;i=h;return s|0}m=e+88|0;c[(c[m>>2]|0)+12>>2]=0;c[(c[m>>2]|0)+20>>2]=0;c[(c[m>>2]|0)+16>>2]=0;c[(c[m>>2]|0)+8>>2]=c[l>>2];c[(c[m>>2]|0)+4>>2]=0;c[(c[m>>2]|0)+28>>2]=0;c[(c[m>>2]|0)+12>>2]=d[e+180|0]|0;if(!k){s=(c[m>>2]|0)+12|0;c[s>>2]=c[s>>2]|16}k=e+96|0;if((c[k>>2]|0)==0){c[k>>2]=c[m>>2]}c[j>>2]=2;a[e+86|0]=1;a[e+87|0]=0;l=64}else if((k|0)==1){m=e+72|0;k=c[m>>2]|0;if((k|0)<=(g|0)){l=63;break}n=e+4|0;o=e+8|0;s=((c[n>>2]|0)+ -1&k|0)<(c[o>>2]|0);l=e+40|0;r=c[l>>2]|0;k=e+88|0;q=c[k>>2]|0;p=r-(c[q+8>>2]|0)|0;if((p|0)<0){c[e+44>>2]=99;s=1;i=h;return s|0}if((p|0)>0){c[q+16>>2]=p>>2;do{if(!s){q=(c[k>>2]|0)+12|0;p=c[q>>2]|0;if((p&8|0)==0){c[q>>2]=p|32;break}else{c[q>>2]=p|16;break}}}while(0);r=c[k>>2]|0;s=c[l>>2]|0;c[k>>2]=s;c[l>>2]=s+32;c[s+16>>2]=0;c[(c[k>>2]|0)+8>>2]=c[l>>2];c[r+28>>2]=c[k>>2];r=e+84|0;b[r>>1]=(b[r>>1]|0)+1<<16>>16;r=c[l>>2]|0}q=c[e+36>>2]|0;if(r>>>0>=q>>>0){c[e+44>>2]=98;s=1;i=h;return s|0}p=e+87|0;a[p]=0;m=((c[n>>2]|0)+ -1&c[m>>2]|0)<(c[o>>2]|0);n=e+92|0;if((c[n>>2]|0)==0){c[k>>2]=r;c[n>>2]=r;r=r+32|0;c[l>>2]=r}if(r>>>0>=q>>>0){c[e+44>>2]=98;s=1;i=h;return s|0}c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+8>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=0;c[(c[k>>2]|0)+28>>2]=0;c[(c[k>>2]|0)+12>>2]=d[e+180|0]|0;if(!m){s=(c[k>>2]|0)+12|0;c[s>>2]=c[s>>2]|16}l=e+96|0;if((c[l>>2]|0)==0){c[l>>2]=c[k>>2]}c[j>>2]=2;a[e+86|0]=1;a[p]=0;l=64}else if((k|0)==2){n=e+72|0;k=c[n>>2]|0;if((k|0)>=(g|0)){l=64;break}m=e+4|0;s=c[m>>2]|0;o=e+8|0;s=((k+ -1+s&0-s)-k|0)<(c[o>>2]|0);l=e+40|0;r=c[l>>2]|0;k=e+88|0;q=c[k>>2]|0;p=r-(c[q+8>>2]|0)|0;if((p|0)<0){c[e+44>>2]=99;s=1;i=h;return s|0}if((p|0)>0){c[q+16>>2]=p>>2;do{if(!s){p=(c[k>>2]|0)+12|0;q=c[p>>2]|0;if((q&8|0)==0){c[p>>2]=q|32;break}else{c[p>>2]=q|16;break}}}while(0);r=c[k>>2]|0;s=c[l>>2]|0;c[k>>2]=s;c[l>>2]=s+32;c[s+16>>2]=0;c[(c[k>>2]|0)+8>>2]=c[l>>2];c[r+28>>2]=c[k>>2];r=e+84|0;b[r>>1]=(b[r>>1]|0)+1<<16>>16;r=c[l>>2]|0}q=c[e+36>>2]|0;if(r>>>0>=q>>>0){c[e+44>>2]=98;s=1;i=h;return s|0}p=e+87|0;a[p]=0;n=c[n>>2]|0;m=c[m>>2]|0;m=((n+ -1+m&0-m)-n|0)<(c[o>>2]|0);n=e+92|0;if((c[n>>2]|0)==0){c[k>>2]=r;c[n>>2]=r;r=r+32|0;c[l>>2]=r}if(r>>>0>=q>>>0){c[e+44>>2]=98;s=1;i=h;return s|0}c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+20>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+8>>2]=c[l>>2];c[(c[k>>2]|0)+4>>2]=0;c[(c[k>>2]|0)+28>>2]=0;c[(c[k>>2]|0)+12>>2]=d[e+180|0]|0;s=(c[k>>2]|0)+12|0;c[s>>2]=c[s>>2]|8;if(!m){s=(c[k>>2]|0)+12|0;c[s>>2]=c[s>>2]|32}l=e+96|0;if((c[l>>2]|0)==0){c[l>>2]=c[k>>2]}c[j>>2]=1;a[e+86|0]=1;a[p]=0;l=63}else{l=62}}while(0);do{if((l|0)==62){k=e+68|0;j=e+72|0}else if((l|0)==63){k=e+68|0;j=e+72|0;if((zO(e,c[k>>2]|0,c[j>>2]|0,f,g,c[e+76>>2]|0,c[e+80>>2]|0)|0)<<24>>24==0){break}else{g=1}i=h;return g|0}else if((l|0)==64){k=e+68|0;j=e+72|0;m=e+86|0;s=a[m]|0;l=zO(e,c[k>>2]|0,0-(c[j>>2]|0)|0,f,0-g|0,0-(c[e+80>>2]|0)|0,0-(c[e+76>>2]|0)|0)|0;do{if(s<<24>>24!=0){if((a[m]|0)!=0){break}s=(c[e+88>>2]|0)+20|0;c[s>>2]=0-(c[s>>2]|0)}}while(0);if(l<<24>>24==0){break}else{g=1}i=h;return g|0}}while(0);c[k>>2]=f;c[j>>2]=g;s=0;i=h;return s|0}function tO(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;j=i;n=d+184|0;m=d+52|0;c[m>>2]=n;l=d+68|0;c[d+200>>2]=c[l>>2];k=d+72|0;z=c[k>>2]|0;c[d+204>>2]=z;c[d+192>>2]=e;c[d+196>>2]=f;c[n>>2]=g;c[d+188>>2]=h;w=d+100|0;x=d+76|0;s=d+80|0;v=d+86|0;p=d+88|0;u=d+4|0;t=d+8|0;q=d+40|0;r=d+84|0;o=d+36|0;e=d+87|0;y=n;a:while(1){A=(z|0)>(h|0);do{if((f|0)<((A?h:z)|0)|(f|0)>((A?z:h)|0)){D=y+16|0;C=c[D>>2]|0;c[y+32>>2]=C;A=y+8|0;B=c[A>>2]|0;C=(B+C|0)/2|0;c[y+24>>2]=C;B=(g+B|0)/2|0;c[A>>2]=B;c[D>>2]=(B+C|0)/2|0;c[y+36>>2]=z;D=(f+z|0)/2|0;c[y+28>>2]=D;C=(h+f|0)/2|0;c[y+12>>2]=C;c[y+20>>2]=(C+D|0)/2|0;c[m>>2]=(c[m>>2]|0)+16}else{if((z|0)==(h|0)){c[m>>2]=y+ -16;break}f=(z|0)<(h|0);y=f?1:2;B=c[w>>2]|0;if((B|0)!=(y|0)){A=c[u>>2]|0;if(f){A=((z+ -1+A&0-A)-z|0)>=(c[t>>2]|0)}else{A=(A+ -1&z|0)>=(c[t>>2]|0)}z=A&1;if((B|0)!=0){B=c[q>>2]|0;C=c[p>>2]|0;D=B-(c[C+8>>2]|0)|0;if((D|0)<0){m=12;break a}if((D|0)>0){c[C+16>>2]=D>>2;do{if(A){B=(c[p>>2]|0)+12|0;A=c[B>>2]|0;if((A&8|0)==0){c[B>>2]=A|32;break}else{c[B>>2]=A|16;break}}}while(0);B=c[p>>2]|0;D=c[q>>2]|0;c[p>>2]=D;c[q>>2]=D+32;c[D+16>>2]=0;c[(c[p>>2]|0)+8>>2]=c[q>>2];c[B+28>>2]=c[p>>2];b[r>>1]=(b[r>>1]|0)+1<<16>>16;B=c[q>>2]|0}if(B>>>0>=(c[o>>2]|0)>>>0){m=20;break a}a[e]=0}if((wO(d,y,z)|0)<<24>>24!=0){d=1;m=32;break a}}y=c[x>>2]|0;z=c[s>>2]|0;if(f){if((xO(d,2,337,y,z)|0)<<24>>24==0){break}else{d=1;m=32;break a}}D=c[m>>2]|0;f=D+4|0;c[f>>2]=0-(c[f>>2]|0);C=D+12|0;c[C>>2]=0-(c[C>>2]|0);D=D+20|0;c[D>>2]=0-(c[D>>2]|0);D=a[v]|0;y=xO(d,2,337,0-z|0,0-y|0)|0;do{if(D<<24>>24!=0){if((a[v]|0)!=0){break}D=(c[p>>2]|0)+20|0;c[D>>2]=0-(c[D>>2]|0)}}while(0);c[f>>2]=0-(c[f>>2]|0);if(y<<24>>24!=0){d=1;m=32;break a}}}while(0);y=c[m>>2]|0;if(y>>>0<n>>>0){m=31;break}g=c[y>>2]|0;h=c[y+4>>2]|0;f=c[y+12>>2]|0;z=c[y+20>>2]|0}if((m|0)==12){c[d+44>>2]=99;D=1;i=j;return D|0}else if((m|0)==20){c[d+44>>2]=98;D=1;i=j;return D|0}else if((m|0)==31){c[l>>2]=g;c[k>>2]=h;D=0;i=j;return D|0}else if((m|0)==32){i=j;return d|0}return 0}function uO(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;l=i;p=d+184|0;o=d+52|0;c[o>>2]=p;n=d+68|0;c[d+208>>2]=c[n>>2];m=d+72|0;z=c[m>>2]|0;c[d+212>>2]=z;c[d+200>>2]=e;c[d+204>>2]=f;c[d+192>>2]=g;c[d+196>>2]=h;c[p>>2]=j;c[d+188>>2]=k;y=d+100|0;t=d+76|0;u=d+80|0;x=d+86|0;q=d+88|0;w=d+4|0;v=d+8|0;r=d+40|0;s=d+84|0;e=d+36|0;g=d+87|0;A=f;B=p;a:while(1){f=(z|0)<=(k|0);C=(A|0)>(h|0);do{if(((C?h:A)|0)<((f?z:k)|0)|((C?A:h)|0)>((f?k:z)|0)){C=B+24|0;D=c[C>>2]|0;c[B+48>>2]=D;H=B+8|0;F=B+16|0;E=c[F>>2]|0;G=(c[H>>2]|0)+1|0;f=j+G>>1;c[H>>2]=f;D=D+1+E>>1;c[B+40>>2]=D;E=(G+E>>1)+1|0;f=E+f>>1;c[F>>2]=f;D=E+D>>1;c[B+32>>2]=D;c[C>>2]=f+1+D>>1;c[B+52>>2]=z;h=h+1|0;C=k+h>>1;c[B+12>>2]=C;D=z+1+A>>1;c[B+44>>2]=D;A=(h+A>>1)+1|0;C=A+C>>1;c[B+20>>2]=C;D=A+D>>1;c[B+36>>2]=D;c[B+28>>2]=C+1+D>>1;c[o>>2]=(c[o>>2]|0)+24}else{if((z|0)==(k|0)){c[o>>2]=B+ -24;break}h=f?1:2;B=c[y>>2]|0;if((B|0)!=(h|0)){A=c[w>>2]|0;if(f){A=((z+ -1+A&0-A)-z|0)>=(c[v>>2]|0)}else{A=(A+ -1&z|0)>=(c[v>>2]|0)}z=A&1;if((B|0)!=0){B=c[r>>2]|0;D=c[q>>2]|0;C=B-(c[D+8>>2]|0)|0;if((C|0)<0){o=12;break a}if((C|0)>0){c[D+16>>2]=C>>2;do{if(A){A=(c[q>>2]|0)+12|0;B=c[A>>2]|0;if((B&8|0)==0){c[A>>2]=B|32;break}else{c[A>>2]=B|16;break}}}while(0);B=c[q>>2]|0;H=c[r>>2]|0;c[q>>2]=H;c[r>>2]=H+32;c[H+16>>2]=0;c[(c[q>>2]|0)+8>>2]=c[r>>2];c[B+28>>2]=c[q>>2];b[s>>1]=(b[s>>1]|0)+1<<16>>16;B=c[r>>2]|0}if(B>>>0>=(c[e>>2]|0)>>>0){o=20;break a}a[g]=0}if((wO(d,h,z)|0)<<24>>24!=0){d=1;o=32;break a}}h=c[t>>2]|0;z=c[u>>2]|0;if(f){if((xO(d,3,338,h,z)|0)<<24>>24==0){break}else{d=1;o=32;break a}}H=c[o>>2]|0;f=H+4|0;c[f>>2]=0-(c[f>>2]|0);G=H+12|0;c[G>>2]=0-(c[G>>2]|0);G=H+20|0;c[G>>2]=0-(c[G>>2]|0);H=H+28|0;c[H>>2]=0-(c[H>>2]|0);H=a[x]|0;h=xO(d,3,338,0-z|0,0-h|0)|0;do{if(H<<24>>24!=0){if((a[x]|0)!=0){break}H=(c[q>>2]|0)+20|0;c[H>>2]=0-(c[H>>2]|0)}}while(0);c[f>>2]=0-(c[f>>2]|0);if(h<<24>>24!=0){d=1;o=32;break a}}}while(0);B=c[o>>2]|0;if(B>>>0<p>>>0){o=31;break}j=c[B>>2]|0;k=c[B+4>>2]|0;h=c[B+12>>2]|0;A=c[B+20>>2]|0;z=c[B+28>>2]|0}if((o|0)==12){c[d+44>>2]=99;H=1;i=l;return H|0}else if((o|0)==20){c[d+44>>2]=98;H=1;i=l;return H|0}else if((o|0)==31){c[n>>2]=j;c[m>>2]=k;H=0;i=l;return H|0}else if((o|0)==32){i=l;return d|0}return 0}function vO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=a+24|0;d=c[b>>2]|0;c[a+48>>2]=d;e=a+8|0;f=a+16|0;g=c[f>>2]|0;h=(c[e>>2]|0)+1|0;j=h+(c[a>>2]|0)>>1;c[e>>2]=j;d=g+1+d>>1;c[a+40>>2]=d;g=(h+g>>1)+1|0;j=g+j>>1;c[f>>2]=j;d=g+d>>1;c[a+32>>2]=d;c[b>>2]=j+1+d>>1;b=a+28|0;d=c[b>>2]|0;c[a+52>>2]=d;j=a+12|0;g=a+20|0;f=c[g>>2]|0;h=(c[j>>2]|0)+1|0;e=h+(c[a+4>>2]|0)>>1;c[j>>2]=e;d=f+1+d>>1;c[a+44>>2]=d;f=(h+f>>1)+1|0;e=f+e>>1;c[g>>2]=e;d=f+d>>1;c[a+36>>2]=d;c[b>>2]=e+1+d>>1;i=i;return}function wO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;k=b+92|0;h=b+40|0;j=c[h>>2]|0;if((c[k>>2]|0)==0){c[b+88>>2]=j;c[k>>2]=j;j=j+32|0;c[h>>2]=j}if(j>>>0>=(c[b+36>>2]|0)>>>0){c[b+44>>2]=98;k=1;i=g;return k|0}h=b+88|0;c[(c[h>>2]|0)+12>>2]=0;c[(c[h>>2]|0)+20>>2]=0;c[(c[h>>2]|0)+16>>2]=0;c[(c[h>>2]|0)+8>>2]=c[b+40>>2];c[(c[h>>2]|0)+4>>2]=0;c[(c[h>>2]|0)+28>>2]=0;c[(c[h>>2]|0)+12>>2]=d[b+180|0]|0;do{if((e|0)==2){if(f<<24>>24==0){break}k=(c[h>>2]|0)+12|0;c[k>>2]=c[k>>2]|16}else if((e|0)==1){k=(c[h>>2]|0)+12|0;c[k>>2]=c[k>>2]|8;if(f<<24>>24==0){break}k=(c[h>>2]|0)+12|0;c[k>>2]=c[k>>2]|32}else{c[b+44>>2]=20;k=1;i=g;return k|0}}while(0);f=b+96|0;if((c[f>>2]|0)==0){c[f>>2]=c[h>>2]}c[b+100>>2]=e;a[b+86|0]=1;a[b+87|0]=0;k=0;i=g;return k|0}function xO(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;k=b+52|0;m=c[k>>2]|0;o=c[m+(d<<3)+4>>2]|0;r=c[m+4>>2]|0;h=b+40|0;n=c[h>>2]|0;a:do{if(!((r|0)<(f|0)|(o|0)>(g|0))){l=b+4|0;p=c[l>>2]|0;q=0-p|0;r=r&q;g=(r|0)>(g|0)?g:r;do{if((o|0)<(f|0)){o=f;q=n}else{f=o+ -1+p&q;if((o&65535&p+65535|0)!=0){o=f;q=n;break}o=b+87|0;if((a[o]|0)!=0){a[o]=0;n=n+ -4|0}c[n>>2]=c[m+(d<<3)>>2];o=f;f=(c[l>>2]|0)+f|0;q=n+4|0}}while(0);n=b+86|0;if((a[n]|0)!=0){c[(c[b+88>>2]|0)+20>>2]=o>>c[b>>2];a[n]=0}if((g|0)<(f|0)){n=q;break}if((q+((g-f>>c[b>>2])+1<<2)|0)>>>0>=(c[b+36>>2]|0)>>>0){c[h>>2]=q;c[b+44>>2]=98;u=1;i=j;return u|0}n=b+87|0;o=b+16|0;b=0-d|0;r=m;while(1){while(1){a[n]=0;u=c[r+4>>2]|0;if((u|0)<=(f|0)){p=19;break}t=r+(d<<3)|0;s=c[r+(d<<3)+4>>2]|0;u=u-s|0;if((u|0)<(c[o>>2]|0)){p=16;break}fd[e&511](r);if(t>>>0<m>>>0){n=q;break a}else{r=t}}do{if((p|0)==16){t=c[t>>2]|0;c[q>>2]=((da((c[r>>2]|0)-t|0,f-s|0)|0)/(u|0)|0)+t;f=(c[l>>2]|0)+f|0;q=q+4|0}else if((p|0)==19){if((u|0)!=(f|0)){break}a[n]=1;c[q>>2]=c[r>>2];f=(c[l>>2]|0)+f|0;q=q+4|0}}while(0);r=r+(b<<3)|0;if(r>>>0<m>>>0|(f|0)>(g|0)){n=q;break}}}}while(0);c[h>>2]=n;c[k>>2]=(c[k>>2]|0)+(0-d<<3);u=0;i=j;return u|0}function yO(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+16|0;d=c[b>>2]|0;c[a+32>>2]=d;f=a+8|0;e=c[f>>2]|0;d=(d+e|0)/2|0;c[a+24>>2]=d;e=((c[a>>2]|0)+e|0)/2|0;c[f>>2]=e;c[b>>2]=(e+d|0)/2|0;b=a+20|0;d=c[b>>2]|0;c[a+36>>2]=d;e=a+12|0;f=c[e>>2]|0;d=(d+f|0)/2|0;c[a+28>>2]=d;a=((c[a+4>>2]|0)+f|0)/2|0;c[e>>2]=a;c[b>>2]=(a+d|0)/2|0;i=i;return}function zO(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;k=i;l=f-d|0;f=g-e|0;if((f|0)<1|(g|0)<(h|0)|(e|0)>(j|0)){o=0;i=k;return o|0}if((e|0)<(h|0)){d=(_I(l,h-e|0,f)|0)+d|0;n=c[b>>2]|0;m=n;h=h>>n;n=0}else{h=c[b>>2]|0;m=h;h=e>>h;n=(c[b+4>>2]|0)+ -1&e}if((g|0)>(j|0)){e=0}else{e=(c[b+4>>2]|0)+ -1&g;j=g}g=j>>m;do{if((n|0)>0){if((h|0)==(g|0)){o=0;i=k;return o|0}else{d=(_I(l,(c[b+4>>2]|0)-n|0,f)|0)+d|0;j=b+87|0;h=h+1|0;break}}else{j=b+87|0;if((a[j]|0)==0){break}o=b+40|0;c[o>>2]=(c[o>>2]|0)+ -4;a[j]=0}}while(0);a[j]=(e|0)==0|0;e=b+86|0;if((a[e]|0)!=0){c[(c[b+88>>2]|0)+20>>2]=h;a[e]=0}o=g-h|0;n=o+1|0;e=b+40|0;if(((c[e>>2]|0)+(n<<2)|0)>>>0>=(c[b+36>>2]|0)>>>0){c[b+44>>2]=98;o=1;i=k;return o|0}m=b+4|0;b=c[m>>2]|0;if((l|0)>0){b=_I(b,l,f)|0;j=1;l=da(c[m>>2]|0,l)|0}else{l=0-l|0;b=0-(_I(b,l,f)|0)|0;j=-1;l=da(c[m>>2]|0,l)|0}m=(l|0)%(f|0)|0;l=c[e>>2]|0;if((o|0)>-1){o=h+ -1-g|0;g=g+((o|0)>-1?o:-1)+2-h|0;o=0-f|0;h=l;while(1){c[h>>2]=d;d=d+b|0;o=o+m|0;if((o|0)>-1){o=o-f|0;d=d+j|0}n=n+ -1|0;if((n|0)>0){h=h+4|0}else{break}}l=l+(g<<2)|0}c[e>>2]=l;o=0;i=k;return o|0}function AO(a,b){a=a|0;b=b|0;c[a+16>>2]=b;i=i;return 0}function BO(a,b){a=a|0;b=b|0;var e=0;e=i;if(b>>>0>=256){b=0;i=e;return b|0}b=d[(c[a+16>>2]|0)+(b+6)|0]|0;i=e;return b|0}function CO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;f=c[b+16>>2]|0;h=c[d>>2]|0;g=0;while(1){b=h+1|0;if(b>>>0>=256){b=0;break}h=a[f+(h+7)|0]|0;g=h&255;if(h<<24>>24==0){h=b}else{break}}c[d>>2]=b;i=e;return g|0}function DO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=i;g=(d[a+2|0]|0)<<8&65535|(d[a+3|0]|0);if((a+(g&65535)|0)>>>0>(c[b+4>>2]|0)>>>0|(g&65535)<262){wJ(b,8)}if((c[b+8>>2]|0)==0){i=e;return 0}f=b+172|0;g=1;a=a+6|0;while(1){if((d[a]|0)>>>0>=(c[f>>2]|0)>>>0){f=6;break}if(g>>>0>=256){f=9;break}g=g+1|0;a=a+1|0}if((f|0)==6){wJ(b,16)}else if((f|0)==9){i=e;return 0}return 0}function EO(a,b){a=a|0;b=b|0;a=c[a+16>>2]|0;c[b+4>>2]=0;c[b>>2]=((d[a+4|0]|0)<<8&65535|(d[a+5|0]|0))&65535;i=i;return 0}function FO(a,b){a=a|0;b=b|0;var e=0,f=0;e=i;a=c[a+16>>2]|0;if(b>>>0>=65536){f=0;i=e;return f|0}f=b>>>8;do{if((f|0)==0){f=b<<1&510;if(((d[a+(f+6)|0]|0)<<8&65535|(d[a+(f+7)|0]|0))<<16>>16==0){a=a+518|0;break}else{b=0}i=e;return b|0}else{f=f<<1;f=((d[a+(f+6)|0]|0)<<8&65535|(d[a+(f+7)|0]|0))&65528;if((f|0)==0){b=0}else{a=a+(f+518)|0;break}i=e;return b|0}}while(0);f=(d[a+6|0]|0)<<8&65535|(d[a+7|0]|0);b=(b&255)-(((d[a]|0)<<8&65535|(d[a+1|0]|0))&65535)|0;if(b>>>0>=(((d[a+2|0]|0)<<8&65535|(d[a+3|0]|0))&65535)>>>0|f<<16>>16==0){f=0;i=e;return f|0}b=(f&65535)+(b<<1)|0;b=(d[a+(b+6)|0]|0)<<8&65535|(d[a+(b+7)|0]|0);if(b<<16>>16==0){f=0;i=e;return f|0}f=(b&65535)+(((d[a+4|0]|0)<<8&65535|(d[a+5|0]|0))&65535)&65535;i=e;return f|0}function GO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;a=c[a+16>>2]|0;k=(c[b>>2]|0)+1|0;if(k>>>0>=65536){q=0;o=0;p=b;c[p>>2]=o;i=f;return q|0}g=a+518|0;a:while(1){h=k>>>8;if((h|0)==0){q=k<<1&510;if(((d[a+(q+6)|0]|0)<<8&65535|(d[a+(q+7)|0]|0))<<16>>16==0){m=g;e=6}}else{h=h<<1;h=((d[a+(h+6)|0]|0)<<8&65535|(d[a+(h+7)|0]|0))&65528;if((h|0)!=0){m=a+(h+518)|0;e=6}}do{if((e|0)==6){e=0;o=((d[m]|0)<<8&65535|(d[m+1|0]|0))&65535;j=((d[m+2|0]|0)<<8&65535|(d[m+3|0]|0))&65535;h=((d[m+4|0]|0)<<8&65535|(d[m+5|0]|0))&65535;n=(d[m+6|0]|0)<<8&65535|(d[m+7|0]|0);p=k&255;if(n<<16>>16==0){break}q=p>>>0<o>>>0;l=q?0:p-o|0;k=(q?o:p)+(k&-256)|0;if(l>>>0>=j>>>0){break}n=m+((l<<1)+6+(n&65535))|0;while(1){m=n+2|0;n=(d[n]|0)<<8&65535|(d[n+1|0]|0);if(n<<16>>16!=0){n=(n&65535)+h&65535;if((n|0)!=0){e=13;break a}}l=l+1|0;k=k+1|0;if(l>>>0<j>>>0){n=m}else{break}}}}while(0);k=k+256&-256;if(k>>>0>=65536){n=0;k=0;e=13;break}}if((e|0)==13){q=b;c[q>>2]=k;i=f;return n|0}return 0}function HO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;s=(d[a+2|0]|0)<<8&65535|(d[a+3|0]|0);e=a+(s&65535)|0;k=b+4|0;if(e>>>0>(c[k>>2]|0)>>>0|(s&65535)<518){wJ(b,8)}g=b+8|0;l=a+518|0;m=0;o=0;p=a+6|0;while(1){n=p+2|0;p=((d[p]|0)<<8&65535|(d[p+1|0]|0))&65535;if((c[g>>2]|0)>>>0>1){if((p&7|0)!=0){j=6;break}}h=p>>>3;h=h>>>0>m>>>0?h:m;o=o+1|0;if(o>>>0<256){m=h;p=n}else{break}}if((j|0)==6){wJ(b,8)}j=a+((h<<3)+526)|0;if(j>>>0>(c[k>>2]|0)>>>0){wJ(b,8)}k=b+172|0;a=0;o=l;a:while(1){q=(d[o]|0)<<8&65535|(d[o+1|0]|0);r=q&65535;t=(d[o+2|0]|0)<<8&65535|(d[o+3|0]|0);n=t&65535;l=((d[o+4|0]|0)<<8&65535|(d[o+5|0]|0))&65535;m=o+8|0;s=(d[o+6|0]|0)<<8&65535|(d[o+7|0]|0);p=s&65535;do{if(t<<16>>16!=0){if((c[g>>2]|0)>>>0>1){if((q&65535)>255){j=15;break a}if((n+r|0)>>>0>256){j=15;break a}}if(s<<16>>16==0){break}p=p+6|0;if((o+p|0)>>>0<j>>>0){j=19;break a}if((o+(p+(n<<1))|0)>>>0>e>>>0){j=19;break a}if((c[g>>2]|0)==0){break}t=(n<<1)+8|0;n=o+t|0;if(t>>>0>8){o=m}else{break}while(1){m=o+2|0;o=(d[o]|0)<<8&65535|(d[o+1|0]|0);if(o<<16>>16!=0){if(((o&65535)+l&65535)>>>0>=(c[k>>2]|0)>>>0){j=24;break a}}if(m>>>0<n>>>0){o=m}else{break}}}}while(0);a=a+1|0;if(a>>>0>h>>>0){j=27;break}else{o=m}}if((j|0)==15){wJ(b,8)}else if((j|0)==19){wJ(b,9)}else if((j|0)==24){wJ(b,16)}else if((j|0)==27){i=f;return 0}return 0}function IO(a,b){a=a|0;b=b|0;a=c[a+16>>2]|0;c[b+4>>2]=2;c[b>>2]=((d[a+4|0]|0)<<8&65535|(d[a+5|0]|0))&65535;i=i;return 0}function JO(a,b){a=a|0;b=b|0;c[a+16>>2]=b;c[a+32>>2]=(((d[b+6|0]|0)<<8&65535|(d[b+7|0]|0))&65535)>>>1;c[a+24>>2]=-1;c[a+28>>2]=0;i=i;return 0}function KO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;f=i;i=i+8|0;e=f;c[f>>2]=b;if(b>>>0>65535){f=0;i=d;return f|0}if((c[a+20>>2]&1|0)==0){f=DQ(a,e,0)|0;i=d;return f|0}else{f=BQ(a,e,0)|0;i=d;return f|0}return 0}function LO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;f=c[b>>2]|0;if(f>>>0>65534){f=0;i=d;return f|0}if((c[a+20>>2]&1|0)!=0){f=BQ(a,b,1)|0;i=d;return f|0}e=a+24|0;if((f|0)!=(c[e>>2]|0)){f=DQ(a,b,1)|0;i=d;return f|0}CQ(a);a=c[a+28>>2]|0;if((a|0)==0){f=0;i=d;return f|0}c[b>>2]=c[e>>2];f=a;i=d;return f|0}function MO(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=i;C=(d[b+2|0]|0)<<8&65535|(d[b+3|0]|0);j=C&65535;if((C&65535)<16){wJ(e,8)}h=e+4|0;g=e+8|0;do{if((b+j|0)>>>0>(c[h>>2]|0)>>>0){if((c[g>>2]|0)==0){n=(c[h>>2]|0)-b|0;break}else{wJ(e,8)}}else{n=j}}while(0);j=((d[b+6|0]|0)<<8&65535|(d[b+7|0]|0))&65535;do{if((c[g>>2]|0)>>>0>1){if((j&1|0)==0){break}wJ(e,8)}}while(0);j=j>>>1;l=j<<1;if(n>>>0<((j<<3)+16|0)>>>0){wJ(e,8)}do{if((c[g>>2]|0)>>>0>1){C=a[b+9|0]|0;o=((d[b+8|0]|0)<<8&65535|C&255)&65535;m=((d[b+10|0]|0)<<8&65535|(d[b+11|0]|0))&65535;B=a[b+13|0]|0;k=((d[b+12|0]|0)<<8&65535|B&255)&65535;if(((B|C)&1)!=0){wJ(e,8)}o=o>>>1;if(o>>>0>j>>>0|o<<1>>>0<j>>>0){wJ(e,8)}if(((k>>>1)+o|0)!=(j|0)){wJ(e,8)}if((o|0)==(1<<m|0)){break}wJ(e,8)}}while(0);w=b+14|0;k=l+16|0;o=b+k|0;k=k+l|0;t=b+k|0;k=k+l|0;y=b+k|0;k=b+(k+l)|0;do{if((c[g>>2]|0)>>>0>1){if(((d[b+(l+12)|0]|0)<<8&65535|(d[b+(l+13)|0]|0))<<16>>16==-1){break}wJ(e,8)}}while(0);if((j|0)==0){C=0;i=f;return C|0}l=j+ -1|0;m=e+172|0;b=b+n|0;u=0;x=0;v=0;n=0;z=o;a:while(1){o=z+2|0;z=(d[z]|0)<<8&65535|(d[z+1|0]|0);s=z&65535;p=w+2|0;A=(d[w]|0)<<8&65535|(d[w+1|0]|0);q=A&65535;r=t+2|0;w=((d[t]|0)<<8&65535|(d[t+1|0]|0))&65535;t=y+2|0;C=(d[y]|0)<<8&65535|(d[y+1|0]|0);B=C&65535;if((z&65535)>(A&65535)){g=25;break}do{if(!(s>>>0>x>>>0|(n|0)==0)){if((c[g>>2]|0)!=0){g=28;break a}if(v>>>0>s>>>0|x>>>0>q>>>0){u=u|1;break}else{u=u|2;break}}}while(0);do{if(C<<16>>16==-1){if((c[g>>2]|0)>>>0>1){g=48;break a}if(!((n|0)==(l|0)&z<<16>>16==-1&A<<16>>16==-1)){g=48;break a}}else if(C<<16>>16!=0){v=y+B|0;do{if((c[g>>2]|0)==0){if((n|0)==(l|0)&z<<16>>16==-1&A<<16>>16==-1){break}if(v>>>0<k>>>0){g=40;break a}if((y+((q-s<<1)+2+B)|0)>>>0>(c[h>>2]|0)>>>0){g=40;break a}}else{if(v>>>0<k>>>0){g=36;break a}if((y+((q-s<<1)+2+B)|0)>>>0>b>>>0){g=36;break a}}}while(0);if((c[g>>2]|0)!=0&(z&65535)<(A&65535)){y=s}else{break}while(1){x=v+2|0;v=(d[v]|0)<<8&65535|(d[v+1|0]|0);if(v<<16>>16!=0){if(((v&65535)+w&65535)>>>0>=(c[m>>2]|0)>>>0){g=44;break a}}y=y+1|0;if(y>>>0<q>>>0){v=x}else{break}}}}while(0);n=n+1|0;if(n>>>0<j>>>0){z=o;y=t;w=p;t=r;v=s;x=q}else{g=50;break}}if((g|0)==25){wJ(e,8)}else if((g|0)==28){wJ(e,8)}else if((g|0)==36){wJ(e,8)}else if((g|0)==40){wJ(e,8)}else if((g|0)==44){wJ(e,16)}else if((g|0)==48){wJ(e,8)}else if((g|0)==50){i=f;return u|0}return 0}function NO(a,b){a=a|0;b=b|0;a=c[a+16>>2]|0;c[b+4>>2]=4;c[b>>2]=((d[a+4|0]|0)<<8&65535|(d[a+5|0]|0))&65535;i=i;return 0}function OO(a,b){a=a|0;b=b|0;var e=0;e=i;a=c[a+16>>2]|0;b=b-(((d[a+6|0]|0)<<8&65535|(d[a+7|0]|0))&65535)|0;if(b>>>0>=(((d[a+8|0]|0)<<8&65535|(d[a+9|0]|0))&65535)>>>0){a=0;i=e;return a|0}b=b<<1;a=((d[a+(b+10)|0]|0)<<8&65535|(d[a+(b+11)|0]|0))&65535;i=e;return a|0}function PO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;g=c[a+16>>2]|0;f=(c[b>>2]|0)+1|0;h=((d[g+6|0]|0)<<8&65535|(d[g+7|0]|0))&65535;a=((d[g+8|0]|0)<<8&65535|(d[g+9|0]|0))&65535;a:do{if(f>>>0>65535){g=0;f=0}else{f=f>>>0<h>>>0?h:f;j=f-h|0;if(j>>>0>=a>>>0){g=0;f=0;break}h=j;j=g+((j<<1)+10)|0;while(1){k=(d[j]|0)<<8&65535|(d[j+1|0]|0);g=k&65535;if(k<<16>>16!=0){break a}h=h+1|0;if(h>>>0<a>>>0){f=f+1|0;j=j+2|0}else{f=0;break}}}}while(0);c[b>>2]=f;i=e;return g|0}function QO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;f=a+10|0;j=b+4|0;if(f>>>0>(c[j>>2]|0)>>>0){wJ(b,8)}k=((d[a+2|0]|0)<<8&65535|(d[a+3|0]|0))&65535;h=(d[a+8|0]|0)<<8&65535|(d[a+9|0]|0);g=h&65535;if((a+k|0)>>>0>(c[j>>2]|0)>>>0){wJ(b,8)}if(k>>>0<((g<<1)+10|0)>>>0){wJ(b,8)}if((c[b+8>>2]|0)==0|h<<16>>16==0){i=e;return 0}a=b+172|0;while(1){if((((d[f]|0)<<8&65535|(d[f+1|0]|0))&65535)>>>0>=(c[a>>2]|0)>>>0){f=9;break}g=g+ -1|0;if((g|0)==0){f=11;break}else{f=f+2|0}}if((f|0)==9){wJ(b,16)}else if((f|0)==11){i=e;return 0}return 0}function RO(a,b){a=a|0;b=b|0;a=c[a+16>>2]|0;c[b+4>>2]=6;c[b>>2]=((d[a+4|0]|0)<<8&65535|(d[a+5|0]|0))&65535;i=i;return 0}function SO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;a=c[a+16>>2]|0;j=(d[a+8205|0]|0)<<16|(d[a+8204|0]|0)<<24|(d[a+8206|0]|0)<<8|(d[a+8207|0]|0);if((j|0)==0){j=0;i=e;return j|0}h=a+8208|0;while(1){g=(d[h+1|0]|0)<<16|(d[h]|0)<<24|(d[h+2|0]|0)<<8|(d[h+3|0]|0);f=(d[h+9|0]|0)<<16|(d[h+8|0]|0)<<24|(d[h+10|0]|0)<<8;a=d[h+11|0]|0;if(g>>>0>b>>>0){b=0;h=7;break}j=j+ -1|0;if(((d[h+4|0]|0)<<24|(d[h+5|0]|0)<<16|(d[h+6|0]|0)<<8|(d[h+7|0]|0))>>>0>=b>>>0){h=6;break}if((j|0)==0){b=0;h=7;break}else{h=h+12|0}}if((h|0)==6){j=b-g+(f|a)|0;i=e;return j|0}else if((h|0)==7){i=e;return b|0}return 0}function TO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;f=c[a+16>>2]|0;g=(d[f+8205|0]|0)<<16|(d[f+8204|0]|0)<<24|(d[f+8206|0]|0)<<8|(d[f+8207|0]|0);if((g|0)==0){j=0;g=0;h=b;c[h>>2]=g;i=e;return j|0}a=(c[b>>2]|0)+1|0;j=f+8208|0;while(1){h=(d[j+1|0]|0)<<16|(d[j]|0)<<24|(d[j+2|0]|0)<<8|(d[j+3|0]|0);f=j+12|0;a=a>>>0<h>>>0?h:a;if(a>>>0<=((d[j+5|0]|0)<<16|(d[j+4|0]|0)<<24|(d[j+6|0]|0)<<8|(d[j+7|0]|0))>>>0){h=((d[j+8|0]|0)<<24|(d[j+9|0]|0)<<16|(d[j+10|0]|0)<<8|(d[j+11|0]|0))+(a-h)|0;if((h|0)!=0){f=6;break}}g=g+ -1|0;if((g|0)==0){h=0;a=0;f=6;break}else{j=f}}if((f|0)==6){j=b;c[j>>2]=a;i=e;return h|0}return 0}function UO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;q=a+8208|0;g=b+4|0;if(q>>>0>(c[g>>2]|0)>>>0){wJ(b,8)}p=(d[a+5|0]|0)<<16|(d[a+4|0]|0)<<24|(d[a+6|0]|0)<<8|(d[a+7|0]|0);if(p>>>0>((c[g>>2]|0)-a|0)>>>0|p>>>0<8208){wJ(b,8)}f=(d[a+8205|0]|0)<<16|(d[a+8204|0]|0)<<24|(d[a+8206|0]|0)<<8|(d[a+8207|0]|0);if((a+((f*12|0)+8208)|0)>>>0>(c[g>>2]|0)>>>0){wJ(b,8)}if((f|0)==0){i=e;return 0}h=b+8|0;g=b+172|0;p=0;k=0;a:while(1){n=(d[q+1|0]|0)<<16|(d[q]|0)<<24;m=n|(d[q+2|0]|0)<<8|(d[q+3|0]|0);o=(d[q+5|0]|0)<<16|(d[q+4|0]|0)<<24;j=o|(d[q+6|0]|0)<<8|(d[q+7|0]|0);l=q+12|0;if(m>>>0>j>>>0){a=10;break}if(!((k|0)==0|m>>>0>p>>>0)){a=12;break}do{if((c[h>>2]|0)!=0){p=j-m|0;if((p+((d[q+9|0]|0)<<16|(d[q+8|0]|0)<<24|(d[q+10|0]|0)<<8|(d[q+11|0]|0))|0)>>>0>=(c[g>>2]|0)>>>0){a=15;break a}p=p+1|0;if((n|0)==0){if((o|0)!=0){a=24;break a}if((p|0)==0){break}while(1){if(((d[a+((m>>>3&8191)+12)|0]|0)&128>>>(m&7)|0)!=0){a=27;break a}p=p+ -1|0;if((p|0)==0){break}else{m=m+1|0}}}else{if((p|0)==0){break}while(1){if(((d[a+((m>>>19)+12)|0]|0)&128>>>(m>>>16&7)|0)==0){a=19;break a}if(((d[a+((m>>>3&8191)+12)|0]|0)&128>>>(m&7)|0)==0){a=21;break a}p=p+ -1|0;if((p|0)==0){break}else{m=m+1|0}}}}}while(0);k=k+1|0;if(k>>>0<f>>>0){q=l;p=j}else{a=30;break}}if((a|0)==10){wJ(b,8)}else if((a|0)==12){wJ(b,8)}else if((a|0)==15){wJ(b,16)}else if((a|0)==19){wJ(b,8)}else if((a|0)==21){wJ(b,8)}else if((a|0)==24){wJ(b,8)}else if((a|0)==27){wJ(b,8)}else if((a|0)==30){i=e;return 0}return 0}function VO(a,b){a=a|0;b=b|0;a=c[a+16>>2]|0;c[b+4>>2]=8;c[b>>2]=(d[a+9|0]|0)<<16|(d[a+8|0]|0)<<24|(d[a+10|0]|0)<<8|(d[a+11|0]|0);i=i;return 0}function WO(a,b){a=a|0;b=b|0;var e=0;e=i;a=c[a+16>>2]|0;b=b-((d[a+13|0]|0)<<16|(d[a+12|0]|0)<<24|(d[a+14|0]|0)<<8|(d[a+15|0]|0))|0;if(b>>>0>=((d[a+17|0]|0)<<16|(d[a+16|0]|0)<<24|(d[a+18|0]|0)<<8|(d[a+19|0]|0))>>>0){a=0;i=e;return a|0}b=b<<1;a=((d[a+(b+20)|0]|0)<<8&65535|(d[a+(b+21)|0]|0))&65535;i=e;return a|0}function XO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;f=c[a+16>>2]|0;h=(c[b>>2]|0)+1|0;g=(d[f+13|0]|0)<<16|(d[f+12|0]|0)<<24|(d[f+14|0]|0)<<8|(d[f+15|0]|0);a=(d[f+17|0]|0)<<16|(d[f+16|0]|0)<<24|(d[f+18|0]|0)<<8|(d[f+19|0]|0);h=h>>>0<g>>>0?g:h;j=h-g|0;if(j>>>0>=a>>>0){g=h;j=0;h=b;c[h>>2]=g;i=e;return j|0}g=j;j=f+((j<<1)+20)|0;while(1){k=(d[j]|0)<<8&65535|(d[j+1|0]|0);f=k&65535;if(k<<16>>16!=0){a=5;break}h=h+1|0;g=g+1|0;if(g>>>0<a>>>0){j=j+2|0}else{a=5;break}}if((a|0)==5){k=b;c[k>>2]=h;i=e;return f|0}return 0}function YO(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0;e=i;f=a+20|0;j=b+4|0;if(f>>>0>(c[j>>2]|0)>>>0){wJ(b,8)}h=(d[a+5|0]|0)<<16|(d[a+4|0]|0)<<24|(d[a+6|0]|0)<<8|(d[a+7|0]|0);g=(d[a+17|0]|0)<<16|(d[a+16|0]|0)<<24|(d[a+18|0]|0)<<8|(d[a+19|0]|0);if(h>>>0>((c[j>>2]|0)-a|0)>>>0){wJ(b,8)}if(h>>>0<((g<<1)+20|0)>>>0){wJ(b,8)}if((c[b+8>>2]|0)==0|(g|0)==0){i=e;return 0}h=b+172|0;while(1){if((((d[f]|0)<<8&65535|(d[f+1|0]|0))&65535)>>>0>=(c[h>>2]|0)>>>0){f=9;break}g=g+ -1|0;if((g|0)==0){f=11;break}else{f=f+2|0}}if((f|0)==9){wJ(b,16)}else if((f|0)==11){i=e;return 0}return 0}function ZO(a,b){a=a|0;b=b|0;a=c[a+16>>2]|0;c[b+4>>2]=10;c[b>>2]=(d[a+9|0]|0)<<16|(d[a+8|0]|0)<<24|(d[a+10|0]|0)<<8|(d[a+11|0]|0);i=i;return 0}function _O(b,e){b=b|0;e=e|0;c[b+16>>2]=e;c[b+40>>2]=(d[e+13|0]|0)<<16|(d[e+12|0]|0)<<24|(d[e+14|0]|0)<<8|(d[e+15|0]|0);a[b+24|0]=0;i=i;return 0}function $O(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=i;i=i+8|0;c[e>>2]=b;b=AQ(a,e,0)|0;i=d;return b|0}function aP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;f=b+28|0;g=c[f>>2]|0;if((g|0)==-1){h=0;i=e;return h|0}h=b+24|0;do{if((a[h]|0)!=0){if((g|0)!=(c[d>>2]|0)){break}zQ(b);if((a[h]|0)==0){h=0;i=e;return h|0}b=c[b+32>>2]|0;if((b|0)==0){h=0;i=e;return h|0}c[d>>2]=c[f>>2];h=b;i=e;return h|0}}while(0);h=AQ(b,d,1)|0;i=e;return h|0}function bP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;k=a+16|0;h=b+4|0;if(k>>>0>(c[h>>2]|0)>>>0){wJ(b,8)}g=(d[a+5|0]|0)<<16|(d[a+4|0]|0)<<24|(d[a+6|0]|0)<<8|(d[a+7|0]|0);f=(d[a+13|0]|0)<<16|(d[a+12|0]|0)<<24|(d[a+14|0]|0)<<8|(d[a+15|0]|0);if(g>>>0>((c[h>>2]|0)-a|0)>>>0){wJ(b,8)}if(g>>>0<((f*12|0)+16|0)>>>0){wJ(b,8)}if((f|0)==0){i=e;return 0}h=b+8|0;g=b+172|0;a=0;j=0;n=k;while(1){m=(d[n+1|0]|0)<<16|(d[n]|0)<<24|(d[n+2|0]|0)<<8|(d[n+3|0]|0);k=(d[n+5|0]|0)<<16|(d[n+4|0]|0)<<24|(d[n+6|0]|0)<<8|(d[n+7|0]|0);l=n+12|0;if(m>>>0>k>>>0){f=9;break}if(!((j|0)==0|m>>>0>a>>>0)){f=11;break}if((c[h>>2]|0)!=0){if((k-m+((d[n+9|0]|0)<<16|(d[n+8|0]|0)<<24|(d[n+10|0]|0)<<8|(d[n+11|0]|0))|0)>>>0>=(c[g>>2]|0)>>>0){f=14;break}}j=j+1|0;if(j>>>0<f>>>0){n=l;a=k}else{f=16;break}}if((f|0)==9){wJ(b,8)}else if((f|0)==11){wJ(b,8)}else if((f|0)==14){wJ(b,16)}else if((f|0)==16){i=e;return 0}return 0}function cP(a,b){a=a|0;b=b|0;a=c[a+16>>2]|0;c[b+4>>2]=12;c[b>>2]=(d[a+9|0]|0)<<16|(d[a+8|0]|0)<<24|(d[a+10|0]|0)<<8|(d[a+11|0]|0);i=i;return 0}function dP(b,e){b=b|0;e=e|0;c[b+16>>2]=e;c[b+40>>2]=(d[e+13|0]|0)<<16|(d[e+12|0]|0)<<24|(d[e+14|0]|0)<<8|(d[e+15|0]|0);a[b+24|0]=0;i=i;return 0}function eP(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=i;i=i+8|0;c[e>>2]=b;b=yQ(a,e,0)|0;i=d;return b|0}function fP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;f=b+28|0;g=c[f>>2]|0;if((g|0)==-1){h=0;i=e;return h|0}h=b+24|0;do{if((a[h]|0)!=0){if((g|0)!=(c[d>>2]|0)){break}xQ(b);if((a[h]|0)==0){h=0;i=e;return h|0}b=c[b+32>>2]|0;if((b|0)==0){h=0;i=e;return h|0}c[d>>2]=c[f>>2];h=b;i=e;return h|0}}while(0);h=yQ(b,d,1)|0;i=e;return h|0}function gP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;k=a+16|0;h=b+4|0;if(k>>>0>(c[h>>2]|0)>>>0){wJ(b,8)}g=(d[a+5|0]|0)<<16|(d[a+4|0]|0)<<24|(d[a+6|0]|0)<<8|(d[a+7|0]|0);f=(d[a+13|0]|0)<<16|(d[a+12|0]|0)<<24|(d[a+14|0]|0)<<8|(d[a+15|0]|0);if(g>>>0>((c[h>>2]|0)-a|0)>>>0){wJ(b,8)}if(g>>>0<((f*12|0)+16|0)>>>0){wJ(b,8)}if((f|0)==0){i=e;return 0}h=b+8|0;g=b+172|0;a=0;j=0;n=k;while(1){m=(d[n+1|0]|0)<<16|(d[n]|0)<<24|(d[n+2|0]|0)<<8|(d[n+3|0]|0);k=(d[n+5|0]|0)<<16|(d[n+4|0]|0)<<24|(d[n+6|0]|0)<<8|(d[n+7|0]|0);l=n+12|0;if(m>>>0>k>>>0){f=9;break}if(!((j|0)==0|m>>>0>a>>>0)){f=11;break}if((c[h>>2]|0)!=0){if(((d[n+9|0]|0)<<16|(d[n+8|0]|0)<<24|(d[n+10|0]|0)<<8|(d[n+11|0]|0))>>>0>=(c[g>>2]|0)>>>0){f=14;break}}j=j+1|0;if(j>>>0<f>>>0){n=l;a=k}else{f=16;break}}if((f|0)==9){wJ(b,8)}else if((f|0)==11){wJ(b,8)}else if((f|0)==14){wJ(b,16)}else if((f|0)==16){i=e;return 0}return 0}function hP(a,b){a=a|0;b=b|0;a=c[a+16>>2]|0;c[b+4>>2]=13;c[b>>2]=(d[a+9|0]|0)<<16|(d[a+8|0]|0)<<24|(d[a+10|0]|0)<<8|(d[a+11|0]|0);i=i;return 0}function iP(a,b){a=a|0;b=b|0;c[a+16>>2]=b;c[a+24>>2]=(d[b+7|0]|0)<<16|(d[b+6|0]|0)<<24|(d[b+8|0]|0)<<8|(d[b+9|0]|0);c[a+28>>2]=0;c[a+32>>2]=0;i=i;return 0}function jP(a){a=a|0;var b=0,d=0,e=0;b=i;d=c[a+36>>2]|0;c[a+28>>2]=0;if((d|0)==0){i=b;return}e=a+32|0;a=c[e>>2]|0;if((a|0)==0){i=b;return}lJ(d,a);c[e>>2]=0;i=b;return}function kP(a,b){a=a|0;b=b|0;i=i;return 0}function lP(a,b){a=a|0;b=b|0;c[b>>2]=0;i=i;return 0}function mP(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;a=c[a+16>>2]|0;j=(d[a+7|0]|0)<<16|(d[a+6|0]|0)<<24|(d[a+8|0]|0)<<8|(d[a+9|0]|0);if((j|0)==0){q=0;i=g;return q|0}else{l=0}a:while(1){while(1){m=(l+j|0)>>>1;h=m*11|0;k=(d[a+(h+11)|0]|0)<<8|(d[a+(h+10)|0]|0)<<16|(d[a+(h+12)|0]|0);if(k>>>0>f>>>0){break}l=m+1|0;if(k>>>0>=f>>>0){f=7;break a}if(l>>>0>=j>>>0){e=0;f=17;break a}}if(l>>>0<m>>>0){j=m}else{e=0;f=17;break}}if((f|0)==7){f=a+(h+13)|0;if((f|0)==0){q=0;i=g;return q|0}m=(d[a+(h+14)|0]|0)<<16|(d[f]|0)<<24|(d[a+(h+15)|0]|0)<<8|(d[a+(h+16)|0]|0);j=(d[a+(h+18)|0]|0)<<16|(d[a+(h+17)|0]|0)<<24|(d[a+(h+19)|0]|0)<<8|(d[a+(h+20)|0]|0);b:do{if((m|0)!=0){f=m+4|0;k=m+5|0;h=m+6|0;l=m+7|0;p=(d[a+(m+1)|0]|0)<<16|(d[a+m|0]|0)<<24|(d[a+(m+2)|0]|0)<<8|(d[a+(m+3)|0]|0);m=0;while(1){while(1){if(m>>>0>=p>>>0){break b}n=(p+m|0)>>>1;o=n<<2;q=(d[a+(k+o)|0]|0)<<8|(d[a+(f+o)|0]|0)<<16|(d[a+(h+o)|0]|0);if(q>>>0>e>>>0){p=n}else{break}}if(((d[a+(l+o)|0]|0)+q|0)>>>0<e>>>0){m=n+1|0}else{break}}q=Bd[c[(c[b+12>>2]|0)+12>>2]&255](b,e)|0;i=g;return q|0}}while(0);if((j|0)==0){q=0;i=g;return q|0}q=wQ(a+j|0,e)|0;i=g;return q|0}else if((f|0)==17){i=g;return e|0}return 0}function nP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;a=c[a+16>>2]|0;h=(d[a+7|0]|0)<<16|(d[a+6|0]|0)<<24|(d[a+8|0]|0)<<8|(d[a+9|0]|0);if((h|0)==0){p=-1;i=f;return p|0}else{k=0}a:while(1){while(1){l=(k+h|0)>>>1;g=l*11|0;j=(d[a+(g+11)|0]|0)<<8|(d[a+(g+10)|0]|0)<<16|(d[a+(g+12)|0]|0);if(j>>>0>e>>>0){break}k=l+1|0;if(j>>>0>=e>>>0){e=7;break a}if(k>>>0>=h>>>0){b=-1;e=17;break a}}if(k>>>0<l>>>0){h=l}else{b=-1;e=17;break}}if((e|0)==7){e=a+(g+13)|0;if((e|0)==0){p=-1;i=f;return p|0}l=(d[a+(g+14)|0]|0)<<16|(d[e]|0)<<24|(d[a+(g+15)|0]|0)<<8|(d[a+(g+16)|0]|0);e=(d[a+(g+18)|0]|0)<<16|(d[a+(g+17)|0]|0)<<24|(d[a+(g+19)|0]|0)<<8|(d[a+(g+20)|0]|0);b:do{if((l|0)!=0){h=l+4|0;j=l+5|0;g=l+6|0;k=l+7|0;o=(d[a+(l+1)|0]|0)<<16|(d[a+l|0]|0)<<24|(d[a+(l+2)|0]|0)<<8|(d[a+(l+3)|0]|0);l=0;while(1){while(1){if(l>>>0>=o>>>0){break b}m=(o+l|0)>>>1;p=m<<2;n=(d[a+(j+p)|0]|0)<<8|(d[a+(h+p)|0]|0)<<16|(d[a+(g+p)|0]|0);if(n>>>0>b>>>0){o=m}else{break}}if(((d[a+(k+p)|0]|0)+n|0)>>>0<b>>>0){l=m+1|0}else{b=1;break}}i=f;return b|0}}while(0);do{if((e|0)!=0){if((wQ(a+e|0,b)|0)==0){break}else{b=0}i=f;return b|0}}while(0);p=-1;i=f;return p|0}else if((e|0)==17){i=f;return b|0}return 0}function oP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;k=i;i=i+8|0;f=c[a+24>>2]|0;g=c[a+16>>2]|0;j=f+1|0;h=a+28|0;l=c[h>>2]|0;c[k>>2]=0;do{if(l>>>0<j>>>0){c[a+36>>2]=b;a=a+32|0;l=oJ(b,4,l,j,c[a>>2]|0,k)|0;c[a>>2]=l;if((c[k>>2]|0)==0){c[h>>2]=j;h=l;break}else{a=0;i=e;return a|0}}else{h=c[a+32>>2]|0}}while(0);if((f|0)==0){f=0}else{j=0;g=g+10|0;while(1){c[h+(j<<2)>>2]=(d[g+1|0]|0)<<8|(d[g]|0)<<16|(d[g+2|0]|0);j=j+1|0;if(j>>>0<f>>>0){g=g+11|0}else{break}}}c[h+(f<<2)>>2]=0;a=h;i=e;return a|0}function pP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=i;k=i;i=i+8|0;h=c[a+24>>2]|0;g=a+16|0;j=c[g>>2]|0;m=h+1|0;l=a+28|0;n=c[l>>2]|0;c[k>>2]=0;do{if(n>>>0<m>>>0){c[a+36>>2]=b;v=a+32|0;b=oJ(b,4,n,m,c[v>>2]|0,k)|0;c[v>>2]=b;if((c[k>>2]|0)==0){c[l>>2]=m;break}else{v=0;i=f;return v|0}}else{b=c[a+32>>2]|0}}while(0);a=a+32|0;if((h|0)!=0){l=j+10|0;while(1){k=(d[l+1|0]|0)<<8|(d[l]|0)<<16|(d[l+2|0]|0);r=(d[l+4|0]|0)<<16|(d[l+3|0]|0)<<24|(d[l+5|0]|0)<<8|(d[l+6|0]|0);j=l+11|0;l=(d[l+8|0]|0)<<16|(d[l+7|0]|0)<<24|(d[l+9|0]|0)<<8|(d[l+10|0]|0);a:do{if((r|0)==0){m=13}else{o=c[g>>2]|0;q=r+4|0;p=r+5|0;m=r+6|0;n=r+7|0;u=(d[o+(r+1)|0]|0)<<16|(d[o+r|0]|0)<<24|(d[o+(r+2)|0]|0)<<8|(d[o+(r+3)|0]|0);s=0;while(1){while(1){if(s>>>0>=u>>>0){m=13;break a}r=(u+s|0)>>>1;t=r<<2;v=(d[o+(p+t)|0]|0)<<8|(d[o+(q+t)|0]|0)<<16|(d[o+(m+t)|0]|0);if(v>>>0>e>>>0){u=r}else{break}}if(((d[o+(n+t)|0]|0)+v|0)>>>0<e>>>0){s=r+1|0}else{m=15;break}}}}while(0);do{if((m|0)==13){m=0;if((l|0)==0){break}if((wQ((c[g>>2]|0)+l|0,e)|0)!=0){m=15}}}while(0);if((m|0)==15){c[b>>2]=k;b=b+4|0}h=h+ -1|0;if((h|0)==0){break}else{l=j}}}c[b>>2]=0;v=c[a>>2]|0;i=f;return v|0}function qP(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;n=i;i=i+8|0;o=n;h=i;i=i+8|0;g=h;m=i;i=i+8|0;l=m;j=c[a+16>>2]|0;p=(d[j+7|0]|0)<<16|(d[j+6|0]|0)<<24|(d[j+8|0]|0)<<8|(d[j+9|0]|0);if((p|0)==0){s=0;i=f;return s|0}else{s=0}a:while(1){while(1){r=(s+p|0)>>>1;k=r*11|0;q=(d[j+(k+11)|0]|0)<<8|(d[j+(k+10)|0]|0)<<16|(d[j+(k+12)|0]|0);if(q>>>0>e>>>0){break}s=r+1|0;if(q>>>0>=e>>>0){e=7;break a}if(s>>>0>=p>>>0){g=0;e=59;break a}}if(s>>>0<r>>>0){p=r}else{g=0;e=59;break}}if((e|0)==7){e=j+(k+13)|0;if((e|0)==0){s=0;i=f;return s|0}e=(d[j+(k+14)|0]|0)<<16|(d[e]|0)<<24|(d[j+(k+15)|0]|0)<<8|(d[j+(k+16)|0]|0);k=(d[j+(k+18)|0]|0)<<16|(d[j+(k+17)|0]|0)<<24|(d[j+(k+19)|0]|0)<<8|(d[j+(k+20)|0]|0);q=(k|0)==0;if((k|e|0)==0){s=0;i=f;return s|0}if((e|0)==0){l=(d[j+(k+1)|0]|0)<<16|(d[j+k|0]|0)<<24|(d[j+(k+2)|0]|0)<<8|(d[j+(k+3)|0]|0);n=l+1|0;o=a+28|0;m=c[o>>2]|0;c[h>>2]=0;do{if(m>>>0<n>>>0){c[a+36>>2]=b;a=a+32|0;c[a>>2]=oJ(b,4,m,n,c[a>>2]|0,g)|0;if((c[h>>2]|0)==0){c[o>>2]=n;break}else{s=0;i=f;return s|0}}else{a=a+32|0}}while(0);g=c[a>>2]|0;if((l|0)==0){l=0}else{h=j+(k+4)|0;b=0;while(1){c[g+(b<<2)>>2]=(d[h+1|0]|0)<<8|(d[h]|0)<<16|(d[h+2|0]|0);b=b+1|0;if(b>>>0<l>>>0){h=h+5|0}else{break}}}c[g+(l<<2)>>2]=0;s=g;i=f;return s|0}p=j+e|0;if(q){s=vQ(a,p,b)|0;i=f;return s|0}h=(d[j+(k+1)|0]|0)<<16|(d[j+k|0]|0)<<24|(d[j+(k+2)|0]|0)<<8|(d[j+(k+3)|0]|0);g=(d[j+(e+1)|0]|0)<<16|(d[p]|0)<<24|(d[j+(e+2)|0]|0)<<8|(d[j+(e+3)|0]|0);if((g|0)==0){r=0}else{q=j+(e+7)|0;s=g;r=0;while(1){r=r+1+(d[q]|0)|0;s=s+ -1|0;if((s|0)==0){break}else{q=q+4|0}}}if((h|0)==0){s=vQ(a,p,b)|0;i=f;return s|0}p=h+1|0;if((r|0)==0){g=a+28|0;l=c[g>>2]|0;c[n>>2]=0;do{if(l>>>0<p>>>0){c[a+36>>2]=b;a=a+32|0;c[a>>2]=oJ(b,4,l,p,c[a>>2]|0,o)|0;if((c[n>>2]|0)==0){c[g>>2]=p;break}else{s=0;i=f;return s|0}}else{a=a+32|0}}while(0);g=c[a>>2]|0;b=j+(k+4)|0;j=0;while(1){c[g+(j<<2)>>2]=(d[b+1|0]|0)<<8|(d[b]|0)<<16|(d[b+2|0]|0);j=j+1|0;if(j>>>0<h>>>0){b=b+5|0}else{break}}c[g+(h<<2)>>2]=0;s=g;i=f;return s|0}n=p+r|0;p=a+28|0;o=c[p>>2]|0;c[m>>2]=0;do{if(o>>>0<n>>>0){c[a+36>>2]=b;a=a+32|0;c[a>>2]=oJ(b,4,o,n,c[a>>2]|0,l)|0;if((c[m>>2]|0)==0){c[p>>2]=n;break}else{s=0;i=f;return s|0}}else{a=a+32|0}}while(0);b=c[a>>2]|0;m=d[j+(e+7)|0]|0;n=1;q=j+(e+8)|0;p=(d[j+(e+5)|0]|0)<<8|(d[j+(e+4)|0]|0)<<16|(d[j+(e+6)|0]|0);o=0;l=1;a=(d[j+(k+5)|0]|0)<<8|(d[j+(k+4)|0]|0)<<16|(d[j+(k+6)|0]|0);j=j+(k+9)|0;b:while(1){if(a>>>0>(m+p|0)>>>0){e=q;k=o;while(1){o=k;q=0;while(1){k=o+1|0;c[b+(o<<2)>>2]=q+p;q=q+1|0;if(q>>>0>m>>>0){break}else{o=k}}n=n+1|0;if(n>>>0>g>>>0){o=e;e=p;break b}p=(d[e+1|0]|0)<<8|(d[e]|0)<<16|(d[e+2|0]|0);q=e+4|0;m=d[e+3|0]|0;if(a>>>0>(m+p|0)>>>0){e=q}else{e=p;break}}}else{e=p;k=o}if(a>>>0<e>>>0){c[b+(k<<2)>>2]=a;k=k+1|0}l=l+1|0;if(l>>>0>h>>>0){o=q;break}p=e;o=k;a=(d[j+1|0]|0)<<8|(d[j]|0)<<16|(d[j+2|0]|0);j=j+5|0}do{if(l>>>0>h>>>0){if(n>>>0>g>>>0){break}else{h=k;j=0}while(1){k=h+1|0;c[b+(h<<2)>>2]=j+e;j=j+1|0;if(j>>>0>m>>>0){break}else{h=k}}if(n>>>0>=g>>>0){break}while(1){j=(d[o+1|0]|0)<<8|(d[o]|0)<<16|(d[o+2|0]|0);a=d[o+3|0]|0;h=k;l=0;while(1){c[b+(h<<2)>>2]=l+j;l=l+1|0;if(l>>>0>a>>>0){break}else{h=h+1|0}}k=k+1+a|0;n=n+1|0;if(n>>>0<g>>>0){o=o+4|0}else{break}}}else{c[b+(k<<2)>>2]=a;a=k+1|0;if(l>>>0>=h>>>0){k=a;break}g=k+h+1|0;k=a;a=l;while(1){c[b+(k<<2)>>2]=(d[j+1|0]|0)<<8|(d[j]|0)<<16|(d[j+2|0]|0);a=a+1|0;if(a>>>0<h>>>0){j=j+5|0;k=k+1|0}else{break}}k=g-l|0}}while(0);c[b+(k<<2)>>2]=0;s=b;i=f;return s|0}else if((e|0)==59){i=f;return g|0}return 0}function rP(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;l=(d[a+3|0]|0)<<16|(d[a+2|0]|0)<<24|(d[a+4|0]|0)<<8|(d[a+5|0]|0);g=(d[a+7|0]|0)<<16|(d[a+6|0]|0)<<24|(d[a+8|0]|0)<<8|(d[a+9|0]|0);j=b+4|0;if(l>>>0>((c[j>>2]|0)-a|0)>>>0){wJ(b,8)}if(l>>>0<((g*11|0)+10|0)>>>0){wJ(b,8)}if((g|0)==0){i=e;return 0}f=b+8|0;h=b+172|0;n=1;m=0;o=a+10|0;a:while(1){q=(d[o+1|0]|0)<<8|(d[o]|0)<<16|(d[o+2|0]|0);p=(d[o+4|0]|0)<<16|(d[o+3|0]|0)<<24|(d[o+5|0]|0)<<8|(d[o+6|0]|0);k=o+11|0;o=(d[o+8|0]|0)<<16|(d[o+7|0]|0)<<24|(d[o+9|0]|0)<<8|(d[o+10|0]|0);if(!(p>>>0<l>>>0&o>>>0<l>>>0)){f=7;break}if(q>>>0<n>>>0){f=9;break}n=q+1|0;do{if((p|0)!=0){q=p+4|0;p=(d[a+(p+1)|0]|0)<<16|(d[a+p|0]|0)<<24|(d[a+(p+2)|0]|0)<<8|(d[a+(p+3)|0]|0);if((a+((p<<2)+q)|0)>>>0>(c[j>>2]|0)>>>0){f=12;break a}if((p|0)==0){break}else{q=a+q|0;u=0;t=0}while(1){s=(d[q+1|0]|0)<<8|(d[q]|0)<<16|(d[q+2|0]|0);r=s+(d[q+3|0]|0)|0;if(r>>>0>1114111){f=15;break a}if(s>>>0<t>>>0){f=17;break a}u=u+1|0;if(u>>>0<p>>>0){t=r+1|0;q=q+4|0}else{break}}}}while(0);do{if((o|0)!=0){r=a+(o+4)|0;o=(d[a+(o+1)|0]|0)<<16|(d[a+o|0]|0)<<24|(d[a+(o+2)|0]|0)<<8|(d[a+(o+3)|0]|0);if(o<<2>>>0>((c[j>>2]|0)-r|0)>>>0){f=21;break a}if((o|0)==0){break}else{p=0;s=0}while(1){t=(d[r+1|0]|0)<<8|(d[r]|0)<<16|(d[r+2|0]|0);q=r+5|0;if(t>>>0>1114111){f=24;break a}if(t>>>0<s>>>0){f=26;break a}s=t+1|0;if((c[f>>2]|0)!=0){if((((d[r+3|0]|0)<<8&65535|(d[r+4|0]|0))&65535)>>>0>=(c[h>>2]|0)>>>0){f=29;break a}}p=p+1|0;if(p>>>0<o>>>0){r=q}else{break}}}}while(0);m=m+1|0;if(m>>>0<g>>>0){o=k}else{f=32;break}}if((f|0)==7){wJ(b,8)}else if((f|0)==9){wJ(b,8)}else if((f|0)==12){wJ(b,8)}else if((f|0)==15){wJ(b,8)}else if((f|0)==17){wJ(b,8)}else if((f|0)==21){wJ(b,8)}else if((f|0)==24){wJ(b,8)}else if((f|0)==26){wJ(b,8)}else if((f|0)==29){wJ(b,16)}else if((f|0)==32){i=e;return 0}return 0}function sP(a,b){a=a|0;b=b|0;c[b+4>>2]=14;c[b>>2]=-1;i=i;return 0}function tP(a,b){a=a|0;b=b|0;var c=0;c=i;a=uJ(271760,b)|0;i=c;return a|0}function uP(a,b){a=a|0;b=b|0;var d=0;d=i;a=Bd[c[(c[a+12>>2]|0)+48>>2]&255](a,b)|0;i=d;return a|0}function vP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;h=i;i=i+8|0;f=h;j=i;i=i+8|0;g=j;k=wP(a,271936,g)|0;if((k|0)!=0){a=k;i=e;return a|0}k=wP(a,271960,f)|0;if((k|0)!=0){a=k;i=e;return a|0}if((c[j>>2]|0)!=1){a=6;i=e;return a|0}if((c[h>>2]|0)!=1){a=6;i=e;return a|0}c[b>>2]=c[f+4>>2];c[d>>2]=c[g+4>>2];a=0;i=e;return a|0}function wP(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=i;m=c[e+88>>2]|0;c[g>>2]=0;p=e+812|0;a:do{if((a[p]|0)==0){n=c[e+104>>2]|0;o=e+792|0;bX(o|0,0,24)|0;v=b[e+152>>1]|0;r=c[e+156>>2]|0;q=r+((v&65535)<<4)|0;if(v<<16>>16==0){v=8;i=j;return v|0}while(1){if((c[r>>2]|0)==1111770656){t=c[r+12>>2]|0;if((t|0)!=0){break}}s=r+16|0;if(s>>>0<q>>>0){r=s}else{h=8;l=36;break}}if((l|0)==36){i=j;return h|0}if((r|0)==0){v=8;i=j;return v|0}if((PJ(n,c[r+8>>2]|0)|0)!=0|t>>>0<8){v=8;i=j;return v|0}if((LK(n,t,o)|0)!=0){v=8;i=j;return v|0}r=c[o>>2]|0;c[e+796>>2]=r+t;u=d[r+2|0]<<8&65535|d[r+3|0];q=u&65535;v=d[r+5|0]<<16|d[r+4|0]<<24|d[r+6|0]<<8|d[r+7|0];do{if(!((d[r]<<8&65535|d[r+1|0])<<16>>16!=1|v>>>0<8)){if((v+ -8|0)>>>2>>>0<q>>>0|(v+1|0)>>>0>t>>>0){break}c[e+808>>2]=q;s=r+v|0;c[e+800>>2]=s;c[e+804>>2]=t-v;v=r+((q<<2)+8)|0;if(u<<16>>16!=0){u=q;t=r+8|0;while(1){v=v+(((d[t+2|0]<<8&65535|d[t+3|0])&65535)*10|0)|0;u=u+ -1|0;if((u|0)==0){break}else{t=t+4|0}}}if(v>>>0>s>>>0){break}a[p]=1;break a}}while(0);NK(n,o);bX(o|0,0,24)|0;v=8;i=j;return v|0}else{r=c[e+792>>2]|0;q=c[e+808>>2]|0}}while(0);if((m|0)==0|(f|0)==0){v=6;i=j;return v|0}n=ZW(f|0)|0;if((n|0)==0|(q|0)==0){v=6;i=j;return v|0}o=b[m+14>>1]|0;s=q;p=r+8|0;m=r+((q<<2)+8)|0;while(1){r=d[p+2|0]<<8&65535|d[p+3|0];q=r&65535;if((d[p]<<8&65535|d[p+1|0])<<16>>16==o<<16>>16){break}s=s+ -1|0;if((s|0)==0){h=6;l=36;break}else{p=p+4|0;m=m+(q*10|0)|0}}if((l|0)==36){i=j;return h|0}if(r<<16>>16==0){v=6;i=j;return v|0}l=e+804|0;e=e+800|0;b:while(1){s=(d[m+4|0]<<8&65535|d[m+5|0])&65535;do{if((s&16|0)!=0){r=d[m+1|0]<<16|d[m]<<24|d[m+2|0]<<8|d[m+3|0];k=d[m+7|0]<<16|d[m+6|0]<<24|d[m+8|0]<<8|d[m+9|0];p=c[l>>2]|0;if(r>>>0>=p>>>0){break}t=p-r|0;if(n>>>0>=t>>>0){break}o=c[e>>2]|0;if((vc(f|0,o+r|0,t|0)|0)!=0){break}r=s&15;if((r|0)==3){l=34;break b}else if((r|0)==2){l=33;break b}else if(!((r|0)==1|(r|0)==0)){break}if(k>>>0>=p>>>0){break}if((Ua(o+k|0,0,p|0)|0)!=0){l=32;break b}}}while(0);q=q+ -1|0;if((q|0)==0){h=6;l=36;break}else{m=m+10|0}}if((l|0)==32){c[g>>2]=1;c[g+4>>2]=(c[e>>2]|0)+k;v=0;i=j;return v|0}else if((l|0)==33){c[g>>2]=2;c[g+4>>2]=k;v=0;i=j;return v|0}else if((l|0)==34){c[g>>2]=3;c[g+4>>2]=k;v=0;i=j;return v|0}else if((l|0)==36){i=j;return h|0}return 0}function xP(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;k=b[a+152>>1]|0;j=c[a+156>>2]|0;a=j+((k&65535)<<4)|0;if(k<<16>>16==0){k=142;i=g;return k|0}while(1){if((c[j>>2]|0)==(d|0)){k=c[j+12>>2]|0;if((k|0)!=0){break}}j=j+16|0;if(j>>>0>=a>>>0){d=142;h=9;break}}if((h|0)==9){i=g;return d|0}if((j|0)==0){k=142;i=g;return k|0}if((f|0)!=0){c[f>>2]=k}k=PJ(e,c[j+8>>2]|0)|0;i=g;return k|0}function yP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;g=i;i=i+8|0;b=AP(a,b,g)|0;if((b|0)!=0){i=f;return b|0}bL(d,c[g>>2]|0,e)|0;i=f;return b|0}function zP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=i;i=i+8|0;g=e;f=c[a+16>>2]|0;if((f|0)<1){h=0;i=d;return h|0}else{h=0}while(1){if((AP(a,h,g)|0)==0){if((Qc(b|0,c[e>>2]|0)|0)==0){b=5;break}}h=h+1|0;if(h>>>0>=f>>>0){h=0;b=5;break}}if((b|0)==5){i=d;return h|0}return 0}function AP(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;if((d|0)==0){l=35;i=h;return l|0}if((e[d+264>>1]|0)>>>0<=f>>>0){l=16;i=h;return l|0}j=c[d+536>>2]|0;if((j|0)==0){l=7;i=h;return l|0}k=d+628|0;j=j+16|0;c[g>>2]=jd[c[j>>2]&511](0)|0;l=c[d+468>>2]|0;if((l|0)==131072){do{if((a[k]|0)==0){if((BP(d)|0)==0){break}else{d=0}i=h;return d|0}}while(0);if((e[d+632>>1]|0)>>>0<=f>>>0){l=0;i=h;return l|0}l=b[(c[d+636>>2]|0)+(f<<1)>>1]|0;f=l&65535;if((l&65535)<258){c[g>>2]=jd[c[j>>2]&511](f)|0;l=0;i=h;return l|0}else{c[g>>2]=c[(c[d+640>>2]|0)+(f+ -258<<2)>>2];l=0;i=h;return l|0}}else if((l|0)==65536){if(f>>>0>=258){l=0;i=h;return l|0}c[g>>2]=jd[c[j>>2]&511](f)|0;l=0;i=h;return l|0}else if((l|0)==163840){do{if((a[k]|0)==0){if((BP(d)|0)==0){break}else{d=0}i=h;return d|0}}while(0);if((e[d+632>>1]|0)>>>0<=f>>>0){l=0;i=h;return l|0}c[g>>2]=jd[c[j>>2]&511]((a[(c[d+636>>2]|0)+f|0]|0)+f|0)|0;l=0;i=h;return l|0}else{l=0;i=h;return l|0}return 0}function BP(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;l=i;i=i+8|0;m=l;g=i;i=i+8|0;j=g;o=i;i=i+8|0;h=c[d+104>>2]|0;n=pd[c[d+508>>2]&63](d,1886352244,h,o)|0;if((n|0)!=0){u=n;i=f;return u|0}n=IK(h)|0;n=(c[o>>2]|0)+n|0;o=c[d+468>>2]|0;p=DK(h,32)|0;if((p|0)!=0){u=p;i=f;return u|0}a:do{if((o|0)==131072){l=c[h+28>>2]|0;o=EK(h,j)|0;p=o&65535;m=c[g>>2]|0;if((m|0)!=0){break}if((o&65535)>(e[d+264>>1]|0)){c[g>>2]=3;m=3;break}m=oJ(l,2,0,p,0,j)|0;b:do{if((c[g>>2]|0)==0){u=MK(h,p<<1)|0;c[g>>2]=u;if((u|0)!=0){p=0;break}if(o<<16>>16==0){PK(h);q=0}else{q=0;do{b[m+(q<<1)>>1]=RK(h)|0;q=q+1|0;}while((q|0)<(p|0));PK(h);r=0;q=0;do{s=b[m+(r<<1)>>1]|0;if((s&65535)>257){s=(s&65535)+ -257|0;q=(s|0)>(q&65535|0)?s&65535:q}r=r+1|0;}while((r|0)<(p|0))}p=oJ(l,4,0,q&65535,0,j)|0;if((c[g>>2]|0)!=0){break}c:do{if(q<<16>>16!=0){r=0;s=0;while(1){if((IK(h)|0)>=(n|0)){k=19;break}u=(VK(h,j)|0)&255;if((c[g>>2]|0)!=0){h=0;break}if((u|0)>(n|0)){k=23}else{if((IK(h)|0)>(n-u|0)){k=23}}do{if((k|0)==23){k=0;if((n-(IK(h)|0)|0)<0){u=0;break}u=n-(IK(h)|0)|0}}while(0);t=oJ(l,1,0,u+1|0,0,j)|0;r=p+(r<<2)|0;c[r>>2]=t;if((c[g>>2]|0)!=0){h=0;break}t=CK(h,t,u)|0;c[g>>2]=t;if((t|0)!=0){h=0;break}a[(c[r>>2]|0)+u|0]=0;s=s+1<<16>>16;if((s&65535)<(q&65535)){r=s&65535}else{break c}}d:do{if((k|0)==19){if((s&65535)>=(q&65535)){break c}while(1){h=oJ(l,1,0,1,0,j)|0;c[p+((s&65535)<<2)>>2]=h;if((c[g>>2]|0)!=0){h=0;break d}a[h]=0;s=s+1<<16>>16;if((s&65535)>=(q&65535)){break c}}}}while(0);while(1){u=p+((h&65535)<<2)|0;lJ(l,c[u>>2]|0);c[u>>2]=0;h=h+1<<16>>16;if((h&65535)<(q&65535)){}else{break b}}}}while(0);b[d+632>>1]=o;b[d+634>>1]=q;c[d+636>>2]=m;c[d+640>>2]=p;m=0;break a}else{p=0}}while(0);lJ(l,p);lJ(l,m);m=c[g>>2]|0}else if((o|0)==163840){k=c[h+28>>2]|0;j=EK(h,m)|0;g=j&65535;n=c[l>>2]|0;if((n|0)!=0){m=n;break}if((j&65535)>(e[d+264>>1]|0)|(j&65535)>258){c[l>>2]=3;m=3;break}m=oJ(k,1,0,g,0,m)|0;e:do{if((c[l>>2]|0)==0){u=CK(h,m,g)|0;c[l>>2]=u;if((u|0)!=0){break}f:do{if(j<<16>>16!=0){h=0;while(1){u=(a[m+h|0]|0)+h|0;h=h+1|0;if((u|0)<0|(u|0)>(g|0)){break}if((h|0)>=(g|0)){break f}}c[l>>2]=3;break e}}while(0);b[d+632>>1]=j;c[d+636>>2]=m;m=0;break a}}while(0);lJ(k,m);m=c[l>>2]|0}else{m=3}}while(0);a[d+628|0]=1;u=m;i=f;return u|0}function CP(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;h=i;i=i+8|0;l=h;j=i;i=i+8|0;k=j;f=d+700|0;m=c[f>>2]|0;if((m|0)!=0){r=m;i=g;return r|0}m=b[d+344>>1]|0;a:do{if(m<<16>>16==0){j=0}else{o=c[d+360>>2]|0;p=m&65535;m=-1;n=-1;q=0;do{do{if((b[o+(q*20|0)+6>>1]|0)==6){if((b[o+(q*20|0)+8>>1]|0)==0){break}r=b[o+(q*20|0)>>1]|0;if(r<<16>>16==3){if((b[o+(q*20|0)+2>>1]|0)!=1){break}n=(b[o+(q*20|0)+4>>1]|0)==1033?q:n}if(r<<16>>16!=1){break}if((b[o+(q*20|0)+2>>1]|0)!=0){break}m=(b[o+(q*20|0)+4>>1]|0)==0?q:m}}while(0);q=q+1|0;}while((q|0)<(p|0));if((n|0)==-1){if((m|0)==-1){j=0;break}l=c[d+100>>2]|0;h=c[d+360>>2]|0;o=h+(m*20|0)+8|0;n=e[o>>1]|0;c[j>>2]=0;k=jJ(l,n+1|0,k)|0;if((c[j>>2]|0)!=0){j=k;break}d=c[d+364>>2]|0;p=h+(m*20|0)+12|0;r=PJ(d,c[p>>2]|0)|0;c[j>>2]=r;do{if((r|0)==0){r=CK(d,k,n)|0;c[j>>2]=r;if((r|0)!=0){break}a[k+n|0]=0;j=k;break a}}while(0);c[p>>2]=0;b[o>>1]=0;j=h+(m*20|0)+16|0;lJ(l,c[j>>2]|0);c[j>>2]=0;lJ(l,k);j=0;break}o=c[d+100>>2]|0;p=c[d+360>>2]|0;k=p+(n*20|0)+8|0;m=(e[k>>1]|0)>>>1;c[h>>2]=0;j=jJ(o,(e[k>>1]|0)+1|0,l)|0;if((c[h>>2]|0)!=0){break}d=c[d+364>>2]|0;l=p+(n*20|0)+16|0;n=p+(n*20|0)+12|0;r=PJ(d,c[n>>2]|0)|0;c[h>>2]=r;do{if((r|0)==0){r=MK(d,e[k>>1]|0)|0;c[h>>2]=r;if((r|0)!=0){break}if((m|0)==0){k=j}else{h=c[d+32>>2]|0;k=j;while(1){do{if((a[h]|0)==0){l=a[h+1|0]|0;if(!((l&255)>31&l<<24>>24>-1)){break}a[k]=l;k=k+1|0}}while(0);m=m+ -1|0;if((m|0)==0){break}else{h=h+2|0}}}a[k]=0;PK(d);break a}}while(0);lJ(o,j);b[k>>1]=0;c[n>>2]=0;lJ(o,c[l>>2]|0);c[l>>2]=0;j=0}}while(0);c[f>>2]=j;r=j;i=g;return r|0}function DP(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;do{if((d|0)==0){l=c[(c[a+104>>2]|0)+4>>2]|0}else{l=b[a+152>>1]|0;m=c[a+156>>2]|0;k=m+((l&65535)<<4)|0;if(l<<16>>16==0){m=142;i=h;return m|0}while(1){if((c[m>>2]|0)==(d|0)){l=c[m+12>>2]|0;if((l|0)!=0){break}}m=m+16|0;if(m>>>0>=k>>>0){a=142;j=13;break}}if((j|0)==13){i=h;return a|0}if((m|0)==0){m=142;i=h;return m|0}else{e=(c[m+8>>2]|0)+e|0;break}}}while(0);do{if((g|0)!=0){j=c[g>>2]|0;if((j|0)!=0){l=j;break}c[g>>2]=l;m=0;i=h;return m|0}}while(0);m=JK(c[a+104>>2]|0,e,f,l)|0;i=h;return m|0}function EP(d,e){d=d|0;e=e|0;a:do{switch(e|0){case 1:{d=d+260|0;break};case 3:{d=d+216|0;break};case 6:{d=d+556|0;if((c[d>>2]|0)==0){d=0;break a}break};case 5:{d=d+468|0;break};case 2:{d=d+368|0;if((b[d>>1]|0)==-1){d=0;break a}break};case 0:{d=d+160|0;break};case 4:{if((a[d+296|0]|0)==0){d=0;break a}d=d+300|0;break};default:{d=0}}}while(0);i=i;return d|0}function FP(a,b,d,f,g){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;var h=0;h=i;if((d|0)==0|(f|0)==0|(g|0)==0){g=6;i=h;return g|0}if((e[a+152>>1]|0)>>>0<=b>>>0){g=142;i=h;return g|0}a=a+156|0;c[d>>2]=c[(c[a>>2]|0)+(b<<4)>>2];c[f>>2]=c[(c[a>>2]|0)+(b<<4)+8>>2];c[g>>2]=c[(c[a>>2]|0)+(b<<4)+12>>2];g=0;i=h;return g|0}function GP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;f=i;i=i+8|0;j=f;k=b+532|0;g=c[k>>2]|0;h=b+96|0;do{if((g|0)==0){g=nK(c[(c[h>>2]|0)+4>>2]|0,271552)|0;if((g|0)==0){p=3;i=e;return p|0}else{c[k>>2]=g;c[b+508>>2]=c[g>>2];break}}}while(0);c[b+536>>2]=oK(c[h>>2]|0,273032)|0;k=c[a+28>>2]|0;p=b+132|0;c[p>>2]=0;m=b+136|0;c[m>>2]=0;h=b+140|0;c[h>>2]=0;l=IK(a)|0;n=GK(a,j)|0;o=c[f>>2]|0;if((o|0)!=0){p=o;i=e;return p|0}if(!((n|0)==65536|(n|0)==131072|(n|0)==1330926671|(n|0)==1953658213|(n|0)==1953784678|(n|0)==1954115633)){p=2;i=e;return p|0}c[p>>2]=1953784678;do{if((n|0)==1953784678){l=ZK(a,273056,p)|0;c[f>>2]=l;if((l|0)!=0){p=l;i=e;return p|0}l=b+144|0;c[l>>2]=oJ(k,4,0,c[h>>2]|0,0,j)|0;j=c[f>>2]|0;if((j|0)!=0){p=j;i=e;return p|0}j=MK(a,c[h>>2]<<2)|0;c[f>>2]=j;if((j|0)!=0){p=j;i=e;return p|0}if((c[h>>2]|0)>0){j=0;do{p=TK(a)|0;c[(c[l>>2]|0)+(j<<2)>>2]=p;j=j+1|0;}while((j|0)<(c[h>>2]|0))}PK(a)}else{c[m>>2]=65536;c[h>>2]=1;j=jJ(k,4,j)|0;c[b+144>>2]=j;k=c[f>>2]|0;if((k|0)==0){c[j>>2]=l;break}else{p=k;i=e;return p|0}}}while(0);f=c[f>>2]|0;if((f|0)!=0){p=f;i=e;return p|0}d=(d|0)<0?0:d;if((d|0)>=(c[h>>2]|0)){p=6;i=e;return p|0}f=PJ(a,c[(c[b+144>>2]|0)+(d<<2)>>2]|0)|0;if((f|0)!=0){p=f;i=e;return p|0}a=Bd[c[g+132>>2]&255](b,a)|0;if((a|0)!=0){p=a;i=e;return p|0}c[b>>2]=c[h>>2];c[b+4>>2]=d;p=0;i=e;return p|0}function HP(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=i;k=i;i=i+8|0;p=k;m=i;i=i+32|0;l=m;o=c[f+532>>2]|0;if((h|0)>0){s=0;r=0;q=0;do{t=c[j+(s<<3)>>2]|0;if((t|0)==1768386662){r=1}else{q=(t|0)==1768386675?1:q}s=s+1|0;}while((s|0)<(h|0))}else{r=0;q=0}h=f+128|0;a:do{if((c[(c[h>>2]|0)+52>>2]|0)==0){t=b[f+152>>1]|0;s=c[f+156>>2]|0;j=s+((t&65535)<<4)|0;t=t<<16>>16==0;b:do{if(t){t=0}else{u=s;do{if((c[u>>2]|0)==1735162214){if((c[u+12>>2]|0)!=0){n=10;break}}u=u+16|0;}while(u>>>0<j>>>0);if((n|0)==10){if((u|0)!=0){t=1;n=18;break a}}if(t){t=0;break}while(1){if((c[s>>2]|0)==1128678944){if((c[s+12>>2]|0)!=0){break}}s=s+16|0;if(s>>>0>=j>>>0){t=0;break b}}x=(s|0)!=0;t=x&1;if(x){n=18;break a}}}while(0);j=c[o+84>>2]|0;if((j|0)==0){t=0;n=18;break}x=Bd[j&255](f,d)|0;c[k>>2]=x;if((x|0)==0){u=1}else{n=18}}else{t=1;n=18}}while(0);do{if((n|0)==18){x=Bd[c[o+32>>2]&255](f,d)|0;c[k>>2]=x;if((x|0)==0){u=0;break}x=k;x=c[x>>2]|0;i=g;return x|0}}while(0);j=f+178|0;if((b[j>>1]|0)==0){c[k>>2]=8;x=k;x=c[x>>2]|0;i=g;return x|0}c[k>>2]=Bd[c[o+44>>2]&255](f,d)|0;c[k>>2]=Bd[c[o+40>>2]&255](f,d)|0;c[k>>2]=Bd[c[o+56>>2]&255](f,d)|0;s=Bd[c[o+52>>2]&255](f,d)|0;c[k>>2]=s;do{if(!u){u=o+36|0;v=sd[c[u>>2]&127](f,d,0)|0;c[k>>2]=v;do{if((v|0)==0){v=sd[c[o+136>>2]&127](f,d,0)|0;c[k>>2]=v;if((v|0)!=142){n=32;break}c[k>>2]=147;h=c[(c[h>>2]|0)+52>>2]|0;if((h|0)==0){x=k;x=c[x>>2]|0;i=g;return x|0}if((c[(c[h>>2]|0)+8>>2]|0)==0){x=k;x=c[x>>2]|0;i=g;return x|0}else{b[f+250>>1]=0;c[k>>2]=0;break}}else if((v|0)==142){if((c[f+148>>2]|0)==1953658213){c[k>>2]=0;t=0;break}c[k>>2]=143;h=c[(c[h>>2]|0)+52>>2]|0;if((h|0)==0){x=k;x=c[x>>2]|0;i=g;return x|0}if((c[(c[h>>2]|0)+8>>2]|0)==0){x=k;x=c[x>>2]|0;i=g;return x|0}else{b[f+250>>1]=0;c[k>>2]=0;break}}else{n=32}}while(0);do{if((n|0)==32){if((v|0)==0){break}x=k;x=c[x>>2]|0;i=g;return x|0}}while(0);h=sd[c[u>>2]&127](f,d,1)|0;c[k>>2]=h;do{if((h|0)==0){h=sd[c[o+136>>2]&127](f,d,1)|0;c[k>>2]=h;if((h|0)!=0){n=36;break}a[f+296|0]=1}else{n=36}}while(0);do{if((n|0)==36){if((h|0)==0|(h|0)==142){break}x=k;x=c[x>>2]|0;i=g;return x|0}}while(0);x=Bd[c[o+48>>2]&255](f,d)|0;c[k>>2]=x;if((x|0)==0){break}b[f+368>>1]=-1}}while(0);h=c[o+140>>2]|0;do{if((h|0)!=0){h=Bd[h&255](f,d)|0;c[k>>2]=h;if((h|0)==0){break}else if((h|0)==142){c[k>>2]=0;break}else{x=k;x=c[x>>2]|0;i=g;return x|0}}}while(0);h=Bd[c[o+80>>2]&255](f,d)|0;c[k>>2]=h;if((h|0)==142){c[f+556>>2]=0}else if((h|0)!=0){x=k;x=c[x>>2]|0;i=g;return x|0}c[k>>2]=Bd[c[o+76>>2]&255](f,d)|0;c[k>>2]=Bd[c[o+72>>2]&255](f,d)|0;c[f+16>>2]=e[f+264>>1]|0;u=f+20|0;c[u>>2]=0;d=f+24|0;c[d>>2]=0;h=f+368|0;do{if((b[h>>1]|0)==-1){n=54}else{if((b[f+432>>1]&256)==0){n=54;break}do{if(r<<24>>24==0){x=rQ(f,16,u)|0;c[k>>2]=x;if((x|0)==0){if((c[u>>2]|0)==0){n=49;break}else{break}}else{x=k;x=c[x>>2]|0;i=g;return x|0}}else{n=49}}while(0);do{if((n|0)==49){x=rQ(f,1,u)|0;c[k>>2]=x;if((x|0)==0){break}x=k;x=c[x>>2]|0;i=g;return x|0}}while(0);do{if(q<<24>>24==0){x=rQ(f,17,d)|0;c[k>>2]=x;if((x|0)==0){break}x=k;x=c[x>>2]|0;i=g;return x|0}}while(0);if((c[d>>2]|0)!=0){break}x=rQ(f,2,d)|0;c[k>>2]=x;if((x|0)==0){break}x=k;x=c[x>>2]|0;i=g;return x|0}}while(0);do{if((n|0)==54){x=rQ(f,21,u)|0;c[k>>2]=x;if((x|0)!=0){x=k;x=c[x>>2]|0;i=g;return x|0}v=c[u>>2]|0;do{if((v|0)==0&r<<24>>24==0){x=rQ(f,16,u)|0;c[k>>2]=x;if((x|0)==0){v=c[u>>2]|0;break}else{x=k;x=c[x>>2]|0;i=g;return x|0}}}while(0);do{if((v|0)==0){x=rQ(f,1,u)|0;c[k>>2]=x;if((x|0)==0){break}x=k;x=c[x>>2]|0;i=g;return x|0}}while(0);x=rQ(f,22,d)|0;c[k>>2]=x;if((x|0)!=0){x=k;x=c[x>>2]|0;i=g;return x|0}r=c[d>>2]|0;do{if((r|0)==0&q<<24>>24==0){x=rQ(f,17,d)|0;c[k>>2]=x;if((x|0)==0){r=c[d>>2]|0;break}else{x=k;x=c[x>>2]|0;i=g;return x|0}}}while(0);if((r|0)!=0){break}x=rQ(f,2,d)|0;c[k>>2]=x;if((x|0)==0){break}x=k;x=c[x>>2]|0;i=g;return x|0}}while(0);d=f+8|0;r=t<<24>>24==1;q=c[d>>2]|r&1;t=q|24;if((s|0)==0){t=(c[f+468>>2]|0)==196608?t:q|536}s=(c[f+480>>2]|0)==0?t:t|4;q=f+296|0;s=(a[q]|0)==0?s:s|32;s=(c[f+784>>2]|0)==0?s:s|64;x=b[f+152>>1]|0;u=c[f+156>>2]|0;t=u+((x&65535)<<4)|0;c:do{if(x<<16>>16!=0){v=u;while(1){if((c[v>>2]|0)==1735162214){if((c[v+12>>2]|0)!=0){break}}v=v+16|0;if(v>>>0>=t>>>0){break c}}if((v|0)==0){break}else{v=u}while(1){if((c[v>>2]|0)==1719034226){if((c[v+12>>2]|0)!=0){break}}v=v+16|0;if(v>>>0>=t>>>0){break c}}if((v|0)==0){break}while(1){if((c[u>>2]|0)==1735811442){if((c[u+12>>2]|0)!=0){break}}u=u+16|0;if(u>>>0>=t>>>0){u=0;break}}s=(u|0)==0?s:s|256}}while(0);c[d>>2]=s;do{if(r){if((b[h>>1]|0)==-1){n=84;break}x=b[f+432>>1]|0;r=x&65535;r=(x&65535)>>>4&2|((r&512|0)==0?r&1:1)}else{n=84}}while(0);if((n|0)==84){x=b[f+204>>1]|0;r=(x&65535)>>>1&1|((x&1)==0?0:2)}c[f+12>>2]=r;sQ(f);t=f+36|0;if((c[t>>2]|0)>0){r=f+40|0;s=0;do{u=c[(c[r>>2]|0)+(s<<2)>>2]|0;v=e[u+8>>1]|0;w=e[u+10>>1]|0;x=272856;while(1){if((c[x>>2]|0)==(v|0)){y=c[x+4>>2]|0;if((y|0)==(w|0)|(y|0)==-1){n=90;break}}x=x+12|0;if(x>>>0>=(272988|0)>>>0){v=0;break}}if((n|0)==90){n=0;v=c[x+8>>2]|0}c[u+4>>2]=v;s=s+1|0;}while((s|0)<(c[t>>2]|0))}r=c[f+612>>2]|0;do{if((r|0)==0){l=c[d>>2]|0}else{t=c[(c[f+104>>2]|0)+28>>2]|0;s=b[j>>1]|0;if(s<<16>>16==0){n=97}else{if((b[h>>1]|0)==-1){n=97}else{h=b[f+370>>1]|0}}if((n|0)==97){h=0;s=1}v=oJ(t,16,0,r,0,p)|0;n=f+32|0;c[n>>2]=v;if((c[k>>2]|0)!=0){y=k;y=c[y>>2]|0;i=g;return y|0}o=o+152|0;p=l+20|0;h=h<<16>>16;t=s&65535;u=t>>>1;s=l+2|0;w=0;while(1){y=sd[c[o>>2]&127](f,w,l)|0;c[k>>2]=y;if((y|0)!=0){n=108;break}b[v+(w<<4)>>1]=(c[p>>2]|0)>>>6;b[v+(w<<4)+2>>1]=((da(e[m>>1]|0,h)|0)+u|0)/(t|0)|0;c[v+(w<<4)+8>>2]=e[m>>1]<<6;c[v+(w<<4)+12>>2]=e[s>>1]<<6;c[v+(w<<4)+4>>2]=e[s>>1]<<6;w=w+1|0;if(w>>>0>=r>>>0){n=103;break}v=c[n>>2]|0}if((n|0)==103){l=c[d>>2]|2;c[d>>2]=l;c[f+28>>2]=r;break}else if((n|0)==108){y=k;y=c[y>>2]|0;i=g;return y|0}}}while(0);if((l&3|0)==0){l=l|1;c[d>>2]=l}if((l&1|0)==0){y=k;y=c[y>>2]|0;i=g;return y|0}c[f+52>>2]=b[f+196>>1]|0;c[f+56>>2]=b[f+198>>1]|0;c[f+60>>2]=b[f+200>>1]|0;c[f+64>>2]=b[f+202>>1]|0;b[f+68>>1]=b[j>>1]|0;x=b[f+220>>1]|0;b[f+70>>1]=x;y=b[f+222>>1]|0;b[f+72>>1]=y;l=f+74|0;b[l>>1]=(x-y<<16>>16)+(b[f+224>>1]|0)<<16>>16;b[f+76>>1]=b[f+226>>1]|0;b[f+78>>1]=b[((a[q]|0)==0?l:f+310|0)>>1]|0;y=b[f+478>>1]|0;b[f+80>>1]=(e[f+476>>1]|0)-((y<<16>>16|0)/2|0);b[f+82>>1]=y;y=k;y=c[y>>2]|0;i=g;return y|0}function IP(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;if((d|0)==0){i=e;return}g=c[d+100>>2]|0;j=d+532|0;f=c[j>>2]|0;h=(f|0)!=0;do{if(h){k=c[f+116>>2]|0;if((k|0)!=0){fd[k&511](d)}k=c[f+144>>2]|0;if((k|0)==0){break}fd[k&511](d)}}while(0);if((a[d+812|0]|0)!=0){k=d+792|0;if((c[k>>2]|0)!=0){NK(c[d+104>>2]|0,k)}c[d+796>>2]=0;c[d+800>>2]=0;c[d+804>>2]=0}k=d+104|0;NK(c[k>>2]|0,d+772|0);bX(d+776|0,0,16)|0;l=d+144|0;lJ(g,c[l>>2]|0);c[l>>2]=0;c[d+140>>2]=0;l=d+156|0;lJ(g,c[l>>2]|0);c[l>>2]=0;b[d+152>>1]=0;NK(c[k>>2]|0,d+500|0);c[d+504>>2]=0;k=d+252|0;lJ(g,c[k>>2]|0);c[k>>2]=0;k=d+256|0;lJ(g,c[k>>2]|0);c[k>>2]=0;k=d+296|0;if((a[k]|0)!=0){l=d+336|0;lJ(g,c[l>>2]|0);c[l>>2]=0;l=d+340|0;lJ(g,c[l>>2]|0);c[l>>2]=0;a[k]=0}l=d+552|0;lJ(g,c[l>>2]|0);c[l>>2]=0;b[d+550>>1]=0;if(h){fd[c[f+60>>2]&511](d)}l=d+20|0;lJ(g,c[l>>2]|0);c[l>>2]=0;l=d+24|0;lJ(g,c[l>>2]|0);c[l>>2]=0;l=d+32|0;lJ(g,c[l>>2]|0);c[l>>2]=0;c[d+28>>2]=0;l=d+700|0;lJ(g,c[l>>2]|0);c[l>>2]=0;c[j>>2]=0;i=e;return}function JP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;i=i;return 7}function KP(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return 7}function LP(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=pd[c[a+508>>2]&63](a,1751474532,b,0)|0;if((e|0)!=0){a=e;i=d;return a|0}a=ZK(b,272216,a+160|0)|0;i=d;return a|0}function MP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;f=c[a+508>>2]|0;do{if(d<<24>>24==0){f=pd[f&63](a,1751672161,b,0)|0;if((f|0)==0){a=a+216|0;break}else{d=f;i=e;return d|0}}else{f=pd[f&63](a,1986553185,b,0)|0;if((f|0)==0){a=a+300|0;break}else{d=f;i=e;return d|0}}}while(0);b=ZK(b,272776,a)|0;if((b|0)!=0){d=b;i=e;return d|0}c[a+36>>2]=0;c[a+40>>2]=0;d=0;i=e;return d|0}function NP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=a+504|0;f=pd[c[a+508>>2]&63](a,1668112752,b,e)|0;if((f|0)!=0){a=f;i=d;return a|0}b=LK(b,c[e>>2]|0,a+500|0)|0;if((b|0)==0){a=0;i=d;return a|0}c[e>>2]=0;a=b;i=d;return a|0}function OP(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0;f=i;g=a+260|0;h=pd[c[a+508>>2]&63](a,1835104368,d,0)|0;if((h|0)!=0){k=h;i=f;return k|0}h=ZK(d,272696,g)|0;if((h|0)!=0){k=h;i=f;return k|0}j=a+276|0;k=a+280|0;h=a+290|0;bX(a+266|0,0,26)|0;if((c[g>>2]|0)<=65535){k=0;i=f;return k|0}d=ZK(d,272712,g)|0;if((d|0)!=0){k=d;i=f;return k|0}if((e[k>>1]|0)<64){b[k>>1]=64}if((e[j>>1]|0)>65531){b[j>>1]=-5}if((e[h>>1]|0)<=100){k=0;i=f;return k|0}b[h>>1]=100;k=0;i=f;return k|0}function PP(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=i;h=pd[c[a+508>>2]&63](a,1330851634,d,0)|0;do{if((h|0)==0){g=a+368|0;h=ZK(d,272472,g)|0;if((h|0)!=0){break}bX(a+448|0,0,18)|0;if((b[g>>1]|0)==0){h=0;break}h=ZK(d,272648,g)|0;if((h|0)!=0){break}if((e[g>>1]|0)<=1){h=0;break}h=ZK(d,272664,g)|0}}while(0);i=f;return h|0}function QP(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=pd[c[a+508>>2]&63](a,1886352244,b,0)|0;if((e|0)!=0){a=e;i=d;return a|0}a=ZK(b,272424,a+468|0)|0;i=d;return a|0}function RP(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;e=i;i=i+8|0;k=i;i=i+8|0;m=c[d+28>>2]|0;c[a+364>>2]=d;g=pd[c[a+508>>2]&63](a,1851878757,d,k)|0;c[e>>2]=g;if((g|0)!=0){s=g;i=f;return s|0}h=IK(d)|0;g=ZK(d,272368,a+348|0)|0;c[e>>2]=g;if((g|0)!=0){s=g;i=f;return s|0}g=a+352|0;n=c[g>>2]|0;o=n*12|0;j=h+6+o|0;l=(c[k>>2]|0)+h|0;if(j>>>0>l>>>0){c[e>>2]=145;s=145;i=f;return s|0}c[g>>2]=0;k=a+360|0;c[k>>2]=oJ(m,20,0,n,0,e)|0;m=c[e>>2]|0;if((m|0)!=0){s=m;i=f;return s|0}m=MK(d,o)|0;c[e>>2]=m;if((m|0)!=0){s=m;i=f;return s|0}p=c[k>>2]|0;if((n|0)==0){h=p}else{m=a+356|0;do{s=ZK(d,272392,p)|0;c[e>>2]=s;a:do{if((s|0)==0){q=p+8|0;o=b[q>>1]|0;if(o<<16>>16==0){break}r=p+12|0;s=(c[m>>2]|0)+h+(c[r>>2]|0)|0;c[r>>2]=s;do{if(s>>>0>=j>>>0){if(((o&65535)+s|0)>>>0>l>>>0){break}p=p+20|0;break a}}while(0);c[r>>2]=0;b[q>>1]=0}}while(0);n=n+ -1|0;}while((n|0)!=0);h=c[k>>2]|0}c[g>>2]=(p-h|0)/20|0;PK(d);b[a+344>>1]=c[g>>2];s=c[e>>2]|0;i=f;return s|0}function SP(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;e=c[(c[a+96>>2]|0)+8>>2]|0;f=a+360|0;h=c[f>>2]|0;g=a+352|0;j=c[g>>2]|0;if((h|0)!=0){if((j|0)!=0){while(1){k=h+16|0;lJ(e,c[k>>2]|0);c[k>>2]=0;b[h+8>>1]=0;j=j+ -1|0;if((j|0)==0){break}else{h=h+20|0}}h=c[f>>2]|0}lJ(e,h);c[f>>2]=0}c[g>>2]=0;b[a+348>>1]=0;c[a+356>>2]=0;i=d;return}function TP(a,b){a=a|0;b=b|0;i=i;return 7}function UP(a){a=a|0;i=i;return}function VP(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;g=i;i=i+8|0;h=pd[c[b+508>>2]&63](b,1801810542,e,g)|0;if((h|0)!=0){q=h;i=f;return q|0}j=c[g>>2]|0;if(j>>>0<4){q=142;i=f;return q|0}h=b+772|0;e=LK(e,j,h)|0;if((e|0)!=0){q=e;i=f;return q|0}g=c[g>>2]|0;c[b+776>>2]=g;k=c[h>>2]|0;g=k+g|0;h=((d[k+2|0]|0)<<8&65535|(d[k+3|0]|0))&65535;j=h>>>0>32?32:h;a:do{if((j|0)==0){n=0;h=0;e=0}else{n=0;h=0;e=0;m=k+4|0;while(1){l=1<<h;p=m+6|0;if(p>>>0>g>>>0){break a}k=(d[m+2|0]|0)<<8&65535|(d[m+3|0]|0);if((k&65535)<7){break a}k=m+(k&65535)|0;k=k>>>0>g>>>0?g:k;b:do{if((a[m+5|0]&247|(d[m+4|0]|0)<<8&65535)<<16>>16==1){o=m+14|0;if(o>>>0>g>>>0){break}p=((d[p]|0)<<8&65535|(d[m+7|0]|0))&65535;q=k-o|0;if((q|0)<(p*6|0)){p=(q|0)/6|0}n=l|n;if((p|0)==0){break}p=p+ -1|0;if((p|0)!=0){o=(d[m+15|0]|0)<<16|(d[o]|0)<<24|(d[m+16|0]|0)<<8|(d[m+17|0]|0);m=m+20|0;while(1){q=(d[m+1|0]|0)<<16|(d[m]|0)<<24|(d[m+2|0]|0)<<8|(d[m+3|0]|0);if(q>>>0<=o>>>0){break b}p=p+ -1|0;if((p|0)==0){break}else{m=m+6|0;o=q}}}e=l|e}}while(0);h=h+1|0;if(h>>>0<j>>>0){m=k}else{break}}}}while(0);c[b+780>>2]=h;c[b+784>>2]=n;c[b+788>>2]=e;q=0;i=f;return q|0}function WP(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;f=i;i=i+8|0;j=c[d+28>>2]|0;h=pd[c[a+508>>2]&63](a,1734439792,d,0)|0;c[f>>2]=h;if((h|0)!=0){l=h;i=g;return l|0}h=MK(d,4)|0;c[f>>2]=h;if((h|0)!=0){l=h;i=g;return l|0}l=a+548|0;b[l>>1]=RK(d)|0;h=a+550|0;b[h>>1]=RK(d)|0;PK(d);if((e[l>>1]|0)>1){b[h>>1]=0;c[f>>2]=8;l=8;i=g;return l|0}k=b[h>>1]|0;h=k&65535;j=oJ(j,4,0,h,0,f)|0;l=c[f>>2]|0;if((l|0)!=0){i=g;return l|0}l=MK(d,h<<2)|0;c[f>>2]=l;if((l|0)!=0){i=g;return l|0}c[a+552>>2]=j;if(k<<16>>16!=0){a=0;do{b[j+(a<<2)>>1]=RK(d)|0;b[j+(a<<2)+2>>1]=RK(d)|0;a=a+1|0;}while(a>>>0<h>>>0)}PK(d);l=c[f>>2]|0;i=g;return l|0}function XP(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=pd[c[a+508>>2]&63](a,1346587732,b,0)|0;if((e|0)!=0){a=e;i=d;return a|0}a=ZK(b,272304,a+556|0)|0;i=d;return a|0}function YP(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=pd[c[a+508>>2]&63](a,1651008868,b,0)|0;if((e|0)!=0){a=e;i=d;return a|0}a=ZK(b,272216,a+160|0)|0;i=d;return a|0}function ZP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;h=i;i=i+24|0;g=h;c[h>>2]=0;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=0;c[g+16>>2]=0;c[e>>2]=2147483647;b=WJ(a,g,0,e)|0;i=f;return b|0}function _P(a,b){a=a|0;b=b|0;i=i;return 7}function $P(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;j=c[a+616>>2]|0;do{if((j|0)!=0){if((c[a+612>>2]|0)>>>0<=d>>>0){break}j=j+(d*48|0)|0;if((qQ(b,j,e,g)|0)!=0){break}c[f>>2]=j;a=0;i=h;return a|0}}while(0);c[e>>2]=0;c[f>>2]=0;c[g>>2]=0;a=6;i=h;return a|0}function aQ(c,f,g){c=c|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;j=i;i=i+8|0;k=j;switch(e[f+6>>1]|0|0){case 8:case 2:case 1:{c=ZK(c,272184,k)|0;if((c|0)!=0){f=c;i=h;return f|0}a[g]=a[j]|0;a[g+1|0]=a[k+1|0]|0;a[g+2|0]=a[k+2|0]|0;a[g+3|0]=a[k+3|0]|0;a[g+4|0]=a[k+4|0]|0;a[g+5|0]=0;a[g+6|0]=0;a[g+7|0]=0;f=0;i=h;return f|0};case 9:case 7:case 6:{f=ZK(c,272096,g)|0;i=h;return f|0};default:{c=b[f+4>>1]|0;if(!(c<<16>>16==5|c<<16>>16==2)){f=3;i=h;return f|0}c=f+16|0;j=c;c=c+4|0;j=d[j]|d[j+1|0]<<8|d[j+2|0]<<16|d[j+3|0]<<24;c=d[c]|d[c+1|0]<<8|d[c+2|0]<<16|d[c+3|0]<<24;f=g;k=f;f=f+4|0;a[k]=j;a[k+1|0]=j>>8;a[k+2|0]=j>>16;a[k+3|0]=j>>24;a[f]=c;a[f+1|0]=c>>8;a[f+2|0]=c>>16;a[f+3|0]=c>>24;f=0;i=h;return f|0}}return 0}function bQ(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;q=i;i=i+8|0;r=q;p=i;i=i+8|0;s=p;n=c[b+616>>2]|0;do{if((n|0)!=0){if((c[b+612>>2]|0)>>>0<=e>>>0){break}o=n+(e*48|0)|0;if((qQ(f,o,s,r)|0)!=0){break}r=b+508|0;do{if((pd[c[r>>2]&63](b,1161970772,h,0)|0)!=0){r=pd[c[r>>2]&63](b,1650745716,h,0)|0;if((r|0)==0){break}i=l;return r|0}}while(0);u=IK(h)|0;o=pQ(o,c[p>>2]|0,u,c[q>>2]|0,c[b+84>>2]|0,0,0,h,k,0)|0;if((o|0)!=0){u=o;i=l;return u|0}if((a[n+(e*48|0)+47|0]&1)!=0){u=(a[n+(e*48|0)+16|0]|0)-(a[n+(e*48|0)+17|0]|0)|0;a[k+5|0]=(d[k+1|0]|0)/-2|0;a[k+6|0]=(u-(d[k]|0)|0)/2|0;a[k+7|0]=(u*12|0)/10|0}if((g&64|0)==0){u=0;i=l;return u|0}g=j+12|0;n=c[j>>2]|0;o=j+8|0;e=c[o>>2]|0;a:do{if((n|0)>0){b=c[g>>2]|0;if((e|0)>0){p=0;q=b}else{m=0;while(1){m=m+1|0;if((m|0)>=(n|0)){break a}}}b:while(1){h=q+e|0;while(1){r=q+1|0;if((a[q]|0)!=0){break b}if(r>>>0<h>>>0){q=r}else{break}}p=p+1|0;if((p|0)<(n|0)){q=h}else{break a}}if((p|0)>0){n=n-p|0;aX(b|0,b+(da(p,e)|0)|0,da(n,e)|0)|0;a[k]=(d[k]|0)-p;u=k+3|0;a[u]=(d[u]|0)-p;u=k+6|0;a[u]=(d[u]|0)-p;c[j>>2]=(c[j>>2]|0)-p}do{if((n|0)>0){b=da(n+ -1|0,e)|0;o=0-e|0;q=0;b=(c[g>>2]|0)+b|0;c:while(1){p=b+e|0;r=b;while(1){h=r+1|0;if((a[r]|0)!=0){break c}if(h>>>0<p>>>0){r=h}else{break}}q=q+1|0;if((q|0)<(n|0)){b=b+o|0}else{break}}if((q|0)<=0){break}a[k]=(d[k]|0)-q;c[j>>2]=(c[j>>2]|0)-q;n=n-q|0}}while(0);n=da(n,e)|0;j=j+4|0;b=k+2|0;o=k+5|0;k=k+1|0;h=(n|0)>0;d:do{r=c[g>>2]|0;p=r+n|0;if(h){q=r;do{if((a[q]|0)<0){m=38;break d}q=q+e|0;}while(q>>>0<p>>>0);q=c[j>>2]|0;do{t=a[r]<<1&255;if((q|0)>8){s=r;u=8;while(1){f=s+1|0;v=a[f]|0;a[s]=(v&255)>>>7|t;u=u+8|0;t=v<<1&255;if((u|0)<(q|0)){s=f}else{break}}}else{f=r}a[f]=t;r=r+e|0;q=c[j>>2]|0}while(r>>>0<p>>>0)}else{q=c[j>>2]|0}c[j>>2]=q+ -1;a[b]=(a[b]|0)+1<<24>>24;a[o]=(a[o]|0)+1<<24>>24;a[k]=(a[k]|0)+ -1<<24>>24;p=c[j>>2]|0;}while((p|0)>0);if((m|0)==38){p=c[j>>2]|0}e:while(1){b=p+ -1|0;h=c[g>>2]|0;p=b>>3;v=p+n|0;m=h+v|0;if((p|0)<(v|0)){o=128>>>(b&7);h=h+p|0;do{if((d[h]&o|0)!=0){r=0;m=45;break e}h=h+e|0;}while(h>>>0<m>>>0)}c[j>>2]=b;a[k]=(a[k]|0)+ -1<<24>>24;p=c[j>>2]|0;if((p|0)<=0){r=0;m=45;break}}if((m|0)==45){i=l;return r|0}}}while(0);c[j+4>>2]=0;c[j>>2]=0;c[o>>2]=0;a[j+18|0]=1;v=0;i=l;return v|0}}while(0);c[p>>2]=0;c[q>>2]=0;v=6;i=l;return v|0}function cQ(a){a=a|0;i=i;return}function dQ(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;h=i;g=c[d+100>>2]|0;f=d+628|0;if((a[f]|0)==0){m=f;a[m]=0;i=h;return}j=c[d+468>>2]|0;if((j|0)==131072){j=d+636|0;lJ(g,c[j>>2]|0);c[j>>2]=0;b[d+632>>1]=0;j=d+634|0;d=d+640|0;m=c[d>>2]|0;if((b[j>>1]|0)!=0){l=0;k=0;while(1){lJ(g,c[m+(l<<2)>>2]|0);c[(c[d>>2]|0)+(l<<2)>>2]=0;l=k+1<<16>>16;m=c[d>>2]|0;if((l&65535)<(e[j>>1]|0)){k=l;l=l&65535}else{break}}}lJ(g,m);c[d>>2]=0;b[j>>1]=0;m=f;a[m]=0;i=h;return}else if((j|0)==163840){m=d+636|0;lJ(g,c[m>>2]|0);c[m>>2]=0;b[d+632>>1]=0;m=f;a[m]=0;i=h;return}else{m=f;a[m]=0;i=h;return}}function eQ(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return 7}function fQ(a,b){a=a|0;b=b|0;i=i;return 0}function gQ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;k=c[a+772>>2]|0;g=k+(c[a+776>>2]|0)|0;j=c[a+780>>2]|0;if((j|0)==0){s=0;i=f;return s|0}h=a+784|0;b=b<<16|e;a=a+788|0;e=1;n=k+4|0;m=0;while(1){o=n+6|0;if(o>>>0>g>>>0){g=20;break}l=((d[n+4|0]|0)<<8&65535|(d[n+5|0]|0))&65535;k=n+(((d[n+2|0]|0)<<8&65535|(d[n+3|0]|0))&65535)|0;k=k>>>0>g>>>0?g:k;a:do{if((c[h>>2]&e|0)!=0){p=n+14|0;if(p>>>0>k>>>0){break}o=((d[o]|0)<<8&65535|(d[n+7|0]|0))&65535;q=k-p|0;if((q|0)<(o*6|0)){o=(q|0)/6|0}if((l&65280|0)!=0){break}q=(o|0)==0;if((c[a>>2]&e|0)==0){if(q){break}while(1){if(((d[p+1|0]|0)<<16|(d[p]|0)<<24|(d[p+2|0]|0)<<8|(d[p+3|0]|0)|0)==(b|0)){break}o=o+ -1|0;if((o|0)==0){break a}else{p=p+6|0}}n=(d[p+4|0]|0)<<8&65535|(d[p+5|0]|0)}else{if(q){break}else{q=0}while(1){p=(o+q|0)>>>1;r=p*6|0;s=(d[n+(r+15)|0]|0)<<16|(d[n+(r+14)|0]|0)<<24|(d[n+(r+16)|0]|0)<<8|(d[n+(r+17)|0]|0);if((s|0)==(b|0)){break}r=s>>>0<b>>>0;q=r?p+1|0:q;o=r?o:p;if(q>>>0>=o>>>0){break a}}n=(d[n+(r+18)|0]|0)<<8&65535|(d[n+(r+19)|0]|0)}m=(n<<16>>16)+((l&8|0)==0?m:0)|0}}while(0);j=j+ -1|0;if((j|0)==0){g=20;break}else{e=e<<1;n=k}}if((g|0)==20){i=f;return m|0}return 0}function hQ(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=i;o=i;i=i+8|0;s=o;r=i;i=i+16|0;q=r;n=i;i=i+16|0;h=n;f=i;i=i+8|0;l=f;m=c[d+28>>2]|0;k=h+12|0;c[k>>2]=IK(d)|0;c[n>>2]=GK(d,l)|0;j=c[f>>2]|0;if((j|0)!=0){E=j;i=g;return E|0}j=ZK(d,272136,h)|0;c[f>>2]=j;if((j|0)!=0){E=j;i=g;return E|0}t=c[k>>2]|0;C=PJ(d,t+12|0)|0;c[o>>2]=C;a:do{if((C|0)==0){h=h+4|0;do{if((b[h>>1]|0)==0){b[h>>1]=0}else{w=q+8|0;v=q+12|0;j=d+4|0;x=t+28|0;y=0;B=0;u=0;t=0;z=0;A=0;b:while(1){E=ZK(d,272160,q)|0;c[o>>2]=E;if((E|0)!=0){p=8;break}D=c[w>>2]|0;E=c[v>>2]|0;do{if((E+D|0)>>>0<=(c[j>>2]|0)>>>0){A=A+1<<16>>16;C=c[r>>2]|0;if((C|0)==1397313095){t=1;break}else if(!((C|0)==1651008868|(C|0)==1751474532)){u=(C|0)==1296389185?1:u;break}if(E>>>0<54){p=12;break b}C=PJ(d,D+12|0)|0;c[o>>2]=C;if((C|0)!=0){break a}B=GK(d,s)|0;C=c[o>>2]|0;if((C|0)!=0){break a}if((B|0)!=1594834165){p=16;break b}C=PJ(d,x+(y<<4)|0)|0;c[o>>2]=C;if((C|0)==0){B=1}else{break a}}}while(0);z=z+1<<16>>16;if((z&65535)<(e[h>>1]|0)){y=z&65535}else{break}}if((p|0)==8){b[h>>1]=z+ -1<<16>>16}else if((p|0)==12){c[o>>2]=142;C=142;break a}else if((p|0)==16){c[o>>2]=142;C=142;break a}b[h>>1]=A;if(A<<16>>16==0){break}do{if((B|0)==0){if(!((t|0)==0|(u|0)==0)){break}c[o>>2]=142;C=142;break a}}while(0);c[f>>2]=0;o=a+152|0;b[o>>1]=A;c[a+148>>2]=c[n>>2];n=a+156|0;c[n>>2]=oJ(m,16,0,A&65535,0,l)|0;l=c[f>>2]|0;if((l|0)!=0){E=l;i=g;return E|0}k=PJ(d,(c[k>>2]|0)+12|0)|0;c[f>>2]=k;if((k|0)!=0){E=k;i=g;return E|0}k=MK(d,e[o>>1]<<4)|0;c[f>>2]=k;if((k|0)!=0){E=k;i=g;return E|0}if((b[h>>1]|0)!=0){m=c[n>>2]|0;n=0;while(1){c[m>>2]=TK(d)|0;c[m+4>>2]=TK(d)|0;k=m+8|0;c[k>>2]=TK(d)|0;l=TK(d)|0;c[m+12>>2]=l;n=n+1|0;if((n|0)<(e[h>>1]|0)){m=((c[k>>2]|0)+l|0)>>>0>(c[j>>2]|0)>>>0?m:m+16|0}else{break}}}PK(d);E=c[f>>2]|0;i=g;return E|0}}while(0);c[o>>2]=2;C=2}}while(0);c[f>>2]=C;E=C;i=g;return E|0}function iQ(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;j=i;i=i+8|0;o=j;q=i;i=i+8|0;k=q;p=c[f+28>>2]|0;g=g<<24>>24!=0;l=c[a+508>>2]|0;do{if(g){r=pd[l&63](a,1986884728,f,k)|0;c[j>>2]=r;if((r|0)==0){r=a+334|0;k=e[r>>1]|0;m=c[q>>2]|0;l=m>>>2;b[r>>1]=0;r=a+336|0;k=k>>>0>l>>>0?l:k;l=a+340|0;break}else{r=j;r=c[r>>2]|0;i=h;return r|0}}else{r=pd[l&63](a,1752003704,f,k)|0;c[j>>2]=r;if((r|0)==0){r=a+250|0;l=e[r>>1]|0;m=c[q>>2]|0;k=m>>>2;b[r>>1]=0;r=a+252|0;k=l>>>0>k>>>0?k:l;l=a+256|0;break}else{r=j;r=c[r>>2]|0;i=h;return r|0}}}while(0);n=(e[a+264>>1]|0)-k|0;m=(m-(k<<2)|0)>>>1;n=(n|0)<0?0:n;c[r>>2]=oJ(p,4,0,k,0,o)|0;if((c[j>>2]|0)!=0){r=j;r=c[r>>2]|0;i=h;return r|0}c[l>>2]=oJ(p,2,0,n,0,o)|0;if((c[j>>2]|0)!=0){r=j;r=c[r>>2]|0;i=h;return r|0}q=MK(f,c[q>>2]|0)|0;c[j>>2]=q;if((q|0)!=0){r=j;r=c[r>>2]|0;i=h;return r|0}p=c[f+32>>2]|0;q=c[r>>2]|0;o=q+(k<<2)|0;if(q>>>0<o>>>0){while(1){b[q>>1]=(d[p]|0)<<8&65535|(d[p+1|0]|0);r=p+4|0;b[q+2>>1]=(d[p+2|0]|0)<<8&65535|(d[p+3|0]|0);q=q+4|0;if(q>>>0<o>>>0){p=r}else{p=r;break}}}q=c[l>>2]|0;o=q+(((n|0)<(m|0)?n:m)<<1)|0;if(q>>>0<o>>>0){while(1){b[q>>1]=(d[p]|0)<<8&65535|(d[p+1|0]|0);q=q+2|0;if(q>>>0<o>>>0){p=p+2|0}else{break}}}do{if((n|0)>(m|0)&(m|0)!=0){r=c[l>>2]|0;l=b[r+(m+ -1<<1)>>1]|0;m=r+(n<<1)|0;if(q>>>0>=m>>>0){break}do{b[q>>1]=l;q=q+2|0;}while(q>>>0<m>>>0)}}while(0);PK(f);f=k&65535;if(g){b[a+334>>1]=f;r=j;r=c[r>>2]|0;i=h;return r|0}else{b[a+250>>1]=f;r=j;r=c[r>>2]|0;i=h;return r|0}return 0}function jQ(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=i;l=i;i=i+8|0;k=l;p=i;i=i+8|0;h=p;o=i;i=i+8|0;j=o;g=i;i=i+8|0;q=g;c[g>>2]=0;m=d+28|0;n=c[m>>2]|0;t=a+612|0;c[t>>2]=0;r=a+508|0;B=pd[c[r>>2]&63](a,1161972803,d,0)|0;c[g>>2]=B;do{if((B|0)!=0){v=pd[c[r>>2]&63](a,1651273571,d,0)|0;c[g>>2]=v;if((v|0)==0){break}i=e;return v|0}}while(0);r=IK(d)|0;s=MK(d,8)|0;c[g>>2]=s;if((s|0)!=0){B=s;i=e;return B|0}B=TK(d)|0;s=TK(d)|0;PK(d);if((B|0)!=131072|s>>>0>65535){c[g>>2]=3;B=3;i=e;return B|0}u=oJ(n,48,0,s,0,q)|0;a=a+616|0;c[a>>2]=u;v=c[g>>2]|0;if((v|0)!=0){B=v;i=e;return B|0}c[t>>2]=s;t=MK(d,s*48|0)|0;c[g>>2]=t;if((t|0)!=0){B=t;i=e;return B|0}t=(s|0)==0;a:do{if(t){PK(d)}else{v=s;while(1){B=ZK(d,272040,u)|0;c[g>>2]=B;if((B|0)!=0){break}B=ZK(d,271984,u+16|0)|0;c[g>>2]=B;if((B|0)!=0){break}B=ZK(d,271984,u+28|0)|0;c[g>>2]=B;if((B|0)!=0){break}B=ZK(d,272064,u)|0;c[g>>2]=B;if((B|0)!=0){break}v=v+ -1|0;if((v|0)==0){break}else{u=u+48|0}}PK(d);if(t){break}a=c[a>>2]|0;b:while(1){v=c[a>>2]|0;u=a+8|0;B=PJ(d,(c[u>>2]|0)+r|0)|0;c[g>>2]=B;if((B|0)!=0){break a}B=MK(d,c[a>>2]<<3)|0;c[g>>2]=B;if((B|0)!=0){break a}w=oJ(n,40,0,c[a>>2]|0,0,q)|0;t=a+4|0;c[t>>2]=w;if((c[g>>2]|0)!=0){break a}if((v|0)!=0){while(1){b[w>>1]=RK(d)|0;b[w+2>>1]=RK(d)|0;B=(c[u>>2]|0)+r|0;c[w+36>>2]=B+(TK(d)|0);v=v+ -1|0;if((v|0)==0){break}else{w=w+40|0}}}PK(d);u=c[a>>2]|0;c:do{if((u|0)!=0){t=c[t>>2]|0;while(1){v=PJ(d,c[t+36>>2]|0)|0;c[g>>2]=v;if((v|0)!=0){f=51;break b}v=MK(d,8)|0;c[g>>2]=v;if((v|0)!=0){f=51;break b}w=t+4|0;b[w>>1]=RK(d)|0;b[t+6>>1]=RK(d)|0;v=t+8|0;c[v>>2]=TK(d)|0;PK(d);z=c[m>>2]|0;w=b[w>>1]|0;d:do{switch(w&65535|0){case 4:{v=oQ(t,d,1)|0;c[o>>2]=v;break};case 2:{c[t+12>>2]=GK(d,h)|0;v=c[p>>2]|0;if((v|0)==0){v=ZK(d,272096,t+16|0)|0;c[p>>2]=v;v=(v|0)!=0|0}c[o>>2]=v;break};case 3:case 1:{y=b[t+2>>1]|0;x=b[t>>1]|0;if((y&65535)<(x&65535)){f=28;break b}w=w<<16>>16==1;x=(y&65535)-(x&65535)|0;c[t+24>>2]=x+1;x=x+2|0;y=t+28|0;c[y>>2]=oJ(z,4,0,x,0,j)|0;z=c[o>>2]|0;if((z|0)!=0){break b}z=MK(d,da(x,w?4:2)|0)|0;c[o>>2]=z;if((z|0)!=0){break b}if((x|0)!=0){A=0;do{B=c[v>>2]|0;if(w){z=TK(d)|0}else{z=(RK(d)|0)&65535}c[(c[y>>2]|0)+(A<<2)>>2]=z+B;A=A+1|0;}while(A>>>0<x>>>0)}PK(d);v=c[o>>2]|0;break};case 5:{c[t+12>>2]=GK(d,k)|0;z=c[l>>2]|0;if((z|0)!=0){f=42;break b}B=(ZK(d,272096,t+16|0)|0)!=0;v=B&1;c[o>>2]=v;if(B){break d}v=oQ(t,d,0)|0;c[o>>2]=v;break};default:{f=45;break b}}}while(0);c[g>>2]=v;if((v|0)!=0){f=51;break b}u=u+ -1|0;if((u|0)==0){break c}else{t=t+40|0}}}}while(0);s=s+ -1|0;if((s|0)==0){break a}else{a=a+48|0}}if((f|0)==28){c[o>>2]=3;z=3}else if((f|0)==42){c[o>>2]=z}else if((f|0)==45){c[o>>2]=3;z=3}else if((f|0)==51){i=e;return v|0}c[g>>2]=z;B=z;i=e;return B|0}}while(0);B=c[g>>2]|0;i=e;return B|0}function kQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;d=c[a+100>>2]|0;b=a+616|0;g=c[b>>2]|0;a=a+612|0;h=c[a>>2]|0;f=g+(h*48|0)|0;if((g|0)==0){l=a;c[l>>2]=0;i=e;return}if((h|0)>0){do{h=g+4|0;l=c[h>>2]|0;k=c[g>>2]|0;j=l+(k*40|0)|0;do{if((l|0)==0){l=0}else{if((k|0)<=0){break}do{k=l+28|0;lJ(d,c[k>>2]|0);c[k>>2]=0;k=l+32|0;lJ(d,c[k>>2]|0);c[k>>2]=0;l=l+40|0;}while(l>>>0<j>>>0);l=c[h>>2]|0}}while(0);lJ(d,l);c[h>>2]=0;c[g>>2]=0;g=g+48|0;}while(g>>>0<f>>>0);g=c[b>>2]|0}lJ(d,g);c[b>>2]=0;l=a;c[l>>2]=0;i=e;return}function lQ(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;a=WJ(a,b,0,c)|0;i=d;return a|0}function mQ(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;if((c[e+612>>2]|0)>>>0<=f>>>0){g=6;i=h;return g|0}k=c[e+616>>2]|0;b[g>>1]=d[k+(f*48|0)+44|0]|0;b[g+2>>1]=d[k+(f*48|0)+45|0]|0;j=a[k+(f*48|0)+16|0]<<6;c[g+12>>2]=j;e=a[k+(f*48|0)+17|0]<<6;c[g+16>>2]=e;c[g+24>>2]=(d[k+(f*48|0)+18|0]|0)+(a[k+(f*48|0)+22|0]|0)+(a[k+(f*48|0)+23|0]|0)<<6;c[g+20>>2]=j-e;g=0;i=h;return g|0}function nQ(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;d=d<<24>>24!=0?a+300|0:a+216|0;m=b[d+34>>1]|0;k=m&65535;do{if(m<<16>>16!=0){m=d+36|0;l=c[m>>2]|0;if((l|0)==0){break}if((e[a+264>>1]|0)>>>0<=f>>>0){break}if(k>>>0>f>>>0){b[g>>1]=b[l+(f<<2)+2>>1]|0;g=l+(f<<2)|0}else{b[g>>1]=b[(c[d+40>>2]|0)+(f-k<<1)>>1]|0;g=(c[m>>2]|0)+(k+ -1<<2)|0}b[h>>1]=b[g>>1]|0;i=j;return 0}}while(0);b[h>>1]=0;b[g>>1]=0;i=j;return 0}function oQ(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;g=i;i=i+8|0;k=g;l=c[d+28>>2]|0;h=GK(d,k)|0;j=c[g>>2]|0;if((j|0)!=0){m=j;i=f;return m|0}c[a+24>>2]=h;j=e<<24>>24!=0;do{if(j){c[a+28>>2]=oJ(l,4,0,h,0,k)|0;e=c[g>>2]|0;if((e|0)==0){m=h<<2;break}else{m=e;i=f;return m|0}}else{m=h<<1}}while(0);e=a+32|0;c[e>>2]=oJ(l,2,0,h,0,k)|0;k=c[g>>2]|0;if((k|0)!=0){m=k;i=f;return m|0}k=MK(d,m)|0;c[g>>2]=k;if((k|0)!=0){m=k;i=f;return m|0}if((h|0)!=0){k=a+8|0;a=a+28|0;l=0;do{m=RK(d)|0;b[(c[e>>2]|0)+(l<<1)>>1]=m;if(j){m=c[k>>2]|0;m=((RK(d)|0)&65535)+m|0;c[(c[a>>2]|0)+(l<<2)>>2]=m}l=l+1|0;}while(l>>>0<h>>>0)}PK(d);m=c[g>>2]|0;i=f;return m|0}function pQ(f,g,h,j,k,l,m,n,o,p){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;q=i;C=i;i=i+8|0;B=C;r=i;i=i+8|0;z=r;x=i;i=i+8|0;v=x;t=i;i=i+8|0;u=i;i=i+8|0;w=u;s=c[n+28>>2]|0;y=k+76|0;j=PJ(n,j+h|0)|0;c[r>>2]=j;if((j|0)!=0){g=j;i=q;return g|0}j=g+6|0;a:do{switch(e[j>>1]|0){case 8:case 2:case 1:{A=ZK(n,272184,B)|0;if((A|0)!=0){n=A;A=8;break a}a[o]=a[C]|0;a[o+1|0]=a[B+1|0]|0;a[o+2|0]=a[B+2|0]|0;a[o+3|0]=a[B+3|0]|0;a[o+4|0]=a[B+4|0]|0;a[o+5|0]=0;a[o+6|0]=0;a[o+7|0]=0;A=7;break};case 9:case 7:case 6:{B=ZK(n,272096,o)|0;c[r>>2]=B;if((B|0)==0){break a}i=q;return B|0};default:{C=b[g+4>>1]|0;if(!(C<<16>>16==5|C<<16>>16==2)){n=3;A=8;break a}g=g+16|0;B=g;g=g+4|0;B=d[B]|d[B+1|0]<<8|d[B+2|0]<<16|d[B+3|0]<<24;g=d[g]|d[g+1|0]<<8|d[g+2|0]<<16|d[g+3|0]<<24;A=o;C=A;A=A+4|0;a[C]=B;a[C+1|0]=B>>8;a[C+2|0]=B>>16;a[C+3|0]=B>>24;a[A]=g;a[A+1|0]=g>>8;a[A+2|0]=g>>16;a[A+3|0]=g>>24;A=7}}}while(0);if((A|0)==7){c[r>>2]=0}else if((A|0)==8){c[r>>2]=n;g=n;i=q;return g|0}do{if((p|0)==0){B=d[o+1|0]|0;c[k+80>>2]=B;A=d[o]|0;c[y>>2]=A;C=d[f+46|0]|0;if((C|0)==4){a[k+94|0]=4;B=(B+1|0)>>>1;c[k+84>>2]=B}else if((C|0)==2){a[k+94|0]=3;B=(B+3|0)>>>2;c[k+84>>2]=B}else if((C|0)==1){a[k+94|0]=1;B=(B+7|0)>>>3;c[k+84>>2]=B}else if((C|0)==8){a[k+94|0]=2;c[k+84>>2]=B}else{g=3;i=q;return g|0}A=da(B,A)|0;if((A|0)==0){g=0;i=q;return g|0}B=CJ(k,A)|0;c[r>>2]=B;if((B|0)==0){break}i=q;return B|0}}while(0);j=e[j>>1]|0;b:do{switch(j|0){case 8:{g=DK(n,1)|0;c[r>>2]=g;if((g|0)==0){break b}c[r>>2]=83;g=83;i=q;return g|0};case 7:case 6:case 5:case 2:case 1:{s=d[f+46|0]|0;if((l|0)<0){g=6;i=q;return g|0}f=d[o+1|0]|0;if((f+l|0)>(c[k+80>>2]|0)|(m|0)<0){g=6;i=q;return g|0}t=d[o]|0;if((t+m|0)>(c[y>>2]|0)){g=6;i=q;return g|0}r=da(f,s)|0;switch(j|0){case 6:case 1:{if((s|0)==1){f=(f+7|0)>>>3}else if((s|0)==2){f=(f+3|0)>>>2}else if((s|0)==4){f=(f+1|0)>>>1}t=da(f,t)|0;h=1;break};case 7:case 5:case 2:{t=((da(t,r)|0)+7|0)>>>3;h=0;break};default:{g=3;i=q;return g|0}}t=MK(n,t)|0;if((t|0)!=0){g=t;i=q;return g|0}s=da(s,l)|0;v=a[o]|0;l=c[k+84>>2]|0;x=c[k+88>>2]|0;if((l|0)<0){x=x+(da((c[y>>2]|0)+ -1|0,0-l|0)|0)|0}if(v<<24>>24!=0){z=da(l,m)|0;p=s>>3;m=s&7;f=m&255;t=r>>>0>7;s=r+ -8|0;k=m<<24>>24==0;m=8-m<<24>>24&255;u=h<<24>>24==0;g=(15-r|0)>0?0:s>>>3;h=s-(g<<3)|0;o=c[n+32>>2]|0;y=0;w=v&255;v=x+(p+1+g+z)|0;x=x+(z+p)|0;p=0;while(1){if(t){z=o;A=y;y=s;j=x;while(1){if(p>>>0<8){o=z+1|0;A=(d[z]<<8-p|A&65535)&65535;p=p+8|0}else{o=z}z=(A&65535)>>>8&65535;if(k){a[j]=d[j]|z;j=j+1|0}else{a[j]=d[j]|z>>>f;j=j+1|0;a[j]=d[j]|z<<m}A=A<<8&65535;p=p+ -8|0;y=y+ -8|0;if((y|0)>-1){z=o}else{y=h;z=v;break}}}else{A=y;y=r;z=x}if((y|0)>0){if((p|0)<(y|0)){j=o+1|0;A=(d[o]<<8-p|A&65535)&65535;p=p+8|0}else{j=o}o=(A&65535)>>>8&65535&(255>>>y^255);a[z]=o>>>f|d[z];if((y|0)>(m|0)){g=z+1|0;a[g]=d[g]|o<<m}o=j;A=(A&65535)<<y&65535;p=p-y|0}w=w+ -1|0;if((w|0)>0){y=u?A:0;v=v+l|0;x=x+l|0;p=u?p:0}else{break}}}PK(n);g=0;i=q;return g|0};case 9:{break};default:{g=3;i=q;return g|0}}}while(0);y=EK(n,z)|0;o=c[r>>2]|0;if((o|0)!=0){g=o;i=q;return g|0}j=y&65535;o=oJ(s,4,0,j,0,z)|0;z=c[r>>2]|0;if((z|0)!=0){g=z;i=q;return g|0}g=MK(n,j<<2)|0;c[r>>2]=g;c:do{if((g|0)==0){j=y<<16>>16==0;if(j){PK(n);break}else{z=o;A=y}while(1){b[z>>1]=RK(n)|0;a[z+2|0]=QK(n)|0;a[z+3|0]=QK(n)|0;A=A+ -1<<16>>16;if(A<<16>>16==0){break}else{z=z+4|0}}PK(n);if(j){break}z=p+1|0;p=o;while(1){g=qQ(e[p>>1]|0,f,v,w)|0;c[r>>2]=g;if((g|0)!=0){break c}g=pQ(f,c[x>>2]|0,h,c[u>>2]|0,k,(a[p+2|0]|0)+l|0,(a[p+3|0]|0)+m|0,n,t,z)|0;c[r>>2]=g;if((g|0)!=0){break c}y=y+ -1<<16>>16;if(y<<16>>16==0){break}else{p=p+4|0}}}}while(0);lJ(s,o);g=c[r>>2]|0;i=q;return g|0}function qQ(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;a:do{if((e[d+40>>1]|0)>>>0<=a>>>0){if((e[d+42>>1]|0)>>>0<a>>>0){break}j=c[d+4>>2]|0;n=c[d>>2]|0;d=j+(n*40|0)|0;if(!((j|0)!=0&(n|0)>0)){break}while(1){k=e[j>>1]|0;if(k>>>0<=a>>>0){if((e[j+2>>1]|0)>>>0>=a>>>0){break}}j=j+40|0;if(j>>>0>=d>>>0){break a}}k=a-k|0;d=b[j+4>>1]|0;b:do{switch(d&65535|0){case 5:case 4:{k=c[j+24>>2]|0;if((k|0)==0){break a}m=c[j+32>>2]|0;n=0;while(1){l=n+1|0;if((e[m+(n<<1)>>1]|0|0)==(a|0)){break}if(l>>>0<k>>>0){n=l}else{break a}}if(d<<16>>16==4){c[g>>2]=c[(c[j+28>>2]|0)+(n<<2)>>2];break b}else{c[g>>2]=(da(c[j+12>>2]|0,n)|0)+(c[j+8>>2]|0);break b}break};case 3:case 1:{c[g>>2]=c[(c[j+28>>2]|0)+((k&65535)<<2)>>2];break};case 2:{c[g>>2]=(da(c[j+12>>2]|0,k&65535)|0)+(c[j+8>>2]|0);break};default:{break a}}}while(0);c[f>>2]=j;n=0;i=h;return n|0}}while(0);c[f>>2]=0;c[g>>2]=0;n=6;i=h;return n|0}function rQ(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=i;h=i;i=i+8|0;k=h;j=c[a+100>>2]|0;c[h>>2]=0;m=a+360|0;p=b[a+344>>1]|0;if(p<<16>>16==0){v=0;w=f;c[w>>2]=v;w=h;w=c[w>>2]|0;i=g;return w|0}q=0;u=-1;v=-1;r=-1;n=-1;s=0;t=0;o=c[m>>2]|0;while(1){do{if((b[o+6>>1]|0)==d<<16>>16){if((b[o+8>>1]|0)==0){break}w=e[o>>1]|0;if((w|0)==1){if((b[o+4>>1]|0)==0){u=q;break}v=(b[o+2>>1]|0)==0?q:v;break}else if((w|0)==3){if((n|0)!=-1){if((b[o+4>>1]&1023)!=9){break}}w=e[o+2>>1]|0;if(!((w|0)==10|(w|0)==1|(w|0)==0)){break}n=q;s=(b[o+4>>1]&1023)==9|0;break}else if((w|0)==2|(w|0)==0){r=q;break}else{break}}}while(0);t=t+1<<16>>16;if((t&65535)<(p&65535)){q=t&65535;o=o+20|0}else{break}}o=(u|0)>-1?u:v;do{if((n|0)>-1){if((o|0)>-1&s<<24>>24==0){l=17;break}m=c[m>>2]|0;w=e[m+(n*20|0)+2>>1]|0;if((w|0)==10|(w|0)==0|(w|0)==1){d=195;m=m+(n*20|0)|0;break}else{j=0}w=f;c[w>>2]=j;w=h;w=c[w>>2]|0;i=g;return w|0}else{l=17}}while(0);do{if((l|0)==17){if((o|0)>-1){d=196;m=(c[m>>2]|0)+(o*20|0)|0;break}if((r|0)>-1){d=195;m=(c[m>>2]|0)+(r*20|0)|0;break}else{v=0;w=f;c[w>>2]=v;w=h;w=c[w>>2]|0;i=g;return w|0}}}while(0);if((m|0)==0){v=0;w=f;c[w>>2]=v;w=h;w=c[w>>2]|0;i=g;return w|0}l=m+16|0;a:do{if((c[l>>2]|0)==0){n=c[a+364>>2]|0;a=m+8|0;c[l>>2]=oJ(j,1,0,e[a>>1]|0,0,k)|0;do{if((c[h>>2]|0)==0){w=PJ(n,c[m+12>>2]|0)|0;c[h>>2]=w;if((w|0)!=0){break}w=CK(n,c[l>>2]|0,e[a>>1]|0)|0;c[h>>2]=w;if((w|0)==0){break a}}}while(0);lJ(j,c[l>>2]|0);c[l>>2]=0;b[a>>1]=0;v=0;w=f;c[w>>2]=v;w=h;w=c[w>>2]|0;i=g;return w|0}}while(0);v=Bd[d&255](m,j)|0;w=f;c[w>>2]=v;w=h;w=c[w>>2]|0;i=g;return w|0}function sQ(a){a=a|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=i;k=i;i=i+168|0;c[k>>2]=0;o=i;i=i+16|0;h=o;g=i;i=i+176|0;p=i;i=i+8|0;j=p;m=c[a+500>>2]|0;n=a+504|0;l=m+(c[n>>2]|0)|0;q=m;if((q|0)==0){i=f;return}if((q+4|0)>>>0>l>>>0){i=f;return}G=q+2|0;q=G;if((d[G+ -1|0]|0|(d[G+ -2|0]|0)<<8&65535)<<16>>16!=0){i=f;return}q=q+2|0;u=(d[q+ -1|0]|0|(d[q+ -2|0]|0)<<8&65535)&65535;if((u|0)==0){i=f;return}z=h+8|0;A=h+10|0;r=h+4|0;w=a+264|0;x=g+172|0;y=g+16|0;v=g+12|0;while(1){if((q+8|0)>>>0>l>>>0){a=24;break}q=q+2|0;b[z>>1]=d[q+ -1|0]|0|(d[q+ -2|0]|0)<<8&65535;q=q+2|0;b[A>>1]=d[q+ -1|0]|0|(d[q+ -2|0]|0)<<8&65535;c[o>>2]=a;c[r>>2]=0;q=q+4|0;B=(d[q+ -3|0]|0)<<16|(d[q+ -4|0]|0)<<24|(d[q+ -2|0]|0)<<8|(d[q+ -1|0]|0);do{if((B|0)!=0){if(B>>>0>((c[n>>2]|0)+ -2|0)>>>0){break}B=m+B|0;E=(d[B+1|0]|0|(d[B]|0)<<8&65535)&65535;D=272992;a:do{if((c[D>>2]|0)!=0){while(1){C=c[D>>2]|0;if((c[C+40>>2]|0)==(E|0)){break}D=D+4|0;if((c[D>>2]|0)==0){break a}}D=0;s=0;Pa(35,g|0,B|0,l|0,0);F=s;s=0;if((F|0)!=0&(t|0)!=0){E=kX(c[F>>2]|0,k)|0;if((E|0)==0){_a(F|0,t|0)}H=t}else{E=-1}if((E|0)==1){E=H}else{c[x>>2]=e[w>>1]|0;YW(y,1,k|0)|0;E=0}while(1){if((E|0)==0){s=0;G=Ha(c[C+44>>2]|0,B|0,g|0)|0;F=s;s=0;if((F|0)!=0&(t|0)!=0){E=kX(c[F>>2]|0,k)|0;if((E|0)==0){_a(F|0,t|0)}H=t}else{E=-1}if((E|0)==1){E=H;continue}D=G}if((c[v>>2]|0)!=0){break a}s=0;G=va(42,C|0,B|0,h|0,j|0)|0;F=s;s=0;if((F|0)!=0&(t|0)!=0){E=kX(c[F>>2]|0,k)|0;if((E|0)==0){_a(F|0,t|0)}H=t}else{E=-1}if((E|0)==1){E=H}else{break}}if((G|0)!=0){break}c[(c[p>>2]|0)+20>>2]=D}}while(0);}}while(0);u=u+ -1|0;if((u|0)==0){a=24;break}}if((a|0)==24){i=f;return}}function tQ(b,f){b=b|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;k=i;i=i+8|0;h=c[b+16>>2]|0;b=(e[b+8>>1]|0)>>>1;f=oJ(f,1,0,b+1|0,0,k)|0;if((c[k>>2]|0)!=0){k=0;i=g;return k|0}if((b|0)!=0){j=0;while(1){k=a[h+1|0]|0;a[f+j|0]=(((d[h]|0)<<8&65535|k&255)+ -32<<16>>16&65535)>95?63:k;j=j+1|0;if(j>>>0<b>>>0){h=h+2|0}else{break}}}a[f+b|0]=0;k=f;i=g;return k|0}function uQ(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;j=i;i=i+8|0;g=c[d+16>>2]|0;h=b[d+8>>1]|0;d=h&65535;e=oJ(e,1,0,d+1|0,0,j)|0;if((c[j>>2]|0)!=0){j=0;i=f;return j|0}if(h<<16>>16!=0){h=0;while(1){j=a[g]|0;a[e+h|0]=(j&255)<32|j<<24>>24<0?63:j;h=h+1|0;if(h>>>0<d>>>0){g=g+1|0}else{break}}}a[e+d|0]=0;j=e;i=f;return j|0}function vQ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;k=i;i=i+8|0;j=k;g=(d[b+1|0]|0)<<16|(d[b]|0)<<24|(d[b+2|0]|0)<<8|(d[b+3|0]|0);h=(g|0)==0;if(h){n=1}else{l=b+7|0;n=g;m=0;while(1){m=m+1+(d[l]|0)|0;n=n+ -1|0;if((n|0)==0){break}else{l=l+4|0}}n=m+1|0}l=a+28|0;m=c[l>>2]|0;c[k>>2]=0;do{if(m>>>0<n>>>0){c[a+36>>2]=e;a=a+32|0;c[a>>2]=oJ(e,4,m,n,c[a>>2]|0,j)|0;if((c[k>>2]|0)==0){c[l>>2]=n;break}else{n=0;i=f;return n|0}}else{a=a+32|0}}while(0);k=c[a>>2]|0;if(!h){while(1){h=b+4|0;j=d[b+7|0]|0;l=j+1|0;e=k;b=(d[b+5|0]|0)<<8|(d[h]|0)<<16|(d[b+6|0]|0);while(1){c[e>>2]=b;l=l+ -1|0;if((l|0)==0){break}else{b=b+1|0;e=e+4|0}}k=k+(j+1<<2)|0;g=g+ -1|0;if((g|0)==0){break}else{b=h}}}c[k>>2]=0;n=c[a>>2]|0;i=f;return n|0}function wQ(a,b){a=a|0;b=b|0;var c=0,e=0,f=0,g=0,h=0,j=0,k=0;c=i;e=(d[a+1|0]|0)<<16|(d[a]|0)<<24|(d[a+2|0]|0)<<8|(d[a+3|0]|0);if((e|0)==0){k=0;i=c;return k|0}else{j=0}a:while(1){while(1){k=(j+e|0)>>>1;g=k*5|0;f=g+7|0;h=(d[a+(g+5)|0]|0)<<8|(d[a+(g+4)|0]|0)<<16|(d[a+(g+6)|0]|0);if(h>>>0>b>>>0){break}j=k+1|0;if(h>>>0>=b>>>0){b=7;break a}if(j>>>0>=e>>>0){a=0;b=8;break a}}if(j>>>0<k>>>0){e=k}else{a=0;b=8;break}}if((b|0)==7){k=((d[a+f|0]|0)<<8&65535|(d[a+(g+8)|0]|0))&65535;i=c;return k|0}else if((b|0)==8){i=c;return a|0}return 0}function xQ(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;e=b+28|0;k=c[e>>2]|0;a:do{if((k|0)!=-1){f=b+36|0;l=c[f>>2]|0;g=c[b+40>>2]|0;if(l>>>0>=g>>>0){break}j=c[b+16>>2]|0;n=k+1|0;while(1){m=l*12|0;o=(d[j+(m+17)|0]|0)<<16|(d[j+(m+16)|0]|0)<<24|(d[j+(m+18)|0]|0)<<8|(d[j+(m+19)|0]|0);k=(d[j+(m+25)|0]|0)<<16|(d[j+(m+24)|0]|0)<<24|(d[j+(m+26)|0]|0)<<8|(d[j+(m+27)|0]|0);n=n>>>0<o>>>0?o:n;o=l+1|0;if(!(n>>>0>((d[j+(m+21)|0]|0)<<16|(d[j+(m+20)|0]|0)<<24|(d[j+(m+22)|0]|0)<<8|(d[j+(m+23)|0]|0))>>>0|(k|0)==0)){break}if(o>>>0<g>>>0){l=o}else{break a}}c[e>>2]=n;c[b+32>>2]=k;c[f>>2]=l;i=h;return}}while(0);a[b+24|0]=0;i=h;return}function yQ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;k=c[b+16>>2]|0;h=d[k+13|0]<<16|d[k+12|0]<<24|d[k+14|0]<<8|d[k+15|0];if((h|0)==0){r=0;i=g;return r|0}l=f<<24>>24!=0;f=(c[e>>2]|0)+(l&1)|0;m=h;r=0;a:while(1){while(1){n=(r+m|0)>>>1;q=n*12|0;p=q+24|0;o=d[k+(q+21)|0]<<16|d[k+(q+20)|0]<<24|d[k+(q+22)|0]<<8|d[k+(q+23)|0];if(f>>>0<(d[k+(q+17)|0]<<16|d[k+(q+16)|0]<<24|d[k+(q+18)|0]<<8|d[k+(q+19)|0])>>>0){break}r=n+1|0;if(f>>>0<=o>>>0){j=8;break a}if(r>>>0>=m>>>0){k=0;break a}}if(r>>>0<n>>>0){m=n}else{k=0;break}}if((j|0)==8){k=d[k+(q+25)|0]<<16|d[k+p|0]<<24|d[k+(q+26)|0]<<8|d[k+(q+27)|0]}if(!l){r=k;i=g;return r|0}do{if(f>>>0>o>>>0){n=n+1|0;if((n|0)==(h|0)){e=0}else{break}i=g;return e|0}}while(0);j=b+24|0;a[j]=1;h=b+28|0;c[h>>2]=f;c[b+36>>2]=n;do{if((k|0)==0){xQ(b);if((a[j]|0)==0){r=0;i=g;return r|0}else{k=c[b+32>>2]|0;break}}else{c[b+32>>2]=k}}while(0);if((k|0)==0){r=0;i=g;return r|0}c[e>>2]=c[h>>2];r=k;i=g;return r|0}function zQ(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;e=b+28|0;l=c[e>>2]|0;a:do{if((l|0)!=-1){g=b+36|0;k=c[g>>2]|0;f=c[b+40>>2]|0;if(k>>>0>=f>>>0){break}h=c[b+16>>2]|0;o=l+1|0;b:while(1){n=k*12|0;l=(d[h+(n+17)|0]|0)<<16|(d[h+(n+16)|0]|0)<<24|(d[h+(n+18)|0]|0)<<8|(d[h+(n+19)|0]|0);m=(d[h+(n+21)|0]|0)<<16|(d[h+(n+20)|0]|0)<<24|(d[h+(n+22)|0]|0)<<8|(d[h+(n+23)|0]|0);n=(d[h+(n+25)|0]|0)<<16|(d[h+(n+24)|0]|0)<<24|(d[h+(n+26)|0]|0)<<8|(d[h+(n+27)|0]|0);o=o>>>0<l>>>0?l:o;if(o>>>0<=m>>>0){p=o;while(1){q=p+n|0;o=p+1|0;if((q|0)!=(l|0)){break b}if(o>>>0>m>>>0){break}else{p=o}}}k=k+1|0;if(k>>>0>=f>>>0){break a}}c[e>>2]=p;c[b+32>>2]=q-l;c[g>>2]=k;i=j;return}}while(0);a[b+24|0]=0;i=j;return}function AQ(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;l=c[b+16>>2]|0;h=d[l+13|0]<<16|d[l+12|0]<<24|d[l+14|0]<<8|d[l+15|0];if((h|0)==0){s=0;i=g;return s|0}k=f<<24>>24!=0;f=(c[e>>2]|0)+(k&1)|0;o=h;s=0;a:while(1){while(1){n=(s+o|0)>>>1;r=n*12|0;q=d[l+(r+17)|0]<<16|d[l+(r+16)|0]<<24|d[l+(r+18)|0]<<8|d[l+(r+19)|0];p=r+24|0;m=d[l+(r+21)|0]<<16|d[l+(r+20)|0]<<24|d[l+(r+22)|0]<<8|d[l+(r+23)|0];if(f>>>0<q>>>0){break}s=n+1|0;if(f>>>0<=m>>>0){j=8;break a}if(s>>>0>=o>>>0){l=0;break a}}if(s>>>0<n>>>0){o=n}else{l=0;break}}if((j|0)==8){l=f-q+(d[l+(r+25)|0]<<16|d[l+p|0]<<24|d[l+(r+26)|0]<<8|d[l+(r+27)|0])|0}if(!k){s=l;i=g;return s|0}do{if(f>>>0>m>>>0){n=n+1|0;if((n|0)==(h|0)){e=0}else{break}i=g;return e|0}}while(0);j=b+24|0;a[j]=1;h=b+28|0;c[h>>2]=f;c[b+36>>2]=n;do{if((l|0)==0){zQ(b);if((a[j]|0)==0){s=0;i=g;return s|0}else{l=c[b+32>>2]|0;break}}else{c[b+32>>2]=l}}while(0);if((l|0)==0){s=0;i=g;return s|0}c[e>>2]=c[h>>2];s=l;i=g;return s|0}function BQ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=i;m=c[a+16>>2]|0;n=((d[m+6|0]|0)<<8&65535|(d[m+7|0]|0))&65535;h=n&65534;l=n>>>1;if((l|0)==0){C=0;i=g;return C|0}k=e<<24>>24!=0;s=(c[b>>2]|0)+(k&1)|0;if(s>>>0>=65536){C=0;i=g;return C|0}j=m+14|0;m=m+(h+16)|0;o=n|1;p=h<<1;q=p|1;r=l+ -1|0;n=p|2;while(1){u=0;w=j;v=m;a:while(1){x=w+2|0;B=(d[w]|0)<<8&65535|(d[w+1|0]|0);t=v+2|0;A=(d[v]|0)<<8&65535|(d[v+1|0]|0);w=A&65535;do{if(s>>>0>=w>>>0){if(s>>>0>(B&65535)>>>0){break}z=((d[v+h|0]|0)<<8&65535|(d[v+o|0]|0))<<16>>16;x=v+p|0;C=(d[x]|0)<<8&65535|(d[v+q|0]|0);y=C&65535;do{if(u>>>0>=r>>>0&A<<16>>16==-1&B<<16>>16==-1){A=c[a>>2]|0;if(C<<16>>16==0){break}A=(v+(n+y)|0)>>>0>((c[A+500>>2]|0)+(c[A+504>>2]|0)|0)>>>0;z=A?1:z;y=A?0:y}}while(0);if((y|0)!=65535)if((y|0)==0){f=11;break a}else{f=12;break a}}}while(0);u=u+1|0;if(u>>>0<l>>>0){w=x;v=t}else{u=0;break}}do{if((f|0)==11){f=0;u=z+s&65535}else if((f|0)==12){f=0;C=(s-w<<1)+p+y|0;C=(d[v+C|0]|0)<<8&65535|(d[v+(C+1)|0]|0);u=C&65535;if(C<<16>>16==0){break}u=u+z&65535}}while(0);t=s+1|0;if(!(k&(u|0)==0)){break}if(t>>>0<65536){s=t}else{h=0;f=19;break}}if((f|0)==19){i=g;return h|0}if(e<<24>>24==0|(u|0)==0){C=u;i=g;return C|0}c[b>>2]=s;C=u;i=g;return C|0}function CQ(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;e=a+24|0;f=c[e>>2]|0;a:do{if(f>>>0<=65534){m=f+1|0;f=a+40|0;l=c[f>>2]|0;h=a+52|0;j=a+44|0;k=a+48|0;g=a+36|0;o=l;q=m>>>0<l>>>0?l:m;b:while(1){p=c[h>>2]|0;l=c[j>>2]|0;m=c[k>>2]|0;c:do{if(q>>>0>l>>>0){n=q}else{if((p|0)==0){n=q;while(1){o=n+m&65535;if((o|0)!=0){f=11;break b}n=n+1|0;if(n>>>0>l>>>0){break c}}}n=q;p=p+(q-o<<1)|0;while(1){o=p+2|0;p=(d[p]|0)<<8&65535|(d[p+1|0]|0);if(p<<16>>16!=0){p=(p&65535)+m&65535;if((p|0)!=0){f=8;break b}}n=n+1|0;if(n>>>0>l>>>0){break}else{p=o}}}}while(0);if((EQ(a,(c[g>>2]|0)+1|0)|0)<0){break a}l=c[f>>2]|0;o=l;q=n>>>0<l>>>0?l:n}if((f|0)==8){c[e>>2]=n;c[a+28>>2]=p;i=b;return}else if((f|0)==11){c[e>>2]=n;c[a+28>>2]=o;i=b;return}}}while(0);c[e>>2]=-1;c[a+28>>2]=0;i=b;return}function DQ(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=i;j=c[a+16>>2]|0;g=((d[j+6|0]|0)<<8&65535|(d[j+7|0]|0))&65535;k=g&65534;if((k|0)==0){B=0;i=f;return B|0}g=g>>>1;h=e<<24>>24!=0;e=(c[b>>2]|0)+(h&1)|0;l=k+2|0;q=65535;r=g;m=g;o=0;a:while(1){while(1){if(o>>>0>=r>>>0){j=0;break a}m=(r+o|0)>>>1;t=m<<1;s=t+14|0;t=(d[j+s|0]|0)<<8&65535|(d[j+(t+15)|0]|0);q=t&65535;s=s+l|0;u=(d[j+s|0]|0)<<8&65535|(d[j+(s|1)|0]|0);n=u&65535;if(e>>>0<n>>>0){r=m}else{break}}o=m+1|0;if(e>>>0<=q>>>0){p=7;break}}b:do{if((p|0)==7){w=s+k|0;r=((d[j+w|0]|0)<<8&65535|(d[j+(w|1)|0]|0))<<16>>16;w=w+k|0;s=j+w|0;v=(d[s]|0)<<8&65535|(d[j+(w|1)|0]|0);p=v&65535;do{if(m>>>0>=(g+ -1|0)>>>0&u<<16>>16==-1&t<<16>>16==-1){t=c[a>>2]|0;if(v<<16>>16==0){t=r;u=p;break}u=(j+(w+2+p)|0)>>>0>((c[t+500>>2]|0)+(c[t+504>>2]|0)|0)>>>0;t=u?1:r;u=u?0:p}else{t=r;u=p}}while(0);v=(u|0)==65535;do{if((c[a+20>>2]&2|0)==0){if(v){j=0;break b}}else{y=v?o:m;c:do{if((m|0)==0){v=q;w=0;x=n}else{v=q;w=m;x=n;while(1){A=w+ -1|0;z=A<<1;B=z+14|0;z=((d[j+B|0]|0)<<8&65535|(d[j+(z+15)|0]|0))&65535;if(e>>>0>z>>>0){break c}B=B+l|0;x=((d[j+B|0]|0)<<8&65535|(d[j+(B|1)|0]|0))&65535;B=B+k|0;t=((d[j+B|0]|0)<<8&65535|(d[j+(B|1)|0]|0))<<16>>16;B=B+k|0;s=j+B|0;B=(d[s]|0)<<8&65535|(d[j+(B|1)|0]|0);u=B&65535;y=B<<16>>16==-1?y:A;if((A|0)==0){v=z;w=0;break}else{w=A;v=z}}}}while(0);if((y|0)==(o|0)){s=(w|0)==(m|0);q=s?v:q;if(o>>>0<g>>>0){t=s?t:r;r=m;u=s?u:p;n=s?x:n}else{j=0;break b}while(1){x=o<<1;w=x+14|0;v=w+l|0;s=j+v|0;p=((d[s]|0)<<8&65535|(d[j+(v|1)|0]|0))&65535;if(e>>>0<p>>>0){break}q=((d[j+w|0]|0)<<8&65535|(d[j+(x+15)|0]|0))&65535;B=v+k|0;t=((d[j+B|0]|0)<<8&65535|(d[j+(B|1)|0]|0))<<16>>16;B=B+k|0;s=j+B|0;B=(d[s]|0)<<8&65535|(d[j+(B|1)|0]|0);u=B&65535;r=B<<16>>16==-1?r:o;o=o+1|0;if(o>>>0<g>>>0){n=p}else{n=p;break}}w=o+ -1|0;if((r|0)==(m|0)){j=0;m=w;break b}else{m=r}}else{q=v;m=y;n=x}if((m|0)==(w|0)){break}q=m<<1;B=q+14|0;n=B+l|0;t=n+k|0;u=t+k|0;s=j+u|0;t=((d[j+t|0]|0)<<8&65535|(d[j+(t|1)|0]|0))<<16>>16;q=((d[j+B|0]|0)<<8&65535|(d[j+(q+15)|0]|0))&65535;u=((d[s]|0)<<8&65535|(d[j+(u|1)|0]|0))&65535;n=((d[j+n|0]|0)<<8&65535|(d[j+(n|1)|0]|0))&65535}}while(0);if((u|0)==0){j=t+e&65535;break}B=(e-n<<1)+u|0;B=(d[s+B|0]|0)<<8&65535|(d[s+(B+1)|0]|0);j=B&65535;if(B<<16>>16==0){break}j=j+t&65535}}while(0);if(!h){B=j;i=f;return B|0}do{if(e>>>0>q>>>0){m=m+1|0;if((m|0)==(g|0)){b=0}else{break}i=f;return b|0}}while(0);if((EQ(a,m)|0)!=0){if((j|0)==0){B=0;i=f;return B|0}c[b>>2]=e;B=j;i=f;return B|0}g=a+24|0;c[g>>2]=e;if((j|0)==0){c[g>>2]=e;CQ(a);j=c[a+28>>2]|0}else{c[a+28>>2]=j}if((j|0)==0){B=0;i=f;return B|0}c[b>>2]=c[g>>2];B=j;i=f;return B|0}function EQ(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;o=c[a+16>>2]|0;g=c[a+32>>2]|0;if(g>>>0<=b>>>0){s=-1;i=f;return s|0}l=a+44|0;h=g<<1;m=h+2|0;n=a+40|0;k=a+48|0;j=g+ -1|0;a:while(1){s=b<<1;q=s+14|0;s=(d[o+q|0]|0)<<8&65535|(d[o+(s+15)|0]|0);c[l>>2]=s&65535;q=m+q|0;t=(d[o+q|0]|0)<<8&65535|(d[o+(q|1)|0]|0);c[n>>2]=t&65535;q=q+h|0;c[k>>2]=((d[o+q|0]|0)<<8&65535|(d[o+(q|1)|0]|0))<<16>>16;q=q+h|0;r=(d[o+q|0]|0)<<8&65535|(d[o+(q|1)|0]|0);p=r&65535;do{if(b>>>0>=j>>>0&t<<16>>16==-1&s<<16>>16==-1){s=c[a>>2]|0;if(r<<16>>16==0){break}if((o+(q+2+p)|0)>>>0>((c[s+500>>2]|0)+(c[s+504>>2]|0)|0)>>>0){e=6;break a}}}while(0);if((p|0)==0){g=0;break}else if((p|0)!=65535){e=8;break}b=b+1|0;if(b>>>0>=g>>>0){a=-1;e=11;break}}if((e|0)==6){c[k>>2]=1;g=0}else if((e|0)==8){g=o+(p+q)|0}else if((e|0)==11){i=f;return a|0}c[a+52>>2]=g;c[a+36>>2]=b;t=0;i=f;return t|0}function FQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;g=i;i=i+8|0;c[b>>2]=0;f=jJ(a,20,g)|0;e=c[g>>2]|0;if((e|0)!=0){b=e;i=d;return b|0}c[f+12>>2]=a;c[b>>2]=f;b=c[g>>2]|0;i=d;return b|0}function GQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;if((a|0)==0){i=e;return}if((b|0)!=0&(d|0)>3475){c[a+16>>2]=b;c[a>>2]=b+1440;d=d+ -1440|0;c[a+4>>2]=d&-16;c[a+8>>2]=d>>>7;i=e;return}else{c[a>>2]=0;c[a+4>>2]=0;c[a+16>>2]=0;i=e;return}}function HQ(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;e=i;g=i;i=i+320|0;h=g;l=c[d+4>>2]|0;s=c[d>>2]|0;if((a|0)==0){M=6;i=e;return M|0}if((c[a>>2]|0)==0){M=6;i=e;return M|0}k=a+4|0;if((c[k>>2]|0)==0){M=6;i=e;return M|0}if((l|0)==0){M=20;i=e;return M|0}n=b[l+2>>1]|0;if(n<<16>>16==0){M=0;i=e;return M|0}m=b[l>>1]|0;if(m<<16>>16<1){M=0;i=e;return M|0}j=c[l+12>>2]|0;if((j|0)==0){M=20;i=e;return M|0}if((c[l+4>>2]|0)==0){M=20;i=e;return M|0}if((n<<16>>16|0)!=((b[j+((m<<16>>16)+ -1<<1)>>1]|0)+1|0)){M=20;i=e;return M|0}j=c[a+16>>2]|0;t=d+8|0;m=c[t>>2]|0;n=(m&2|0)==0;do{if(n){if((s|0)==0){M=6;i=e;return M|0}if((c[s+4>>2]|0)==0){M=0;i=e;return M|0}if((c[s>>2]|0)==0){M=0;i=e;return M|0}if((c[s+12>>2]|0)==0){g=6}else{break}i=e;return g|0}}while(0);if((m&1|0)==0){M=19;i=e;return M|0}do{if(n){c[j+1024>>2]=0;c[j+1028>>2]=0;c[j+1032>>2]=c[s+4>>2];c[j+1036>>2]=c[s>>2]}else{n=j+1024|0;if((m&4|0)==0){c[n>>2]=-32768;c[j+1028>>2]=-32768;c[j+1032>>2]=32767;c[j+1036>>2]=32767;break}else{$W(n|0,d+32|0,16)|0;break}}}while(0);m=c[a>>2]|0;n=c[k>>2]|0;r=j+1412|0;c[r>>2]=m;o=j+1416|0;c[o>>2]=n;n=j+1420|0;c[n>>2]=m;m=j+44|0;c[m>>2]=0;q=j+48|0;c[q>>2]=0;k=j+52|0;c[k>>2]=0;c[j+32>>2]=0;c[j+36>>2]=0;p=j+40|0;c[p>>2]=1;$W(j+980|0,l|0,20)|0;c[k>>2]=0;c[p>>2]=1;l=j+1248|0;c[l>>2]=c[a+8>>2];a=j+1232|0;c[a>>2]=0;if((c[t>>2]&2|0)==0){$W(j+1e3|0,s|0,24)|0;c[j+1236>>2]=36;c[j+1240>>2]=j}else{c[j+1236>>2]=c[d+12>>2];c[j+1240>>2]=c[d+28>>2]}z=c[j+984>>2]|0;w=b[j+982>>1]|0;v=z+(w<<16>>16<<3)|0;if(w<<16>>16<1){bX(j+8|0,0,16)|0;z=0;t=0;A=0;u=0;y=j+12|0}else{x=c[z>>2]|0;d=j+12|0;c[d>>2]=x;u=j+8|0;c[u>>2]=x;y=c[z+4>>2]|0;t=j+20|0;c[t>>2]=y;s=j+16|0;c[s>>2]=y;if(w<<16>>16>1){w=y;A=x;B=z;z=z+8|0;while(1){C=c[z>>2]|0;B=c[B+12>>2]|0;if((C|0)<(x|0)){c[u>>2]=C;x=C}if((C|0)>(A|0)){c[d>>2]=C;A=C}if((B|0)<(y|0)){c[s>>2]=B;y=B}if((B|0)>(w|0)){c[t>>2]=B;w=B}B=z+8|0;if(B>>>0<v>>>0){M=z;z=B;B=M}else{break}}}else{w=y;A=x}M=x>>6;c[u>>2]=M;z=y>>6;c[s>>2]=z;u=A+63>>6;c[d>>2]=u;A=w+63>>6;c[t>>2]=A;t=A;A=M;y=d}w=c[j+1024>>2]|0;if((u|0)<=(w|0)){M=0;i=e;return M|0}x=c[j+1032>>2]|0;if((A|0)>=(x|0)){M=0;i=e;return M|0}s=j+20|0;B=c[j+1028>>2]|0;if((t|0)<=(B|0)){M=0;i=e;return M|0}d=j+16|0;v=c[j+1036>>2]|0;if((z|0)>=(v|0)){M=0;i=e;return M|0}if((A|0)<(w|0)){c[j+8>>2]=w}else{w=A}if((z|0)<(B|0)){c[d>>2]=B;z=B}if((u|0)>(x|0)){c[y>>2]=x;u=x}if((t|0)>(v|0)){c[s>>2]=v}else{v=t}t=j+24|0;c[t>>2]=u-w;A=v-z|0;z=j+28|0;c[z>>2]=A;A=(A|0)/(c[l>>2]|0)|0;if((A|0)==0){A=1}if((A|0)>38){A=39}E=j+1252|0;c[E>>2]=0;G=c[d>>2]|0;F=c[s>>2]|0;D=0;a:do{if((D|0)<(A|0)){u=h+4|0;y=j+1424|0;x=j+1236|0;v=j+1244|0;B=j+1040|0;w=j+1240|0;b:while(1){C=(c[l>>2]|0)+G|0;if((D|0)==(A+ -1|0)){f=58}else{if((C|0)>(F|0)){f=58}}if((f|0)==58){f=0;C=F}c[g>>2]=G;c[u>>2]=C;G=h;if(G>>>0>=h>>>0){do{c[n>>2]=c[r>>2];H=(c[G+4>>2]|0)-(c[G>>2]|0)|0;c[y>>2]=H;J=H<<2;I=J&12;if((I|0)!=0){J=J+16-I|0}I=c[o>>2]&-16;c[m>>2]=(c[r>>2]|0)+J;do{if((J|0)<(I|0)){M=I-J|0;c[q>>2]=M>>4;if((M|0)<32){f=84;break}if((H|0)>0){H=0;do{c[(c[n>>2]|0)+(H<<2)>>2]=0;H=H+1|0;}while((H|0)<(c[y>>2]|0))}c[k>>2]=0;c[p>>2]=1;c[d>>2]=c[G>>2];c[s>>2]=c[G+4>>2];c[z>>2]=(c[G+4>>2]|0)-(c[G>>2]|0);H=SQ(j)|0;if((H|0)==64){f=84;break}else if((H|0)!=0){g=1;f=92;break b}do{if((c[k>>2]|0)!=0){c[a>>2]=0;if((c[y>>2]|0)>0){H=0;do{I=c[(c[n>>2]|0)+(H<<2)>>2]|0;do{if((I|0)!=0){J=0;L=0;do{K=c[I>>2]|0;if(!((K|0)<=(L|0)|(J|0)==0)){TQ(j,L,H,J<<9,K-L|0)}J=(c[I+4>>2]|0)+J|0;K=J<<9;L=c[I+8>>2]|0;M=K-L|0;do{if((K|0)!=(L|0)){L=c[I>>2]|0;if((L|0)<=-1){break}TQ(j,L,H,M,1)}}while(0);L=(c[I>>2]|0)+1|0;I=c[I+12>>2]|0;}while((I|0)!=0);if((J|0)==0){break}TQ(j,L,H,K,(c[t>>2]|0)-L|0)}}while(0);H=H+1|0;}while((H|0)<(c[y>>2]|0))}I=c[x>>2]|0;if((I|0)==0){break}H=c[a>>2]|0;if((H|0)<=0){break}Jd[I&63](c[v>>2]|0,H,B,c[w>>2]|0)}}while(0);G=G+ -8|0}else{f=84}}while(0);if((f|0)==84){f=0;I=c[G>>2]|0;H=c[G+4>>2]|0;M=H-I>>1;J=M+I|0;if((M|0)==0){g=1;f=92;break b}if((I-H|0)>=(c[l>>2]|0)){c[E>>2]=(c[E>>2]|0)+1}c[G+8>>2]=I;c[G+12>>2]=J;c[G>>2]=J;c[G+4>>2]=H;G=G+8|0}}while(G>>>0>=h>>>0)}D=D+1|0;G=C;if((D|0)>=(A|0)){break a}}if((f|0)==92){i=e;return g|0}}}while(0);if((c[E>>2]|0)<=8){M=0;i=e;return M|0}f=c[l>>2]|0;if((f|0)<=16){M=0;i=e;return M|0}c[l>>2]=(f|0)/2|0;M=0;i=e;return M|0}function IQ(a){a=a|0;var b=0;b=i;lJ(c[a+12>>2]|0,a);i=b;return}function JQ(a){a=a|0;var b=0,d=0;b=i;d=c[a+4>>2]|0;Gd[c[(c[(c[a+20>>2]|0)+56>>2]|0)+8>>2]&255](c[a+60>>2]|0,c[d+172>>2]|0,c[d+176>>2]|0);i=b;return 0}function KQ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;a=QQ(a,b,(c|0)==1?0:c,d,0)|0;i=e;return a|0}function LQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;if((c[b+72>>2]|0)!=(c[a+24>>2]|0)){a=6;i=f;return a|0}if((d|0)!=0){GJ(b+108|0,d)}if((e|0)==0){a=0;i=f;return a|0}HJ(b+108|0,c[e>>2]|0,c[e+4>>2]|0);a=0;i=f;return a|0}function MQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;bX(d|0,0,16)|0;if((c[b+72>>2]|0)!=(c[a+24>>2]|0)){i=e;return}zK(b+108|0,d);i=e;return}function NQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;a=sd[c[(c[(c[a+20>>2]|0)+56>>2]|0)+12>>2]&127](c[a+60>>2]|0,b,d)|0;i=e;return a|0}function OQ(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=i;e=QQ(b,c,d,e,3)|0;if((e|0)!=0){i=f;return e|0}a[c+94|0]=5;i=f;return e|0}function PQ(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;f=i;e=QQ(b,c,d,e,4)|0;if((e|0)!=0){i=f;return e|0}a[c+94|0]=6;i=f;return e|0}function QQ(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;j=i;k=i;i=i+8|0;o=i;i=i+16|0;p=o;y=i;i=i+48|0;x=y;w=(f|0)==3;n=(f|0)==4;l=e+72|0;if((c[l>>2]|0)!=(c[d+24>>2]|0)){c[k>>2]=6;C=6;i=j;return C|0}if((f|0)!=(h|0)){C=19;i=j;return C|0}h=e+108|0;f=(g|0)==0;if(!f){HJ(h,c[g>>2]|0,c[g+4>>2]|0)}zK(h,p);t=c[o>>2]&-64;c[o>>2]=t;q=p+4|0;m=c[q>>2]&-64;c[q>>2]=m;r=p+8|0;s=(c[r>>2]|0)+63&-64;c[r>>2]=s;r=p+12|0;p=(c[r>>2]|0)+63&-64;c[r>>2]=p;if((t|0)<0&(s|0)>(t+2147483647|0)){C=98;i=j;return C|0}u=s-t>>6;if((m|0)<0&(p|0)>(m+2147483647|0)){C=98;i=j;return C|0}s=p-m>>6;B=e+76|0;C=c[d+8>>2]|0;A=e+156|0;if((c[(c[A>>2]|0)+4>>2]&1|0)!=0){z=e+88|0;lJ(C,c[z>>2]|0);c[z>>2]=0;z=(c[A>>2]|0)+4|0;c[z>>2]=c[z>>2]&-2}if(w){v=u*3|0;m=v+3&-4}else{m=u;v=u}if(n){t=s*3|0}else{t=s}p=c[o>>2]|0;q=c[q>>2]|0;o=p>>6;r=c[r>>2]>>6;if(v>>>0>32767|t>>>0>32767){C=98;i=j;return C|0}a[e+94|0]=2;b[e+92>>1]=256;c[e+80>>2]=v;c[B>>2]=t;c[e+84>>2]=m;HJ(h,0-p|0,0-q|0);z=e+88|0;c[z>>2]=jJ(C,da(t,m)|0,k)|0;C=c[k>>2]|0;do{if((C|0)==0){C=(c[A>>2]|0)+4|0;c[C>>2]=c[C>>2]|1;c[y>>2]=B;c[x+4>>2]=h;c[x+8>>2]=1;c[k>>2]=Bd[c[d+64>>2]&255](c[d+60>>2]|0,x)|0;do{if(w){if((s|0)==0|(u|0)==0){break}else{w=s;d=c[z>>2]|0}while(1){x=d+v|0;A=u;while(1){A=A+ -1|0;C=a[d+A|0]|0;y=x+ -3|0;a[y]=C;a[x+ -2|0]=C;a[x+ -1|0]=C;if((A|0)==0){break}else{x=y}}w=w+ -1|0;if((w|0)==0){break}else{d=d+m|0}}}}while(0);do{if(n){d=c[z>>2]|0;if((s|0)==0){break}n=m<<1;u=n+m|0;v=s;s=d+(da(t-s|0,m)|0)|0;while(1){$W(d|0,s|0,m|0)|0;$W(d+m|0,s|0,m|0)|0;$W(d+n|0,s|0,m|0)|0;v=v+ -1|0;if((v|0)==0){break}else{d=d+u|0;s=s+m|0}}}}while(0);HJ(h,p,q);C=c[k>>2]|0;if((C|0)!=0){break}c[l>>2]=1651078259;c[e+100>>2]=o;c[e+104>>2]=r;C=0}}while(0);if(f){i=j;return C|0}HJ(h,0-(c[g>>2]|0)|0,0-(c[g+4>>2]|0)|0);C=c[k>>2]|0;i=j;return C|0}function RQ(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;k=c[g+1012>>2]|0;l=c[g+1008>>2]|0;d=da(l,d)|0;if((l|0)>-1){g=da((c[g+1e3>>2]|0)+ -1|0,l)|0}else{g=0}g=g-d|0;if((e|0)<=0){i=j;return}while(1){l=a[f+4|0]|0;a:do{if(l<<24>>24!=0){o=b[f+2>>1]|0;d=o&65535;n=b[f>>1]|0;m=k+(g+n)|0;if((o&65535)>7){bX(m|0,l|0,d|0)|0;break}switch(d|0){case 1:{break};case 6:{h=9;break};case 4:{h=11;break};case 7:{a[m]=l;m=k+(g+(n+1))|0;h=9;break};case 3:{h=12;break};case 5:{h=10;break};case 2:{h=13;break};default:{break a}}if((h|0)==9){a[m]=l;m=m+1|0;h=10}if((h|0)==10){a[m]=l;m=m+1|0;h=11}if((h|0)==11){a[m]=l;m=m+1|0;h=12}if((h|0)==12){a[m]=l;m=m+1|0;h=13}if((h|0)==13){h=0;a[m]=l;m=m+1|0}a[m]=l}}while(0);e=e+ -1|0;if((e|0)>0){f=f+6|0}else{break}}i=j;return}function SQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=i;i=i+168|0;c[d>>2]=0;YW(a+1256|0,1,d|0)|0;e=0;while(1){if((e|0)!=0){a=6;break}s=0;e=ya(78,a+980|0,273328,a|0)|0;f=s;s=0;if((f|0)!=0&(t|0)!=0){g=kX(c[f>>2]|0,d)|0;if((g|0)==0){_a(f|0,t|0)}H=t}else{g=-1}if((g|0)==1){e=H;continue}s=0;la(339,a|0);g=s;s=0;if((g|0)!=0&(t|0)!=0){f=kX(c[g>>2]|0,d)|0;if((f|0)==0){_a(g|0,t|0)}H=t}else{f=-1}if((f|0)==1){e=H}else{a=5;break}}if((a|0)==5){g=e;i=b;return g|0}else if((a|0)==6){g=64;i=b;return g|0}return 0}function TQ(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=i;j=j>>9;j=(j|0)<0?0-j|0:j;do{if((c[f+996>>2]&2|0)==0){j=(j|0)>255?255:j}else{j=j&511;if(j>>>0>256){j=512-j|0;break}else{j=(j|0)==256?255:j;break}}}while(0);h=(c[f+16>>2]|0)+h|0;g=(c[f+8>>2]|0)+g|0;g=(g|0)<32767?g:32767;if((j|0)==0){i=l;return}m=f+1232|0;p=c[m>>2]|0;o=f+1040|0;q=p+ -1|0;n=(p|0)>0;s=c[f+1244>>2]|0;do{if(n&(s|0)==(h|0)){r=f+1040+(q*6|0)+2|0;s=e[r>>1]|0;if((s+(b[f+1040+(q*6|0)>>1]|0)|0)!=(g|0)){s=h;break}if((d[f+1040+(q*6|0)+4|0]|0)!=(j|0)){s=h;break}b[r>>1]=s+k;i=l;return}}while(0);r=f+1244|0;if((s|0)!=(h|0)|(p|0)>31){q=c[f+1236>>2]|0;if(!((q|0)==0|n^1)){Jd[q&63](s,p,o,c[f+1240>>2]|0)}c[m>>2]=0;c[r>>2]=h}else{o=f+1040+(p*6|0)|0}b[o>>1]=g;b[o+2>>1]=k;a[o+4|0]=j;c[m>>2]=(c[m>>2]|0)+1;i=l;return}function UQ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;if((c[a+40>>2]|0)!=0){i=g;return}f=a+32|0;k=c[f>>2]|0;e=a+36|0;if((c[e>>2]|k|0)==0){i=g;return}l=c[a>>2]|0;j=c[a+24>>2]|0;j=(l|0)>(j|0)?j:l;n=(c[a+1420>>2]|0)+(c[a+4>>2]<<2)|0;l=c[n>>2]|0;a:do{if((l|0)==0){h=7}else{while(1){m=c[l>>2]|0;if((m|0)>(j|0)){h=7;break a}n=l+12|0;if((m|0)==(j|0)){d=k;b=l;break a}l=c[n>>2]|0;if((l|0)==0){h=7;break}}}}while(0);do{if((h|0)==7){k=a+52|0;h=c[k>>2]|0;if((h|0)<(c[a+48>>2]|0)){d=c[a+44>>2]|0;c[k>>2]=h+1;b=d+(h<<4)|0;c[b>>2]=j;c[d+(h<<4)+8>>2]=0;c[d+(h<<4)+4>>2]=0;c[d+(h<<4)+12>>2]=c[n>>2];c[n>>2]=b;d=c[f>>2]|0;break}else{_a(a+1256|0,1)}}}while(0);n=b+8|0;c[n>>2]=(c[n>>2]|0)+d;n=b+4|0;c[n>>2]=(c[n>>2]|0)+(c[e>>2]|0);i=g;return}function VQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;UQ(b);d=c[a>>2]<<2;a=c[a+4>>2]<<2;g=d>>8;m=a>>8;f=c[b+12>>2]|0;g=(f|0)<(g|0)?f:g;n=c[b+8>>2]|0;o=(g|0)<(n|0)?n+ -1|0:g;h=b+32|0;c[h>>2]=0;g=b+36|0;c[g>>2]=0;j=o-n|0;c[b>>2]=j;l=m-(c[b+16>>2]|0)|0;k=b+4|0;c[k>>2]=l;c[b+72>>2]=m<<8;m=b+40|0;c[m>>2]=0;f=((f|0)<(o|0)?f:o)-n|0;f=(f|0)>-1?f:-1;if((f|0)!=(j|0)){UQ(b);c[h>>2]=0;c[g>>2]=0}c[b>>2]=f;c[k>>2]=l;if(l>>>0>=(c[b+28>>2]|0)>>>0){n=1;o=m;c[o>>2]=n;o=b+64|0;c[o>>2]=d;o=b+68|0;c[o>>2]=a;i=e;return 0}n=(f|0)>=(c[b+24>>2]|0)|0;o=m;c[o>>2]=n;o=b+64|0;c[o>>2]=d;o=b+68|0;c[o>>2]=a;i=e;return 0}function WQ(a,b){a=a|0;b=b|0;var d=0;d=i;ZQ(b,c[a>>2]<<2,c[a+4>>2]<<2);i=d;return 0}function XQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;g=d+76|0;h=c[b>>2]<<2;c[g>>2]=h;b=c[b+4>>2]<<2;c[d+80>>2]=b;r=c[a>>2]|0;c[d+84>>2]=r<<2;j=c[a+4>>2]|0;c[d+88>>2]=j<<2;a=c[d+64>>2]|0;c[d+92>>2]=a;k=c[d+68>>2]|0;c[d+96>>2]=k;a=h-(r<<3)+a|0;a=(a|0)<0?0-a|0:a;j=b-(j<<3)+k|0;j=(j|0)<0?0-j|0:j;a=(a|0)<(j|0)?j:a;if((a|0)<65){ZQ(d,h,b);i=e;return 0}else{h=a;a=0}do{h=h>>2;a=a+1|0;}while((h|0)>64);c[d+852>>2]=a;h=d+20|0;b=d+16|0;j=0;while(1){l=d+852+(j<<2)|0;m=c[g+4>>2]|0;do{if((a|0)>1){q=g+12|0;k=c[q>>2]|0;p=(k|0)<(m|0)?k:m;r=(k|0)>(m|0)?k:m;n=g+20|0;o=c[n>>2]|0;if((((o|0)<(p|0)?o:p)>>8|0)>=(c[h>>2]|0)){f=11;break}if((((o|0)>(r|0)?o:r)>>8|0)<(c[b>>2]|0)){f=11;break}r=g+16|0;p=c[r>>2]|0;c[g+32>>2]=p;t=g+8|0;s=c[t>>2]|0;p=(s+p|0)/2|0;c[g+24>>2]=p;s=((c[g>>2]|0)+s|0)/2|0;c[t>>2]=s;c[r>>2]=(s+p|0)/2|0;c[g+36>>2]=o;r=(o+k|0)/2|0;c[g+28>>2]=r;p=(k+m|0)/2|0;c[q>>2]=p;c[n>>2]=(p+r|0)/2|0;j=j+1|0;r=a+ -1|0;c[l>>2]=r;c[d+852+(j<<2)>>2]=r;g=g+16|0}else{f=11}}while(0);if((f|0)==11){f=0;ZQ(d,c[g>>2]|0,m);g=g+ -16|0;j=j+ -1|0}if((j|0)<=-1){break}a=c[d+852+(j<<2)>>2]|0}i=e;return 0}function YQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=i;g=e+76|0;c[g>>2]=c[d>>2]<<2;c[e+80>>2]=c[d+4>>2]<<2;c[e+84>>2]=c[b>>2]<<2;c[e+88>>2]=c[b+4>>2]<<2;c[e+92>>2]=c[a>>2]<<2;c[e+96>>2]=c[a+4>>2]<<2;c[e+100>>2]=c[e+64>>2];c[e+104>>2]=c[e+68>>2];a=e+20|0;d=e+16|0;m=g;a:while(1){h=c[m+4>>2]|0;k=m+12|0;j=c[k>>2]|0;o=(j|0)<(h|0)?j:h;n=(j|0)>(h|0)?j:h;l=m+20|0;b=c[l>>2]|0;q=(b|0)<(o|0)?b:o;r=(b|0)>(n|0)?b:n;o=m+24|0;p=m+28|0;n=c[p>>2]|0;b:do{if((((n|0)<(q|0)?n:q)>>8|0)<(c[a>>2]|0)){if((((n|0)>(r|0)?n:r)>>8|0)<(c[d>>2]|0)){break}q=c[o>>2]|0;r=c[m>>2]|0;t=q-r|0;s=n-h|0;u=(t|0)<0?0-t|0:t;v=(s|0)<0?0-s|0:s;if((u|0)>(v|0)){u=(u*236|0)+(v*97|0)|0}else{u=(u*97|0)+(v*236|0)|0}u=u>>8;do{if((u|0)>32767){u=c[m+8>>2]|0}else{v=u*42|0;u=c[m+8>>2]|0;w=u-r|0;x=j-h|0;y=(da(w,s)|0)-(da(t,x)|0)|0;if((((y|0)<0?0-y|0:y)|0)>(v|0)){break}z=c[m+16>>2]|0;A=z-r|0;y=b-h|0;B=(da(A,s)|0)-(da(t,y)|0)|0;if((((B|0)<0?0-B|0:B)|0)>(v|0)){break}if(((da(w,t)|0)+(da(s,x)|0)|0)<0){break}if(((da(A,t)|0)+(da(s,y)|0)|0)<0){break}if(((da(q-u|0,t)|0)+(da(n-j|0,s)|0)|0)<0){break}if(((da(q-z|0,t)|0)+(da(n-b|0,s)|0)|0)>=0){break b}}}while(0);c[m+48>>2]=q;y=m+16|0;z=c[y>>2]|0;B=(u+r|0)/2|0;c[m+8>>2]=B;A=(z+q|0)/2|0;c[m+40>>2]=A;z=(z+u|0)/2|0;B=(z+B|0)/2|0;c[y>>2]=B;A=(z+A|0)/2|0;c[m+32>>2]=A;c[m+24>>2]=(A+B|0)/2|0;c[m+52>>2]=n;B=(j+h|0)/2|0;c[k>>2]=B;A=(n+b|0)/2|0;c[m+44>>2]=A;z=(b+j|0)/2|0;B=(z+B|0)/2|0;c[l>>2]=B;A=(z+A|0)/2|0;c[m+36>>2]=A;c[p>>2]=(A+B|0)/2|0;m=o;continue a}}while(0);ZQ(e,c[m>>2]|0,h);if((m|0)==(g|0)){break}m=m+ -24|0}i=f;return 0}function ZQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;g=i;l=a+72|0;s=c[l>>2]|0;u=s>>8;k=d>>8;h=a+68|0;q=c[h>>2]|0;s=q-s|0;f=k<<8;j=d-f|0;e=a+64|0;r=c[e>>2]|0;x=b-r|0;q=d-q|0;o=(u|0)>(k|0);if(((o?k:u)|0)>=(c[a+20>>2]|0)){H=e;c[H>>2]=b;H=h;c[H>>2]=d;H=l;c[H>>2]=f;i=g;return}n=a+16|0;v=c[n>>2]|0;if(((o?u:k)|0)<(v|0)){H=e;c[H>>2]=b;H=h;c[H>>2]=d;H=l;c[H>>2]=f;i=g;return}if((u|0)==(k|0)){_Q(a,u,r,s,b,j);H=e;c[H>>2]=b;H=h;c[H>>2]=d;H=l;c[H>>2]=f;i=g;return}if((r|0)==(b|0)){o=b>>8;p=b-(o<<8)<<1;q=q>>31;r=q+256&-256;q=q|1;D=r-s|0;s=da(p,D)|0;t=a+32|0;c[t>>2]=(c[t>>2]|0)+s;s=a+36|0;c[s>>2]=(c[s>>2]|0)+D;D=q+u|0;x=D-v|0;v=a+12|0;w=c[v>>2]|0;u=a+8|0;w=((w|0)<(o|0)?w:o)-(c[u>>2]|0)|0;F=(w|0)>-1?w:-1;if((F|0)==(c[a>>2]|0)){w=a+4|0;if((x|0)!=(c[w>>2]|0)){m=8}}else{m=8}if((m|0)==8){if((c[a+40>>2]|0)==0){UQ(a)}c[t>>2]=0;c[s>>2]=0;w=a+4|0}c[a>>2]=F;c[w>>2]=x;w=a+28|0;E=c[w>>2]|0;if(x>>>0<E>>>0){C=(F|0)>=(c[a+24>>2]|0)|0}else{C=1}x=a+40|0;c[x>>2]=C;z=(r<<1)+ -256|0;y=da(z,p)|0;if((D|0)!=(k|0)){B=a+4|0;A=a+24|0;while(1){c[t>>2]=(c[t>>2]|0)+y;c[s>>2]=(c[s>>2]|0)+z;D=D+q|0;G=D-(c[n>>2]|0)|0;H=c[v>>2]|0;H=((H|0)<(o|0)?H:o)-(c[u>>2]|0)|0;H=(H|0)>-1?H:-1;if((H|0)==(F|0)){if((G|0)!=(c[B>>2]|0)){m=17}}else{m=17}if((m|0)==17){m=0;if((C|0)==0){UQ(a);E=c[w>>2]|0}c[t>>2]=0;c[s>>2]=0}c[a>>2]=H;c[B>>2]=G;if(G>>>0<E>>>0){C=(H|0)>=(c[A>>2]|0)|0}else{C=1}c[x>>2]=C;if((D|0)==(k|0)){break}else{F=H}}}H=j+ -256+r|0;G=da(p,H)|0;c[t>>2]=(c[t>>2]|0)+G;c[s>>2]=(c[s>>2]|0)+H;H=e;c[H>>2]=b;H=h;c[H>>2]=d;H=l;c[H>>2]=f;i=g;return}t=(q|0)<0;p=q>>31;o=p+256&-256;p=p|1;q=t?0-q|0:q;w=da(t?s:256-s|0,x)|0;t=(w|0)/(q|0)|0;w=(w|0)%(q|0)|0;if((w|0)<0){t=t+ -1|0;w=w+q|0}v=r+t|0;_Q(a,u,r,s,v,o);E=p+u|0;y=v>>8;u=E-(c[n>>2]|0)|0;r=a+12|0;t=c[r>>2]|0;s=a+8|0;t=((t|0)<(y|0)?t:y)-(c[s>>2]|0)|0;y=(t|0)>-1?t:-1;if((y|0)==(c[a>>2]|0)){t=a+4|0;if((u|0)!=(c[t>>2]|0)){m=28}}else{m=28}if((m|0)==28){if((c[a+40>>2]|0)==0){UQ(a)}c[a+32>>2]=0;c[a+36>>2]=0;t=a+4|0}c[a>>2]=y;c[t>>2]=u;t=a+28|0;if(u>>>0<(c[t>>2]|0)>>>0){y=(y|0)>=(c[a+24>>2]|0)|0}else{y=1}u=a+40|0;c[u>>2]=y;if((E|0)!=(k|0)){z=x<<8;x=(z|0)/(q|0)|0;z=(z|0)%(q|0)|0;if((z|0)<0){x=x+ -1|0;z=z+q|0}C=256-o|0;B=a+4|0;A=a+24|0;y=a+32|0;D=a+36|0;w=w-q|0;F=v;while(1){v=w+z|0;w=v-((v|0)>-1?q:0)|0;v=x+(v>>>31^1)+F|0;_Q(a,E,F,C,v,o);E=E+p|0;H=v>>8;F=E-(c[n>>2]|0)|0;G=c[r>>2]|0;G=((G|0)<(H|0)?G:H)-(c[s>>2]|0)|0;G=(G|0)>-1?G:-1;if((G|0)==(c[a>>2]|0)){if((F|0)!=(c[B>>2]|0)){m=39}}else{m=39}if((m|0)==39){m=0;if((c[u>>2]|0)==0){UQ(a)}c[y>>2]=0;c[D>>2]=0}c[a>>2]=G;c[B>>2]=F;if(F>>>0<(c[t>>2]|0)>>>0){F=(G|0)>=(c[A>>2]|0)|0}else{F=1}c[u>>2]=F;if((E|0)==(k|0)){break}else{F=v}}}_Q(a,k,v,256-o|0,b,j);H=e;c[H>>2]=b;H=h;c[H>>2]=d;H=l;c[H>>2]=f;i=g;return}function _Q(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=i;l=f-d|0;p=d>>8;k=f>>8;n=d-(p<<8)|0;f=f-(k<<8)|0;if((e|0)==(g|0)){g=b-(c[a+16>>2]|0)|0;b=c[a+12>>2]|0;k=((b|0)<(k|0)?b:k)-(c[a+8>>2]|0)|0;k=(k|0)>-1?k:-1;if((k|0)==(c[a>>2]|0)){b=a+4|0;if((g|0)!=(c[b>>2]|0)){j=4}}else{j=4}if((j|0)==4){if((c[a+40>>2]|0)==0){UQ(a)}c[a+32>>2]=0;c[a+36>>2]=0;b=a+4|0}c[a>>2]=k;c[b>>2]=g;if(g>>>0<(c[a+28>>2]|0)>>>0){j=(k|0)>=(c[a+24>>2]|0)|0}else{j=1}c[a+40>>2]=j;i=h;return}if((p|0)==(k|0)){D=g-e|0;C=da(f+n|0,D)|0;E=a+32|0;c[E>>2]=(c[E>>2]|0)+C;E=a+36|0;c[E>>2]=(c[E>>2]|0)+D;i=h;return}o=(l|0)<0;m=l>>31;d=m+256&-256;l=o?0-l|0:l;m=m|1;x=da(o?n:256-n|0,g-e|0)|0;u=(x|0)/(l|0)|0;x=(x|0)%(l|0)|0;if((x|0)<0){u=u+ -1|0;x=x+l|0}o=da(u,d+n|0)|0;n=a+32|0;c[n>>2]=(c[n>>2]|0)+o;o=a+36|0;c[o>>2]=(c[o>>2]|0)+u;z=m+p|0;q=a+16|0;t=b-(c[q>>2]|0)|0;p=a+12|0;s=c[p>>2]|0;r=a+8|0;s=((s|0)<(z|0)?s:z)-(c[r>>2]|0)|0;B=(s|0)>-1?s:-1;if((B|0)==(c[a>>2]|0)){s=a+4|0;if((t|0)!=(c[s>>2]|0)){j=16}}else{j=16}if((j|0)==16){if((c[a+40>>2]|0)==0){UQ(a)}c[n>>2]=0;c[o>>2]=0;s=a+4|0}c[a>>2]=B;c[s>>2]=t;s=a+28|0;A=c[s>>2]|0;if(t>>>0<A>>>0){y=(B|0)>=(c[a+24>>2]|0)|0}else{y=1}t=a+40|0;c[t>>2]=y;C=u+e|0;if((z|0)!=(k|0)){v=u+g-C<<8;e=(v|0)/(l|0)|0;v=(v|0)%(l|0)|0;if((v|0)<0){e=e+ -1|0;v=v+l|0}w=a+4|0;u=a+24|0;x=x-l|0;while(1){E=x+v|0;D=e+(E>>>31^1)|0;x=E-((E|0)>-1?l:0)|0;c[n>>2]=(c[n>>2]|0)+(D<<8);c[o>>2]=(c[o>>2]|0)+D;C=D+C|0;z=z+m|0;E=b-(c[q>>2]|0)|0;D=c[p>>2]|0;D=((D|0)<(z|0)?D:z)-(c[r>>2]|0)|0;D=(D|0)>-1?D:-1;if((D|0)==(B|0)){if((E|0)!=(c[w>>2]|0)){j=27}}else{j=27}if((j|0)==27){j=0;if((y|0)==0){UQ(a);A=c[s>>2]|0}c[n>>2]=0;c[o>>2]=0}c[a>>2]=D;c[w>>2]=E;if(E>>>0<A>>>0){y=(D|0)>=(c[u>>2]|0)|0}else{y=1}c[t>>2]=y;if((z|0)==(k|0)){break}else{B=D}}}E=g-C|0;D=da(E,f+256-d|0)|0;c[n>>2]=D+(c[n>>2]|0);c[o>>2]=(c[o>>2]|0)+E;i=h;return}function $Q(a){a=a|0;var b=0;b=i;a=(mR(a)|0)==0;i=b;return(a?153:0)|0}function aR(a){a=a|0;var d=0,e=0,f=0,g=0;d=i;e=a+40|0;a=c[e>>2]|0;if((a|0)==0){i=d;return}f=c[a+8>>2]|0;b[a+440>>1]=0;b[a+442>>1]=0;g=a+24|0;lJ(f,c[g>>2]|0);c[g>>2]=0;c[a+20>>2]=0;g=a+436|0;lJ(f,c[g>>2]|0);c[g>>2]=0;c[a+432>>2]=0;c[a+428>>2]=0;g=a+392|0;lJ(f,c[g>>2]|0);c[g>>2]=0;c[a+388>>2]=0;c[a+4>>2]=0;c[a>>2]=0;lJ(f,a);c[e>>2]=0;i=d;return}function bR(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=uJ(274320,b)|0;if((e|0)!=0){i=d;return e|0}if((a|0)==0){e=0;i=d;return e|0}e=mK(c[a+4>>2]|0,274056)|0;if((e|0)==0){e=0;i=d;return e|0}e=c[(c[e>>2]|0)+20>>2]|0;if((e|0)==0){e=0;i=d;return e|0}e=Bd[c[e+16>>2]&255](a,b)|0;i=d;return e|0}function cR(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;k=i;m=i;i=i+8|0;l=m;o=i;i=i+8|0;n=o;p=i;i=i+8|0;q=p;t=i;i=i+8|0;v=t;r=i;i=i+8|0;w=r;y=i;i=i+24|0;x=y;z=nK(c[(c[f+96>>2]|0)+4>>2]|0,274056)|0;if((z|0)==0){G=2;i=k;return G|0}u=PJ(e,0)|0;if((u|0)!=0){G=u;i=k;return G|0}u=Cd[c[z+4>>2]&63](e,f,g,h,j)|0;if((u|0)!=0){G=u;i=k;return G|0}G=c[f+148>>2]|0;if(!((G|0)==1953658213|(G|0)==131072|(G|0)==65536)){G=2;i=k;return G|0}u=f+8|0;c[u>>2]=c[u>>2]|2048;if((g|0)<0){G=0;i=k;return G|0}h=Cd[c[z+8>>2]&63](e,f,g,h,j)|0;if((h|0)!=0){G=h;i=k;return G|0}a:do{if((f|0)!=0){h=c[f+20>>2]|0;b:do{if((h|0)==0){bX(y|0,0,20)|0;y=f+152|0;A=b[y>>1]|0;if(A<<16>>16==0){break a}h=f+156|0;g=f+508|0;j=f+104|0;z=0;while(1){D=c[h>>2]|0;B=c[D+(z<<4)>>2]|0;if((B|0)==1718642541){B=1;s=16}else if((B|0)==1886545264){B=2;s=16}else if((B|0)==1668707360){B=0;s=16}if((s|0)==16){s=0;A=z&65535;F=0;C=0;while(1){if((c[D+(z<<4)+12>>2]|0)==(c[274064+(C*24|0)+(B<<3)+4>>2]|0)){do{if((F|0)==0){F=c[D+(A<<4)+4>>2]|0;if((F|0)!=0){break}E=c[g>>2]|0;if((E|0)==0){F=0;break}if((pd[E&63](f,c[D+(A<<4)>>2]|0,c[j>>2]|0,0)|0)==0){F=0;break}D=c[j>>2]|0;E=c[(c[h>>2]|0)+(A<<4)+12>>2]|0;if((MK(D,E)|0)!=0){F=0;break}if(E>>>0>3){F=0;while(1){F=(TK(D)|0)+F|0;E=E+ -4|0;if(E>>>0>3){}else{break}}}else{F=0}if((E|0)!=0){G=F;F=3;while(1){G=(((QK(D)|0)&255)<<(F<<3))+G|0;E=E+ -1|0;if((E|0)==0){F=G;break}else{F=F+ -1|0}}}PK(D)}}while(0);E=x+(C<<2)|0;D=c[E>>2]|0;if((c[274064+(C*24|0)+(B<<3)>>2]|0)==(F|0)){D=D+1|0;c[E>>2]=D}if((D|0)==3){break b}}C=C+1|0;if((C|0)>=5){break}D=c[h>>2]|0}A=b[y>>1]|0}z=z+1|0;if((z|0)>=(A&65535|0)){break a}}}else{y=0;while(1){x=y+1|0;if((nb(h|0,274184+(y*17|0)|0)|0)!=0){break b}if((x|0)<8){y=x}else{break a}}}}while(0);c[u>>2]=c[u>>2]|8192}}while(0);g=c[e+28>>2]|0;x=f+508|0;G=pd[c[x>>2]&63](f,1751412088,e,w)|0;c[t>>2]=G;do{if((G|0)==0){w=c[r>>2]|0;if(w>>>0<8){break}z=f+740|0;w=LK(e,w,z)|0;c[t>>2]=w;if((w|0)!=0){G=w;i=k;return G|0}A=c[z>>2]|0;w=A+(c[r>>2]|0)|0;B=d[A+2|0]<<8&65535|d[A+3|0];h=B&65535;y=d[A+5|0]<<16|d[A+4|0]<<24|d[A+6|0]<<8|d[A+7|0];y=y>>>0>4294901759?y&65535:y;do{if((d[A]<<8&65535|d[A+1|0])<<16>>16!=0|(B&65535)>255|y>>>0>65537){c[t>>2]=3;s=47}else{j=f+756|0;c[j>>2]=oJ(g,1,0,h,0,v)|0;if((c[t>>2]|0)!=0){s=47;break}c:do{if(B<<16>>16==0){v=0}else{v=0;z=A+8|0;while(1){g=z+y|0;if(g>>>0>w>>>0){break c}a[(c[j>>2]|0)+v|0]=a[z]|0;v=v+1|0;if(v>>>0<h>>>0){z=g}else{break}}}}while(0);c[f+748>>2]=v;c[f+744>>2]=c[r>>2];c[f+752>>2]=y}}while(0);if((s|0)==47){NK(e,z);c[f+744>>2]=0}r=c[t>>2]|0;if((r|0)==0){break}i=k;return r|0}}while(0);do{if((c[u>>2]&1|0)==0){s=0}else{if((c[(c[f+128>>2]|0)+52>>2]|0)==0){r=f+704|0;s=pd[c[x>>2]&63](f,1735162214,e,r)|0;if((s|0)==142){c[r>>2]=0}else if((s|0)!=0){break}if((pd[c[x>>2]&63](f,1819239265,e,q)|0)!=0){s=144;break}s=c[p>>2]|0;if((b[f+210>>1]|0)==0){if(s>>>0>131071){s=8;break}u=s>>>1;c[f+732>>2]=u;v=1}else{if(s>>>0>262143){s=8;break}u=s>>>2;c[f+732>>2]=u;v=2}q=f+732|0;r=f+16|0;t=c[r>>2]|0;do{if(u>>>0<t>>>0){s=t<<v;w=c[f+156>>2]|0;G=b[f+152>>1]|0;u=w+((G&65535)<<4)|0;t=IK(e)|0;if(G<<16>>16==0){v=2147483647}else{v=2147483647;while(1){y=(c[w+8>>2]|0)-t|0;v=(y|0)>0&(y|0)<(v|0)?y:v;w=w+16|0;if(w>>>0<u>>>0){}else{break}}}if((w|0)==(u|0)){v=(c[e+4>>2]|0)-t|0}if((s|0)>(v|0)){s=c[p>>2]|0;break}else{c[q>>2]=c[r>>2];c[p>>2]=s;break}}}while(0);s=LK(e,s,f+736|0)|0;if((s|0)!=0){break}}s=TR(f,e)|0;if((s|0)!=0){break}if((pd[c[x>>2]&63](f,1718642541,e,n)|0)==0){s=c[o>>2]|0;c[f+652>>2]=s;s=LK(e,s,f+656|0)|0;if((s|0)!=0){break}}else{c[f+656>>2]=0;c[f+652>>2]=0}if((pd[c[x>>2]&63](f,1886545264,e,l)|0)==0){s=c[m>>2]|0;c[f+660>>2]=s;s=LK(e,s,f+664|0)|0;break}else{c[f+664>>2]=0;c[f+660>>2]=0;s=0;break}}}while(0);c[f+512>>2]=43;c[f+520>>2]=254;c[f+524>>2]=255;c[f+528>>2]=256;c[f+516>>2]=340;G=s;i=k;return G|0}function dR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;d=i;if((a|0)==0){i=d;return}b=c[a+100>>2]|0;h=a+104|0;j=c[h>>2]|0;e=c[a+532>>2]|0;f=a+692|0;g=c[f+4>>2]|0;if((g|0)!=0){fd[g&511](c[f>>2]|0)}if((e|0)!=0){fd[c[e+12>>2]&511](a)}NK(c[h>>2]|0,a+736|0);c[a+732>>2]=0;e=c[h>>2]|0;f=a+756|0;lJ(c[e+28>>2]|0,c[f>>2]|0);c[f>>2]=0;NK(e,a+740|0);e=a+672|0;lJ(b,c[e>>2]|0);c[e>>2]=0;c[a+668>>2]=0;NK(j,a+656|0);NK(j,a+664|0);c[a+652>>2]=0;c[a+660>>2]=0;e=a+712|0;f=c[e>>2]|0;if((f|0)!=0){g=f+4|0;lJ(b,c[g>>2]|0);c[g>>2]=0;g=f+8|0;lJ(b,c[g>>2]|0);c[g>>2]=0;g=f+20|0;a=c[g>>2]|0;if((a|0)!=0){if((c[f>>2]|0)!=0){h=0;while(1){lJ(b,c[a+(h<<3)+4>>2]|0);c[(c[g>>2]|0)+(h<<3)+4>>2]=0;h=h+1|0;a=c[g>>2]|0;if(h>>>0<(c[f>>2]|0)>>>0){}else{break}}}lJ(b,a);c[g>>2]=0}j=f+28|0;lJ(b,c[j>>2]|0);c[j>>2]=0;j=f+36|0;lJ(b,c[j>>2]|0);c[j>>2]=0;lJ(b,f)}c[e>>2]=0;i=d;return}function eR(b){b=b|0;a[b+300|0]=0;a[b+301|0]=0;a[b+108|0]=0;c[b+112>>2]=-1;i=i;return 0}function fR(b){b=b|0;var c=0;c=i;if((a[b+300|0]|0)!=0){SR(b)}a[b+108|0]=0;i=c;return}function gR(a){a=a|0;var b=0;b=i;a=nJ(c[c[a+156>>2]>>2]|0)|0;i=b;return a|0}function hR(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;k=i;r=i;i=i+16|0;q=r;p=i;i=i+16|0;m=p;y=i;i=i+8|0;D=y;x=i;i=i+8|0;G=x;v=i;i=i+8|0;u=v;s=i;i=i+208|0;n=s;t=f+4|0;o=c[t>>2]|0;if((f|0)==0){K=37;i=k;return K|0}if((g|0)==0){K=36;i=k;return K|0}if((o|0)==0){K=6;i=k;return K|0}do{if((c[o+16>>2]|0)>>>0<=h>>>0){if((c[(c[o+128>>2]|0)+52>>2]|0)==0){x=6}else{break}i=k;return x|0}}while(0);if((j&2|0)!=0){j=(c[o+8>>2]&8192|0)==0?j:j&-3;j=j>>>14&2|j}if((j&1025|0)!=0){j=(c[o+8>>2]|0)>>>12&2^11|j}w=c[g+112>>2]|0;do{if((w|0)!=-1){if((j&8|0)!=0){break}if((dd[c[(c[o+532>>2]|0)+104>>2]&1](o,w,h,j,c[o+104>>2]|0,f+76|0,u)|0)!=0){break}b[f+110>>1]=0;b[f+108>>1]=0;c[f+24>>2]=d[u+1|0]<<6;c[f+28>>2]=d[v]<<6;q=a[u+2|0]|0;c[f+32>>2]=q<<6;p=a[u+3|0]|0;c[f+36>>2]=p<<6;c[f+40>>2]=d[u+4|0]<<6;m=a[u+5|0]|0;c[f+44>>2]=m<<6;r=a[u+6|0]|0;c[f+48>>2]=r<<6;c[f+52>>2]=d[u+7|0]<<6;c[f+72>>2]=1651078259;u=f+100|0;if((j&16|0)==0){c[u>>2]=q;c[f+104>>2]=p}else{c[u>>2]=m;c[f+104>>2]=r}if((c[o+8>>2]&1|0)==0){K=0;i=k;return K|0}p=c[t>>2]|0;q=c[p+104>>2]|0;bX(s|0,0,208)|0;do{if((c[(c[p+128>>2]|0)+52>>2]|0)==0){m=pd[c[p+508>>2]&63](p,1735162214,q,0)|0;if((m|0)==0){c[n+84>>2]=IK(q)|0;l=22;break}else if((m|0)==142){c[n+84>>2]=0;l=22;break}else{break}}else{c[n+84>>2]=0;l=22}}while(0);if((l|0)==22){c[n+16>>2]=j;c[s>>2]=p;c[n+4>>2]=g;c[n+8>>2]=f;c[n+24>>2]=q}cS(n,h,0,1)|0;g=f+56|0;c[g>>2]=c[n+60>>2];c[f+60>>2]=(c[n+48>>2]|0)+(c[n+176>>2]|0)-(c[n+180>>2]|0);if((c[o+480>>2]|0)==0){K=0;i=k;return K|0}if((j&512|0)!=0){K=0;i=k;return K|0}c[g>>2]=e[o+226>>1]|0;K=0;i=k;return K|0}}while(0);o=(j&1|0)!=0;do{if(!o){if((a[g+108|0]|0)==0){x=36}else{break}i=k;return x|0}}while(0);if((j&16384|0)!=0){K=6;i=k;return K|0}v=c[t>>2]|0;u=c[v+104>>2]|0;bX(s|0,0,208)|0;t=(j&2|0)==0;if(t){w=g+301|0;do{if((a[w]|0)==0){z=g+300|0;a:do{if((a[z]|0)==0){E=c[g>>2]|0;F=c[E+100>>2]|0;H=E+260|0;a[z]=1;a[w]=0;L=e[H+20>>1]|0;c[g+120>>2]=L;K=g+132|0;c[K>>2]=e[H+22>>1]|0;C=g+116|0;c[C>>2]=0;A=g+128|0;c[A>>2]=0;z=g+140|0;c[z>>2]=0;B=g+144|0;c[B>>2]=0;J=g+240|0;c[J>>2]=c[E+668>>2];I=g+248|0;b[I>>1]=b[H+18>>1]|0;M=g+72|0;a[M+37|0]=0;a[M+38|0]=0;bX(g+92|0,0,16)|0;c[g+124>>2]=oJ(F,16,0,L,0,G)|0;b:do{if((c[x>>2]|0)==0){c[g+136>>2]=oJ(F,16,0,c[K>>2]|0,0,G)|0;if((c[x>>2]|0)!=0){break}c[g+244>>2]=oJ(F,4,0,c[J>>2]|0,0,G)|0;if((c[x>>2]|0)!=0){break}c[g+252>>2]=oJ(F,4,0,e[I>>1]|0,0,G)|0;if((c[x>>2]|0)!=0){break}I=(b[H+16>>1]|0)+4<<16>>16;H=g+256|0;bX(H|0,0,36)|0;c[H>>2]=F;J=I&65535;G=H+12|0;c[G>>2]=oJ(F,8,0,J,0,D)|0;K=c[y>>2]|0;do{if((K|0)==0){c[H+16>>2]=oJ(F,8,0,J,0,D)|0;K=c[y>>2]|0;if((K|0)!=0){l=41;break}c[H+20>>2]=oJ(F,8,0,J,0,D)|0;K=c[y>>2]|0;if((K|0)!=0){l=41;break}c[H+24>>2]=oJ(F,1,0,J,0,D)|0;K=c[y>>2]|0;if((K|0)!=0){l=41;break}c[H+28>>2]=oJ(F,2,0,0,0,D)|0;K=c[y>>2]|0;if((K|0)!=0){l=41;break}b[H+4>>1]=I;b[H+6>>1]=0;c[x>>2]=0}else{l=41}}while(0);do{if((l|0)==41){D=c[H>>2]|0;if((D|0)==0){c[x>>2]=K;break b}else{M=H+28|0;lJ(D,c[M>>2]|0);c[M>>2]=0;M=H+24|0;lJ(D,c[M>>2]|0);c[M>>2]=0;M=H+16|0;lJ(D,c[M>>2]|0);c[M>>2]=0;lJ(D,c[G>>2]|0);c[G>>2]=0;M=H+20|0;lJ(D,c[M>>2]|0);c[M>>2]=0;bX(H|0,0,12)|0;M=c[y>>2]|0;c[x>>2]=M;if((M|0)==0){break}else{break b}}}}while(0);b[H+8>>1]=I;$W(g+172|0,273472,68)|0;y=c[(c[(c[E+96>>2]|0)+4>>2]|0)+180>>2]|0;c[E+688>>2]=(y|0)==0?257:y;y=c[g>>2]|0;if((a[g+292|0]|0)==0){D=(c[y+96>>2]|0)+40|0}else{D=g+296|0}D=c[D>>2]|0;do{if((D|0)==0){y=153}else{gS(D,y,g);c[D+428>>2]=0;c[D+16>>2]=0;c[D+476>>2]=64;c[D+480>>2]=0;c[D+484>>2]=0;a[D+488|0]=0;c[D+564>>2]=65536;b[D+252>>1]=0;c[D+260>>2]=0;bX(D+216|0,0,12)|0;c[D+256>>2]=65536;F=c[y+656>>2]|0;M=y+652|0;E=c[M>>2]|0;c[D+444>>2]=F;c[D+448>>2]=E;bX(D+452|0,0,16)|0;if((c[M>>2]|0)!=0){c[D+356>>2]=F;c[D+364>>2]=E;c[D+360>>2]=0;c[D+352>>2]=1;y=jd[c[y+688>>2]&511](D)|0;if((y|0)!=0){break}}c[C>>2]=c[D+396>>2];c[A>>2]=c[D+408>>2];c[z>>2]=c[D+420>>2];c[B>>2]=c[D+424>>2];K=D+444|0;L=c[K+4>>2]|0;M=g+148|0;c[M>>2]=c[K>>2];c[M+4>>2]=L;M=D+452|0;L=c[M+4>>2]|0;K=g+156|0;c[K>>2]=c[M>>2];c[K+4>>2]=L;K=D+460|0;L=c[K+4>>2]|0;M=g+164|0;c[M>>2]=c[K>>2];c[M+4>>2]=L;break a}}while(0);c[x>>2]=y}}while(0);SR(g);x=c[x>>2]|0;if((x|0)==0){break}i=k;return x|0}}while(0);if((a[w]|0)!=0){break}y=g+240|0;if((c[y>>2]|0)!=0){z=(c[g>>2]|0)+672|0;A=g+88|0;B=g+244|0;x=0;do{M=aJ(b[(c[z>>2]|0)+(x<<1)>>1]|0,c[A>>2]|0)|0;c[(c[B>>2]|0)+(x<<2)>>2]=M;x=x+1|0;}while(x>>>0<(c[y>>2]|0)>>>0)}y=g+264|0;if((b[y>>1]|0)!=0){x=g+268|0;z=g+272|0;A=0;do{c[(c[x>>2]|0)+(A<<3)>>2]=0;c[(c[x>>2]|0)+(A<<3)+4>>2]=0;c[(c[z>>2]|0)+(A<<3)>>2]=0;c[(c[z>>2]|0)+(A<<3)+4>>2]=0;A=A+1|0;}while(A>>>0<(e[y>>1]|0)>>>0)}x=g+248|0;if((b[x>>1]|0)!=0){y=g+252|0;z=0;do{c[(c[y>>2]|0)+(z<<2)>>2]=0;z=z+1|0;}while(z>>>0<(e[x>>1]|0)>>>0)}$W(g+172|0,273472,68)|0;x=hS(g)|0;if((x|0)==0){a[w]=1;break}else{M=x;i=k;return M|0}}}while(0);if((a[g+292|0]|0)==0){w=(c[v+96>>2]|0)+40|0}else{w=g+296|0}w=c[w>>2]|0;if((w|0)==0){M=153;i=k;return M|0}x=(j&983040|0)!=131072;gS(w,v,g);y=w+604|0;if((x&1|0)!=(d[y]|0)){a[y]=x&1;y=g+240|0;if((c[y>>2]|0)!=0){z=v+672|0;A=g+88|0;B=g+244|0;x=0;do{M=aJ(b[(c[z>>2]|0)+(x<<1)>>1]|0,c[A>>2]|0)|0;c[(c[B>>2]|0)+(x<<2)>>2]=M;x=x+1|0;}while(x>>>0<(c[y>>2]|0)>>>0)}hS(g)|0}x=a[w+336|0]|0;if((x&2)!=0){$W(w+284|0,273472,68)|0}a[w+561|0]=j&255&-128;c[n+160>>2]=w;c[n+164>>2]=c[w+392>>2];j=(x&1)<<1|j}do{if((c[(c[v+128>>2]|0)+52>>2]|0)==0){w=pd[c[v+508>>2]&63](v,1735162214,u,0)|0;if((w|0)==0){c[n+84>>2]=IK(u)|0;break}else if((w|0)==142){c[n+84>>2]=0;break}else{M=w;i=k;return M|0}}else{c[n+84>>2]=0}}while(0);w=c[c[f+156>>2]>>2]|0;kJ(w);x=n+12|0;c[x>>2]=w;w=n+16|0;c[w>>2]=j;c[s>>2]=v;v=n+4|0;c[v>>2]=g;y=n+8|0;c[y>>2]=f;c[n+24>>2]=u;A=f+72|0;c[A>>2]=1869968492;B=f+128|0;c[B>>2]=0;z=f+108|0;j=f+124|0;c[j>>2]=0;u=cS(n,h,0,0)|0;c:do{if((u|0)==0){x=c[x>>2]|0;do{if((c[A>>2]|0)==1668246896){c[B>>2]=c[x+48>>2];c[f+132>>2]=c[x+52>>2]}else{$W(z|0,x+20|0,20)|0;c[j>>2]=c[j>>2]&-513;f=c[n+68>>2]|0;if((f|0)==0){break}HJ(z,0-f|0,0)}}while(0);do{if(t){f=c[n+160>>2]|0;if((a[f+337|0]|0)==0){c[j>>2]=c[j>>2]|8;break}f=c[f+340>>2]|0;if((f|0)==4){c[j>>2]=c[j>>2]|48;break}else if((f|0)==5){c[j>>2]=c[j>>2]|16;break}else if((f|0)==1){break}else if((f|0)==0){c[j>>2]=c[j>>2]|32;break}else{c[j>>2]=c[j>>2]|8;break}}}while(0);x=c[s>>2]|0;s=c[y>>2]|0;A=c[v>>2]|0;if((c[w>>2]&1|0)==0){v=c[A+20>>2]|0}else{v=65536}if((c[s+72>>2]|0)==1668246896){$W(r|0,n+36|0,16)|0}else{zK(s+108|0,q)}f=c[n+60>>2]|0;z=x+480|0;do{if((c[z>>2]|0)!=0){if((c[w>>2]&512|0)!=0){break}f=e[x+226>>1]|0}}while(0);c[s+56>>2]=f;t=s+32|0;c[t>>2]=c[r>>2];y=q+12|0;c[s+36>>2]=c[y>>2];f=s+40|0;c[f>>2]=(c[n+76>>2]|0)-(c[n+68>>2]|0);d:do{if((c[z>>2]|0)==0){if((c[w>>2]&2|0)!=0){break}F=e[A+12>>1]|0;C=c[x+752>>2]|0;D=c[x+740>>2]|0;A=c[x+748>>2]|0;if((A|0)==0){break}E=c[x+756>>2]|0;B=0;while(1){z=B+1|0;if((d[E+B|0]|0)==(F|0)){break}if(z>>>0<A>>>0){B=z}else{break d}}if((h+2|0)>>>0>=C>>>0){break}z=D+(h+10+(da(B,C)|0))|0;if((z|0)==0){break}c[f>>2]=d[z]<<6}}while(0);c[s+24>>2]=(c[q+8>>2]|0)-(c[r>>2]|0);q=q+4|0;c[s+28>>2]=(c[y>>2]|0)-(c[q>>2]|0);do{if((a[x+296|0]|0)==0){l=117}else{if((b[x+334>>1]|0)==0){l=117;break}r=n+188|0;q=(bJ((c[r>>2]|0)-(c[y>>2]|0)|0,v)|0)<<16>>16;r=c[r>>2]|0;n=c[n+196>>2]|0;if((r|0)<=(n|0)){n=0;break}n=(bJ(r-n|0,v)|0)&65535}}while(0);if((l|0)==117){l=(bJ((c[y>>2]|0)-(c[q>>2]|0)|0,v)|0)<<16>>16;n=x+368|0;if((b[n>>1]|0)==-1){q=x+216|0;q=(b[q+4>>1]|0)-(b[q+6>>1]|0)|0}else{q=(b[n+70>>1]|0)-(b[n+72>>1]|0)|0}n=q;q=(q-l|0)/2|0}l=c[(c[x+128>>2]|0)+52>>2]|0;do{if((l|0)!=0){if((c[(c[l>>2]|0)+8>>2]|0)==0){break}c[p>>2]=0;p=m+4|0;c[p>>2]=q;q=m+8|0;c[q>>2]=n;if((pd[c[(c[l>>2]|0)+8>>2]&63](c[l+4>>2]|0,h,1,m)|0)!=0){break c}n=c[q>>2]|0;q=c[p>>2]|0}}while(0);c[s+60>>2]=n;if((c[w>>2]&1|0)==0){q=aJ(q,v)|0;n=aJ(n,v)|0}c[s+44>>2]=(c[t>>2]|0)-((c[f>>2]|0)/2|0);c[s+48>>2]=q;c[s+52>>2]=n}}while(0);if(o){M=u;i=k;return M|0}if((e[g+14>>1]|0)>=24){M=u;i=k;return M|0}c[j>>2]=c[j>>2]|256;M=u;i=k;return M|0}function iR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;g=c[a+532>>2]|0;c[e>>2]=0;c[e+4>>2]=0;if((g|0)==0){i=f;return 0}c[e>>2]=sd[c[g+128>>2]&127](a,b,d)|0;i=f;return 0}function jR(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=i;r=i;i=i+8|0;p=r;q=i;i=i+8|0;l=q;m=i;i=i+8|0;o=i;i=i+8|0;n=o;s=h&512;t=(g|0)==0;if((h&16|0)!=0){if(t){i=k;return 0}o=d+296|0;m=d+68|0;n=d+532|0;s=0;do{if((a[o]|0)==0){b[r>>1]=0;h=b[m>>1]|0;b[q>>1]=h}else{Cd[c[(c[n>>2]|0)+156>>2]&63](d,1,s+f|0,p,l)|0;h=b[q>>1]|0}c[j+(s<<2)>>2]=h&65535;s=s+1|0;}while(s>>>0<g>>>0);i=k;return 0}if(t){i=k;return 0}l=d+532|0;q=d+480|0;p=d+226|0;if((s|0)==0){r=0}else{p=0;do{Cd[c[(c[l>>2]|0)+156>>2]&63](d,0,p+f|0,m,n)|0;c[j+(p<<2)>>2]=e[o>>1]|0;p=p+1|0;}while(p>>>0<g>>>0);i=k;return 0}do{Cd[c[(c[l>>2]|0)+156>>2]&63](d,0,r+f|0,m,n)|0;if((c[q>>2]|0)!=0){b[o>>1]=b[p>>1]|0}c[j+(r<<2)>>2]=e[o>>1]|0;r=r+1|0;}while(r>>>0<g>>>0);i=k;return 0}function kR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=i;i=i+8|0;f=c[a>>2]|0;do{if((c[f+8>>2]&2|0)==0){e=f;f=0}else{f=sd[c[(c[f+532>>2]|0)+148>>2]&127](f,b,e)|0;if((f|0)!=0){c[a+112>>2]=-1;e=c[a>>2]|0;break}e=c[e>>2]|0;f=c[a>>2]|0;b=a+112|0;c[b>>2]=e;if((c[f+8>>2]&1|0)!=0){YJ(f,e);bS(a)|0;f=0;i=d;return f|0}a=sd[c[(c[f+532>>2]|0)+152>>2]&127](f,e,a+12|0)|0;if((a|0)==0){f=0;i=d;return f|0}c[b>>2]=-1;f=a;i=d;return f|0}}while(0);_J(e,b);if((c[(c[a>>2]|0)+8>>2]&1|0)==0){i=d;return f|0}f=bS(a)|0;i=d;return f|0}function lR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;f=c[a>>2]|0;e=a+112|0;c[e>>2]=b;if((c[f+8>>2]&1|0)!=0){YJ(f,b);bS(a)|0;b=0;i=d;return b|0}a=sd[c[(c[f+532>>2]|0)+152>>2]&127](f,b,a+12|0)|0;if((a|0)==0){b=0;i=d;return b|0}c[e>>2]=-1;b=a;i=d;return b|0}function mR(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;f=i;i=i+8|0;e=i;i=i+8|0;g=c[a+8>>2]|0;a=a+40|0;h=c[a>>2]|0;if((h|0)!=0){l=h;i=d;return l|0}h=jJ(g,608,e)|0;if((c[e>>2]|0)!=0){l=0;i=d;return l|0}l=h+8|0;c[l>>2]=g;j=h+432|0;c[j>>2]=32;k=h+436|0;c[k>>2]=oJ(g,16,0,32,0,f)|0;do{if((c[f>>2]|0)==0){b[h+440>>1]=0;b[h+442>>1]=0;c[h+20>>2]=0;c[h+388>>2]=0;c[h+24>>2]=0;c[h+392>>2]=0;c[h>>2]=0;c[h+4>>2]=0;c[e>>2]=0}else{l=c[l>>2]|0;b[h+440>>1]=0;b[h+442>>1]=0;g=h+24|0;lJ(l,c[g>>2]|0);c[g>>2]=0;c[h+20>>2]=0;lJ(l,c[k>>2]|0);c[k>>2]=0;c[j>>2]=0;c[h+428>>2]=0;k=h+392|0;lJ(l,c[k>>2]|0);c[k>>2]=0;c[h+388>>2]=0;c[h+4>>2]=0;c[h>>2]=0;lJ(l,h);l=c[f>>2]|0;c[e>>2]=l;if((l|0)==0){break}else{e=0}i=d;return e|0}}while(0);c[a>>2]=h;l=h;i=d;return l|0}function nR(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0;g=i;k=i;i=i+40|0;Gb=i;i=i+8|0;l=Gb;Ja=i;i=i+8|0;G=Ja;D=i;i=i+8|0;H=D;t=i;i=i+40|0;o=i;i=i+8|0;u=o;q=i;i=i+8|0;r=q;p=i;i=i+8|0;s=p;z=i;i=i+40|0;A=i;i=i+8|0;w=i;i=i+8|0;x=w;v=i;i=i+8|0;y=v;n=i;i=i+16|0;m=n;c[f+256>>2]=0;B=f+592|0;if((b[f+216>>1]|0)==(b[f+218>>1]|0)){c[B>>2]=198;c[f+596>>2]=153;c[f+600>>2]=154}else{c[B>>2]=197;c[f+596>>2]=151;c[f+600>>2]=152}uR(f);E=f+312|0;switch(c[E>>2]&255|0){case 7:{F=f+568|0;c[F>>2]=86;break};case 5:{F=f+568|0;c[F>>2]=79;break};case 6:{F=f+568|0;c[F>>2]=85;break};case 0:{F=f+568|0;c[F>>2]=83;break};case 2:{F=f+568|0;c[F>>2]=84;break};case 1:{F=f+568|0;c[F>>2]=80;break};case 4:{F=f+568|0;c[F>>2]=81;break};case 3:{F=f+568|0;c[F>>2]=82;break};default:{F=f+568|0}}ea=f+360|0;ba=f+356|0;La=f+368|0;Na=f+372|0;ca=f+364|0;Fb=f+16|0;$=f+28|0;Z=f+32|0;Eb=f+20|0;aa=f+376|0;h=f+12|0;_=f+24|0;ta=f+72|0;S=f+80|0;gb=f+380|0;Ka=f+284|0;T=f+44|0;Y=f+328|0;X=f+324|0;wa=f+346|0;Ha=f+48|0;qa=f+298|0;Fa=f+84|0;pa=f+300|0;N=f+88|0;P=f+52|0;Da=f+576|0;ra=f+572|0;mb=f+316|0;sa=f+584|0;C=f+286|0;Ea=f+288|0;Qa=f+308|0;va=f+344|0;Pa=f+320|0;M=f+561|0;Ga=f+92|0;Ia=f+56|0;kb=f+220|0;lb=f+224|0;ja=f+416|0;ka=f+408|0;ha=f+428|0;ia=f+432|0;ga=f+436|0;fa=f+352|0;j=f+488|0;Ra=f+294|0;Sa=f+296|0;eb=f+290|0;fb=f+292|0;V=f+294|0;R=f+116|0;O=f+124|0;W=f+290|0;U=f+298|0;Q=f+132|0;ua=f+36|0;K=f+180|0;L=f+144|0;J=f+108|0;I=f+348|0;Aa=f+304|0;oa=f+60|0;na=f+420|0;la=f+404|0;ma=f+396|0;Oa=f+400|0;db=f+264|0;Ta=f+154|0;bb=f+156|0;_a=f+160|0;$a=m+4|0;ab=f+164|0;Xa=m+8|0;Ya=f+152|0;Za=m+12|0;Va=f+172|0;Wa=f+176|0;Ua=f+168|0;cb=t+16|0;xa=k+16|0;za=f+118|0;ya=f+136|0;Ba=f+120|0;Ca=f+128|0;Ma=f+588|0;ib=f+468|0;hb=f+472|0;jb=f+596|0;nb=f+332|0;ob=f+334|0;pb=f+260|0;qb=f+384|0;rb=f+600|0;sb=f+476|0;ub=f+484|0;tb=f+480|0;wb=f+282|0;vb=f+337|0;xb=f+281|0;yb=f+252|0;Bb=f+604|0;Ab=f+412|0;zb=f+424|0;Cb=f+340|0;Db=f+336|0;Pb=c[ea>>2]|0;Hb=0;a:while(1){Nb=c[ba>>2]|0;Mb=a[Nb+Pb|0]|0;a[La]=Mb;Tb=Mb&255;Ub=a[273544+Tb|0]|0;c[Na>>2]=Ub;Ob=c[ca>>2]|0;if((Tb&254|0)==64){if((Pb|0)>=(Ob|0)){Lb=745;break}Ub=2-(da(d[Nb+(Pb+1)|0]|0,Ub)|0)|0;c[Na>>2]=Ub}Vb=Ub+Pb|0;if((Vb|0)>(Ob|0)){Lb=745;break}Qb=c[Fb>>2]|0;Ib=d[273800+Tb|0]|0;Kb=Qb-(Ib>>>4)|0;c[$>>2]=Kb;if((Kb|0)<0){Lb=20;break}Sb=(Ib&15)+Kb|0;c[Z>>2]=Sb;Rb=c[Eb>>2]|0;if(Sb>>>0>Rb>>>0){Lb=22;break}a[aa]=1;c[h>>2]=0;Jb=c[_>>2]|0;Ib=Jb+(Kb<<2)|0;b:do{switch(Tb|0){case 21:{Jb=c[Ib>>2]|0;if((Jb|0)==0){$W(J|0,K|0,36)|0}else if((Jb|0)==1){$W(J|0,L|0,36)|0}else{if((a[M]|0)==0){Lb=723;break b}else{Lb=73;break a}}b[I>>1]=c[Ib>>2];Lb=723;break};case 15:{Mb=c[Ib>>2]|0;Ob=c[Jb+(Kb+1<<2)>>2]|0;Lb=c[Jb+(Kb+2<<2)>>2]|0;Ib=c[Jb+(Kb+3<<2)>>2]&65535;Nb=e[T>>1]|0;do{if(Ib>>>0<Nb>>>0){Jb=c[Jb+(Kb+4<<2)>>2]&65535;if(Jb>>>0>=Nb>>>0){break}Kb=Ob&65535;Nb=e[S>>1]|0;if(Kb>>>0>=Nb>>>0){break}Lb=Lb&65535;if(Lb>>>0>=Nb>>>0){break}Qb=Mb&65535;if(Qb>>>0>=(e[R>>1]|0)>>>0){break}Ub=c[P>>2]|0;Pb=c[Ub+(Ib<<3)>>2]|0;Rb=(c[Ub+(Jb<<3)>>2]|0)-Pb|0;Nb=c[Ub+(Jb<<3)+4>>2]|0;Ub=c[Ub+(Ib<<3)+4>>2]|0;Mb=c[N>>2]|0;Ob=c[Mb+(Kb<<3)>>2]|0;Tb=(c[Mb+(Lb<<3)>>2]|0)-Ob|0;Sb=c[Mb+(Kb<<3)+4>>2]|0;Mb=(c[Mb+(Lb<<3)+4>>2]|0)-Sb|0;Vb=(c[Q>>2]|0)+Qb|0;a[Vb]=a[Vb]|24;Nb=Ub-Nb|0;Vb=_I(Tb,Nb,64)|0;Vb=(_I(Mb,Rb,64)|0)+Vb|0;if((((Vb|0)<0?0-Vb|0:Vb)|0)>63){Lb=_I(Pb-Ob|0,Nb,64)|0;Lb=(_I(Ub-Sb|0,Rb,64)|0)+Lb|0;Ub=_I(Lb,Tb,Vb)|0;Lb=_I(Lb,Mb,Vb)|0;c[(c[O>>2]|0)+(Qb<<3)>>2]=(c[(c[N>>2]|0)+(Kb<<3)>>2]|0)+Ub;c[(c[O>>2]|0)+(Qb<<3)+4>>2]=(c[(c[N>>2]|0)+(Kb<<3)+4>>2]|0)+Lb;Lb=723;break b}else{Vb=c[N>>2]|0;Ub=c[P>>2]|0;c[(c[O>>2]|0)+(Qb<<3)>>2]=((c[Vb+(Lb<<3)>>2]|0)+(c[Vb+(Kb<<3)>>2]|0)+(c[Ub+(Ib<<3)>>2]|0)+(c[Ub+(Jb<<3)>>2]|0)|0)/4|0;Ub=c[N>>2]|0;Vb=c[P>>2]|0;c[(c[O>>2]|0)+(Qb<<3)+4>>2]=((c[Ub+(Lb<<3)+4>>2]|0)+(c[Ub+(Kb<<3)+4>>2]|0)+(c[Vb+(Ib<<3)+4>>2]|0)+(c[Vb+(Jb<<3)+4>>2]|0)|0)/4|0;Lb=723;break b}}}while(0);if((a[M]|0)==0){Lb=723}else{Lb=50;break a}break};case 11:{vR(c[Ib>>2]<<16>>16,c[Jb+(Kb+1<<2)>>2]<<16>>16,U);uR(f);Lb=723;break};case 9:case 8:{Vb=c[Jb+(Kb+1<<2)>>2]|0;Ib=c[Ib>>2]|0;Jb=Vb&65535;do{if((e[R>>1]|0)>(Vb&65535)){if((e[S>>1]|0)<=(Ib&65535)){break}Vb=Ib&65535;Ub=c[N>>2]|0;Kb=c[O>>2]|0;Ib=(c[Ub+(Vb<<3)>>2]|0)-(c[Kb+(Jb<<3)>>2]|0)|0;Jb=(c[Ub+(Vb<<3)+4>>2]|0)-(c[Kb+(Jb<<3)+4>>2]|0)|0;Kb=(Mb&1)==0;vR(Kb?Ib:0-Jb|0,Kb?Jb:Ib,U);uR(f);Lb=723;break b}}while(0);if((a[M]|0)==0){Lb=723}else{Lb=37;break a}break};case 10:{vR(c[Ib>>2]<<16>>16,c[Jb+(Kb+1<<2)>>2]<<16>>16,V);Vb=V;Vb=e[Vb>>1]|e[Vb+2>>1]<<16;Lb=W;b[Lb>>1]=Vb;b[Lb+2>>1]=Vb>>>16;uR(f);Lb=723;break};case 30:{c[X>>2]=c[Ib>>2];Lb=723;break};case 31:{c[Y>>2]=c[Ib>>2]>>10;Lb=723;break};case 32:{c[Jb+(Kb+1<<2)>>2]=c[Ib>>2];Lb=723;break};case 34:{c[Z>>2]=0;Lb=723;break};case 38:{Ib=c[Ib>>2]|0;if((Ib|0)<1|(Kb|0)<(Ib|0)){Lb=110;break a}Vb=Kb-Ib|0;Ub=Jb+(Vb<<2)|0;Lb=c[Ub>>2]|0;aX(Ub|0,Jb+(Vb+1<<2)|0,(Ib<<2)+ -4|0)|0;c[(c[_>>2]|0)+((c[$>>2]|0)+ -1<<2)>>2]=Lb;Lb=723;break};case 40:{Jb=c[ja>>2]|0;Vb=c[ka>>2]|0;Ib=Jb+(Vb<<4)|0;c:do{if((Vb|0)>0){while(1){if(Mb<<24>>24==(c[Jb+8>>2]&255)<<24>>24){if((a[Jb+12|0]|0)!=0){break}}Jb=Jb+16|0;if(Jb>>>0>=Ib>>>0){break c}}Ib=c[ha>>2]|0;if((Ib|0)>=(c[ia>>2]|0)){Lb=121;break a}Vb=c[ga>>2]|0;c[ha>>2]=Ib+1;c[Vb+(Ib<<4)>>2]=c[fa>>2];c[Vb+(Ib<<4)+4>>2]=(c[ea>>2]|0)+1;c[Vb+(Ib<<4)+8>>2]=1;Lb=Jb+4|0;c[Vb+(Ib<<4)+12>>2]=c[Lb>>2];Ib=c[Jb>>2]|0;Jb=c[Lb>>2]|0;Lb=Ib+ -1|0;do{if(Lb>>>0>2){c[h>>2]=132}else{Kb=c[f+444+(Lb<<3)>>2]|0;if((Kb|0)==0){c[h>>2]=138;break}Lb=c[f+444+(Lb<<3)+4>>2]|0;if(Lb>>>0<Jb>>>0){c[h>>2]=131;break}else{c[ba>>2]=Kb;c[ca>>2]=Lb;c[ea>>2]=Jb;c[fa>>2]=Ib;break}}}while(0);a[aa]=0;Lb=723;break b}}while(0);c[h>>2]=128;Lb=724;break};case 42:{Jb=c[Jb+(Kb+1<<2)>>2]|0;Kb=(c[na>>2]|0)+1|0;if(Jb>>>0>=Kb>>>0){Lb=155;break a}Nb=c[la>>2]|0;Mb=c[ma>>2]|0;if((Kb|0)==(Mb|0)){if((c[Nb+(Jb<<4)+8>>2]|0)==(Jb|0)){Nb=Nb+(Jb<<4)|0}else{Lb=139}}else{Lb=139}if((Lb|0)==139){Kb=Nb+(Mb<<4)|0;d:do{if((Mb|0)>0){while(1){Lb=Nb+16|0;if((c[Nb+8>>2]|0)==(Jb|0)){break d}if(Lb>>>0<Kb>>>0){Nb=Lb}else{Nb=Lb;break}}}}while(0);if((Nb|0)==(Kb|0)){Lb=155;break a}}if((a[Nb+12|0]|0)==0){Lb=155;break a}Jb=c[ha>>2]|0;if((Jb|0)>=(c[ia>>2]|0)){Lb=145;break a}if((c[Ib>>2]|0)<=0){Lb=723;break b}Lb=c[ga>>2]|0;c[Lb+(Jb<<4)>>2]=c[fa>>2];c[Lb+(Jb<<4)+4>>2]=(c[ea>>2]|0)+1;c[Lb+(Jb<<4)+8>>2]=c[Ib>>2];Kb=Nb+4|0;c[Lb+(Jb<<4)+12>>2]=c[Kb>>2];c[ha>>2]=(c[ha>>2]|0)+1;Jb=c[Nb>>2]|0;Kb=c[Kb>>2]|0;Lb=Jb+ -1|0;do{if(Lb>>>0>2){c[h>>2]=132}else{Ib=c[f+444+(Lb<<3)>>2]|0;if((Ib|0)==0){c[h>>2]=138;break}Lb=c[f+444+(Lb<<3)+4>>2]|0;if(Lb>>>0<Kb>>>0){c[h>>2]=131;break}else{c[ba>>2]=Ib;c[ca>>2]=Lb;c[ea>>2]=Kb;c[fa>>2]=Jb;break}}}while(0);a[aa]=0;Lb=723;break};case 41:{Jb=c[Ib>>2]&65535;if(Jb>>>0<(e[T>>1]|0)>>>0){Ib=(b[qa>>1]|0)==0?-1:-9;Jb=(c[oa>>2]|0)+Jb|0;a[Jb]=((b[pa>>1]|0)==0?Ib:Ib&-17)&a[Jb];Lb=723;break b}else{if((a[M]|0)==0){Lb=723;break b}else{Lb=134;break a}}break};case 35:{Vb=c[Ib>>2]|0;Lb=Jb+(Kb+1<<2)|0;c[Ib>>2]=c[Lb>>2];c[Lb>>2]=Vb;Lb=723;break};case 36:{c[Ib>>2]=Qb;Lb=723;break};case 37:{Lb=c[Ib>>2]|0;if((Lb|0)<1|(Lb|0)>(Kb|0)){Lb=107;break a}c[Ib>>2]=c[Jb+(Kb-Lb<<2)>>2];Lb=723;break};case 43:{Ib=c[Ib>>2]|0;Jb=(c[na>>2]|0)+1|0;if(Jb>>>0<=Ib>>>0){Lb=174;break a}Kb=c[la>>2]|0;Mb=c[ma>>2]|0;if((Jb|0)==(Mb|0)){if((c[Kb+(Ib<<4)+8>>2]|0)==(Ib|0)){Kb=Kb+(Ib<<4)|0}else{Lb=159}}else{Lb=159}if((Lb|0)==159){Jb=Kb+(Mb<<4)|0;e:do{if((Mb|0)>0){while(1){Lb=Kb+16|0;if((c[Kb+8>>2]|0)==(Ib|0)){break e}if(Lb>>>0<Jb>>>0){Kb=Lb}else{Kb=Lb;break}}}}while(0);if((Kb|0)==(Jb|0)){Lb=174;break a}}if((a[Kb+12|0]|0)==0){Lb=174;break a}Ib=c[ha>>2]|0;if((Ib|0)>=(c[ia>>2]|0)){Lb=165;break a}Vb=c[ga>>2]|0;c[Vb+(Ib<<4)>>2]=c[fa>>2];c[Vb+(Ib<<4)+4>>2]=(c[ea>>2]|0)+1;c[Vb+(Ib<<4)+8>>2]=1;Lb=Kb+4|0;c[Vb+(Ib<<4)+12>>2]=c[Lb>>2];c[ha>>2]=(c[ha>>2]|0)+1;Kb=c[Kb>>2]|0;Ib=c[Lb>>2]|0;Lb=Kb+ -1|0;do{if(Lb>>>0>2){c[h>>2]=132}else{Jb=c[f+444+(Lb<<3)>>2]|0;if((Jb|0)==0){c[h>>2]=138;break}Lb=c[f+444+(Lb<<3)+4>>2]|0;if(Lb>>>0<Ib>>>0){c[h>>2]=131;break}else{c[ba>>2]=Jb;c[ca>>2]=Lb;c[ea>>2]=Ib;c[fa>>2]=Kb;break}}}while(0);a[aa]=0;Lb=723;break};case 14:{Vb=V;Vb=e[Vb>>1]|e[Vb+2>>1]<<16;Lb=U;b[Lb>>1]=Vb;b[Lb+2>>1]=Vb>>>16;uR(f);Lb=723;break};case 7:case 6:{Vb=c[Jb+(Kb+1<<2)>>2]|0;Ib=c[Ib>>2]|0;Jb=Vb&65535;do{if((e[R>>1]|0)>(Vb&65535)){if((e[S>>1]|0)<=(Ib&65535)){break}Vb=Ib&65535;Ub=c[N>>2]|0;Kb=c[O>>2]|0;Ib=(c[Ub+(Vb<<3)>>2]|0)-(c[Kb+(Jb<<3)>>2]|0)|0;Jb=(c[Ub+(Vb<<3)+4>>2]|0)-(c[Kb+(Jb<<3)+4>>2]|0)|0;Kb=(Mb&1)==0;vR(Kb?Ib:0-Jb|0,Kb?Jb:Ib,V);Vb=V;Vb=e[Vb>>1]|e[Vb+2>>1]<<16;Lb=W;b[Lb>>1]=Vb;b[Lb+2>>1]=Vb>>>16;uR(f);Lb=723;break b}}while(0);if((a[M]|0)==0){Lb=723}else{Lb=32;break a}break};case 39:{Ib=c[Ib>>2]|0;Lb=c[Jb+(Kb+1<<2)>>2]|0;Jb=Ib&65535;Kb=Lb&65535;Ib=Ib&65535;do{if(Ib>>>0<(e[S>>1]|0)>>>0){Lb=Lb&65535;if(Lb>>>0>=(e[T>>1]|0)>>>0){break}Ub=c[P>>2]|0;Vb=c[N>>2]|0;Lb=(sd[c[ra>>2]&127](f,(c[Ub+(Lb<<3)>>2]|0)-(c[Vb+(Ib<<3)>>2]|0)|0,(c[Ub+(Lb<<3)+4>>2]|0)-(c[Vb+(Ib<<3)+4>>2]|0)|0)|0)/2|0;Jd[c[sa>>2]&63](f,ta,Jb,Lb);Jd[c[sa>>2]&63](f,ua,Kb,0-Lb|0);Lb=723;break b}}while(0);if((a[M]|0)==0){Lb=723}else{Lb=115;break a}break};case 13:{c[Ib>>2]=b[qa>>1]|0;c[Jb+(Kb+1<<2)>>2]=b[pa>>1]|0;Lb=723;break};case 22:{Jb=c[Ib>>2]|0;if((Jb|0)==0){$W(ua|0,K|0,36)|0}else if((Jb|0)==1){$W(ua|0,L|0,36)|0}else{if((a[M]|0)==0){Lb=723;break b}else{Lb=79;break a}}$W(ta|0,ua|0,36)|0;$W(J|0,ua|0,36)|0;b[va>>1]=c[Ib>>2];b[wa>>1]=c[Ib>>2];b[I>>1]=c[Ib>>2];Lb=723;break};case 20:{Jb=c[Ib>>2]|0;if((Jb|0)==0){$W(ta|0,K|0,36)|0}else if((Jb|0)==1){$W(ta|0,L|0,36)|0}else{if((a[M]|0)==0){Lb=723;break b}else{Lb=67;break a}}b[wa>>1]=c[Ib>>2];Lb=723;break};case 55:case 54:{if((c[Ib>>2]|0)>>>0>1){if((a[M]|0)==0){Lb=723;break b}else{Lb=268;break a}}if((GR(f,G,H,k,l)|0)<<24>>24!=0){Lb=723;break b}Ib=b[I>>1]|0;do{if(Ib<<16>>16==0){Ib=b[R>>1]|0;Kb=Ib<<16>>16==0?0:Ib+ -1<<16>>16}else if(Ib<<16>>16==1){Ib=b[za>>1]|0;if(Ib<<16>>16<=0){Kb=0;break}Kb=b[(c[ya>>2]|0)+((Ib<<16>>16)+ -1<<1)>>1]|0;if((Kb&65535)<(e[R>>1]|0)){break}if((a[M]|0)==0){Lb=723;break b}else{Lb=275;break a}}else{Kb=0}}while(0);Ib=c[xa>>2]|0;Jb=b[Gb>>1]|0;Mb=c[D>>2]|0;Lb=c[Ja>>2]|0;Ob=0;while(1){Nb=c[O>>2]|0;do{if(!((Ib|0)==(Nb|0)&Jb<<16>>16==Ob<<16>>16)){if((b[qa>>1]|0)!=0){Vb=Nb+((Ob&65535)<<3)|0;c[Vb>>2]=(c[Vb>>2]|0)+Lb}if((b[pa>>1]|0)==0){break}Vb=(c[O>>2]|0)+((Ob&65535)<<3)+4|0;c[Vb>>2]=(c[Vb>>2]|0)+Mb}}while(0);Ob=Ob+1<<16>>16;if((Ob&65535)>(Kb&65535)){Lb=723;break}}break};case 56:{Lb=c[Aa>>2]|0;if((Qb|0)<(Lb+1|0)){Lb=284;break a}Mb=c[Ib>>2]|0;Nb=b[qa>>1]|0;Ib=Nb<<16>>16;Ob=(Mb|0)<0?0-Mb|0:Mb;Pb=Nb<<16>>16<0?0-Ib|0:Ib;Nb=Ob>>>16;Ob=Ob&65535;Vb=da(Nb,Pb)|0;Ub=Vb<<16|8192;Pb=Ub+(da(Ob,Pb)|0)|0;Pb=(Pb>>>0<Ub>>>0)+(Vb>>>16)<<18|Pb>>>14;Ib=(Ib^Mb|0)>-1?Pb:0-Pb|0;Vb=b[pa>>1]|0;Pb=Vb<<16>>16;Tb=Vb<<16>>16<0?0-Pb|0:Pb;Vb=da(Tb,Nb)|0;Ub=Vb<<16|8192;Nb=Ub+(da(Tb,Ob)|0)|0;Nb=(Nb>>>0<Ub>>>0)+(Vb>>>16)<<18|Nb>>>14;Mb=(Pb^Mb|0)>-1?Nb:0-Nb|0;f:do{if((Lb|0)>0){while(1){Vb=Kb+ -1|0;c[$>>2]=Vb;Jb=c[Jb+(Vb<<2)>>2]&65535;do{if(Jb>>>0<(e[R>>1]|0)>>>0){if((b[qa>>1]|0)!=0){Vb=(c[O>>2]|0)+(Jb<<3)|0;c[Vb>>2]=(c[Vb>>2]|0)+Ib;Vb=(c[Q>>2]|0)+Jb|0;a[Vb]=a[Vb]|8}if((b[pa>>1]|0)==0){break}Vb=(c[O>>2]|0)+(Jb<<3)+4|0;c[Vb>>2]=(c[Vb>>2]|0)+Mb;Vb=(c[Q>>2]|0)+Jb|0;a[Vb]=a[Vb]|16}else{if((a[M]|0)!=0){Lb=288;break a}}}while(0);Vb=(c[Aa>>2]|0)+ -1|0;c[Aa>>2]=Vb;Kb=c[$>>2]|0;if((Vb|0)<=0){break f}Jb=c[_>>2]|0}}}while(0);c[Aa>>2]=1;c[Z>>2]=Kb;Lb=723;break};case 57:{Lb=c[Aa>>2]|0;if((Qb|0)<(Lb|0)){Lb=297;break a}do{if((b[va>>1]|0)==0){Ib=1}else{if((b[wa>>1]|0)==0){Ib=1;break}Ib=(b[I>>1]|0)==0}}while(0);Vb=b[C>>1]|0;Pb=Vb&65535;if((Vb&65535)>=(e[T>>1]|0)){if((a[M]|0)==0){Lb=723;break b}else{Lb=303;break a}}Nb=c[(Ib?Ha:Ia)>>2]|0;Kb=Nb+(Pb<<3)|0;Ob=c[P>>2]|0;Jb=Ob+(Pb<<3)|0;Vb=b[Ea>>1]|0;Mb=Vb&65535;if((Vb&65535)<(e[S>>1]|0)){Lb=c[Da>>2]|0;if(Ib){Vb=c[Fa>>2]|0;Mb=sd[Lb&127](f,(c[Vb+(Mb<<3)>>2]|0)-(c[Kb>>2]|0)|0,(c[Vb+(Mb<<3)+4>>2]|0)-(c[Nb+(Pb<<3)+4>>2]|0)|0)|0}else{Vb=c[Ga>>2]|0;Mb=sd[Lb&127](f,(c[Vb+(Mb<<3)>>2]|0)-(c[Kb>>2]|0)|0,(c[Vb+(Mb<<3)+4>>2]|0)-(c[Nb+(Pb<<3)+4>>2]|0)|0)|0}Lb=e[Ea>>1]|0;Qb=c[N>>2]|0;Lb=sd[c[ra>>2]&127](f,(c[Qb+(Lb<<3)>>2]|0)-(c[Jb>>2]|0)|0,(c[Qb+(Lb<<3)+4>>2]|0)-(c[Ob+(Pb<<3)+4>>2]|0)|0)|0;Qb=c[Aa>>2]|0}else{Qb=Lb;Lb=0;Mb=0}if((Qb|0)>0){Nb=Nb+(Pb<<3)+4|0;Pb=Ob+(Pb<<3)+4|0;Ob=(Mb|0)==0;Rb=Qb;do{Qb=(c[$>>2]|0)+ -1|0;c[$>>2]=Qb;Qb=c[(c[_>>2]|0)+(Qb<<2)>>2]|0;if(Qb>>>0<(e[R>>1]|0)>>>0){Rb=c[Da>>2]|0;if(Ib){Sb=c[Ba>>2]|0;Sb=sd[Rb&127](f,(c[Sb+(Qb<<3)>>2]|0)-(c[Kb>>2]|0)|0,(c[Sb+(Qb<<3)+4>>2]|0)-(c[Nb>>2]|0)|0)|0}else{Sb=c[Ca>>2]|0;Sb=sd[Rb&127](f,(c[Sb+(Qb<<3)>>2]|0)-(c[Kb>>2]|0)|0,(c[Sb+(Qb<<3)+4>>2]|0)-(c[Nb>>2]|0)|0)|0}Rb=c[O>>2]|0;Rb=sd[c[ra>>2]&127](f,(c[Rb+(Qb<<3)>>2]|0)-(c[Jb>>2]|0)|0,(c[Rb+(Qb<<3)+4>>2]|0)-(c[Pb>>2]|0)|0)|0;Tb=(Sb|0)==0;if(Tb|Ob){Sb=Tb?0:Rb}else{Sb=_I(Sb,Lb,Mb)|0}Jd[c[sa>>2]&63](f,J,Qb&65535,Sb-Rb|0);Rb=c[Aa>>2]|0}else{if((a[M]|0)!=0){Lb=313;break a}}Rb=Rb+ -1|0;c[Aa>>2]=Rb;}while((Rb|0)>0)}c[Aa>>2]=1;c[Z>>2]=c[$>>2];Lb=723;break};case 59:case 58:{Ib=c[Ib>>2]|0;Lb=Ib&65535;Ib=Ib&65535;do{if(Ib>>>0<(e[S>>1]|0)>>>0){Mb=b[Ka>>1]|0;if((Mb&65535)>=(e[T>>1]|0)){break}if((b[wa>>1]|0)==0){Mb=(c[Ha>>2]|0)+((Mb&65535)<<3)|0;Vb=c[Mb+4>>2]|0;Ub=(c[Fa>>2]|0)+(Ib<<3)|0;c[Ub>>2]=c[Mb>>2];c[Ub+4>>2]=Vb;Jb=Jb+(Kb+1<<2)|0;Jd[c[Ma>>2]&63](f,ta,Lb,c[Jb>>2]|0);Ub=(c[Fa>>2]|0)+(Ib<<3)|0;Vb=c[Ub+4>>2]|0;Mb=(c[N>>2]|0)+(Ib<<3)|0;c[Mb>>2]=c[Ub>>2];c[Mb+4>>2]=Vb;Mb=b[Ka>>1]|0}else{Jb=Jb+(Kb+1<<2)|0}Tb=c[N>>2]|0;Ub=c[P>>2]|0;Vb=Mb&65535;Vb=sd[c[ra>>2]&127](f,(c[Tb+(Ib<<3)>>2]|0)-(c[Ub+(Vb<<3)>>2]|0)|0,(c[Tb+(Ib<<3)+4>>2]|0)-(c[Ub+(Vb<<3)+4>>2]|0)|0)|0;Jd[c[sa>>2]&63](f,ta,Lb,(c[Jb>>2]|0)-Vb|0);b[C>>1]=b[Ka>>1]|0;b[Ea>>1]=Lb;if((a[La]&1)==0){Lb=723;break b}b[Ka>>1]=Lb;Lb=723;break b}}while(0);if((a[M]|0)==0){Lb=723}else{Lb=325;break a}break};case 44:{Ib=c[Ib>>2]|0;Lb=c[la>>2]|0;Kb=c[ma>>2]|0;Jb=Lb+(Kb<<4)|0;g:do{if((Kb|0)>0){while(1){Mb=Lb+16|0;if((c[Lb+8>>2]|0)==(Ib|0)){break g}if(Mb>>>0<Jb>>>0){Lb=Mb}else{Lb=Mb;break}}}}while(0);if((Lb|0)==(Jb|0)){if(Kb>>>0>=(c[Oa>>2]|0)>>>0){Lb=180;break a}c[ma>>2]=Kb+1}if(Ib>>>0>65535){Lb=183;break a}c[Lb>>2]=c[fa>>2];Jb=Ib&65535;c[Lb+8>>2]=Jb;c[Lb+4>>2]=(c[ea>>2]|0)+1;a[Lb+12|0]=1;if((c[na>>2]|0)>>>0<Ib>>>0){c[na>>2]=Jb}Ib=c[ca>>2]|0;Jb=c[ea>>2]|0;Lb=c[Na>>2]|0;while(1){Jb=Lb+Jb|0;c[ea>>2]=Jb;if((Jb|0)>=(Ib|0)){Lb=191;break a}Mb=c[ba>>2]|0;Kb=a[Mb+Jb|0]|0;a[La]=Kb;Kb=Kb&255;Lb=a[273544+Kb|0]|0;c[Na>>2]=Lb;if((Kb&254|0)==64){Lb=2-(da(d[Mb+(Jb+1)|0]|0,Lb)|0)|0;c[Na>>2]=Lb}if((Lb+Jb|0)>(Ib|0)){Lb=191;break a}if((Kb|0)==44|(Kb|0)==137){Lb=193;break a}else if((Kb|0)==45){Lb=723;break}else{}}break};case 28:{Vb=Pb+(c[Ib>>2]|0)|0;c[ea>>2]=Vb;if((Vb|0)<0){c[h>>2]=132}a[aa]=0;Lb=723;break};case 29:{c[Pa>>2]=c[Ib>>2];Lb=723;break};case 24:{c[E>>2]=1;c[F>>2]=80;Lb=723;break};case 25:{c[E>>2]=0;c[F>>2]=83;Lb=723;break};case 18:{b[Ea>>1]=c[Ib>>2];Lb=723;break};case 19:{Jb=c[Ib>>2]|0;if((Jb|0)==0){$W(ua|0,K|0,36)|0}else if((Jb|0)==1){$W(ua|0,L|0,36)|0}else{if((a[M]|0)==0){Lb=723;break b}else{Lb=61;break a}}b[va>>1]=c[Ib>>2];Lb=723;break};case 26:{c[Qa>>2]=c[Ib>>2];Lb=723;break};case 27:{Ib=1;while(1){Pb=Ub+Pb|0;c[ea>>2]=Pb;if((Pb|0)>=(Ob|0)){Lb=91;break a}Jb=a[Nb+Pb|0]|0;a[La]=Jb;Jb=Jb&255;Ub=a[273544+Jb|0]|0;c[Na>>2]=Ub;if((Jb&254|0)==64){Ub=2-(da(d[Nb+(Pb+1)|0]|0,Ub)|0)|0;c[Na>>2]=Ub}if((Ub+Pb|0)>(Ob|0)){Lb=91;break a}if((Jb|0)==89){Ib=Ib+ -1|0}else if((Jb|0)==88){Ib=Ib+1|0}if((Ib|0)==0){Lb=723;break}else{}}break};case 12:{c[Ib>>2]=b[Ra>>1]|0;c[Jb+(Kb+1<<2)>>2]=b[Sa>>1]|0;Lb=723;break};case 49:case 48:{if((b[Ta>>1]|0)==0){Lb=723;break b}Ib=c[bb>>2]|0;if((Mb&1)==0){c[n>>2]=Ib+4;c[$a>>2]=(c[_a>>2]|0)+4;Ib=16;Jb=(c[ab>>2]|0)+4|0}else{c[n>>2]=Ib;c[$a>>2]=c[_a>>2];Ib=8;Jb=c[ab>>2]|0}c[Xa>>2]=Jb;Kb=b[Ya>>1]|0;c[Za>>2]=Kb&65535;Jb=0;Lb=0;while(1){Mb=(e[(c[Va>>2]|0)+(Jb<<16>>16<<1)>>1]|0)-(e[Wa>>1]|0)|0;Kb=Kb&65535;Kb=Mb>>>0<Kb>>>0?Mb:Kb+ -1|0;h:do{if(Lb>>>0<=Kb>>>0){Mb=c[Ua>>2]|0;Nb=Lb;while(1){Ob=Nb+1|0;if((d[Mb+Nb|0]&Ib|0)!=0){Qb=Nb;break}if(Ob>>>0>Kb>>>0){Lb=Ob;break h}else{Nb=Ob}}i:while(1){Pb=Qb;while(1){Mb=Pb+1|0;if(Mb>>>0>Kb>>>0){break i}if((d[(c[Ua>>2]|0)+Mb|0]&Ib|0)==0){Pb=Mb}else{break}}HR(m,Qb+1|0,Pb,Qb,Mb);Qb=Mb}if((Qb|0)!=(Nb|0)){HR(m,Qb+1&65535,Kb,Qb,Nb);if((Nb|0)==0){Lb=Mb;break}HR(m,Lb,Nb+ -1|0,Qb,Nb);Lb=Mb;break}Pb=c[$a>>2]|0;Ub=c[Pb+(Nb<<3)>>2]|0;Vb=c[(c[n>>2]|0)+(Nb<<3)>>2]|0;Qb=Ub-Vb|0;if((Ub|0)==(Vb|0)){Lb=Mb;break}do{if(Lb>>>0<Nb>>>0){Vb=Pb+(Lb<<3)|0;c[Vb>>2]=(c[Vb>>2]|0)+Qb;Lb=Lb+1|0;if(Lb>>>0>=Nb>>>0){break}do{Vb=Pb+(Lb<<3)|0;c[Vb>>2]=(c[Vb>>2]|0)+Qb;Lb=Lb+1|0;}while(Lb>>>0<Nb>>>0)}}while(0);if(Ob>>>0>Kb>>>0){Lb=Mb;break}while(1){Vb=Pb+(Ob<<3)|0;c[Vb>>2]=(c[Vb>>2]|0)+Qb;Ob=Ob+1|0;if(Ob>>>0>Kb>>>0){Lb=Mb;break}else{}}}}while(0);Jb=Jb+1<<16>>16;if(Jb<<16>>16>=(b[Ta>>1]|0)){Lb=723;break b}Kb=b[Ya>>1]|0}break};case 53:case 52:{Jb=c[Ib>>2]<<16>>16;if(Jb>>>0>=(b[Ta>>1]|0)>>>0){if((a[M]|0)==0){Lb=723;break b}else{Lb=251;break a}}if((GR(f,r,s,t,u)|0)<<24>>24!=0){Lb=723;break b}if((Jb|0)==0){Kb=b[Wa>>1]|0;Lb=c[Va>>2]|0;Ib=0}else{Vb=c[Va>>2]|0;Ib=b[Wa>>1]|0;Kb=Ib;Lb=Vb;Ib=((b[Vb+(Jb+ -1<<1)>>1]|0)+1<<16>>16)-Ib<<16>>16}Nb=(b[Lb+(Jb<<1)>>1]|0)-Kb<<16>>16;Jb=b[R>>1]|0;if((Nb&65535)>=(Jb&65535)){Nb=Jb<<16>>16==0?0:Jb+ -1<<16>>16}if((Ib&65535)>(Nb&65535)){Lb=723;break b}Kb=c[cb>>2]|0;Jb=b[o>>1]|0;Mb=c[p>>2]|0;Lb=c[q>>2]|0;while(1){Ob=c[O>>2]|0;do{if(!((Kb|0)==(Ob|0)&Jb<<16>>16==Ib<<16>>16)){if((b[qa>>1]|0)!=0){Vb=Ib&65535;Ub=Ob+(Vb<<3)|0;c[Ub>>2]=(c[Ub>>2]|0)+Lb;Vb=(c[Q>>2]|0)+Vb|0;a[Vb]=a[Vb]|8}if((b[pa>>1]|0)==0){break}Vb=Ib&65535;Ub=(c[O>>2]|0)+(Vb<<3)+4|0;c[Ub>>2]=(c[Ub>>2]|0)+Mb;Vb=(c[Q>>2]|0)+Vb|0;a[Vb]=a[Vb]|16}}while(0);Ib=Ib+1<<16>>16;if((Ib&65535)>(Nb&65535)){Lb=723;break}}break};case 51:case 50:{if((Qb|0)<(c[Aa>>2]|0)){Lb=236;break a}if((GR(f,x,y,z,A)|0)<<24>>24!=0){Lb=723;break b}if((c[Aa>>2]|0)>0){Kb=c[v>>2]|0;Jb=c[w>>2]|0;do{Ib=(c[$>>2]|0)+ -1|0;c[$>>2]=Ib;Ib=c[(c[_>>2]|0)+(Ib<<2)>>2]&65535;do{if(Ib>>>0<(e[R>>1]|0)>>>0){if((b[qa>>1]|0)!=0){Vb=(c[O>>2]|0)+(Ib<<3)|0;c[Vb>>2]=(c[Vb>>2]|0)+Jb;Vb=(c[Q>>2]|0)+Ib|0;a[Vb]=a[Vb]|8}if((b[pa>>1]|0)==0){break}Vb=(c[O>>2]|0)+(Ib<<3)+4|0;c[Vb>>2]=(c[Vb>>2]|0)+Kb;Vb=(c[Q>>2]|0)+Ib|0;a[Vb]=a[Vb]|16}else{if((a[M]|0)!=0){Lb=242;break a}}}while(0);Vb=(c[Aa>>2]|0)+ -1|0;c[Aa>>2]=Vb;}while((Vb|0)>0)}c[Aa>>2]=1;c[Z>>2]=c[$>>2];Lb=723;break};case 45:{Ib=c[ha>>2]|0;if((Ib|0)<1){Lb=195;break a}Kb=Ib+ -1|0;c[ha>>2]=Kb;Jb=c[ga>>2]|0;Vb=Jb+(Kb<<4)+8|0;c[Vb>>2]=(c[Vb>>2]|0)+ -1;a[aa]=0;if((c[Vb>>2]|0)>0){c[ha>>2]=(c[ha>>2]|0)+1;c[ea>>2]=c[Jb+(Kb<<4)+12>>2];Lb=723;break b}Ib=c[Jb+(Kb<<4)>>2]|0;Jb=c[Jb+(Kb<<4)+4>>2]|0;Lb=Ib+ -1|0;if(Lb>>>0>2){Lb=199;break a}Kb=c[f+444+(Lb<<3)>>2]|0;if((Kb|0)==0){Lb=201;break a}Lb=c[f+444+(Lb<<3)+4>>2]|0;if(Lb>>>0<Jb>>>0){Lb=203;break a}c[ba>>2]=Kb;c[ca>>2]=Lb;c[ea>>2]=Jb;c[fa>>2]=Ib;Lb=723;break};case 47:case 46:{Jb=c[Ib>>2]|0;Ib=Jb&65535;Jb=Jb&65535;if(Jb>>>0>=(e[T>>1]|0)>>>0){if((a[M]|0)==0){Lb=723;break b}else{Lb=207;break a}}if((Mb&1)==0){Jb=0}else{Vb=c[P>>2]|0;Jb=sd[c[ra>>2]&127](f,c[Vb+(Jb<<3)>>2]|0,c[Vb+(Jb<<3)+4>>2]|0)|0;Jb=(sd[c[F>>2]&127](f,Jb,c[db>>2]|0)|0)-Jb|0}Jd[c[sa>>2]&63](f,ua,Ib,Jb);b[Ka>>1]=Ib;b[C>>1]=Ib;Lb=723;break};case 5:case 4:case 3:case 2:case 1:case 0:{Ib=Tb<<14&16384;Jb=Ib^16384;if((Mb&255)<4){b[Ra>>1]=Ib;b[Sa>>1]=Jb;b[eb>>1]=Ib;b[fb>>1]=Jb}if((Tb&2|0)==0){b[qa>>1]=Ib;b[pa>>1]=Jb}uR(f);Lb=723;break};case 16:{b[Ka>>1]=c[Ib>>2];Lb=723;break};case 17:{b[C>>1]=c[Ib>>2];Lb=723;break};case 23:{Ib=c[Ib>>2]|0;if((Ib|0)<0){Lb=82;break a}c[Aa>>2]=Ib;Lb=723;break};case 60:{Ib=c[Aa>>2]|0;do{if((Qb|0)>=(Ib|0)){if((e[Ka>>1]|0)>=(e[T>>1]|0)){break}j:do{if((Ib|0)>0){while(1){Kb=Kb+ -1|0;c[$>>2]=Kb;Kb=c[Jb+(Kb<<2)>>2]|0;Jb=Kb&65535;if(Jb>>>0<(e[S>>1]|0)>>>0){Ub=c[N>>2]|0;Vb=c[P>>2]|0;Ib=e[Ka>>1]|0;Ib=sd[c[ra>>2]&127](f,(c[Ub+(Jb<<3)>>2]|0)-(c[Vb+(Ib<<3)>>2]|0)|0,(c[Ub+(Jb<<3)+4>>2]|0)-(c[Vb+(Ib<<3)+4>>2]|0)|0)|0;Jd[c[sa>>2]&63](f,ta,Kb&65535,0-Ib|0);Ib=c[Aa>>2]|0}else{if((a[M]|0)!=0){Lb=338;break a}}Ib=Ib+ -1|0;c[Aa>>2]=Ib;Kb=c[$>>2]|0;if((Ib|0)<=0){break j}Jb=c[_>>2]|0}}}while(0);c[Aa>>2]=1;c[Z>>2]=Kb;Lb=723;break b}}while(0);if((a[M]|0)==0){Lb=723}else{Lb=334;break a}break};case 63:case 62:{Vb=c[Ib>>2]|0;Jb=c[Jb+(Kb+1<<2)>>2]|0;Ib=Vb&65535;Kb=Vb&65535;do{if(Kb>>>0<(e[T>>1]|0)>>>0){if((c[gb>>2]|0)>>>0<=Jb>>>0){break}Jb=Bd[c[B>>2]&255](f,Jb)|0;if((b[va>>1]|0)==0){Lb=b[qa>>1]|0;Mb=Lb<<16>>16;Nb=(Jb|0)<0?0-Jb|0:Jb;Ob=Lb<<16>>16<0?0-Mb|0:Mb;Lb=Nb>>>16;Nb=Nb&65535;Vb=da(Ob,Lb)|0;Ub=Vb<<16|8192;Ob=Ub+(da(Ob,Nb)|0)|0;Ob=(Ob>>>0<Ub>>>0)+(Vb>>>16)<<18|Ob>>>14;c[(c[Ha>>2]|0)+(Kb<<3)>>2]=(Mb^Jb|0)>-1?Ob:0-Ob|0;Vb=b[pa>>1]|0;Mb=Vb<<16>>16;Tb=Vb<<16>>16<0?0-Mb|0:Mb;Vb=da(Tb,Lb)|0;Ub=Vb<<16|8192;Lb=Ub+(da(Tb,Nb)|0)|0;Lb=(Lb>>>0<Ub>>>0)+(Vb>>>16)<<18|Lb>>>14;c[(c[Ha>>2]|0)+(Kb<<3)+4>>2]=(Mb^Jb|0)>-1?Lb:0-Lb|0;Tb=(c[Ha>>2]|0)+(Kb<<3)|0;Ub=c[Tb+4>>2]|0;Vb=(c[P>>2]|0)+(Kb<<3)|0;c[Vb>>2]=c[Tb>>2];c[Vb+4>>2]=Ub}Vb=c[P>>2]|0;Kb=sd[c[ra>>2]&127](f,c[Vb+(Kb<<3)>>2]|0,c[Vb+(Kb<<3)+4>>2]|0)|0;if((a[La]&1)!=0){Lb=Jb-Kb|0;Jb=sd[c[F>>2]&127](f,(((Lb|0)<0?0-Lb|0:Lb)|0)>(c[Pa>>2]|0)?Kb:Jb,c[db>>2]|0)|0}Jd[c[sa>>2]&63](f,ua,Ib,Jb-Kb|0);b[Ka>>1]=Ib;b[C>>1]=Ib;Lb=723;break b}}while(0);if((a[M]|0)==0){Lb=723}else{Lb=347;break a}break};case 61:{c[E>>2]=2;c[F>>2]=84;Lb=723;break};case 66:{Ib=c[Ib>>2]|0;if(Ib>>>0<(e[ib>>1]|0)>>>0){c[(c[hb>>2]|0)+(Ib<<2)>>2]=c[Jb+(Kb+1<<2)>>2];Lb=723;break b}else{if((a[M]|0)==0){Lb=723;break b}else{Lb=370;break a}}break};case 67:{Jb=c[Ib>>2]|0;if(Jb>>>0<(e[ib>>1]|0)>>>0){c[Ib>>2]=c[(c[hb>>2]|0)+(Jb<<2)>>2];Lb=723;break b}if((a[M]|0)!=0){Lb=370;break a}c[Ib>>2]=0;Lb=723;break};case 68:{Ib=c[Ib>>2]|0;if(Ib>>>0<(c[gb>>2]|0)>>>0){Gd[c[jb>>2]&255](f,Ib,c[Jb+(Kb+1<<2)>>2]|0);Lb=723;break b}else{if((a[M]|0)==0){Lb=723;break b}else{Lb=370;break a}}break};case 64:{Mb=a[Nb+(Pb+1)|0]|0;Lb=Mb&255;if(Lb>>>0>=(Rb+1-Qb|0)>>>0){Lb=356;break a}if(Mb<<24>>24!=0){Kb=Kb+ -1|0;c[Ib>>2]=d[Nb+(Pb+2)|0]|0;if((Mb&255)>=2){Ib=2;Mb=2;do{Mb=Mb+1<<16>>16;c[Jb+(Kb+Ib<<2)>>2]=d[(c[ba>>2]|0)+((c[ea>>2]|0)+1+Ib)|0]|0;Ib=Mb&65535;}while(Ib>>>0<=Lb>>>0)}Sb=c[Z>>2]|0}c[Z>>2]=Sb+Lb;Lb=723;break};case 65:{Lb=a[Nb+(Pb+1)|0]|0;Ib=Lb&255;if(Ib>>>0>=(Rb+1-Qb|0)>>>0){Lb=361;break a}Mb=Pb+2|0;c[ea>>2]=Mb;if(Lb<<24>>24!=0){Lb=Mb;Ob=0;Mb=1;while(1){c[ea>>2]=Lb+2;c[Jb+(Ob+Kb<<2)>>2]=(d[Nb+Lb|0]<<8&65535|d[Nb+(Lb+1)|0])<<16>>16;Ob=Mb&65535;if(Ob>>>0>=Ib>>>0){break}Nb=c[ba>>2]|0;Lb=c[ea>>2]|0;Mb=Mb+1<<16>>16}Sb=c[Z>>2]|0}a[aa]=0;c[Z>>2]=Sb+Ib;Lb=723;break};case 69:{Jb=c[Ib>>2]|0;if(Jb>>>0<(c[gb>>2]|0)>>>0){c[Ib>>2]=Bd[c[B>>2]&255](f,Jb)|0;Lb=723;break b}if((a[M]|0)!=0){Lb=370;break a}c[Ib>>2]=0;Lb=723;break};case 71:case 70:{Jb=c[Ib>>2]|0;do{if(Jb>>>0<(e[R>>1]|0)>>>0){if((Mb&1)==0){Vb=c[O>>2]|0;Jb=sd[c[ra>>2]&127](f,c[Vb+(Jb<<3)>>2]|0,c[Vb+(Jb<<3)+4>>2]|0)|0;break}else{Vb=c[Ba>>2]|0;Jb=sd[c[Da>>2]&127](f,c[Vb+(Jb<<3)>>2]|0,c[Vb+(Jb<<3)+4>>2]|0)|0;break}}else{if((a[M]|0)==0){Jb=0}else{Lb=384;break a}}}while(0);c[Ib>>2]=Jb;Lb=723;break};case 72:{Lb=c[Ib>>2]|0;Ib=Lb&65535;if(Ib>>>0>=(e[R>>1]|0)>>>0){if((a[M]|0)==0){Lb=723;break b}else{Lb=391;break a}}Vb=c[O>>2]|0;Vb=sd[c[ra>>2]&127](f,c[Vb+(Ib<<3)>>2]|0,c[Vb+(Ib<<3)+4>>2]|0)|0;Jd[c[sa>>2]&63](f,J,Lb&65535,(c[Jb+(Kb+1<<2)>>2]|0)-Vb|0);if((b[I>>1]|0)!=0){Lb=723;break b}Ub=(c[O>>2]|0)+(Ib<<3)|0;Vb=c[Ub+4>>2]|0;Lb=(c[Ba>>2]|0)+(Ib<<3)|0;c[Lb>>2]=c[Ub>>2];c[Lb+4>>2]=Vb;Lb=723;break};case 74:case 73:{Nb=c[Ib>>2]&65535;do{if(Nb>>>0<(e[T>>1]|0)>>>0){Jb=c[Jb+(Kb+1<<2)>>2]&65535;if(Jb>>>0>=(e[S>>1]|0)>>>0){Lb=396;break}if((Mb&1)!=0){Ub=c[P>>2]|0;Vb=c[N>>2]|0;Jb=sd[c[ra>>2]&127](f,(c[Ub+(Nb<<3)>>2]|0)-(c[Vb+(Jb<<3)>>2]|0)|0,(c[Ub+(Nb<<3)+4>>2]|0)-(c[Vb+(Jb<<3)+4>>2]|0)|0)|0;break}Qb=c[Ia>>2]|0;Ob=Qb+(Nb<<3)|0;Kb=c[Ga>>2]|0;Pb=Kb+(Jb<<3)|0;Mb=c[kb>>2]|0;if((Mb|0)==(c[lb>>2]|0)){Jb=sd[c[Da>>2]&127](f,(c[Ob>>2]|0)-(c[Pb>>2]|0)|0,(c[Qb+(Nb<<3)+4>>2]|0)-(c[Kb+(Jb<<3)+4>>2]|0)|0)|0;Jb=aJ(Jb,c[kb>>2]|0)|0;break}else{Vb=aJ((c[Ob>>2]|0)-(c[Pb>>2]|0)|0,Mb)|0;Jb=aJ((c[Qb+(Nb<<3)+4>>2]|0)-(c[Kb+(Jb<<3)+4>>2]|0)|0,c[lb>>2]|0)|0;Jb=sd[c[Da>>2]&127](f,Vb,Jb)|0;break}}else{Lb=396}}while(0);if((Lb|0)==396){if((a[M]|0)==0){Jb=0}else{Lb=397;break a}}c[Ib>>2]=Jb;Lb=723;break};case 75:{c[Ib>>2]=zR(f)|0;Lb=723;break};case 76:{c[Ib>>2]=zR(f)|0;Lb=723;break};case 77:{a[mb]=1;Lb=723;break};case 78:{a[mb]=0;Lb=723;break};case 79:{Lb=408;break a};case 80:{c[Ib>>2]=(c[Ib>>2]|0)<(c[Jb+(Kb+1<<2)>>2]|0);Lb=723;break};case 81:{c[Ib>>2]=(c[Ib>>2]|0)<=(c[Jb+(Kb+1<<2)>>2]|0);Lb=723;break};case 82:{c[Ib>>2]=(c[Ib>>2]|0)>(c[Jb+(Kb+1<<2)>>2]|0);Lb=723;break};case 90:{if((c[Ib>>2]|0)==0){Jb=0}else{Jb=(c[Jb+(Kb+1<<2)>>2]|0)!=0|0}c[Ib>>2]=Jb;Lb=723;break};case 83:{c[Ib>>2]=(c[Ib>>2]|0)>=(c[Jb+(Kb+1<<2)>>2]|0);Lb=723;break};case 84:{c[Ib>>2]=(c[Ib>>2]|0)==(c[Jb+(Kb+1<<2)>>2]|0);Lb=723;break};case 85:{c[Ib>>2]=(c[Ib>>2]|0)!=(c[Jb+(Kb+1<<2)>>2]|0);Lb=723;break};case 86:{c[Ib>>2]=((sd[c[F>>2]&127](f,c[Ib>>2]|0,0)|0)&127|0)==64;Lb=723;break};case 87:{c[Ib>>2]=((sd[c[F>>2]&127](f,c[Ib>>2]|0,0)|0)&127|0)==0;Lb=723;break};case 88:{if((c[Ib>>2]|0)!=0){Lb=723;break b}c[ea>>2]=Vb;if((Vb|0)<(Ob|0)){Ib=1}else{Lb=423;break a}while(1){Jb=(Ib|0)==1;while(1){Kb=a[Nb+Vb|0]|0;a[La]=Kb;Kb=Kb&255;Lb=a[273544+Kb|0]|0;c[Na>>2]=Lb;if((Kb&254|0)==64){Lb=2-(da(d[Nb+(Vb+1)|0]|0,Lb)|0)|0;c[Na>>2]=Lb}Vb=Lb+Vb|0;if((Vb|0)>(Ob|0)){Lb=423;break a}if((Kb|0)==88){Lb=426;break}else if((Kb|0)==27){if(Jb){Lb=723;break b}}else if((Kb|0)==89){Lb=428;break}c[ea>>2]=Vb;if((Vb|0)>=(Ob|0)){Lb=423;break a}}if((Lb|0)==426){Ib=Ib+1|0}else if((Lb|0)==428){Ib=Ib+ -1|0;if((Ib|0)==0){Lb=723;break b}}c[ea>>2]=Vb;if((Vb|0)>=(Ob|0)){Lb=423;break a}}break};case 91:{if((c[Ib>>2]|0)==0){Jb=(c[Jb+(Kb+1<<2)>>2]|0)!=0|0}else{Jb=1}c[Ib>>2]=Jb;Lb=723;break};case 92:{c[Ib>>2]=(c[Ib>>2]|0)==0;Lb=723;break};case 93:{AR(f,c[Ib>>2]|0);Lb=723;break};case 94:{b[nb>>1]=c[Ib>>2];Lb=723;break};case 95:{b[ob>>1]=c[Ib>>2];Lb=723;break};case 96:{c[Ib>>2]=(c[Ib>>2]|0)+(c[Jb+(Kb+1<<2)>>2]|0);Lb=723;break};case 99:{c[Ib>>2]=_I(c[Ib>>2]|0,c[Jb+(Kb+1<<2)>>2]|0,64)|0;Lb=723;break};case 100:{Jb=c[Ib>>2]|0;c[Ib>>2]=(Jb|0)<0?0-Jb|0:Jb;Lb=723;break};case 101:{c[Ib>>2]=0-(c[Ib>>2]|0);Lb=723;break};case 102:{c[Ib>>2]=c[Ib>>2]&-64;Lb=723;break};case 103:{c[Ib>>2]=(c[Ib>>2]|0)+63&-64;Lb=723;break};case 107:case 106:case 105:case 104:{c[Ib>>2]=sd[c[F>>2]&127](f,c[Ib>>2]|0,c[f+264+(Tb+ -104<<2)>>2]|0)|0;Lb=723;break};case 97:{c[Ib>>2]=(c[Ib>>2]|0)-(c[Jb+(Kb+1<<2)>>2]|0);Lb=723;break};case 98:{Jb=c[Jb+(Kb+1<<2)>>2]|0;if((Jb|0)==0){Lb=443;break a}c[Ib>>2]=$I(c[Ib>>2]|0,64,Jb)|0;Lb=723;break};case 112:{Ib=c[Ib>>2]|0;if(Ib>>>0<(c[gb>>2]|0)>>>0){Lb=aJ(c[Jb+(Kb+1<<2)>>2]|0,c[pb>>2]|0)|0;c[(c[qb>>2]|0)+(Ib<<2)>>2]=Lb;Lb=723;break b}else{if((a[M]|0)==0){Lb=723;break b}else{Lb=370;break a}}break};case 114:case 113:{AR(f,c[Ib>>2]|0);Lb=723;break};case 117:case 116:case 115:{Ib=c[Ib>>2]|0;if((Ib|0)!=0){Jb=1;do{if((Kb|0)<2){Lb=461;break a}Lb=Kb+ -2|0;c[$>>2]=Lb;Vb=c[_>>2]|0;Kb=c[Vb+(Kb+ -1<<2)>>2]|0;Lb=c[Vb+(Lb<<2)>>2]|0;do{if(Kb>>>0<(c[gb>>2]|0)>>>0){Mb=Lb>>>4&15;Nb=d[La]|0;if((Nb|0)==116){Mb=Mb|16}else if((Nb|0)==117){Mb=Mb|32}Vb=(b[nb>>1]|0)+Mb|0;if((zR(f)|0)!=(Vb|0)){break}Lb=Lb&15;Mb=Lb+ -8|0;Gd[c[rb>>2]&255](f,Kb,(((Mb|0)>-1?Lb+ -7|0:Mb)<<6|0)/(1<<b[ob>>1]|0)|0)}else{if((a[M]|0)!=0){Lb=464;break a}}}while(0);Jb=Jb+1|0;Kb=c[$>>2]|0}while(Jb>>>0<=Ib>>>0)}c[Z>>2]=Kb;Lb=723;break};case 111:case 110:case 109:case 108:{Jb=c[Ib>>2]|0;Kb=c[f+264+(Tb+ -108<<2)>>2]|0;if((Jb|0)>-1){Kb=Kb+Jb|0;Jb=(Jb|0)!=0&(Kb|0)<0?0:Kb}else{Jb=Jb-Kb|0;Jb=(Jb|0)>0?0:Jb}c[Ib>>2]=Jb;Lb=723;break};case 118:{Ib=c[Ib>>2]|0;Jb=Ib&192;if((Jb|0)==0){c[sb>>2]=8192}else if((Jb|0)==64){c[sb>>2]=16384}else if((Jb|0)==128){c[sb>>2]=32768}else if((Jb|0)==192){c[sb>>2]=16384}Jb=Ib&48;if((Jb|0)==0){c[tb>>2]=0}else if((Jb|0)==16){c[tb>>2]=(c[sb>>2]|0)/4|0}else if((Jb|0)==32){c[tb>>2]=(c[sb>>2]|0)/2|0}else if((Jb|0)==48){c[tb>>2]=((c[sb>>2]|0)*3|0)/4|0}Ib=Ib&15;if((Ib|0)==0){Jb=c[sb>>2]|0;Ib=Jb+ -1|0}else{Jb=c[sb>>2]|0;Ib=(da(Jb,Ib+ -4|0)|0)/8|0}c[sb>>2]=(Jb|0)/256|0;c[tb>>2]=(c[tb>>2]|0)/256|0;c[ub>>2]=(Ib|0)/256|0;c[E>>2]=6;c[F>>2]=85;Lb=723;break};case 119:{Ib=c[Ib>>2]|0;Jb=Ib&192;if((Jb|0)==0){c[sb>>2]=5792}else if((Jb|0)==64){c[sb>>2]=11585}else if((Jb|0)==128){c[sb>>2]=23170}else if((Jb|0)==192){c[sb>>2]=11585}Jb=Ib&48;if((Jb|0)==0){c[tb>>2]=0}else if((Jb|0)==16){c[tb>>2]=(c[sb>>2]|0)/4|0}else if((Jb|0)==32){c[tb>>2]=(c[sb>>2]|0)/2|0}else if((Jb|0)==48){c[tb>>2]=((c[sb>>2]|0)*3|0)/4|0}Ib=Ib&15;if((Ib|0)==0){Jb=c[sb>>2]|0;Ib=Jb+ -1|0}else{Jb=c[sb>>2]|0;Ib=(da(Jb,Ib+ -4|0)|0)/8|0}c[sb>>2]=(Jb|0)/256|0;c[tb>>2]=(c[tb>>2]|0)/256|0;c[ub>>2]=(Ib|0)/256|0;c[E>>2]=7;c[F>>2]=86;Lb=723;break};case 121:{if((c[Jb+(Kb+1<<2)>>2]|0)!=0){Lb=723;break b}Vb=Pb+(c[Ib>>2]|0)|0;c[ea>>2]=Vb;if((Vb|0)<0){c[h>>2]=132}a[aa]=0;Lb=723;break};case 122:{c[E>>2]=5;c[F>>2]=79;Lb=723;break};case 123:{Jb=c[ja>>2]|0;Vb=c[ka>>2]|0;Ib=Jb+(Vb<<4)|0;k:do{if((Vb|0)>0){while(1){if(Mb<<24>>24==(c[Jb+8>>2]&255)<<24>>24){if((a[Jb+12|0]|0)!=0){break}}Jb=Jb+16|0;if(Jb>>>0>=Ib>>>0){break k}}Ib=c[ha>>2]|0;if((Ib|0)>=(c[ia>>2]|0)){Lb=513;break a}Vb=c[ga>>2]|0;c[ha>>2]=Ib+1;c[Vb+(Ib<<4)>>2]=c[fa>>2];c[Vb+(Ib<<4)+4>>2]=(c[ea>>2]|0)+1;c[Vb+(Ib<<4)+8>>2]=1;Lb=Jb+4|0;c[Vb+(Ib<<4)+12>>2]=c[Lb>>2];Jb=c[Jb>>2]|0;Ib=c[Lb>>2]|0;Lb=Jb+ -1|0;do{if(Lb>>>0>2){c[h>>2]=132}else{Kb=c[f+444+(Lb<<3)>>2]|0;if((Kb|0)==0){c[h>>2]=138;break}Lb=c[f+444+(Lb<<3)+4>>2]|0;if(Lb>>>0<Ib>>>0){c[h>>2]=131;break}else{c[ba>>2]=Kb;c[ca>>2]=Lb;c[ea>>2]=Ib;c[fa>>2]=Jb;break}}}while(0);a[aa]=0;Lb=723;break b}}while(0);c[h>>2]=128;Lb=724;break};case 120:{if((c[Jb+(Kb+1<<2)>>2]|0)==0){Lb=723;break b}Vb=Pb+(c[Ib>>2]|0)|0;c[ea>>2]=Vb;if((Vb|0)<0){c[h>>2]=132}a[aa]=0;Lb=723;break};case 124:{c[E>>2]=4;c[F>>2]=81;Lb=723;break};case 125:{c[E>>2]=3;c[F>>2]=82;Lb=723;break};case 128:{Ib=c[Aa>>2]|0;if((Qb|0)<(Ib|0)){Lb=528;break a}l:do{if((Ib|0)>0){while(1){Vb=Kb+ -1|0;c[$>>2]=Vb;Jb=c[Jb+(Vb<<2)>>2]&65535;if(Jb>>>0<(e[Ya>>1]|0)>>>0){Ib=(c[Ua>>2]|0)+Jb|0;a[Ib]=a[Ib]^1;Ib=c[Aa>>2]|0}else{if((a[M]|0)!=0){Lb=531;break a}}Ib=Ib+ -1|0;c[Aa>>2]=Ib;Kb=c[$>>2]|0;if((Ib|0)<=0){break l}Jb=c[_>>2]|0}}}while(0);c[Aa>>2]=1;c[Z>>2]=Kb;Lb=723;break};case 129:{Lb=c[Ib>>2]|0;Ib=c[Jb+(Kb+1<<2)>>2]&65535;Jb=e[Ya>>1]|0;do{if(Ib>>>0<Jb>>>0){Kb=Lb&65535;if(Kb>>>0>=Jb>>>0){break}if(Kb>>>0>Ib>>>0){Lb=723;break b}else{Jb=Lb&65535}while(1){Kb=(c[Ua>>2]|0)+Kb|0;a[Kb]=a[Kb]|1;Jb=Jb+1<<16>>16;Kb=Jb&65535;if(Kb>>>0>Ib>>>0){Lb=723;break b}else{}}}}while(0);if((a[M]|0)==0){Lb=723}else{Lb=540;break a}break};case 132:case 131:{Jb=c[ja>>2]|0;Vb=c[ka>>2]|0;Ib=Jb+(Vb<<4)|0;m:do{if((Vb|0)>0){while(1){if(Mb<<24>>24==(c[Jb+8>>2]&255)<<24>>24){if((a[Jb+12|0]|0)!=0){break}}Jb=Jb+16|0;if(Jb>>>0>=Ib>>>0){break m}}Ib=c[ha>>2]|0;if((Ib|0)>=(c[ia>>2]|0)){Lb=552;break a}Vb=c[ga>>2]|0;c[ha>>2]=Ib+1;c[Vb+(Ib<<4)>>2]=c[fa>>2];c[Vb+(Ib<<4)+4>>2]=(c[ea>>2]|0)+1;c[Vb+(Ib<<4)+8>>2]=1;Lb=Jb+4|0;c[Vb+(Ib<<4)+12>>2]=c[Lb>>2];Jb=c[Jb>>2]|0;Ib=c[Lb>>2]|0;Lb=Jb+ -1|0;do{if(Lb>>>0>2){c[h>>2]=132}else{Kb=c[f+444+(Lb<<3)>>2]|0;if((Kb|0)==0){c[h>>2]=138;break}Lb=c[f+444+(Lb<<3)+4>>2]|0;if(Lb>>>0<Ib>>>0){c[h>>2]=131;break}else{c[ba>>2]=Kb;c[ca>>2]=Lb;c[ea>>2]=Ib;c[fa>>2]=Jb;break}}}while(0);a[aa]=0;Lb=723;break b}}while(0);c[h>>2]=128;Lb=724;break};case 130:{Lb=c[Ib>>2]|0;Ib=c[Jb+(Kb+1<<2)>>2]&65535;Jb=e[Ya>>1]|0;do{if(Ib>>>0<Jb>>>0){Kb=Lb&65535;if(Kb>>>0>=Jb>>>0){break}if(Kb>>>0>Ib>>>0){Lb=723;break b}else{Jb=Lb&65535}while(1){Kb=(c[Ua>>2]|0)+Kb|0;a[Kb]=a[Kb]&-2;Jb=Jb+1<<16>>16;Kb=Jb&65535;if(Kb>>>0>Ib>>>0){Lb=723;break b}else{}}}}while(0);if((a[M]|0)==0){Lb=723}else{Lb=546;break a}break};case 133:{Kb=c[Ib>>2]|0;Jb=Kb&255;if((Jb|0)==255){a[vb]=1;Lb=723;break b}else if((Jb|0)==0){a[vb]=0;Lb=723;break b}else{do{if((Kb&256|0)!=0){if((e[yb>>1]|0)>>>0>Jb>>>0){break}a[vb]=1;Kb=c[Ib>>2]|0}}while(0);do{if((Kb&512|0)!=0){if((a[xb]|0)==0){break}a[vb]=1;Kb=c[Ib>>2]|0}}while(0);do{if((Kb&1024|0)!=0){if((a[wb]|0)==0){break}a[vb]=1;Kb=c[Ib>>2]|0}}while(0);do{if((Kb&2048|0)!=0){if((e[yb>>1]|0)>>>0<=Jb>>>0){break}a[vb]=0;Kb=c[Ib>>2]|0}}while(0);do{if((Kb&4096|0)!=0){if((a[xb]|0)==0){break}a[vb]=0;Kb=c[Ib>>2]|0}}while(0);if((Kb&8192|0)==0){Lb=723;break b}if((a[wb]|0)==0){Lb=723;break b}a[vb]=0;Lb=723;break b}break};case 135:case 134:{Ib=c[Ib>>2]&65535;do{if(Ib>>>0<(e[S>>1]|0)>>>0){Jb=c[Jb+(Kb+1<<2)>>2]&65535;if(Jb>>>0>=(e[R>>1]|0)>>>0){break}Vb=c[Fa>>2]|0;Lb=c[Ba>>2]|0;Kb=(c[Vb+(Ib<<3)>>2]|0)-(c[Lb+(Jb<<3)>>2]|0)|0;Lb=(c[Vb+(Ib<<3)+4>>2]|0)-(c[Lb+(Jb<<3)+4>>2]|0)|0;Mb=(Mb&1)==0;vR(Mb?Kb:0-Lb|0,Mb?Lb:Kb,W);Ub=c[N>>2]|0;Vb=c[O>>2]|0;Kb=(c[Ub+(Ib<<3)>>2]|0)-(c[Vb+(Jb<<3)>>2]|0)|0;Ib=(c[Ub+(Ib<<3)+4>>2]|0)-(c[Vb+(Jb<<3)+4>>2]|0)|0;Jb=(a[La]&1)==0;vR(Jb?Kb:0-Ib|0,Jb?Ib:Kb,V);uR(f);Lb=723;break b}}while(0);if((a[M]|0)==0){Lb=723}else{Lb=587;break a}break};case 137:{Mb=c[ja>>2]|0;Kb=c[ka>>2]|0;Jb=Mb+(Kb<<4)|0;n:do{if((Kb|0)>0){Lb=c[Ib>>2]|0;Nb=Mb;while(1){Mb=Nb+16|0;if((c[Nb+8>>2]|0)==(Lb|0)){Mb=Nb;break n}if(Mb>>>0<Jb>>>0){Nb=Mb}else{break}}}}while(0);if((Mb|0)==(Jb|0)){if(Kb>>>0>=(c[Ab>>2]|0)>>>0){Lb=602;break a}c[ka>>2]=Kb+1}Jb=c[Ib>>2]|0;if(Jb>>>0>255){Lb=605;break a}c[Mb+8>>2]=Jb&255;c[Mb+4>>2]=(c[ea>>2]|0)+1;c[Mb>>2]=c[fa>>2];a[Mb+12|0]=1;Ib=c[Ib>>2]|0;if(Ib>>>0>(c[zb>>2]|0)>>>0){c[zb>>2]=Ib&255}Ib=c[ca>>2]|0;Jb=c[ea>>2]|0;Mb=c[Na>>2]|0;while(1){Jb=Mb+Jb|0;c[ea>>2]=Jb;if((Jb|0)>=(Ib|0)){Lb=613;break a}Lb=c[ba>>2]|0;Kb=a[Lb+Jb|0]|0;a[La]=Kb;Kb=Kb&255;Mb=a[273544+Kb|0]|0;c[Na>>2]=Mb;if((Kb&254|0)==64){Mb=2-(da(d[Lb+(Jb+1)|0]|0,Mb)|0)|0;c[Na>>2]=Mb}if((Mb+Jb|0)>(Ib|0)){Lb=613;break a}if((Kb|0)==44|(Kb|0)==137){Lb=615;break a}else if((Kb|0)==45){Lb=723;break}else{}}break};case 136:{Jb=c[Ib>>2]|0;Kb=(Jb&1|0)!=0?35:0;if((Jb&2|0)!=0){Kb=(a[xb]|0)==0?Kb:Kb|128}if((Jb&4|0)!=0){Kb=(a[wb]|0)==0?Kb:Kb|256}if((Jb&32|0)!=0){Kb=(a[Bb]|0)==0?Kb:Kb|4096}c[Ib>>2]=Kb;Lb=723;break};case 138:{Tb=Jb+(Kb+2<<2)|0;Ub=c[Tb>>2]|0;Vb=Jb+(Kb+1<<2)|0;Lb=c[Vb>>2]|0;c[Tb>>2]=c[Ib>>2];c[Vb>>2]=Ub;c[Ib>>2]=Lb;Lb=723;break};case 139:{Jb=c[Jb+(Kb+1<<2)>>2]|0;if((Jb|0)<=(c[Ib>>2]|0)){Lb=723;break b}c[Ib>>2]=Jb;Lb=723;break};case 140:{Jb=c[Jb+(Kb+1<<2)>>2]|0;if((Jb|0)>=(c[Ib>>2]|0)){Lb=723;break b}c[Ib>>2]=Jb;Lb=723;break};case 141:{Ib=c[Ib>>2]|0;if((Ib|0)<=-1){Lb=723;break b}c[Cb>>2]=Ib;Lb=723;break};case 142:{Jb=c[Jb+(Kb+1<<2)>>2]|0;if((Jb+ -1|0)>>>0>1){if((a[M]|0)==0){Lb=723;break b}else{Lb=625;break a}}else{a[Db]=d[Db]&(Jb^255)|((c[Ib>>2]|0)==0?0:Jb);Lb=723;break b}break};case 143:{Jb=c[ja>>2]|0;Vb=c[ka>>2]|0;Ib=Jb+(Vb<<4)|0;o:do{if((Vb|0)>0){while(1){if(Mb<<24>>24==(c[Jb+8>>2]&255)<<24>>24){if((a[Jb+12|0]|0)!=0){break}}Jb=Jb+16|0;if(Jb>>>0>=Ib>>>0){break o}}Ib=c[ha>>2]|0;if((Ib|0)>=(c[ia>>2]|0)){Lb=631;break a}Lb=c[ga>>2]|0;c[ha>>2]=Ib+1;c[Lb+(Ib<<4)>>2]=c[fa>>2];c[Lb+(Ib<<4)+4>>2]=(c[ea>>2]|0)+1;c[Lb+(Ib<<4)+8>>2]=1;Kb=Jb+4|0;c[Lb+(Ib<<4)+12>>2]=c[Kb>>2];Jb=c[Jb>>2]|0;Kb=c[Kb>>2]|0;Lb=Jb+ -1|0;do{if(Lb>>>0>2){c[h>>2]=132}else{Ib=c[f+444+(Lb<<3)>>2]|0;if((Ib|0)==0){c[h>>2]=138;break}Lb=c[f+444+(Lb<<3)+4>>2]|0;if(Lb>>>0<Kb>>>0){c[h>>2]=131;break}else{c[ba>>2]=Ib;c[ca>>2]=Lb;c[ea>>2]=Kb;c[fa>>2]=Jb;break}}}while(0);a[aa]=0;Lb=723;break b}}while(0);c[h>>2]=128;Lb=724;break};case 127:case 126:case 89:case 33:{Lb=738;break};default:{if((Mb&255)>223){Vb=c[Ib>>2]|0;Lb=c[Jb+(Kb+1<<2)>>2]|0;Ib=Vb&65535;Kb=Lb+1|0;Jb=Vb&65535;do{if(Jb>>>0<(e[S>>1]|0)>>>0){if(Kb>>>0>=((c[gb>>2]|0)+1|0)>>>0){break}if((e[Ka>>1]|0)>=(e[T>>1]|0)){break}if((Kb|0)==0){Lb=0}else{Lb=Bd[c[B>>2]&255](f,Lb)|0}Mb=c[Y>>2]|0;Kb=Lb-Mb|0;if((((Kb|0)<0?0-Kb|0:Kb)|0)<(c[X>>2]|0)){Lb=(Lb|0)>-1?Mb:0-Mb|0}if((b[wa>>1]|0)==0){Mb=b[qa>>1]|0;Kb=Mb<<16>>16;Nb=(Lb|0)<0?0-Lb|0:Lb;Ob=Mb<<16>>16<0?0-Kb|0:Kb;Mb=Nb>>>16;Nb=Nb&65535;Vb=da(Ob,Mb)|0;Ub=Vb<<16|8192;Ob=Ub+(da(Ob,Nb)|0)|0;Ob=(Ob>>>0<Ub>>>0)+(Vb>>>16)<<18|Ob>>>14;c[(c[Fa>>2]|0)+(Jb<<3)>>2]=((Kb^Lb|0)>-1?Ob:0-Ob|0)+(c[(c[Ha>>2]|0)+(e[Ka>>1]<<3)>>2]|0);Vb=b[pa>>1]|0;Kb=Vb<<16>>16;Tb=Vb<<16>>16<0?0-Kb|0:Kb;Vb=da(Tb,Mb)|0;Ub=Vb<<16|8192;Mb=Ub+(da(Tb,Nb)|0)|0;Mb=(Mb>>>0<Ub>>>0)+(Vb>>>16)<<18|Mb>>>14;c[(c[Fa>>2]|0)+(Jb<<3)+4>>2]=((Kb^Lb|0)>-1?Mb:0-Mb|0)+(c[(c[Ha>>2]|0)+(e[Ka>>1]<<3)+4>>2]|0);Tb=(c[P>>2]|0)+(Jb<<3)|0;Ub=c[Tb+4>>2]|0;Vb=(c[N>>2]|0)+(Jb<<3)|0;c[Vb>>2]=c[Tb>>2];c[Vb+4>>2]=Ub}Vb=c[Fa>>2]|0;Kb=e[Ka>>1]|0;Tb=c[Ha>>2]|0;Kb=sd[c[Da>>2]&127](f,(c[Vb+(Jb<<3)>>2]|0)-(c[Tb+(Kb<<3)>>2]|0)|0,(c[Vb+(Jb<<3)+4>>2]|0)-(c[Tb+(Kb<<3)+4>>2]|0)|0)|0;Tb=c[N>>2]|0;Vb=e[Ka>>1]|0;Ub=c[P>>2]|0;Jb=sd[c[ra>>2]&127](f,(c[Tb+(Jb<<3)>>2]|0)-(c[Ub+(Vb<<3)>>2]|0)|0,(c[Tb+(Jb<<3)+4>>2]|0)-(c[Ub+(Vb<<3)+4>>2]|0)|0)|0;if((a[mb]|0)!=0){Lb=(Kb^Lb|0)<0?0-Lb|0:Lb}Mb=a[La]|0;Nb=Mb&255;do{if((Nb&4|0)==0){Nb=c[f+264+((Nb&3)<<2)>>2]|0;if((Lb|0)>-1){Nb=Nb+Lb|0;Lb=(Lb|0)!=0&(Nb|0)<0?0:Nb;break}else{Lb=Lb-Nb|0;Lb=(Lb|0)>0?0:Lb;break}}else{if((b[va>>1]|0)==(b[wa>>1]|0)){Mb=Lb-Kb|0;Lb=(((Mb|0)<0?0-Mb|0:Mb)|0)<(c[Pa>>2]|0)?Lb:Kb}Lb=sd[c[F>>2]&127](f,Lb,c[f+264+((Nb&3)<<2)>>2]|0)|0;Mb=a[La]|0}}while(0);do{if((Mb&8)!=0){Mb=c[Qa>>2]|0;if((Kb|0)>-1){Lb=(Lb|0)<(Mb|0)?Mb:Lb;break}else{Kb=0-Mb|0;Lb=(Lb|0)>(Kb|0)?Kb:Lb;break}}}while(0);Jd[c[sa>>2]&63](f,ta,Ib,Lb-Jb|0);b[C>>1]=b[Ka>>1]|0;if((a[La]&16)!=0){b[Ka>>1]=Ib}b[Ea>>1]=Ib;Lb=723;break b}}while(0);if((a[M]|0)==0){Lb=723;break b}else{Lb=647;break a}}if((Mb&255)>191){Ib=c[Ib>>2]|0;Jb=Ib&65535;Ib=Ib&65535;do{if(Ib>>>0<(e[S>>1]|0)>>>0){Vb=b[Ka>>1]|0;Qb=Vb&65535;if((Vb&65535)>=(e[T>>1]|0)){break}do{if((b[va>>1]|0)==0){Lb=677}else{if((b[wa>>1]|0)==0){Lb=677;break}Ob=c[Ga>>2]|0;Mb=Ob+(Ib<<3)|0;Pb=c[Ia>>2]|0;Nb=Pb+(Qb<<3)|0;Kb=c[kb>>2]|0;if((Kb|0)==(c[lb>>2]|0)){Kb=sd[c[Da>>2]&127](f,(c[Mb>>2]|0)-(c[Nb>>2]|0)|0,(c[Ob+(Ib<<3)+4>>2]|0)-(c[Pb+(Qb<<3)+4>>2]|0)|0)|0;Kb=aJ(Kb,c[kb>>2]|0)|0;break}else{Vb=aJ((c[Mb>>2]|0)-(c[Nb>>2]|0)|0,Kb)|0;Kb=aJ((c[Ob+(Ib<<3)+4>>2]|0)-(c[Pb+(Qb<<3)+4>>2]|0)|0,c[lb>>2]|0)|0;Kb=sd[c[Da>>2]&127](f,Vb,Kb)|0;break}}}while(0);if((Lb|0)==677){Vb=c[Fa>>2]|0;Kb=c[Ha>>2]|0;Kb=sd[c[Da>>2]&127](f,(c[Vb+(Ib<<3)>>2]|0)-(c[Kb+(Qb<<3)>>2]|0)|0,(c[Vb+(Ib<<3)+4>>2]|0)-(c[Kb+(Qb<<3)+4>>2]|0)|0)|0}Mb=c[Y>>2]|0;Lb=Kb-Mb|0;if((((Lb|0)<0?0-Lb|0:Lb)|0)<(c[X>>2]|0)){Kb=(Kb|0)>-1?Mb:0-Mb|0}Lb=a[La]|0;Mb=Lb&255;do{if((Mb&4|0)==0){Mb=c[f+264+((Mb&3)<<2)>>2]|0;if((Kb|0)>-1){Mb=Mb+Kb|0;Mb=(Kb|0)!=0&(Mb|0)<0?0:Mb;break}else{Mb=Kb-Mb|0;Mb=(Mb|0)>0?0:Mb;break}}else{Mb=sd[c[F>>2]&127](f,Kb,c[f+264+((Mb&3)<<2)>>2]|0)|0;Lb=a[La]|0}}while(0);do{if((Lb&8)!=0){Lb=c[Qa>>2]|0;if((Kb|0)>-1){Mb=(Mb|0)<(Lb|0)?Lb:Mb;break}else{Kb=0-Lb|0;Mb=(Mb|0)>(Kb|0)?Kb:Mb;break}}}while(0);Tb=c[N>>2]|0;Ub=c[P>>2]|0;Vb=e[Ka>>1]|0;Vb=sd[c[ra>>2]&127](f,(c[Tb+(Ib<<3)>>2]|0)-(c[Ub+(Vb<<3)>>2]|0)|0,(c[Tb+(Ib<<3)+4>>2]|0)-(c[Ub+(Vb<<3)+4>>2]|0)|0)|0;Jd[c[sa>>2]&63](f,ta,Jb,Mb-Vb|0);b[C>>1]=b[Ka>>1]|0;b[Ea>>1]=Jb;if((a[La]&16)==0){Lb=723;break b}b[Ka>>1]=Jb;Lb=723;break b}}while(0);if((a[M]|0)==0){Lb=723;break b}else{Lb=674;break a}}if((Mb&255)>183){Ib=Tb+65353&65535;if(Ib>>>0>=(Rb+1-Qb|0)>>>0){Lb=696;break a}Mb=Pb+1|0;c[ea>>2]=Mb;p:do{if((Ib|0)!=0){Ob=0;Lb=1;while(1){c[ea>>2]=Mb+2;c[Jb+(Ob+Kb<<2)>>2]=(d[Nb+Mb|0]<<8&65535|d[Nb+(Mb+1)|0])<<16>>16;Ob=Lb&65535;if(Ob>>>0>=Ib>>>0){break p}Nb=c[ba>>2]|0;Mb=c[ea>>2]|0;Lb=Lb+1<<16>>16}}}while(0);a[aa]=0;Lb=723;break b}if((Mb&255)>175){Ib=Tb+65361&65535;if(Ib>>>0>=(Rb+1-Qb|0)>>>0){Lb=705;break a}if((Ib|0)==0){Lb=723;break b}Kb=Kb+ -1|0;Mb=1;Lb=2;while(1){c[Jb+(Kb+Mb<<2)>>2]=d[Nb+(Pb+Mb)|0]|0;Mb=Lb&65535;if(Mb>>>0>Ib>>>0){Lb=723;break b}Nb=c[ba>>2]|0;Pb=c[ea>>2]|0;Lb=Lb+1<<16>>16}}Jb=c[ja>>2]|0;Vb=c[ka>>2]|0;Ib=Jb+(Vb<<4)|0;q:do{if((Vb|0)>0){while(1){if(Mb<<24>>24==(c[Jb+8>>2]&255)<<24>>24){if((a[Jb+12|0]|0)!=0){break}}Jb=Jb+16|0;if(Jb>>>0>=Ib>>>0){break q}}Ib=c[ha>>2]|0;if((Ib|0)>=(c[ia>>2]|0)){Lb=712;break a}Kb=c[ga>>2]|0;c[ha>>2]=Ib+1;c[Kb+(Ib<<4)>>2]=c[fa>>2];c[Kb+(Ib<<4)+4>>2]=(c[ea>>2]|0)+1;c[Kb+(Ib<<4)+8>>2]=1;Lb=Jb+4|0;c[Kb+(Ib<<4)+12>>2]=c[Lb>>2];Kb=c[Jb>>2]|0;Jb=c[Lb>>2]|0;Lb=Kb+ -1|0;do{if(Lb>>>0>2){c[h>>2]=132}else{Ib=c[f+444+(Lb<<3)>>2]|0;if((Ib|0)==0){c[h>>2]=138;break}Lb=c[f+444+(Lb<<3)+4>>2]|0;if(Lb>>>0<Jb>>>0){c[h>>2]=131;break}else{c[ba>>2]=Ib;c[ca>>2]=Lb;c[ea>>2]=Jb;c[fa>>2]=Kb;break}}}while(0);a[aa]=0;Lb=723;break b}}while(0);c[h>>2]=128;Lb=724}}}while(0);if((Lb|0)==723){Ib=c[h>>2]|0;if((Ib|0)==128){Lb=724}else if((Ib|0)==0){Lb=738}else{Lb=746;break}}if((Lb|0)==724){Lb=0;Jb=c[ja>>2]|0;Vb=c[ka>>2]|0;Ib=Jb+(Vb<<4)|0;if((Vb|0)<=0){Lb=737;break}while(1){if((a[Jb+12|0]|0)!=0){if((a[La]|0)==(c[Jb+8>>2]&255)<<24>>24){break}}Jb=Jb+16|0;if(Jb>>>0>=Ib>>>0){Lb=737;break a}}Ib=c[ha>>2]|0;if((Ib|0)>=(c[ia>>2]|0)){Lb=728;break}Mb=c[ga>>2]|0;c[Mb+(Ib<<4)>>2]=c[fa>>2];c[Mb+(Ib<<4)+4>>2]=(c[ea>>2]|0)+1;c[Mb+(Ib<<4)+8>>2]=1;Kb=Jb+4|0;c[Mb+(Ib<<4)+12>>2]=c[Kb>>2];Jb=c[Jb>>2]|0;Kb=c[Kb>>2]|0;Mb=Jb+ -1|0;if(Mb>>>0>2){Lb=730;break}Ib=c[f+444+(Mb<<3)>>2]|0;if((Ib|0)==0){Lb=732;break}Mb=c[f+444+(Mb<<3)+4>>2]|0;if(Mb>>>0<Kb>>>0){Lb=734;break}c[ba>>2]=Ib;c[ca>>2]=Mb;c[ea>>2]=Kb;c[fa>>2]=Jb}else if((Lb|0)==738){Lb=0;c[Fb>>2]=c[Z>>2];if((a[aa]|0)!=0){c[ea>>2]=(c[ea>>2]|0)+(c[Na>>2]|0)}if((Hb|0)>999999){f=139;Lb=749;break}else{Hb=Hb+1|0}}Pb=c[ea>>2]|0;if((Pb|0)>=(c[ca>>2]|0)){Lb=742;break}if((a[j]|0)!=0){f=0;Lb=749;break}}do{if((Lb|0)==20){c[h>>2]=129;Ib=129}else if((Lb|0)==22){c[h>>2]=130;Ib=130}else if((Lb|0)==32){c[h>>2]=134;Ib=134}else if((Lb|0)==37){c[h>>2]=134;Ib=134}else if((Lb|0)==50){c[h>>2]=134;Ib=134}else if((Lb|0)==61){c[h>>2]=134;Ib=134}else if((Lb|0)==67){c[h>>2]=134;Ib=134}else if((Lb|0)==73){c[h>>2]=134;Ib=134}else if((Lb|0)==79){c[h>>2]=134;Ib=134}else if((Lb|0)==82){c[h>>2]=132;Ib=132}else if((Lb|0)==91){c[h>>2]=131;Ib=131}else if((Lb|0)==107){c[h>>2]=134;Ib=134}else if((Lb|0)==110){c[h>>2]=134;Ib=134}else if((Lb|0)==115){c[h>>2]=134;Ib=134}else if((Lb|0)==121){c[h>>2]=130;Ib=130}else if((Lb|0)==134){c[h>>2]=134;Ib=134}else if((Lb|0)==145){c[h>>2]=130;Ib=130}else if((Lb|0)==155){c[h>>2]=134;Ib=134}else if((Lb|0)==165){c[h>>2]=130;Ib=130}else if((Lb|0)==174){c[h>>2]=134;Ib=134}else if((Lb|0)==180){c[h>>2]=140;Ib=140}else if((Lb|0)==183){c[h>>2]=140;Ib=140}else if((Lb|0)==191){c[h>>2]=131;Ib=131}else if((Lb|0)==193){c[h>>2]=137;Ib=137}else if((Lb|0)==195){c[h>>2]=136;Ib=136}else if((Lb|0)==199){c[h>>2]=132;Ib=132}else if((Lb|0)==201){c[h>>2]=138;Ib=138}else if((Lb|0)==203){c[h>>2]=131;Ib=131}else if((Lb|0)==207){c[h>>2]=134;Ib=134}else if((Lb|0)==236){c[h>>2]=134;Ib=134}else if((Lb|0)==242){c[h>>2]=134;Ib=134}else if((Lb|0)==251){c[h>>2]=134;Ib=134}else if((Lb|0)==268){c[h>>2]=134;Ib=134}else if((Lb|0)==275){c[h>>2]=134;Ib=134}else if((Lb|0)==284){c[h>>2]=134;Ib=134}else if((Lb|0)==288){c[h>>2]=134;Ib=134}else if((Lb|0)==297){c[h>>2]=134;Ib=134}else if((Lb|0)==303){c[h>>2]=134;Ib=134}else if((Lb|0)==313){c[h>>2]=134;Ib=134}else if((Lb|0)==325){c[h>>2]=134;Ib=134}else if((Lb|0)==334){c[h>>2]=134;Ib=134}else if((Lb|0)==338){c[h>>2]=134;Ib=134}else if((Lb|0)==347){c[h>>2]=134;Ib=134}else if((Lb|0)==356){c[h>>2]=130;Ib=130}else if((Lb|0)==361){c[h>>2]=130;Ib=130}else if((Lb|0)==370){c[h>>2]=134;Ib=134}else if((Lb|0)==384){c[h>>2]=134;Ib=134}else if((Lb|0)==391){c[h>>2]=134;Ib=134}else if((Lb|0)==397){c[h>>2]=134;Ib=134}else if((Lb|0)==408){c[h>>2]=135;Ib=135}else if((Lb|0)==423){c[h>>2]=131;Ib=131}else if((Lb|0)==443){c[h>>2]=133;Ib=133}else if((Lb|0)==461){c[h>>2]=129;Ib=129}else if((Lb|0)==464){c[h>>2]=134;Ib=134}else if((Lb|0)==513){c[h>>2]=130;Ib=130}else if((Lb|0)==528){c[h>>2]=129;Ib=129}else if((Lb|0)==531){c[h>>2]=134;Ib=134}else if((Lb|0)==540){c[h>>2]=134;Ib=134}else if((Lb|0)==546){c[h>>2]=134;Ib=134}else if((Lb|0)==552){c[h>>2]=130;Ib=130}else if((Lb|0)==587){c[h>>2]=134;Ib=134}else if((Lb|0)==602){c[h>>2]=141;Ib=141}else if((Lb|0)==605){c[h>>2]=141;Ib=141}else if((Lb|0)==613){c[h>>2]=131;Ib=131}else if((Lb|0)==615){c[h>>2]=137;Ib=137}else if((Lb|0)==625){c[h>>2]=134;Ib=134}else if((Lb|0)==631){c[h>>2]=130;Ib=130}else if((Lb|0)==647){c[h>>2]=134;Ib=134}else if((Lb|0)==674){c[h>>2]=134;Ib=134}else if((Lb|0)==696){c[h>>2]=130;Ib=130}else if((Lb|0)==705){c[h>>2]=130;Ib=130}else if((Lb|0)==712){c[h>>2]=130;Ib=130}else if((Lb|0)==728){c[h>>2]=134;Ib=134}else if((Lb|0)==730){c[h>>2]=132;Ib=132}else if((Lb|0)==732){c[h>>2]=138;Ib=138}else if((Lb|0)==734){c[h>>2]=131;Ib=131}else if((Lb|0)==737){c[h>>2]=128;Ib=128}else if((Lb|0)==742){if((c[ha>>2]|0)>0){c[h>>2]=131;Ib=131;break}else{Vb=0;i=g;return Vb|0}}else if((Lb|0)==745){c[h>>2]=131;Ib=131}else if((Lb|0)==746){if((Ib|0)==0){f=0}else{break}i=g;return f|0}else if((Lb|0)==749){i=g;return f|0}}while(0);if((a[j]|0)!=0){Vb=Ib;i=g;return Vb|0}a[(c[f+4>>2]|0)+301|0]=0;Vb=c[h>>2]|0;i=g;return Vb|0}function oR(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;g=i;i=i+8|0;e=g;h=c[(c[a+384>>2]|0)+(d<<2)>>2]|0;d=a+244|0;j=a+256|0;k=c[j>>2]|0;if((k|0)!=0){l=k;l=aJ(h,l)|0;i=f;return l|0}k=a+296|0;if((b[k>>1]|0)==0){l=c[d>>2]|0;c[j>>2]=l;l=aJ(h,l)|0;i=f;return l|0}l=b[a+294>>1]|0;if(l<<16>>16==0){l=c[a+248>>2]|0;c[j>>2]=l;l=aJ(h,l)|0;i=f;return l|0}else{d=_I(l<<16>>16,c[d>>2]|0,16384)|0;l=_I(b[k>>1]|0,c[a+248>>2]|0,16384)|0;c[g>>2]=d;c[e+4>>2]=l;l=_K(e)|0;c[j>>2]=l;l=aJ(h,l)|0;i=f;return l|0}return 0}function pR(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;j=i;i=i+8|0;k=j;h=a+244|0;g=a+256|0;l=c[g>>2]|0;do{if((l|0)==0){m=a+296|0;if((b[m>>1]|0)==0){l=c[h>>2]|0;c[g>>2]=l;break}l=b[a+294>>1]|0;if(l<<16>>16==0){l=c[a+248>>2]|0;c[g>>2]=l;break}else{h=_I(l<<16>>16,c[h>>2]|0,16384)|0;l=_I(b[m>>1]|0,c[a+248>>2]|0,16384)|0;c[j>>2]=h;c[k+4>>2]=l;l=_K(k)|0;c[g>>2]=l;break}}}while(0);m=bJ(e,l)|0;c[(c[a+384>>2]|0)+(d<<2)>>2]=m;i=f;return}function qR(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;j=i;i=i+8|0;k=j;h=a+244|0;g=a+256|0;l=c[g>>2]|0;do{if((l|0)==0){m=a+296|0;if((b[m>>1]|0)==0){l=c[h>>2]|0;c[g>>2]=l;break}l=b[a+294>>1]|0;if(l<<16>>16==0){l=c[a+248>>2]|0;c[g>>2]=l;break}else{h=_I(l<<16>>16,c[h>>2]|0,16384)|0;l=_I(b[m>>1]|0,c[a+248>>2]|0,16384)|0;c[j>>2]=h;c[k+4>>2]=l;l=_K(k)|0;c[g>>2]=l;break}}}while(0);l=bJ(e,l)|0;m=(c[a+384>>2]|0)+(d<<2)|0;c[m>>2]=(c[m>>2]|0)+l;i=f;return}function rR(a,b){a=a|0;b=b|0;i=i;return c[(c[a+384>>2]|0)+(b<<2)>>2]|0}function sR(a,b,d){a=a|0;b=b|0;d=d|0;c[(c[a+384>>2]|0)+(b<<2)>>2]=d;i=i;return}function tR(a,b,d){a=a|0;b=b|0;d=d|0;a=(c[a+384>>2]|0)+(b<<2)|0;c[a>>2]=(c[a>>2]|0)+d;i=i;return}function uR(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=b[a+298>>1]|0;f=e<<16>>16;e=e<<16>>16==16384;do{if(e){g=b[a+294>>1]|0;f=g<<16>>16<<16;c[a+564>>2]=f}else{g=b[a+300>>1]|0;if(g<<16>>16==16384){f=b[a+296>>1]<<16;c[a+564>>2]=f;g=b[a+294>>1]|0;break}else{j=b[a+294>>1]|0;f=da(j<<16>>16,f)|0;f=(da(b[a+296>>1]|0,g<<16>>16)|0)+f<<2;c[a+564>>2]=f;g=j;break}}}while(0);do{if(g<<16>>16==16384){c[a+572>>2]=87}else{g=a+572|0;if((b[a+296>>1]|0)==16384){c[g>>2]=88;break}else{c[g>>2]=89;break}}}while(0);do{if((b[a+290>>1]|0)==16384){c[a+576>>2]=87}else{g=a+576|0;if((b[a+292>>1]|0)==16384){c[g>>2]=88;break}else{c[g>>2]=90;break}}}while(0);j=a+584|0;c[j>>2]=37;h=a+588|0;c[h>>2]=38;g=a+564|0;do{if((f|0)==1073741824){if(e){c[j>>2]=39;c[h>>2]=40;break}if((b[a+300>>1]|0)!=16384){break}c[j>>2]=41;c[h>>2]=42}}while(0);if((((f|0)<0?0-f|0:f)|0)>=67108864){j=a+256|0;c[j>>2]=0;i=d;return}c[g>>2]=1073741824;j=a+256|0;c[j>>2]=0;i=d;return}function vR(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;j=i;i=i+8|0;k=j;g=i;i=i+8|0;h=g;do{if((((a|0)<0?0-a|0:a)|0)<65536){if((((d|0)<0?0-d|0:d)|0)>=65536){break}j=a<<8;d=d<<8;c[g>>2]=j;c[h+4>>2]=d;g=_K(h)|0;if((g|0)==0){i=f;return}b[e>>1]=_I(j,16384,g)|0;b[e+2>>1]=_I(d,16384,g)|0;i=f;return}}while(0);c[j>>2]=a;c[k+4>>2]=d;g=_K(k)|0;h=_I(a,16384,g)|0;g=_I(d,16384,g)|0;d=(da(g,g)|0)+(da(h,h)|0)|0;j=(h|0)<0?0-h|0:h;k=(g|0)<0?0-g|0:g;if((d|0)<268435456){while(1){d=(j|0)<(k|0)|0;j=d+j|0;k=(d^1)+k|0;d=(da(k,k)|0)+(da(j,j)|0)|0;if((d|0)<268435456){}else{break}}}if((d|0)>268451839){d=k;while(1){a=(j|0)<(d|0);j=(a<<31>>31)+j|0;d=((a^1)<<31>>31)+d|0;if(((da(j,j)|0)+(da(d,d)|0)|0)>268451839){}else{break}}}else{d=k}if((h|0)>-1){h=j&65535}else{h=0-j&65535}if((g|0)>-1){g=d&65535}else{g=0-d&65535}b[e>>1]=h;b[e+2>>1]=g;i=f;return}function wR(a,b,c){a=a|0;b=b|0;c=c|0;a=i;if((b|0)>-1){c=b+32+c|0;i=a;return((b|0)!=0&(c|0)>0?c&-64:0)|0}else{b=0-(32-b+c&-64)|0;i=a;return((b|0)>0?0:b)|0}return 0}function xR(a,b,c){a=a|0;b=b|0;c=c|0;a=i;if((b|0)>-1){c=c+b&-64|32;i=a;return((b|0)!=0&(c|0)<0?0:c)|0}else{b=0-(c-b&-64|32)|0;i=a;return((b|0)>0?0:b)|0}return 0}function yR(a,b,c){a=a|0;b=b|0;c=c|0;a=i;if((b|0)>-1){c=b+16+c|0;i=a;return((b|0)!=0&(c|0)>0?c&-32:0)|0}else{b=0-(16-b+c&-32)|0;i=a;return((b|0)>0?0:b)|0}return 0}function zR(a){a=a|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;j=i;i=i+8|0;k=j;f=e[a+252>>1]|0;g=a+244|0;h=a+256|0;l=c[h>>2]|0;if((l|0)!=0){m=l;m=aJ(f,m)|0;i=d;return m|0}l=a+296|0;if((b[l>>1]|0)==0){m=c[g>>2]|0;c[h>>2]=m;m=aJ(f,m)|0;i=d;return m|0}m=b[a+294>>1]|0;if(m<<16>>16==0){m=c[a+248>>2]|0;c[h>>2]=m;m=aJ(f,m)|0;i=d;return m|0}else{g=_I(m<<16>>16,c[g>>2]|0,16384)|0;m=_I(b[l>>1]|0,c[a+248>>2]|0,16384)|0;c[j>>2]=g;c[k+4>>2]=m;m=_K(k)|0;c[h>>2]=m;m=aJ(f,m)|0;i=d;return m|0}return 0}function AR(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=i;k=f+28|0;u=c[k>>2]|0;a:do{if((g|0)!=0){l=f+24|0;q=f+36|0;j=f+44|0;s=f+368|0;r=f+332|0;o=f+334|0;p=f+584|0;n=f+561|0;m=f+12|0;t=1;while(1){if((u|0)<2){break}v=u+ -2|0;c[k>>2]=v;w=c[l>>2]|0;x=c[w+(u+ -1<<2)>>2]|0;u=x&65535;v=c[w+(v<<2)>>2]|0;do{if((x&65535)>>>0<(e[j>>1]|0)>>>0){x=v>>>4&15;w=d[s]|0;if((w|0)==113){x=x|16}else if((w|0)==114){x=x|32}x=(b[r>>1]|0)+x|0;if((zR(f)|0)!=(x|0)){break}v=v&15;w=v+ -8|0;Jd[c[p>>2]&63](f,q,u,(((w|0)>-1?v+ -7|0:w)<<6|0)/(1<<b[o>>1]|0)|0)}else{if((a[n]|0)==0){break}c[m>>2]=134}}while(0);t=t+1|0;u=c[k>>2]|0;if(t>>>0>g>>>0){break a}}c[m>>2]=129;i=h;return}}while(0);c[f+32>>2]=u;i=h;return}function BR(a,b,c){a=a|0;b=b|0;c=c|0;a=i;if((b|0)>-1){c=c+b|0;i=a;return((b|0)!=0&(c|0)<0?0:c)|0}else{b=b-c|0;i=a;return((b|0)>0?0:b)|0}return 0}function CR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;if((b|0)>-1){f=c[a+480>>2]|0;a=d+b-f+(c[a+484>>2]|0)&0-(c[a+476>>2]|0);f=((b|0)!=0&(a|0)<0?0:a)+f|0;i=e;return f|0}else{f=c[a+480>>2]|0;b=0-(d-b+(c[a+484>>2]|0)-f&0-(c[a+476>>2]|0))|0;f=((b|0)>0?0:b)-f|0;i=e;return f|0}return 0}function DR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;if((b|0)>-1){f=c[a+480>>2]|0;d=d+b-f+(c[a+484>>2]|0)|0;a=d-((d|0)%(c[a+476>>2]|0)|0)|0;f=((b|0)!=0&(a|0)<0?0:a)+f|0;i=e;return f|0}else{f=c[a+480>>2]|0;b=d-b+(c[a+484>>2]|0)-f|0;b=((b|0)%(c[a+476>>2]|0)|0)-b|0;f=((b|0)>0?0:b)-f|0;i=e;return f|0}return 0}function ER(a,b,c){a=a|0;b=b|0;c=c|0;a=i;if((b|0)>-1){c=b+63+c|0;i=a;return((b|0)!=0&(c|0)>0?c&-64:0)|0}else{b=0-(63-b+c&-64)|0;i=a;return((b|0)>0?0:b)|0}return 0}function FR(a,b,c){a=a|0;b=b|0;c=c|0;a=i;if((b|0)>-1){c=c+b|0;i=a;return((b|0)!=0&(c|0)>0?c&-64:0)|0}else{b=0-(c-b&-64)|0;i=a;return((b|0)>0?0:b)|0}return 0}function GR(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=i;m=i;i=i+16|0;if((a[d+368|0]&1)==0){p=d+72|0;q=c[p>>2]|0;p=c[p+4>>2]|0;o=b[d+80>>1]|0;n=b[d+82>>1]|0;l=c[d+84>>2]|0;j=c[d+88>>2]|0;$W(m|0,d+92|0,16)|0;r=d+288|0}else{p=d+36|0;q=c[p>>2]|0;p=c[p+4>>2]|0;o=b[d+44>>1]|0;n=b[d+46>>1]|0;l=c[d+48>>2]|0;j=c[d+52>>2]|0;$W(m|0,d+56|0,16)|0;r=d+286|0}s=b[r>>1]|0;r=s&65535;if((s&65535)<(o&65535)){t=g;c[t>>2]=q;c[t+4>>2]=p;b[g+8>>1]=o;b[g+10>>1]=n;c[g+12>>2]=l;c[g+16>>2]=j;$W(g+20|0,m|0,16)|0;b[h>>1]=s;r=sd[c[d+572>>2]&127](d,(c[j+(r<<3)>>2]|0)-(c[l+(r<<3)>>2]|0)|0,(c[j+(r<<3)+4>>2]|0)-(c[l+(r<<3)+4>>2]|0)|0)|0;s=d+564|0;c[e>>2]=_I(r,b[d+298>>1]<<16,c[s>>2]|0)|0;c[f>>2]=_I(r,b[d+300>>1]<<16,c[s>>2]|0)|0;s=0;i=k;return s|0}if((a[d+561|0]|0)!=0){c[d+12>>2]=134}b[h>>1]=0;t=1;i=k;return t|0}function HR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;if(b>>>0>d>>>0){i=g;return}s=c[a+12>>2]|0;if(!(s>>>0>e>>>0&s>>>0>f>>>0)){i=g;return}h=a+8|0;k=c[h>>2]|0;l=c[k+(e<<3)>>2]|0;k=c[k+(f<<3)>>2]|0;j=(l|0)>(k|0);p=j?l:k;l=j?k:l;k=j?e:f;n=j?f:e;s=c[a>>2]|0;e=c[s+(n<<3)>>2]|0;m=c[s+(k<<3)>>2]|0;f=a+4|0;o=c[f>>2]|0;n=c[o+(n<<3)>>2]|0;j=n-e|0;q=c[o+(k<<3)>>2]|0;k=q-m|0;if((l|0)==(p|0)){while(1){h=c[s+(b<<3)>>2]|0;c[o+(b<<3)>>2]=((h|0)>(e|0)?k:j)+h;b=b+1|0;if(b>>>0>d>>>0){break}o=c[f>>2]|0;s=c[a>>2]|0}i=g;return}o=q-n|0;p=p-l|0;q=0;r=0;while(1){s=c[s+(b<<3)>>2]|0;do{if((s|0)>(e|0)){if((s|0)>=(m|0)){s=s+k|0;break}if(r<<24>>24==0){s=_I(o,65536,p)|0;r=1}else{s=q}q=s;s=(aJ((c[(c[h>>2]|0)+(b<<3)>>2]|0)-l|0,s)|0)+n|0}else{s=s+j|0}}while(0);c[(c[f>>2]|0)+(b<<3)>>2]=s;b=b+1|0;if(b>>>0>d>>>0){break}s=c[a>>2]|0}i=g;return}function IR(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return b|0}function JR(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return c|0}function KR(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=b[a+294>>1]|0;g=b[a+296>>1]|0;f=da(h,c&65535)|0;h=da(h,c>>16)|0;e=(h<<16)+f|0;a=da(g,d&65535)|0;g=da(g,d>>16)|0;d=(g<<16)+a|0;c=d+e|0;d=(h>>16)+(f>>31)+(a>>31)+(g>>16)+(e>>>0<f>>>0)+(d>>>0<a>>>0)+(c>>>0<e>>>0)|0;e=d>>31;a=e+c|0;i=i;return e+d+(a>>>0<c>>>0)+(a>>>0>4294959103)<<18|(a+8192|0)>>>14|0}function LR(a,c,d){a=a|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;h=b[a+290>>1]|0;g=b[a+292>>1]|0;f=da(h,c&65535)|0;h=da(h,c>>16)|0;e=(h<<16)+f|0;a=da(g,d&65535)|0;g=da(g,d>>16)|0;d=(g<<16)+a|0;c=d+e|0;d=(h>>16)+(f>>31)+(a>>31)+(g>>16)+(e>>>0<f>>>0)+(d>>>0<a>>>0)+(c>>>0<e>>>0)|0;e=d>>31;a=e+c|0;i=i;return e+d+(a>>>0<c>>>0)+(a>>>0>4294959103)<<18|(a+8192|0)>>>14|0}function MR(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;j=b[d+298>>1]|0;if(j<<16>>16!=0){l=_I(g,j<<16>>16<<16,c[d+564>>2]|0)|0;j=f&65535;k=(c[e+16>>2]|0)+(j<<3)|0;c[k>>2]=(c[k>>2]|0)+l;j=(c[e+24>>2]|0)+j|0;a[j]=a[j]|8}j=b[d+300>>1]|0;if(j<<16>>16==0){i=h;return}j=_I(g,j<<16>>16<<16,c[d+564>>2]|0)|0;l=f&65535;k=(c[e+16>>2]|0)+(l<<3)+4|0;c[k>>2]=(c[k>>2]|0)+j;l=(c[e+24>>2]|0)+l|0;a[l]=a[l]|16;i=h;return}function NR(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;h=b[a+298>>1]|0;if(h<<16>>16!=0){j=_I(f,h<<16>>16<<16,c[a+564>>2]|0)|0;h=(c[d+12>>2]|0)+((e&65535)<<3)|0;c[h>>2]=(c[h>>2]|0)+j}h=b[a+300>>1]|0;if(h<<16>>16==0){i=g;return}h=_I(f,h<<16>>16<<16,c[a+564>>2]|0)|0;j=(c[d+12>>2]|0)+((e&65535)<<3)+4|0;c[j>>2]=(c[j>>2]|0)+h;i=g;return}function OR(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=e&65535;e=(c[d+16>>2]|0)+(b<<3)|0;c[e>>2]=(c[e>>2]|0)+f;b=(c[d+24>>2]|0)+b|0;a[b]=a[b]|8;i=i;return}function PR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b+12>>2]|0)+((d&65535)<<3)|0;c[a>>2]=(c[a>>2]|0)+e;i=i;return}function QR(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=e&65535;e=(c[d+16>>2]|0)+(b<<3)+4|0;c[e>>2]=(c[e>>2]|0)+f;b=(c[d+24>>2]|0)+b|0;a[b]=a[b]|16;i=i;return}function RR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[b+12>>2]|0)+((d&65535)<<3)+4|0;c[a>>2]=(c[a>>2]|0)+e;i=i;return}function SR(d){d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;e=c[(c[d>>2]|0)+100>>2]|0;g=d+292|0;if((a[g]|0)!=0){c[d+296>>2]=0;a[g]=0}g=d+244|0;lJ(e,c[g>>2]|0);c[g>>2]=0;c[d+240>>2]=0;g=d+252|0;lJ(e,c[g>>2]|0);c[g>>2]=0;b[d+248>>1]=0;g=d+256|0;h=c[g>>2]|0;if((h|0)!=0){j=g+28|0;lJ(h,c[j>>2]|0);c[j>>2]=0;j=g+24|0;lJ(h,c[j>>2]|0);c[j>>2]=0;j=g+16|0;lJ(h,c[j>>2]|0);c[j>>2]=0;j=g+12|0;lJ(h,c[j>>2]|0);c[j>>2]=0;j=g+20|0;lJ(h,c[j>>2]|0);c[j>>2]=0;bX(g|0,0,12)|0}j=d+124|0;lJ(e,c[j>>2]|0);c[j>>2]=0;lJ(e,c[d+136>>2]|0);c[d+116>>2]=0;c[d+120>>2]=0;a[d+300|0]=0;bX(d+128|0,0,20)|0;a[d+301|0]=0;i=f;return}function TR(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;f=i;i=i+8|0;h=i;i=i+8|0;k=c[e+28>>2]|0;j=pd[c[d+508>>2]&63](d,1668707360,e,h)|0;c[f>>2]=j;if((j|0)!=0){c[d+668>>2]=0;c[d+672>>2]=0;c[f>>2]=0;k=0;i=g;return k|0}l=(c[h>>2]|0)>>>1;h=d+668|0;c[h>>2]=l;j=d+672|0;c[j>>2]=oJ(k,2,0,l,0,f)|0;k=c[f>>2]|0;if((k|0)!=0){l=k;i=g;return l|0}k=MK(e,c[h>>2]<<1)|0;c[f>>2]=k;if((k|0)!=0){l=k;i=g;return l|0}j=c[j>>2]|0;l=c[h>>2]|0;h=j+(l<<1)|0;if((l|0)>0){do{b[j>>1]=RK(e)|0;j=j+2|0;}while(j>>>0<h>>>0)}PK(e);if((a[d+708|0]|0)==0){l=c[f>>2]|0;i=g;return l|0}else{l=ZR(d,e)|0;c[f>>2]=l;i=g;return l|0}return 0}function UR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=i;f=c[a+24>>2]|0;d=PJ(f,d)|0;if((d|0)!=0){i=b;return d|0}e=MK(f,e)|0;if((e|0)!=0){d=e;i=b;return d|0}c[a+200>>2]=c[f+32>>2];c[a+204>>2]=c[f+36>>2];d=0;i=b;return d|0}function VR(a){a=a|0;var e=0,f=0,g=0,h=0;e=i;h=a+200|0;f=c[h>>2]|0;g=f+10|0;if(g>>>0>(c[a+204>>2]|0)>>>0){h=20;i=e;return h|0}b[a+32>>1]=(d[f]|0)<<8&65535|(d[f+1|0]|0);c[a+36>>2]=((d[f+2|0]|0)<<8&65535|(d[f+3|0]|0))<<16>>16;c[a+40>>2]=((d[f+4|0]|0)<<8&65535|(d[f+5|0]|0))<<16>>16;c[a+44>>2]=((d[f+6|0]|0)<<8&65535|(d[f+7|0]|0))<<16>>16;c[a+48>>2]=((d[f+8|0]|0)<<8&65535|(d[f+9|0]|0))<<16>>16;c[h>>2]=g;h=0;i=e;return h|0}function WR(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;l=i;k=f+200|0;w=c[k>>2]|0;h=c[f+204>>2]|0;m=c[f+12>>2]|0;j=b[f+32>>1]|0;A=j<<16>>16;t=c[f>>2]|0;do{if(j<<16>>16!=0){do{if(((b[m+20>>1]|0)+A+(b[m+56>>1]|0)|0)>>>0>(c[m+8>>2]|0)>>>0){v=pJ(m,0,A)|0;if((v|0)==0){break}else{p=v}i=l;return p|0}}while(0);if(j<<16>>16>4094){p=20}else{break}i=l;return p|0}}while(0);z=m+68|0;C=c[z>>2]|0;v=C+(A<<1)|0;if((w+((A<<1)+2)|0)>>>0>h>>>0){F=20;i=l;return F|0}E=d[w]<<8&65535|d[w+1|0];B=j<<16>>16>0;if(B){b[C>>1]=E}while(1){A=w+2|0;D=C+2|0;if(D>>>0>=v>>>0){break}F=d[A]<<8&65535|d[w+3|0];b[D>>1]=F;if(F<<16>>16>E<<16>>16){E=F;w=A;C=D}else{p=8;u=51;break}}if((u|0)==51){i=l;return p|0}do{if(B){C=b[C>>1]|0;B=C+1|0;if((B|0)<0){F=20;i=l;return F|0}else{C=C+5|0;if((C|0)==0){n=B;break}else{y=C;x=B;u=13;break}}}else{y=4;x=0;u=13}}while(0);do{if((u|0)==13){if(((b[m+22>>1]|0)+y+(b[m+58>>1]|0)|0)>>>0<=(c[m+4>>2]|0)>>>0){n=x;break}n=pJ(m,y,0)|0;if((n|0)==0){n=x;break}else{p=n}i=l;return p|0}}while(0);x=c[z>>2]|0;while(1){y=x+2|0;if(y>>>0>=v>>>0){break}if((b[x>>1]|0)<(b[y>>1]|0)){x=y}else{p=20;u=51;break}}if((u|0)==51){i=l;return p|0}u=f+8|0;c[(c[u>>2]|0)+140>>2]=0;c[(c[u>>2]|0)+136>>2]=0;v=w+4|0;if(v>>>0>h>>>0){F=20;i=l;return F|0}F=d[A]<<8&65535|d[w+3|0];x=F&65535;if((F&65535)>(e[t+286>>1]|0)){F=22;i=l;return F|0}if((h-v|0)<(x|0)){F=22;i=l;return F|0}if((c[f+16>>2]&2|0)==0){c[(c[u>>2]|0)+140>>2]=x;F=f+160|0;c[(c[u>>2]|0)+136>>2]=c[(c[F>>2]|0)+392>>2];$W(c[(c[F>>2]|0)+392>>2]|0,v|0,x|0)|0}z=w+(x+4)|0;t=m+64|0;v=c[t>>2]|0;u=v+n|0;f=(n|0)>0;do{if(f){a:while(1){w=z+1|0;if(w>>>0>h>>>0){p=20;u=51;break}y=a[z]|0;x=v+1|0;a[v]=y;do{if((y&8)==0){v=x;s=w}else{z=z+2|0;if(z>>>0>h>>>0){p=20;u=51;break a}w=a[w]|0;if((v+((w&255)+1)|0)>>>0>u>>>0){p=20;u=51;break a}if(w<<24>>24==0){v=x;s=z;break}s=w+ -1<<24>>24&255;bX(x|0,y|0,s+1|0)|0;v=v+(s+2)|0;s=z}}while(0);if(v>>>0<u>>>0){z=s}else{u=31;break}}if((u|0)==31){r=c[t>>2]|0;q=s;break}else if((u|0)==51){i=l;return p|0}}else{r=v;q=z}}while(0);s=m+60|0;v=c[s>>2]|0;u=v+(n<<3)|0;if(q>>>0>h>>>0){F=20;i=l;return F|0}b:do{if(f){x=0;c:while(1){w=a[r]|0;y=w&255;do{if((y&2|0)==0){if((y&16|0)!=0){o=q;q=0;break}y=q+2|0;if(y>>>0>h>>>0){p=20;u=51;break c}o=y;q=(d[q]<<8&65535|d[q+1|0])<<16>>16}else{z=q+1|0;if(z>>>0>h>>>0){p=20;u=51;break c}q=d[q]|0;o=z;q=(y&16|0)==0?0-q|0:q}}while(0);x=q+x|0;c[v>>2]=x;a[r]=w&-19;v=v+8|0;if(v>>>0<u>>>0){r=r+1|0;q=o}else{u=41;break}}if((u|0)==41){r=c[s>>2]|0;p=r+(n<<3)|0;if(!f){g=o;break}q=c[t>>2]|0;f=0;d:while(1){s=a[q]|0;u=s&255;do{if((u&4|0)==0){if((u&32|0)!=0){t=o;o=0;break}t=o+2|0;if(t>>>0>h>>>0){p=20;u=51;break d}o=(d[o]<<8&65535|d[o+1|0])<<16>>16}else{t=o+1|0;if(t>>>0>h>>>0){p=20;u=51;break d}o=d[o]|0;o=(u&32|0)==0?0-o|0:o}}while(0);f=o+f|0;c[r+4>>2]=f;a[q]=s&1;r=r+8|0;if(r>>>0<p>>>0){q=q+1|0;o=t}else{g=t;break b}}if((u|0)==51){i=l;return p|0}}else if((u|0)==51){i=l;return p|0}}else{g=q}}while(0);b[m+58>>1]=n;b[m+56>>1]=j;c[k>>2]=g;F=0;i=l;return F|0}function XR(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=i;j=e+200|0;g=c[e+204>>2]|0;h=c[e+12>>2]|0;m=h+88|0;l=0;p=c[j>>2]|0;while(1){k=l+1|0;n=qJ(h,k)|0;if((n|0)!=0){l=21;break}t=p+4|0;if(t>>>0>g>>>0){n=21;l=21;break}o=c[m>>2]|0;q=o+(l<<5)+12|0;c[q>>2]=0;u=o+(l<<5)+8|0;c[u>>2]=0;n=d[p+1|0]|0;r=d[p]<<8&65535|n;b[o+(l<<5)+4>>1]=r;c[o+(l<<5)>>2]=(d[p+2|0]<<8&65535|d[p+3|0])&65535;v=(n&1)==0;w=v?2:4;s=r&65535;r=(s&8|0)==0;do{if(r){if((s&64|0)==0){w=s>>>4&8|w;break}else{w=w+4|0;break}}else{w=w+2|0}}while(0);if((p+(w+4)|0)>>>0>g>>>0){n=21;l=21;break}if(v){c[u>>2]=a[t]|0;t=p+6|0;p=a[p+5|0]|0}else{c[u>>2]=(d[t]<<8&65535|d[p+5|0])<<16>>16;t=p+8|0;p=(d[p+6|0]<<8&65535|d[p+7|0])<<16>>16}c[q>>2]=p;do{if(r){if((s&64|0)!=0){p=t+4|0;q=(d[t]<<8&65535|d[t+1|0])<<16>>16<<2;s=0;r=0;t=(d[t+2|0]<<8&65535|d[t+3|0])<<16>>16<<2;break}if((s&128|0)==0){p=t;q=65536;s=0;r=0;t=65536;break}p=t+8|0;q=(d[t]<<8&65535|d[t+1|0])<<16>>16<<2;s=(d[t+4|0]<<8&65535|d[t+5|0])<<16>>16<<2;r=(d[t+2|0]<<8&65535|d[t+3|0])<<16>>16<<2;t=(d[t+6|0]<<8&65535|d[t+7|0])<<16>>16<<2}else{w=(d[t]<<8&65535|d[t+1|0])<<16>>16<<2;p=t+2|0;q=w;s=0;r=0;t=w}}while(0);c[o+(l<<5)+16>>2]=q;c[o+(l<<5)+20>>2]=s;c[o+(l<<5)+24>>2]=r;c[o+(l<<5)+28>>2]=t;if((n&32)==0){l=20;break}else{l=k}}if((l|0)==20){c[h+84>>2]=k;c[e+168>>2]=p+(IK(c[e+24>>2]|0)|0)-g;c[j>>2]=p;w=0;i=f;return w|0}else if((l|0)==21){i=f;return n|0}return 0}function YR(a){a=a|0;var b=0;b=i;PK(c[a+24>>2]|0);i=b;return}
function zD(b,e,f,g,h,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0;p=i;w=i;i=i+8|0;E=i;i=i+8|0;K=i;i=i+8|0;I=i;i=i+8|0;J=I;R=i;i=i+8|0;P=i;i=i+8|0;S=P;O=i;i=i+8|0;U=i;i=i+8|0;x=U;y=i;i=i+8|0;T=y;M=i;i=i+8|0;N=M;G=i;i=i+8|0;H=G;C=i;i=i+8|0;B=C;F=i;i=i+8|0;D=F;Q=i;i=i+8|0;L=Q;A=i;i=i+8|0;z=A;V=i;i=i+8|0;W=i;i=i+8|0;q=FW(24)|0;c[q+4>>2]=0;c[q>>2]=177856;v=q+8|0;c[v>>2]=f;u=q+12|0;c[u>>2]=g;s=f+7>>3;r=q+16|0;c[r>>2]=s;do{if((f|0)<1){t=5}else{if((g|0)<1|(s|0)<1){t=5;break}if((2147483646/(s|0)|0|0)<=(g|0)){t=5;break}s=we((da(s,g)|0)+1|0)|0;W=q+20|0;c[W>>2]=s;a[s+(da(c[r>>2]|0,c[u>>2]|0)|0)|0]=0;W=c[W>>2]|0;s=q+20|0;if((W|0)==0){break}bX(W|0,0,da(c[r>>2]|0,c[u>>2]|0)|0)|0;if(e){j=b+148|0;ea=c[j>>2]|0;c[ea+4>>2]=0;c[ea+8>>2]=0;c[ea+12>>2]=0;if((f|0)>2147483645){f=c[b+64>>2]|0;Qe(jd[c[(c[f>>2]|0)+48>>2]&511](f)|0,182160,V);f=-3}h=f+1|0;n=ye(h,4)|0;t=ye(f+2|0,4)|0;if((f|0)>-1){k=0;do{c[n+(k<<2)>>2]=f;k=k+1|0;}while((k|0)<(h|0))}if((g|0)>0){h=b+64|0;k=0;do{v=c[n>>2]|0;if((v|0)<(f|0)){u=0;while(1){c[t+(u<<2)>>2]=v;u=u+1|0;v=c[n+(u<<2)>>2]|0;if((v|0)<(f|0)){}else{break}}}else{u=0}c[t+(u<<2)>>2]=f;c[t+(u+1<<2)>>2]=f;c[n>>2]=0;if((f|0)>0){l=n;m=0;u=0;v=0;do{a:do{switch(PC(c[j>>2]|0)|0){case 1:{if((v|0)==0){e=0;while(1){ea=QC(c[j>>2]|0)|0;e=ea+e|0;if((ea|0)>63){}else{V=0;break}}while(1){ea=RC(c[j>>2]|0)|0;V=ea+V|0;if((ea|0)>63){}else{break}}}else{e=0;while(1){ea=RC(c[j>>2]|0)|0;e=ea+e|0;if((ea|0)>63){}else{V=0;break}}while(1){ea=QC(c[j>>2]|0)|0;V=ea+V|0;if((ea|0)>63){}else{break}}}l=(c[l>>2]|0)+e|0;if((e|0)>0){if((l|0)>(f|0)){ea=c[h>>2]|0;ea=jd[c[(c[ea>>2]|0)+48>>2]&511](ea)|0;c[Q>>2]=l;Qe(ea,182680,L);l=f}m=m+((m&1|0)!=(v|0))|0;c[n+(m<<2)>>2]=l}else{l=c[n+(m<<2)>>2]|0}do{if((l|0)<(f|0)){e=l+V|0;if((V|0)<=0){break}if((e|0)>(f|0)){l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+48>>2]&511](l)|0;c[F>>2]=e;Qe(l,182680,D);l=f}else{l=e}m=m+((m&1|0)!=(v^1|0))|0;c[n+(m<<2)>>2]=l}}while(0);while(1){ea=c[t+(u<<2)>>2]|0;if((ea|0)<=(l|0)&(ea|0)<(f|0)){u=u+2|0}else{break}}break};case 7:{V=(c[t+(u<<2)>>2]|0)+3|0;if((c[l>>2]|0)<(V|0)){if((V|0)>(f|0)){l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+48>>2]&511](l)|0;c[C>>2]=V;Qe(l,182680,B);l=f}else{l=V}m=m+((m&1|0)!=(v|0))|0;c[n+(m<<2)>>2]=l}else{l=c[n+(m<<2)>>2]|0}v=v^1;if((l|0)>=(f|0)){break a}u=u+1|0;while(1){ea=c[t+(u<<2)>>2]|0;if((ea|0)<=(l|0)&(ea|0)<(f|0)){u=u+2|0}else{break}}break};case 0:{V=t+(u+1<<2)|0;e=c[V>>2]|0;if((c[l>>2]|0)<(e|0)){if((e|0)>(f|0)){ea=c[h>>2]|0;ea=jd[c[(c[ea>>2]|0)+48>>2]&511](ea)|0;c[A>>2]=e;Qe(ea,182680,z);e=f}m=m+((m&1|0)!=(v|0))|0;c[n+(m<<2)>>2]=e;e=c[V>>2]|0}u=(e|0)<(f|0)?u+2|0:u;break};case 2:{V=c[t+(u<<2)>>2]|0;if((c[l>>2]|0)<(V|0)){if((V|0)>(f|0)){l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+48>>2]&511](l)|0;c[y>>2]=V;Qe(l,182680,T);l=f}else{l=V}m=m+((m&1|0)!=(v|0))|0;c[n+(m<<2)>>2]=l}else{l=c[n+(m<<2)>>2]|0}v=v^1;if((l|0)>=(f|0)){break a}u=u+1|0;while(1){ea=c[t+(u<<2)>>2]|0;if((ea|0)<=(l|0)&(ea|0)<(f|0)){u=u+2|0}else{break}}break};case 8:{V=(c[t+(u<<2)>>2]|0)+ -3|0;l=c[l>>2]|0;do{if((l|0)<(V|0)){if((V|0)>(f|0)){l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+48>>2]&511](l)|0;c[U>>2]=V;Qe(l,182680,x);l=f}else{l=V}m=m+((m&1|0)!=(v|0))|0;c[n+(m<<2)>>2]=l}else{if((l|0)<=(V|0)){l=c[n+(m<<2)>>2]|0;break}if((V|0)<0){l=c[h>>2]|0;Qe(jd[c[(c[l>>2]|0)+48>>2]&511](l)|0,182720,O);l=0}else{l=V}b:do{if((m|0)>0){while(1){V=m+ -1|0;if((l|0)>(c[n+(V<<2)>>2]|0)){break b}if((V|0)>0){m=V}else{m=V;break}}}}while(0);c[n+(m<<2)>>2]=l}}while(0);v=v^1;if((l|0)>=(f|0)){break a}if((u|0)>0){u=u+ -1|0}else{u=u+1|0}while(1){ea=c[t+(u<<2)>>2]|0;if((ea|0)<=(l|0)&(ea|0)<(f|0)){u=u+2|0}else{break}}break};case 6:{V=(c[t+(u<<2)>>2]|0)+ -2|0;l=c[l>>2]|0;do{if((l|0)<(V|0)){if((V|0)>(f|0)){l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+48>>2]&511](l)|0;c[P>>2]=V;Qe(l,182680,S);l=f}else{l=V}m=m+((m&1|0)!=(v|0))|0;c[n+(m<<2)>>2]=l}else{if((l|0)<=(V|0)){l=c[n+(m<<2)>>2]|0;break}if((V|0)<0){l=c[h>>2]|0;Qe(jd[c[(c[l>>2]|0)+48>>2]&511](l)|0,182720,R);l=0}else{l=V}c:do{if((m|0)>0){while(1){V=m+ -1|0;if((l|0)>(c[n+(V<<2)>>2]|0)){break c}if((V|0)>0){m=V}else{m=V;break}}}}while(0);c[n+(m<<2)>>2]=l}}while(0);v=v^1;if((l|0)>=(f|0)){break a}if((u|0)>0){u=u+ -1|0}else{u=u+1|0}while(1){ea=c[t+(u<<2)>>2]|0;if((ea|0)<=(l|0)&(ea|0)<(f|0)){u=u+2|0}else{break}}break};case 5:{V=(c[t+(u<<2)>>2]|0)+2|0;if((c[l>>2]|0)<(V|0)){if((V|0)>(f|0)){l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+48>>2]&511](l)|0;c[G>>2]=V;Qe(l,182680,H);l=f}else{l=V}m=m+((m&1|0)!=(v|0))|0;c[n+(m<<2)>>2]=l}else{l=c[n+(m<<2)>>2]|0}v=v^1;if((l|0)>=(f|0)){break a}u=u+1|0;while(1){ea=c[t+(u<<2)>>2]|0;if((ea|0)<=(l|0)&(ea|0)<(f|0)){u=u+2|0}else{break}}break};case 4:{V=c[t+(u<<2)>>2]|0;e=V+ -1|0;l=c[l>>2]|0;do{if((l|0)<(e|0)){if((e|0)>(f|0)){l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+48>>2]&511](l)|0;c[I>>2]=e;Qe(l,182680,J);l=f}else{l=e}m=m+((m&1|0)!=(v|0))|0;c[n+(m<<2)>>2]=l}else{if((l|0)<=(e|0)){l=c[n+(m<<2)>>2]|0;break}if((V|0)<1){l=c[h>>2]|0;Qe(jd[c[(c[l>>2]|0)+48>>2]&511](l)|0,182720,K);l=0}else{l=e}d:do{if((m|0)>0){while(1){V=m+ -1|0;if((l|0)>(c[n+(V<<2)>>2]|0)){break d}if((V|0)>0){m=V}else{m=V;break}}}}while(0);c[n+(m<<2)>>2]=l}}while(0);v=v^1;if((l|0)>=(f|0)){break a}if((u|0)>0){u=u+ -1|0}else{u=u+1|0}while(1){ea=c[t+(u<<2)>>2]|0;if((ea|0)<=(l|0)&(ea|0)<(f|0)){u=u+2|0}else{break}}break};case 3:{e=c[t+(u<<2)>>2]|0;V=e+1|0;if((c[l>>2]|0)<(V|0)){if((e|0)<(f|0)){l=V}else{l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+48>>2]&511](l)|0;c[M>>2]=V;Qe(l,182680,N);l=f}m=m+((m&1|0)!=(v|0))|0;c[n+(m<<2)>>2]=l}else{l=c[n+(m<<2)>>2]|0}v=v^1;if((l|0)>=(f|0)){break a}u=u+1|0;while(1){ea=c[t+(u<<2)>>2]|0;if((ea|0)<=(l|0)&(ea|0)<(f|0)){u=u+2|0}else{break}}break};case-1:{if((c[l>>2]|0)>=(f|0)){break a}m=m+(m&1)|0;c[n+(m<<2)>>2]=f;break};default:{ea=c[h>>2]|0;Qe(jd[c[(c[ea>>2]|0)+48>>2]&511](ea)|0,182200,E);if((c[l>>2]|0)>=(f|0)){break a}m=m+(m&1)|0;c[n+(m<<2)>>2]=f}}}while(0);l=n+(m<<2)|0;}while((c[l>>2]|0)<(f|0));m=c[n>>2]|0;u=0}else{m=0;u=0}do{v=n+((u|1)<<2)|0;l=c[v>>2]|0;if((m|0)<(l|0)){while(1){l=(da(c[r>>2]|0,k)|0)+(m>>3)|0;l=(c[s>>2]|0)+l|0;a[l]=d[l]|0|1<<(m&7^7);m=m+1|0;l=c[v>>2]|0;if((m|0)<(l|0)){}else{break}}}if((l|0)>=(f|0)){break}u=u+2|0;m=c[n+(u<<2)>>2]|0;}while((m|0)<(f|0));k=k+1|0;}while((k|0)<(g|0))}r=c[j>>2]|0;do{if((o|0)>-1){g=r+12|0;if((c[g>>2]|0)>>>0>=o>>>0){break}do{ea=c[r>>2]|0;jd[c[(c[ea>>2]|0)+20>>2]&511](ea)|0;ea=(c[g>>2]|0)+1|0;c[g>>2]=ea;}while(ea>>>0<o>>>0)}else{s=r+8|0;j=c[s>>2]|0;g=r+4|0;k=c[g>>2]|0;if(j>>>0<24){f=r+12|0;while(1){j=c[r>>2]|0;k=(jd[c[(c[j>>2]|0)+20>>2]&511](j)|0)&255|k<<8;c[g>>2]=k;j=(c[s>>2]|0)+8|0;c[s>>2]=j;c[f>>2]=(c[f>>2]|0)+1;if(j>>>0<24){}else{break}}}if((k>>>(j+ -24|0)&16777215|0)==4097){break}ea=c[b+64>>2]|0;Qe(jd[c[(c[ea>>2]|0)+48>>2]&511](ea)|0,182240,w)}}while(0);Fe(t);Fe(n);ea=q;i=p;return ea|0}do{if(j){if((h|0)==0){o=14675;break}else if((h|0)==1){o=1946;break}else if((h|0)==2){o=227;break}else if((h|0)==3){o=394;break}else{o=0;break}}else{o=0}}while(0);if((g|0)<=0){ea=q;i=p;return ea|0}w=b+76|0;B=b+80|0;D=m+4|0;E=n+4|0;b=m+8|0;C=n+8|0;z=m+12|0;A=n+12|0;y=(f|0)>0;x=l+8|0;F=l+12|0;G=l+16|0;H=l+20|0;J=0;I=0;do{do{if(j){if(!(J^(II(c[w>>2]|0,o,c[B>>2]|0)|0)!=0)){J=0;t=156;break}if((I|0)<=0){J=1;break}ea=c[s>>2]|0;J=c[r>>2]|0;$W(ea+(da(J,I)|0)|0,ea+(da(J,I+ -1|0)|0)|0,J|0)|0;J=1}else{t=156}}while(0);do{if((t|0)==156){t=0;if((h|0)==3){K=I+ -1|0;do{if((I|0)<1){R=0;L=0;K=0;N=0;M=0}else{if((c[u>>2]|0)<=(K|0)){R=0;L=0;K=0;N=0;M=0;break}L=c[v>>2]|0;if((L|0)<=0){R=0;L=0;K=0;N=0;M=0;break}K=da(c[r>>2]|0,K)|0;K=(c[s>>2]|0)+K|0;if((K|0)==0){R=0;L=7;K=0;N=0;M=0;break}M=d[K]|0;N=M>>>7;if((L|0)==1){R=1;L=7;K=0;M=0;break}O=(L|0)==2;R=2;L=O?6:5;K=O?0:K;M=M>>>6&1}}while(0);T=M|N<<1;M=c[m>>2]|0;N=(c[n>>2]|0)+I|0;do{if((N|0)<0){Q=0;P=0;M=0}else{if((c[u>>2]|0)<=(N|0)){Q=0;P=0;M=0;break}if((c[v>>2]|0)<=(M|0)){Q=0;P=0;M=0;break}N=da(c[r>>2]|0,N)|0;if((M|0)<0){Q=M;P=7;M=(c[s>>2]|0)+N|0;break}else{Q=M;P=M&7^7;M=(c[s>>2]|0)+(N+(M>>3))|0;break}}}while(0);if(y){N=0;O=0}else{break}while(1){S=T<<5|N;do{if((M|0)==0){M=0;U=0}else{if((Q|0)<0){Q=Q+1|0;U=0;break}U=(d[M]|0)>>>P&1;Q=Q+1|0;if((Q|0)==(c[v>>2]|0)){M=0;break}if((P|0)==0){P=7;M=M+1|0;break}else{P=P+ -1|0;break}}}while(0);S=S|U;do{if(k){if((c[x>>2]|0)<=(O|0)){t=370;break}if((c[F>>2]|0)<=(I|0)){t=370;break}ea=(da(c[G>>2]|0,I)|0)+(O>>3)|0;if(((d[(c[H>>2]|0)+ea|0]|0)&1<<(O&7^7)|0)==0){t=370}else{S=0}}else{t=370}}while(0);do{if((t|0)==370){t=0;S=II(c[w>>2]|0,S,c[B>>2]|0)|0;if((S|0)==0){S=0;break}ea=(da(c[r>>2]|0,I)|0)+(O>>3)|0;ea=(c[s>>2]|0)+ea|0;a[ea]=d[ea]|0|1<<(O&7^7)}}while(0);T=T<<1;do{if((K|0)==0){K=0;U=0}else{if((R|0)<0){R=R+1|0;U=0;break}U=(d[K]|0)>>>L&1;R=R+1|0;if((R|0)==(c[v>>2]|0)){K=0;break}if((L|0)==0){L=7;K=K+1|0;break}else{L=L+ -1|0;break}}}while(0);O=O+1|0;if((O|0)<(f|0)){T=U|T&30;N=(S|N)<<1&30}else{break}}}else if((h|0)==0){K=I+ -2|0;do{if((K|0)<0){Q=0;R=0;V=0;L=0;K=0}else{if((c[u>>2]|0)<=(K|0)){Q=0;R=0;V=0;L=0;K=0;break}N=c[v>>2]|0;if((N|0)<=0){Q=0;R=0;V=0;L=0;K=0;break}M=da(c[r>>2]|0,K)|0;M=(c[s>>2]|0)+M|0;if((M|0)==0){Q=0;R=7;V=0;L=0;K=0;break}K=d[M]|0;L=K>>>7;if((N|0)==1){Q=1;R=7;V=0;K=0;break}N=(N|0)==2;Q=2;R=N?6:5;V=N?0:M;K=K>>>6&1}}while(0);Z=K|L<<1;K=I+ -1|0;do{if((I|0)<1){P=0;O=0;L=0;t=168}else{if((c[u>>2]|0)<=(K|0)){P=0;O=0;L=0;t=168;break}M=c[v>>2]|0;if((M|0)<=0){P=0;O=0;L=0;t=168;break}K=da(c[r>>2]|0,K)|0;K=(c[s>>2]|0)+K|0;if((K|0)==0){P=0;O=7;L=0;t=168;break}N=d[K]|0;L=N>>>7;if((M|0)==1){P=1;O=7;t=168;break}L=(N>>>6&1|L<<1)<<1;if((M|0)==2){P=2;O=6;M=0;K=0;break}if((K|0)==0){P=2;O=5;M=0;K=0;break}M=(c[v>>2]|0)==3;P=3;O=M?5:4;M=M?0:K;K=(d[K]|0)>>>5&1}}while(0);if((t|0)==168){t=0;L=L<<2;M=0;K=0}Y=K|L;K=c[m>>2]|0;L=(c[n>>2]|0)+I|0;do{if((L|0)<0){T=0;l=0;e=0}else{if((c[u>>2]|0)<=(L|0)){T=0;l=0;e=0;break}if((c[v>>2]|0)<=(K|0)){T=0;l=0;e=0;break}L=da(c[r>>2]|0,L)|0;if((K|0)<0){T=K;l=7;e=(c[s>>2]|0)+L|0;break}else{T=K;l=K&7^7;e=(c[s>>2]|0)+(L+(K>>3))|0;break}}}while(0);K=c[D>>2]|0;L=(c[E>>2]|0)+I|0;do{if((L|0)<0){$=0;aa=0;ba=0}else{if((c[u>>2]|0)<=(L|0)){$=0;aa=0;ba=0;break}if((c[v>>2]|0)<=(K|0)){$=0;aa=0;ba=0;break}L=da(c[r>>2]|0,L)|0;if((K|0)<0){$=K;aa=7;ba=(c[s>>2]|0)+L|0;break}else{$=K;aa=K&7^7;ba=(c[s>>2]|0)+(L+(K>>3))|0;break}}}while(0);K=c[b>>2]|0;L=(c[C>>2]|0)+I|0;do{if((L|0)<0){X=0;U=0;S=0}else{if((c[u>>2]|0)<=(L|0)){X=0;U=0;S=0;break}if((c[v>>2]|0)<=(K|0)){X=0;U=0;S=0;break}L=da(c[r>>2]|0,L)|0;if((K|0)<0){X=K;U=7;S=(c[s>>2]|0)+L|0;break}else{X=K;U=K&7^7;S=(c[s>>2]|0)+(L+(K>>3))|0;break}}}while(0);K=c[z>>2]|0;L=(c[A>>2]|0)+I|0;do{if((L|0)<0){N=0;L=0;K=0}else{if((c[u>>2]|0)<=(L|0)){N=0;L=0;K=0;break}if((c[v>>2]|0)<=(K|0)){N=0;L=0;K=0;break}W=da(c[r>>2]|0,L)|0;if((K|0)<0){N=K;L=7;K=(c[s>>2]|0)+W|0;break}else{N=K;L=K&7^7;K=(c[s>>2]|0)+(W+(K>>3))|0;break}}}while(0);if(y){W=R;_=Q;Q=0;R=0}else{break}while(1){ca=Y<<8|Z<<13|Q<<4;do{if((e|0)==0){e=0;ea=0}else{if((T|0)<0){T=T+1|0;ea=0;break}ea=(d[e]|0)>>>l&1;T=T+1|0;if((T|0)==(c[v>>2]|0)){e=0;break}if((l|0)==0){l=7;e=e+1|0;break}else{l=l+ -1|0;break}}}while(0);ca=ca|ea<<3;do{if((ba|0)==0){ba=0;ea=0}else{if(($|0)<0){$=$+1|0;ea=0;break}ea=(d[ba]|0)>>>aa&1;$=$+1|0;if(($|0)==(c[v>>2]|0)){ba=0;break}if((aa|0)==0){aa=7;ba=ba+1|0;break}else{aa=aa+ -1|0;break}}}while(0);ca=ca|ea<<2;do{if((S|0)==0){S=0;ea=0}else{if((X|0)<0){X=X+1|0;ea=0;break}ea=(d[S]|0)>>>U&1;X=X+1|0;if((X|0)==(c[v>>2]|0)){S=0;break}if((U|0)==0){U=7;S=S+1|0;break}else{U=U+ -1|0;break}}}while(0);ca=ca|ea<<1;do{if((K|0)==0){K=0;ea=0}else{if((N|0)<0){N=N+1|0;ea=0;break}ea=(d[K]|0)>>>L&1;N=N+1|0;if((N|0)==(c[v>>2]|0)){K=0;break}if((L|0)==0){L=7;K=K+1|0;break}else{L=L+ -1|0;break}}}while(0);ca=ca|ea;do{if(k){if((c[x>>2]|0)<=(R|0)){t=229;break}if((c[F>>2]|0)<=(I|0)){t=229;break}ea=(da(c[G>>2]|0,I)|0)+(R>>3)|0;if(((d[(c[H>>2]|0)+ea|0]|0)&1<<(R&7^7)|0)==0){t=229}else{ca=0}}else{t=229}}while(0);do{if((t|0)==229){t=0;ca=II(c[w>>2]|0,ca,c[B>>2]|0)|0;if((ca|0)==0){ca=0;break}ea=(da(c[r>>2]|0,I)|0)+(R>>3)|0;ea=(c[s>>2]|0)+ea|0;a[ea]=d[ea]|0|1<<(R&7^7)}}while(0);Z=Z<<1;do{if((V|0)==0){V=0;ea=0}else{if((_|0)<0){_=_+1|0;ea=0;break}ea=(d[V]|0)>>>W&1;_=_+1|0;if((_|0)==(c[v>>2]|0)){V=0;break}if((W|0)==0){W=7;V=V+1|0;break}else{W=W+ -1|0;break}}}while(0);Z=ea|Z&6;Y=Y<<1;do{if((M|0)==0){M=0;ea=0}else{if((P|0)<0){P=P+1|0;ea=0;break}ea=(d[M]|0)>>>O&1;P=P+1|0;if((P|0)==(c[v>>2]|0)){M=0;break}if((O|0)==0){O=7;M=M+1|0;break}else{O=O+ -1|0;break}}}while(0);R=R+1|0;if((R|0)<(f|0)){Y=ea|Y&30;Q=(ca|Q<<1)&15}else{break}}}else if((h|0)==2){K=I+ -2|0;do{if((K|0)<0){O=0;P=0;S=0;L=0;K=0}else{if((c[u>>2]|0)<=(K|0)){O=0;P=0;S=0;L=0;K=0;break}N=c[v>>2]|0;if((N|0)<=0){O=0;P=0;S=0;L=0;K=0;break}M=da(c[r>>2]|0,K)|0;M=(c[s>>2]|0)+M|0;if((M|0)==0){O=0;P=7;S=0;L=0;K=0;break}K=d[M]|0;L=K>>>7;if((N|0)==1){O=1;P=7;S=0;K=0;break}N=(N|0)==2;O=2;P=N?6:5;S=N?0:M;K=K>>>6&1}}while(0);U=K|L<<1;K=I+ -1|0;do{if((I|0)<1){M=0;L=0;K=0;Q=0;N=0}else{if((c[u>>2]|0)<=(K|0)){M=0;L=0;K=0;Q=0;N=0;break}L=c[v>>2]|0;if((L|0)<=0){M=0;L=0;K=0;Q=0;N=0;break}K=da(c[r>>2]|0,K)|0;K=(c[s>>2]|0)+K|0;if((K|0)==0){M=0;L=7;K=0;Q=0;N=0;break}N=d[K]|0;Q=N>>>7;if((L|0)==1){M=1;L=7;K=0;N=0;break}R=(L|0)==2;M=2;L=R?6:5;K=R?0:K;N=N>>>6&1}}while(0);l=N|Q<<1;N=c[m>>2]|0;Q=(c[n>>2]|0)+I|0;do{if((Q|0)<0){Q=0;R=0;N=0}else{if((c[u>>2]|0)<=(Q|0)){Q=0;R=0;N=0;break}if((c[v>>2]|0)<=(N|0)){Q=0;R=0;N=0;break}T=da(c[r>>2]|0,Q)|0;if((N|0)<0){Q=N;R=7;N=(c[s>>2]|0)+T|0;break}else{Q=N;R=N&7^7;N=(c[s>>2]|0)+(T+(N>>3))|0;break}}}while(0);if(y){T=P;V=O;e=U;O=0;P=0}else{break}while(1){U=l<<3|e<<7|O;do{if((N|0)==0){N=0;W=0}else{if((Q|0)<0){Q=Q+1|0;W=0;break}W=(d[N]|0)>>>R&1;Q=Q+1|0;if((Q|0)==(c[v>>2]|0)){N=0;break}if((R|0)==0){R=7;N=N+1|0;break}else{R=R+ -1|0;break}}}while(0);U=U|W;do{if(k){if((c[x>>2]|0)<=(P|0)){t=329;break}if((c[F>>2]|0)<=(I|0)){t=329;break}ea=(da(c[G>>2]|0,I)|0)+(P>>3)|0;if(((d[(c[H>>2]|0)+ea|0]|0)&1<<(P&7^7)|0)==0){t=329}else{U=0}}else{t=329}}while(0);do{if((t|0)==329){t=0;U=II(c[w>>2]|0,U,c[B>>2]|0)|0;if((U|0)==0){U=0;break}ea=(da(c[r>>2]|0,I)|0)+(P>>3)|0;ea=(c[s>>2]|0)+ea|0;a[ea]=d[ea]|0|1<<(P&7^7)}}while(0);e=e<<1;do{if((S|0)==0){S=0;W=0}else{if((V|0)<0){V=V+1|0;W=0;break}W=(d[S]|0)>>>T&1;V=V+1|0;if((V|0)==(c[v>>2]|0)){S=0;break}if((T|0)==0){T=7;S=S+1|0;break}else{T=T+ -1|0;break}}}while(0);e=W|e&6;l=l<<1;do{if((K|0)==0){K=0;W=0}else{if((M|0)<0){M=M+1|0;W=0;break}W=(d[K]|0)>>>L&1;M=M+1|0;if((M|0)==(c[v>>2]|0)){K=0;break}if((L|0)==0){L=7;K=K+1|0;break}else{L=L+ -1|0;break}}}while(0);P=P+1|0;if((P|0)<(f|0)){l=W|l&14;O=(U|O)<<1&6}else{break}}}else if((h|0)==1){K=I+ -2|0;do{if((K|0)<0){N=0;P=0;L=0;t=251}else{if((c[u>>2]|0)<=(K|0)){N=0;P=0;L=0;t=251;break}M=c[v>>2]|0;if((M|0)<=0){N=0;P=0;L=0;t=251;break}K=da(c[r>>2]|0,K)|0;K=(c[s>>2]|0)+K|0;if((K|0)==0){N=0;P=7;L=0;t=251;break}N=d[K]|0;L=N>>>7;if((M|0)==1){N=1;P=7;t=251;break}L=(N>>>6&1|L<<1)<<1;if((M|0)==2){N=2;P=6;T=0;K=0;break}if((K|0)==0){N=2;P=5;T=0;K=0;break}M=(c[v>>2]|0)==3;N=3;P=M?5:4;T=M?0:K;K=(d[K]|0)>>>5&1}}while(0);if((t|0)==251){t=0;L=L<<2;T=0;K=0}Q=K|L;L=I+ -1|0;do{if((I|0)<1){M=0;L=0;R=0;t=260}else{if((c[u>>2]|0)<=(L|0)){M=0;L=0;R=0;t=260;break}K=c[v>>2]|0;if((K|0)<=0){M=0;L=0;R=0;t=260;break}O=da(c[r>>2]|0,L)|0;O=(c[s>>2]|0)+O|0;if((O|0)==0){M=0;L=7;R=0;t=260;break}L=d[O]|0;R=L>>>7;if((K|0)==1){M=1;L=7;t=260;break}R=(L>>>6&1|R<<1)<<1;if((K|0)==2){M=2;L=6;K=0;O=0;break}if((O|0)==0){M=2;L=5;K=0;O=0;break}K=(c[v>>2]|0)==3;M=3;L=K?5:4;K=K?0:O;O=(d[O]|0)>>>5&1}}while(0);if((t|0)==260){t=0;R=R<<2;K=0;O=0}V=O|R;O=c[m>>2]|0;R=(c[n>>2]|0)+I|0;do{if((R|0)<0){R=0;S=0;O=0}else{if((c[u>>2]|0)<=(R|0)){R=0;S=0;O=0;break}if((c[v>>2]|0)<=(O|0)){R=0;S=0;O=0;break}U=da(c[r>>2]|0,R)|0;if((O|0)<0){R=O;S=7;O=(c[s>>2]|0)+U|0;break}else{R=O;S=O&7^7;O=(c[s>>2]|0)+(U+(O>>3))|0;break}}}while(0);if(y){U=P;e=Q;P=0;Q=0}else{break}while(1){l=V<<4|e<<9|P;do{if((O|0)==0){O=0;W=0}else{if((R|0)<0){R=R+1|0;W=0;break}W=(d[O]|0)>>>S&1;R=R+1|0;if((R|0)==(c[v>>2]|0)){O=0;break}if((S|0)==0){S=7;O=O+1|0;break}else{S=S+ -1|0;break}}}while(0);l=l|W;do{if(k){if((c[x>>2]|0)<=(Q|0)){t=282;break}if((c[F>>2]|0)<=(I|0)){t=282;break}ea=(da(c[G>>2]|0,I)|0)+(Q>>3)|0;if(((d[(c[H>>2]|0)+ea|0]|0)&1<<(Q&7^7)|0)==0){t=282}else{l=0}}else{t=282}}while(0);do{if((t|0)==282){t=0;l=II(c[w>>2]|0,l,c[B>>2]|0)|0;if((l|0)==0){l=0;break}ea=(da(c[r>>2]|0,I)|0)+(Q>>3)|0;ea=(c[s>>2]|0)+ea|0;a[ea]=d[ea]|0|1<<(Q&7^7)}}while(0);e=e<<1;do{if((T|0)==0){T=0;W=0}else{if((N|0)<0){N=N+1|0;W=0;break}W=(d[T]|0)>>>U&1;N=N+1|0;if((N|0)==(c[v>>2]|0)){T=0;break}if((U|0)==0){U=7;T=T+1|0;break}else{U=U+ -1|0;break}}}while(0);e=W|e&14;V=V<<1;do{if((K|0)==0){K=0;W=0}else{if((M|0)<0){M=M+1|0;W=0;break}W=(d[K]|0)>>>L&1;M=M+1|0;if((M|0)==(c[v>>2]|0)){K=0;break}if((L|0)==0){L=7;K=K+1|0;break}else{L=L+ -1|0;break}}}while(0);Q=Q+1|0;if((Q|0)<(f|0)){V=W|V&30;P=(l|P)<<1&14}else{break}}}else{break}}}while(0);I=I+1|0;}while((I|0)<(g|0));i=p;return q|0}}while(0);do{if((t|0)==5){Qe(-1,177872,W);c[q+20>>2]=0;if((q|0)==0){q=0}else{break}i=p;return q|0}}while(0);fd[c[(c[q>>2]|0)+4>>2]&511](q);ea=0;i=p;return ea|0}function AD(a){a=a|0;i=i;return 0}function BD(a){a=a|0;i=i;return 1}function CD(a){a=a|0;i=i;return 2}function DD(a){a=a|0;i=i;return 3}function ED(a){a=a|0;i=i;return 9}function FD(b,d){b=b|0;d=d|0;var e=0;e=i;uj(b,d);c[b>>2]=182752;a[b+72|0]=0;a[b+92|0]=0;a[b+112|0]=0;a[b+132|0]=0;c[b+196>>2]=0;bX(b+12|0,0,16)|0;bX(b+180|0,0,13)|0;i=e;return}function GD(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=182752;KD(a);d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function HD(a){a=a|0;var b=0;b=i;c[a>>2]=182752;KD(a);a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function ID(a){a=a|0;var b=0,d=0;b=i;d=c[a+8>>2]|0;fd[c[(c[d>>2]|0)+12>>2]&511](d);if(JD(a)|0){c[a+204>>2]=c[a+148>>2]}else{c[a+204>>2]=c[a+140>>2]}c[a+200>>2]=c[a+144>>2];c[a+208>>2]=0;c[a+216>>2]=0;i=b;return}function JD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;d=i;g=i;i=i+8|0;u=i;i=i+8|0;t=i;i=i+8|0;h=i;i=i+8|0;j=i;i=i+8|0;k=i;i=i+8|0;l=i;i=i+8|0;m=i;i=i+8|0;o=i;i=i+8|0;p=i;i=i+8|0;q=i;i=i+8|0;n=i;i=i+8|0;f=i;i=i+8|0;e=i;i=i+8|0;A=i;i=i+8|0;s=i;i=i+8|0;z=s;y=i;i=i+8|0;v=i;i=i+8|0;x=v;r=b+28|0;a[r]=0;w=b+8|0;$=c[w>>2]|0;if((jd[c[(c[$>>2]|0)+24>>2]&511]($)|0)==255){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,182848,A);TD(b,0)|0;h=c[b+168>>2]|0;g=b+12|0;c[g>>2]=h;h=ye(h,4)|0;f=b+16|0;c[f>>2]=h;a:do{if((c[g>>2]|0)!=0){e=b+180|0;j=0;while(1){c[h+(j<<2)>>2]=c[(c[(c[e>>2]|0)+48>>2]|0)+(j*88|0)+4>>2];j=j+1|0;if(j>>>0>=(c[g>>2]|0)>>>0){break a}h=c[f>>2]|0}}}while(0);c[b+20>>2]=(c[b+136>>2]|0)-(c[b+144>>2]|0);c[b+24>>2]=(c[b+140>>2]|0)-(c[b+148>>2]|0);$=1;i=d;return $|0}if(!(SD(b,z,y,x)|0)){$=1;i=d;return $|0}I=b+24|0;H=b+20|0;F=b+12|0;G=b+16|0;P=b+76|0;Q=b+80|0;R=b+84|0;S=b+88|0;T=b+92|0;L=b+96|0;O=b+100|0;N=b+104|0;M=b+108|0;K=b+112|0;E=b+116|0;B=b+120|0;C=b+124|0;D=b+128|0;A=b+132|0;J=b+72|0;b:while(1){U=c[s>>2]|0;do{if((U|0)==1768449138){U=c[w>>2]|0;U=jd[c[(c[U>>2]|0)+20>>2]&511](U)|0;if((U|0)==-1){r=25;break b}V=c[w>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){r=25;break b}W=c[w>>2]|0;W=jd[c[(c[W>>2]|0)+20>>2]&511](W)|0;if((W|0)==-1){r=25;break b}X=c[w>>2]|0;X=jd[c[(c[X>>2]|0)+20>>2]&511](X)|0;if((X|0)==-1){r=25;break b}c[I>>2]=V<<16|U<<24|W<<8|X;X=c[w>>2]|0;X=jd[c[(c[X>>2]|0)+20>>2]&511](X)|0;if((X|0)==-1){r=25;break b}W=c[w>>2]|0;W=jd[c[(c[W>>2]|0)+20>>2]&511](W)|0;if((W|0)==-1){r=25;break b}U=c[w>>2]|0;U=jd[c[(c[U>>2]|0)+20>>2]&511](U)|0;if((U|0)==-1){r=25;break b}V=c[w>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){r=25;break b}c[H>>2]=W<<16|X<<24|U<<8|V;U=c[w>>2]|0;U=jd[c[(c[U>>2]|0)+20>>2]&511](U)|0;if((U|0)==-1){r=25;break b}V=c[w>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){r=25;break b}c[F>>2]=V|U<<8;U=c[w>>2]|0;U=jd[c[(c[U>>2]|0)+20>>2]&511](U)|0;if((U|0)==-1){r=25;break b}V=c[w>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){r=25;break b}$=c[w>>2]|0;if((jd[c[(c[$>>2]|0)+20>>2]&511]($)|0)==-1){r=25;break b}$=c[w>>2]|0;if((jd[c[(c[$>>2]|0)+20>>2]&511]($)|0)==-1){r=25;break b}if((V|0)!=7){r=27;break b}V=ye(c[F>>2]|0,4)|0;c[G>>2]=V;c:do{if((c[F>>2]|0)!=0){W=0;while(1){c[V+(W<<2)>>2]=U;W=W+1|0;if(W>>>0>=(c[F>>2]|0)>>>0){break c}V=c[G>>2]|0}}}while(0);a[r]=1}else if((U|0)==1668246642){if(!(UD(b,c[v>>2]|0)|0)){b=0;r=92;break b}}else if((U|0)==1651532643){if((a[r]&1)==0){r=33;break b}U=c[v>>2]|0;if((U|0)!=(c[F>>2]|0)){r=36;break b}if((U|0)==0){break}else{W=0}do{U=c[G>>2]|0;V=c[w>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){r=38;break b}c[U+(W<<2)>>2]=V;W=W+1|0;}while(W>>>0<(c[F>>2]|0)>>>0)}else if((U|0)==1785737827){if((c[G>>2]|0)==0){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183096,t)}if((a[J]&1)==0){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183144,u)}if(!(TD(b,0)|0)){b=0;r=92;break b}}else if((U|0)==1668112752){$=(c[v>>2]|0)>>>2;c[L>>2]=$;c[O>>2]=ye($,4)|0;c[N>>2]=ye(c[L>>2]|0,4)|0;c[M>>2]=ye(c[L>>2]|0,4)|0;if((c[L>>2]|0)!=0){U=0;do{W=(c[O>>2]|0)+(U<<2)|0;V=c[w>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){r=67;break b}X=c[w>>2]|0;X=jd[c[(c[X>>2]|0)+20>>2]&511](X)|0;if((X|0)==-1){r=67;break b}c[W>>2]=X|V<<8;V=c[N>>2]|0;W=c[w>>2]|0;W=jd[c[(c[W>>2]|0)+20>>2]&511](W)|0;if((W|0)==-1){r=67;break b}c[V+(U<<2)>>2]=W;V=c[M>>2]|0;W=c[w>>2]|0;W=jd[c[(c[W>>2]|0)+20>>2]&511](W)|0;if((W|0)==-1){r=67;break b}c[V+(U<<2)>>2]=W;U=U+1|0;}while(U>>>0<(c[L>>2]|0)>>>0)}a[K]=1}else if((U|0)==1885564018){U=c[w>>2]|0;U=jd[c[(c[U>>2]|0)+20>>2]&511](U)|0;if((U|0)==-1){r=44;break b}V=c[w>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){r=44;break b}c[P>>2]=V|U<<8;U=c[w>>2]|0;U=jd[c[(c[U>>2]|0)+20>>2]&511](U)|0;if((U|0)==-1){r=44;break b}c[Q>>2]=U;c[R>>2]=ye(U,4)|0;c[S>>2]=ye(da(c[Q>>2]|0,c[P>>2]|0)|0,4)|0;if((c[Q>>2]|0)==0){W=0}else{V=0;do{U=c[R>>2]|0;W=c[w>>2]|0;W=jd[c[(c[W>>2]|0)+20>>2]&511](W)|0;if((W|0)==-1){r=47;break b}c[U+(V<<2)>>2]=W;W=(c[R>>2]|0)+(V<<2)|0;c[W>>2]=(c[W>>2]|0)+1;V=V+1|0;W=c[Q>>2]|0;}while(V>>>0<W>>>0)}V=c[P>>2]|0;if((V|0)!=0){U=0;do{if((W|0)==0){W=0}else{V=0;do{X=c[(c[R>>2]|0)+(V<<2)>>2]|0;Y=((X&127)+7|0)>>>3;X=(X&128|0)==0;W=(da(W,U)|0)+V|0;W=(c[S>>2]|0)+(W<<2)|0;if((Y|0)==0){_=0}else{Z=0;_=0;do{$=c[w>>2]|0;$=jd[c[(c[$>>2]|0)+20>>2]&511]($)|0;if(($|0)==-1){r=57;break b}_=$+(_<<8)|0;Z=Z+1|0;}while((Z|0)<(Y|0))}do{if(!X){X=Y<<3;if((_&1<<X+ -1|0)==0){break}_=_|-1<<X}}while(0);c[W>>2]=_;V=V+1|0;W=c[Q>>2]|0;}while(V>>>0<W>>>0);V=c[P>>2]|0}U=U+1|0;}while(U>>>0<V>>>0)}a[T]=1}else if((U|0)==1667523942){U=c[w>>2]|0;U=jd[c[(c[U>>2]|0)+20>>2]&511](U)|0;if((U|0)==-1){r=72;break b}V=c[w>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){r=72;break b}$=V|U<<8;c[E>>2]=$;c[B>>2]=ye($,4)|0;c[C>>2]=ye(c[E>>2]|0,4)|0;c[D>>2]=ye(c[E>>2]|0,4)|0;if((c[E>>2]|0)!=0){U=0;do{V=(c[B>>2]|0)+(U<<2)|0;X=c[w>>2]|0;X=jd[c[(c[X>>2]|0)+20>>2]&511](X)|0;if((X|0)==-1){r=80;break b}W=c[w>>2]|0;W=jd[c[(c[W>>2]|0)+20>>2]&511](W)|0;if((W|0)==-1){r=80;break b}c[V>>2]=W|X<<8;W=(c[C>>2]|0)+(U<<2)|0;X=c[w>>2]|0;X=jd[c[(c[X>>2]|0)+20>>2]&511](X)|0;if((X|0)==-1){r=80;break b}V=c[w>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){r=80;break b}c[W>>2]=V|X<<8;W=(c[D>>2]|0)+(U<<2)|0;X=c[w>>2]|0;X=jd[c[(c[X>>2]|0)+20>>2]&511](X)|0;if((X|0)==-1){r=80;break b}V=c[w>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){r=80;break b}c[W>>2]=V|X<<8;U=U+1|0;}while(U>>>0<(c[E>>2]|0)>>>0)}a[A]=1}else if((U|0)!=1785737832){V=c[v>>2]|0;if((V|0)==0){break}else{U=0}do{$=c[w>>2]|0;U=U+1|0;if((jd[c[(c[$>>2]|0)+20>>2]&511]($)|0)==-1){r=91;break b}}while(U>>>0<V>>>0)}}while(0);if(!(SD(b,z,y,x)|0)){b=1;r=92;break}}if((r|0)==25){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,182904,e);$=0;i=d;return $|0}else if((r|0)==27){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,182936,f);$=0;i=d;return $|0}else if((r|0)==33){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,182976,n);$=0;i=d;return $|0}else if((r|0)==36){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183048,q);$=0;i=d;return $|0}else if((r|0)==38){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,182904,p);$=0;i=d;return $|0}else if((r|0)==44){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,182904,o);$=0;i=d;return $|0}else if((r|0)==47){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,182904,m);$=0;i=d;return $|0}else if((r|0)==57){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,182904,l);$=0;i=d;return $|0}else if((r|0)==67){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,182904,k);$=0;i=d;return $|0}else if((r|0)==72){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,182904,j);$=0;i=d;return $|0}else if((r|0)==80){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,182904,h);$=0;i=d;return $|0}else if((r|0)==91){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,182904,g);$=0;i=d;return $|0}else if((r|0)==92){i=d;return b|0}return 0}function KD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=i;e=b+16|0;Fe(c[e>>2]|0);c[e>>2]=0;e=b+92|0;if((a[e]&1)!=0){Fe(c[b+84>>2]|0);Fe(c[b+88>>2]|0);a[e]=0}e=b+112|0;if((a[e]&1)!=0){Fe(c[b+100>>2]|0);Fe(c[b+104>>2]|0);Fe(c[b+108>>2]|0);a[e]=0}e=b+132|0;if((a[e]&1)!=0){Fe(c[b+120>>2]|0);Fe(c[b+124>>2]|0);Fe(c[b+128>>2]|0);a[e]=0}e=b+180|0;k=c[e>>2]|0;if((k|0)==0){wj(b);i=d;return}g=b+172|0;m=c[g>>2]|0;f=b+176|0;l=c[f>>2]|0;if((da(l,m)|0)!=0){h=b+168|0;o=k;j=0;while(1){k=o+(j*52|0)+48|0;n=c[k>>2]|0;if((n|0)==0){k=o}else{if((c[h>>2]|0)!=0){m=0;while(1){Fe(c[n+(m*88|0)+44>>2]|0);Fe(c[n+(m*88|0)+76>>2]|0);Fe(c[n+(m*88|0)+80>>2]|0);l=n+(m*88|0)+84|0;p=c[l>>2]|0;if((p|0)!=0){n=n+(m*88|0)+20|0;o=0;while(1){q=c[p+(o*76|0)+72>>2]|0;if((q|0)!=0){p=(o|0)==0?1:3;q=q+16|0;u=c[q>>2]|0;if((u|0)!=0){r=0;do{Fe(c[u+(r*40|0)+28>>2]|0);Fe(c[u+(r*40|0)+32>>2]|0);t=u+(r*40|0)+36|0;w=c[t>>2]|0;if((w|0)!=0){s=u+(r*40|0)+16|0;u=u+(r*40|0)+20|0;if((da(c[u>>2]|0,c[s>>2]|0)|0)!=0){v=0;do{Fe(c[w+(v*56|0)+44>>2]|0);x=c[w+(v*56|0)+48>>2]|0;if((x|0)!=0){DI(x);HW(x)}w=c[w+(v*56|0)+52>>2]|0;if((w|0)!=0){yI(w);HW(w)}v=v+1|0;x=v>>>0<(da(c[u>>2]|0,c[s>>2]|0)|0)>>>0;w=c[t>>2]|0}while(x)}Fe(w)}r=r+1|0;u=c[q>>2]|0}while(r>>>0<p>>>0);Fe(u)}Fe(c[(c[(c[(c[e>>2]|0)+(j*52|0)+48>>2]|0)+(m*88|0)+84>>2]|0)+(o*76|0)+72>>2]|0)}o=o+1|0;if(o>>>0>(c[n>>2]|0)>>>0){break}p=c[l>>2]|0}Fe(c[(c[(c[e>>2]|0)+(j*52|0)+48>>2]|0)+(m*88|0)+84>>2]|0)}m=m+1|0;if(m>>>0>=(c[h>>2]|0)>>>0){break}n=c[k>>2]|0}n=c[(c[e>>2]|0)+(j*52|0)+48>>2]|0}Fe(n);k=c[e>>2]|0;l=c[f>>2]|0;m=c[g>>2]|0}j=j+1|0;if(j>>>0<(da(l,m)|0)>>>0){o=k}else{break}}}Fe(k);c[e>>2]=0;wj(b);i=d;return}function LD(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;b=a+216|0;e=c[b>>2]|0;if(e>>>0<8){MD(a);e=c[b>>2]|0}if((e|0)==8){e=c[a+212>>2]&255;c[b>>2]=0;i=d;return e|0}if(e>>>0>8){f=e+ -8|0;e=(c[a+212>>2]|0)>>>f&255;c[b>>2]=f;i=d;return e|0}if((e|0)==0){f=-1;i=d;return f|0}f=c[a+212>>2]<<8-e&255;c[b>>2]=0;i=d;return f|0}function MD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=i;g=a+204|0;l=a+164|0;m=a+156|0;n=a+172|0;f=a+200|0;d=a+160|0;p=a+152|0;h=a+208|0;q=a+180|0;r=a+168|0;j=a+136|0;e=a+144|0;o=a+212|0;k=a+216|0;a=c[a+140>>2]|0;u=c[g>>2]|0;while(1){if(u>>>0>=a>>>0){d=10;break}B=u-(c[l>>2]|0)|0;A=c[m>>2]|0;s=da(c[n>>2]|0,(B>>>0)/(A>>>0)|0)|0;v=c[f>>2]|0;y=v-(c[d>>2]|0)|0;x=c[p>>2]|0;w=c[h>>2]|0;s=c[(c[q>>2]|0)+((((y>>>0)/(x>>>0)|0)+s|0)*52|0)+48>>2]|0;t=c[s+(w*88|0)+8>>2]|0;z=c[s+(w*88|0)+12>>2]|0;t=(da((c[s+(w*88|0)+60>>2]|0)-(c[s+(w*88|0)+52>>2]|0)|0,((((B>>>0)%(A>>>0)|0)+ -1+z|0)>>>0)/(z>>>0)|0)|0)+(((((y>>>0)%(x>>>0)|0)+ -1+t|0)>>>0)/(t>>>0)|0)|0;t=c[(c[s+(w*88|0)+76>>2]|0)+(t<<2)>>2]|0;s=c[s+(w*88|0)+4>>2]|0;w=w+1|0;c[h>>2]=w;do{if((w|0)==(c[r>>2]|0)){c[h>>2]=0;B=v+1|0;c[f>>2]=B;if((B|0)!=(c[j>>2]|0)){break}c[f>>2]=c[e>>2];u=u+1|0;c[g>>2]=u}}while(0);v=c[o>>2]|0;if((s|0)==8){t=v<<8|t&255}else{t=v<<s|(1<<s)+ -1&t}c[o>>2]=t;B=(c[k>>2]|0)+s|0;c[k>>2]=B;if(B>>>0>=8){d=10;break}}if((d|0)==10){i=b;return}}function ND(a){a=a|0;var b=0,d=0,e=0;b=i;d=a+216|0;e=c[d>>2]|0;if(e>>>0<8){MD(a);e=c[d>>2]|0}if((e|0)==8){e=c[a+212>>2]&255;i=b;return e|0}if(e>>>0>8){e=(c[a+212>>2]|0)>>>(e+ -8|0)&255;i=b;return e|0}if((e|0)==0){e=-1;i=b;return e|0}e=c[a+212>>2]<<8-e&255;i=b;return e|0}function OD(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return 0}function PD(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[a+8>>2]|0;b=Bd[c[(c[b>>2]|0)+60>>2]&255](b,1)|0;i=d;return b|0}function QD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;m=i;e=i;i=i+8|0;j=e;f=i;i=i+8|0;h=i;i=i+8|0;g=h;l=a+8|0;u=c[l>>2]|0;fd[c[(c[u>>2]|0)+12>>2]&511](u);u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+24>>2]&511](u)|0)==255){RD(a,b,d);u=l;u=c[u>>2]|0;t=u;t=c[t>>2]|0;t=t+16|0;t=c[t>>2]|0;fd[t&511](u);i=m;return}if(SD(a,j,f,g)|0){p=0;n=0;o=0}else{u=l;u=c[u>>2]|0;t=u;t=c[t>>2]|0;t=t+16|0;t=c[t>>2]|0;fd[t&511](u);i=m;return}a:while(1){q=c[e>>2]|0;b:do{if((q|0)==1785737827){break a}else if((q|0)==1768449138){u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}q=c[l>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}c[b>>2]=q+1;n=1}else if((q|0)!=1785737832)if((q|0)==1668246642){r=c[l>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}q=c[l>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}q=(q&128|0)==0?q:q|-256;u=c[l>>2]|0;if((jd[c[(c[u>>2]|0)+20>>2]&511](u)|0)==-1){break}if((((r&128|0)==0?r:r|-256)|0)!=1){q=c[h>>2]|0;if((q|0)==3){break}q=q+ -3|0;r=0;while(1){u=c[l>>2]|0;jd[c[(c[u>>2]|0)+20>>2]&511](u)|0;r=r+1|0;if(r>>>0<q>>>0){}else{break b}}}u=c[l>>2]|0;u=jd[c[(c[u>>2]|0)+20>>2]&511](u)|0;if((u|0)==-1){break}t=c[l>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){break}s=c[l>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}r=c[l>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}r=t<<16|u<<24|s<<8|r;if((r|0)==0|(r|0)==17){r=1;k=35}else if((r|0)==12){r=3;k=35}else{if(!((r|0)!=21&(r&-5|0)!=16)){r=2;k=35}}do{if((k|0)==35){k=0;if(!((q|0)>(p|0)|o^1)){o=1;break}c[d>>2]=r;p=q;o=1}}while(0);q=c[h>>2]|0;if((q|0)==7){break}q=q+ -7|0;r=0;while(1){u=c[l>>2]|0;jd[c[(c[u>>2]|0)+20>>2]&511](u)|0;r=r+1|0;if(r>>>0<q>>>0){}else{break}}}else{q=c[h>>2]|0;if((q|0)==0){break}else{r=0}while(1){u=c[l>>2]|0;jd[c[(c[u>>2]|0)+20>>2]&511](u)|0;r=r+1|0;if(r>>>0<q>>>0){}else{break}}}}while(0);if(!(SD(a,j,f,g)|0)){k=44;break}}if((k|0)==44){u=l;u=c[u>>2]|0;t=u;t=c[t>>2]|0;t=t+16|0;t=c[t>>2]|0;fd[t&511](u);i=m;return}if(n&o){u=l;u=c[u>>2]|0;t=u;t=c[t>>2]|0;t=t+16|0;t=c[t>>2]|0;fd[t&511](u);i=m;return}RD(a,b,d);u=l;u=c[u>>2]|0;t=u;t=c[t>>2]|0;t=t+16|0;t=c[t>>2]|0;fd[t&511](u);i=m;return}function RD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;a=a+8|0;a:while(1){f=c[a>>2]|0;f=jd[c[(c[f>>2]|0)+20>>2]&511](f)|0;if((f|0)==-1){f=54;break}else if((f|0)!=255){continue}while(1){f=c[a>>2]|0;f=jd[c[(c[f>>2]|0)+20>>2]&511](f)|0;if((f|0)==0){continue a}else if((f|0)==-1){f=54;break a}else if((f|0)!=255){break}}if((f+ -48|0)>>>0<16){continue}if((f|0)==79|(f|0)==146|(f|0)==147|(f|0)==217){g=0}else{g=c[a>>2]|0;g=jd[c[(c[g>>2]|0)+20>>2]&511](g)|0;if((g|0)==-1){f=54;break}h=c[a>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;if((h|0)==-1){f=54;break}g=h|g<<8}if((f|0)==81){f=10;break}if(g>>>0<=2){continue}f=g+ -2|0;if((f|0)==0){continue}else{g=0}while(1){h=c[a>>2]|0;jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;g=g+1|0;if(g>>>0<f>>>0){}else{continue a}}}if((f|0)==10){h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}h=c[a>>2]|0;if((jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)==-1){i=e;return}g=c[a>>2]|0;g=jd[c[(c[g>>2]|0)+20>>2]&511](g)|0;if((g|0)==-1){i=e;return}f=c[a>>2]|0;f=jd[c[(c[f>>2]|0)+20>>2]&511](f)|0;if((f|0)==-1){i=e;return}a=c[a>>2]|0;a=jd[c[(c[a>>2]|0)+20>>2]&511](a)|0;if((a|0)==-1){i=e;return}f=f|g<<8;c[b>>2]=(a&127)+1;if((f|0)==4){c[d>>2]=3;i=e;return}else if((f|0)==1){c[d>>2]=1;i=e;return}else if((f|0)==3){c[d>>2]=2;i=e;return}else{i=e;return}}else if((f|0)==54){i=e;return}}function SD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;f=i;i=i+8|0;h=a+8|0;m=c[h>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){o=0;i=g;return o|0}l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){o=0;i=g;return o|0}k=c[h>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){o=0;i=g;return o|0}j=c[h>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){o=0;i=g;return o|0}k=l<<16|m<<24|k<<8|j;l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){o=0;i=g;return o|0}m=c[h>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){o=0;i=g;return o|0}n=c[h>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){o=0;i=g;return o|0}j=c[h>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){o=0;i=g;return o|0}c[b>>2]=m<<16|l<<24|n<<8|j;if((k|0)==0){c[d>>2]=0;c[e>>2]=0;o=1;i=g;return o|0}else if((k|0)==1){k=c[h>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){o=0;i=g;return o|0}j=c[h>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){o=0;i=g;return o|0}b=c[h>>2]|0;b=jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;if((b|0)==-1){o=0;i=g;return o|0}l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){o=0;i=g;return o|0}m=c[h>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){o=0;i=g;return o|0}n=c[h>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){o=0;i=g;return o|0}o=c[h>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==-1){o=0;i=g;return o|0}h=c[h>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;if((h|0)==-1){o=0;i=g;return o|0}h=n<<16|m<<24|o<<8|h;if((j<<16|k<<24|b<<8|l|0)==0){c[d>>2]=h;c[e>>2]=h+ -16;o=1;i=g;return o|0}else{Qe(jd[c[(c[a>>2]|0)+48>>2]&511](a)|0,185016,f);o=0;i=g;return o|0}}else{c[d>>2]=k;c[e>>2]=k+ -8;o=1;i=g;return o|0}return 0}function TD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0;h=i;m=i;i=i+8|0;l=i;i=i+8|0;J=i;i=i+8|0;I=i;i=i+8|0;H=i;i=i+8|0;V=i;i=i+8|0;W=V;G=i;i=i+8|0;F=i;i=i+8|0;E=i;i=i+8|0;D=i;i=i+8|0;C=i;i=i+8|0;B=i;i=i+8|0;A=i;i=i+8|0;z=i;i=i+8|0;y=i;i=i+8|0;x=i;i=i+8|0;w=i;i=i+8|0;v=i;i=i+8|0;u=i;i=i+8|0;t=i;i=i+8|0;s=i;i=i+8|0;r=i;i=i+8|0;ja=i;i=i+8|0;ha=i;i=i+8|0;ga=i;i=i+8|0;Y=i;i=i+8|0;S=i;i=i+8|0;Q=i;i=i+8|0;P=i;i=i+8|0;O=i;i=i+8|0;N=i;i=i+8|0;M=i;i=i+8|0;L=i;i=i+8|0;R=i;i=i+8|0;k=b+8|0;X=b+136|0;K=b+140|0;Z=b+144|0;_=b+148|0;$=b+152|0;aa=b+156|0;ba=b+160|0;ca=b+164|0;g=b+168|0;ea=b+28|0;e=b+172|0;d=b+176|0;f=b+180|0;fa=b+12|0;U=c[p>>2]|0;la=0;ma=0;T=0;a:while(1){b:while(1){na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=10;break a}else if((na|0)!=255){continue}while(1){oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=10;break a}else if((oa|0)==0){continue b}else if((oa|0)!=255){break b}}}do{if((oa+ -48|0)>>>0<16){na=0}else{if((oa|0)==79|(oa|0)==146|(oa|0)==147|(oa|0)==217){na=0;break}na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=10;break a}pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=10;break a}na=pa|na<<8}}while(0);switch(oa|0){case 85:{na=na+ -2|0;if((na|0)==0){pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}else{oa=0}while(1){ra=c[k>>2]|0;oa=oa+1|0;if((jd[c[(c[ra>>2]|0)+20>>2]&511](ra)|0)==-1){o=215;break a}if(oa>>>0<na>>>0){}else{pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}}break};case 87:{na=na+ -2|0;if((na|0)==0){pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}else{oa=0}while(1){ra=c[k>>2]|0;oa=oa+1|0;if((jd[c[(c[ra>>2]|0)+20>>2]&511](ra)|0)==-1){o=218;break a}if(oa>>>0<na>>>0){}else{pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}}break};case 79:{pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a};case 82:{oa=c[(c[f>>2]|0)+48>>2]|0;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=81;break a}c[oa+16>>2]=na;oa=c[f>>2]|0;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=81;break a}c[oa>>2]=na;oa=(c[f>>2]|0)+4|0;pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=81;break a}na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=81;break a}c[oa>>2]=na|pa<<8;oa=c[f>>2]|0;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=81;break a}c[oa+8>>2]=na;oa=c[(c[f>>2]|0)+48>>2]|0;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=81;break a}c[oa+20>>2]=na;oa=c[(c[f>>2]|0)+48>>2]|0;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=81;break a}c[oa+24>>2]=na;oa=c[(c[f>>2]|0)+48>>2]|0;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=81;break a}c[oa+28>>2]=na;oa=c[(c[f>>2]|0)+48>>2]|0;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=81;break a}c[oa+32>>2]=na;oa=c[(c[f>>2]|0)+48>>2]|0;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=81;break a}c[oa+36>>2]=na;ra=(c[(c[f>>2]|0)+48>>2]|0)+24|0;c[ra>>2]=(c[ra>>2]|0)+2;ra=(c[(c[f>>2]|0)+48>>2]|0)+28|0;c[ra>>2]=(c[ra>>2]|0)+2;if((da(c[d>>2]|0,c[e>>2]|0)|0)!=0){pa=0;do{if((pa|0)!=0){ra=c[f>>2]|0;c[ra+(pa*52|0)>>2]=c[ra>>2];ra=c[f>>2]|0;c[ra+(pa*52|0)+4>>2]=c[ra+4>>2];ra=c[f>>2]|0;c[ra+(pa*52|0)+8>>2]=c[ra+8>>2]}if((c[g>>2]|0)!=0){oa=0;do{if((oa|pa|0)!=0){ra=c[f>>2]|0;c[(c[ra+(pa*52|0)+48>>2]|0)+(oa*88|0)+16>>2]=c[(c[ra+48>>2]|0)+16>>2];ra=c[f>>2]|0;c[(c[ra+(pa*52|0)+48>>2]|0)+(oa*88|0)+20>>2]=c[(c[ra+48>>2]|0)+20>>2];ra=c[f>>2]|0;c[(c[ra+(pa*52|0)+48>>2]|0)+(oa*88|0)+24>>2]=c[(c[ra+48>>2]|0)+24>>2];ra=c[f>>2]|0;c[(c[ra+(pa*52|0)+48>>2]|0)+(oa*88|0)+28>>2]=c[(c[ra+48>>2]|0)+28>>2];ra=c[f>>2]|0;c[(c[ra+(pa*52|0)+48>>2]|0)+(oa*88|0)+32>>2]=c[(c[ra+48>>2]|0)+32>>2];ra=c[f>>2]|0;c[(c[ra+(pa*52|0)+48>>2]|0)+(oa*88|0)+36>>2]=c[(c[ra+48>>2]|0)+36>>2]}qa=ye((c[(c[(c[f>>2]|0)+(pa*52|0)+48>>2]|0)+(oa*88|0)+20>>2]|0)+1|0,76)|0;c[(c[(c[f>>2]|0)+(pa*52|0)+48>>2]|0)+(oa*88|0)+84>>2]=qa;qa=c[(c[f>>2]|0)+(pa*52|0)+48>>2]|0;na=0;do{c[(c[qa+(oa*88|0)+84>>2]|0)+(na*76|0)+72>>2]=0;na=na+1|0;qa=c[(c[f>>2]|0)+(pa*52|0)+48>>2]|0;}while(na>>>0<=(c[qa+(oa*88|0)+20>>2]|0)>>>0);oa=oa+1|0;}while(oa>>>0<(c[g>>2]|0)>>>0)}pa=pa+1|0;}while(pa>>>0<(da(c[d>>2]|0,c[e>>2]|0)|0)>>>0)}pa=c[(c[f>>2]|0)+48>>2]|0;na=0;do{if((c[pa+16>>2]&1|0)==0){c[(c[pa+84>>2]|0)+(na*76|0)>>2]=15;c[(c[(c[(c[f>>2]|0)+48>>2]|0)+84>>2]|0)+(na*76|0)+4>>2]=15}else{oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=95;break a}c[(c[(c[(c[f>>2]|0)+48>>2]|0)+84>>2]|0)+(na*76|0)>>2]=oa&15;c[(c[(c[(c[f>>2]|0)+48>>2]|0)+84>>2]|0)+(na*76|0)+4>>2]=oa>>>4&15}na=na+1|0;oa=c[f>>2]|0;pa=c[oa+48>>2]|0;}while(na>>>0<=(c[pa+20>>2]|0)>>>0);qa=c[e>>2]|0;pa=c[d>>2]|0;if((da(pa,qa)|0)==0){qa=T;ra=ma;la=1;T=qa;ma=ra;continue a}ra=c[g>>2]|0;na=ra;la=0;while(1){if((ra|0)==0){ra=0}else{pa=0;while(1){if((pa|la|0)==0){ra=na}else{na=c[oa+(la*52|0)+48>>2]|0;qa=0;do{c[(c[na+(pa*88|0)+84>>2]|0)+(qa*76|0)>>2]=c[(c[(c[oa+48>>2]|0)+84>>2]|0)+(qa*76|0)>>2];ra=c[f>>2]|0;c[(c[(c[ra+(la*52|0)+48>>2]|0)+(pa*88|0)+84>>2]|0)+(qa*76|0)+4>>2]=c[(c[(c[ra+48>>2]|0)+84>>2]|0)+(qa*76|0)+4>>2];qa=qa+1|0;oa=c[f>>2]|0;na=c[oa+(la*52|0)+48>>2]|0;}while(qa>>>0<=(c[na+(pa*88|0)+20>>2]|0)>>>0);ra=c[g>>2]|0}pa=pa+1|0;if(pa>>>0<ra>>>0){na=ra}else{break}}na=ra;pa=c[d>>2]|0;qa=c[e>>2]|0}la=la+1|0;if(la>>>0>=(da(pa,qa)|0)>>>0){qa=T;ra=ma;la=1;T=qa;ma=ra;continue a}}break};case 92:{oa=c[(c[f>>2]|0)+48>>2]|0;pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=144;break a}c[oa+40>>2]=pa;pa=c[(c[f>>2]|0)+48>>2]|0;oa=c[pa+40>>2]&31;do{if((oa|0)==0){c[pa+48>>2]=na+ -3;oa=c[(c[f>>2]|0)+48>>2]|0;oa=Ce(c[oa+44>>2]|0,c[oa+48>>2]|0,4)|0;c[(c[(c[f>>2]|0)+48>>2]|0)+44>>2]=oa;oa=c[(c[f>>2]|0)+48>>2]|0;if((c[oa+48>>2]|0)==0){break}else{na=0}do{pa=c[oa+44>>2]|0;oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=148;break a}c[pa+(na<<2)>>2]=oa;na=na+1|0;oa=c[(c[f>>2]|0)+48>>2]|0;}while(na>>>0<(c[oa+48>>2]|0)>>>0)}else if((oa|0)==1){c[pa+48>>2]=1;oa=c[(c[f>>2]|0)+48>>2]|0;oa=Ce(c[oa+44>>2]|0,c[oa+48>>2]|0,4)|0;c[(c[(c[f>>2]|0)+48>>2]|0)+44>>2]=oa;oa=c[(c[(c[f>>2]|0)+48>>2]|0)+44>>2]|0;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=153;break a}pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=153;break a}c[oa>>2]=pa|na<<8}else if((oa|0)==2){c[pa+48>>2]=(na+ -3|0)>>>1;oa=c[(c[f>>2]|0)+48>>2]|0;oa=Ce(c[oa+44>>2]|0,c[oa+48>>2]|0,4)|0;c[(c[(c[f>>2]|0)+48>>2]|0)+44>>2]=oa;oa=c[(c[f>>2]|0)+48>>2]|0;if((c[oa+48>>2]|0)==0){break}else{na=0}do{pa=(c[oa+44>>2]|0)+(na<<2)|0;oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=157;break a}qa=c[k>>2]|0;qa=jd[c[(c[qa>>2]|0)+20>>2]&511](qa)|0;if((qa|0)==-1){o=157;break a}c[pa>>2]=qa|oa<<8;na=na+1|0;oa=c[(c[f>>2]|0)+48>>2]|0;}while(na>>>0<(c[oa+48>>2]|0)>>>0)}else{o=159;break a}}while(0);pa=c[e>>2]|0;oa=c[d>>2]|0;if((da(oa,pa)|0)==0){qa=T;ra=la;ma=1;T=qa;la=ra;continue a}qa=c[g>>2]|0;na=qa;ma=0;while(1){if((qa|0)==0){qa=0}else{oa=0;while(1){if((oa|ma|0)==0){qa=na}else{pa=c[f>>2]|0;c[(c[pa+(ma*52|0)+48>>2]|0)+(oa*88|0)+40>>2]=c[(c[pa+48>>2]|0)+40>>2];pa=c[f>>2]|0;c[(c[pa+(ma*52|0)+48>>2]|0)+(oa*88|0)+48>>2]=c[(c[pa+48>>2]|0)+48>>2];pa=c[f>>2]|0;pa=Ce(c[(c[pa+(ma*52|0)+48>>2]|0)+(oa*88|0)+44>>2]|0,c[(c[pa+48>>2]|0)+48>>2]|0,4)|0;c[(c[(c[f>>2]|0)+(ma*52|0)+48>>2]|0)+(oa*88|0)+44>>2]=pa;pa=c[f>>2]|0;na=c[pa+48>>2]|0;if((c[na+48>>2]|0)!=0){qa=0;do{c[(c[(c[pa+(ma*52|0)+48>>2]|0)+(oa*88|0)+44>>2]|0)+(qa<<2)>>2]=c[(c[na+44>>2]|0)+(qa<<2)>>2];qa=qa+1|0;pa=c[f>>2]|0;na=c[pa+48>>2]|0;}while(qa>>>0<(c[na+48>>2]|0)>>>0)}qa=c[g>>2]|0}oa=oa+1|0;if(oa>>>0<qa>>>0){na=qa}else{break}}na=qa;oa=c[d>>2]|0;pa=c[e>>2]|0}ma=ma+1|0;if(ma>>>0>=(da(oa,pa)|0)>>>0){qa=T;ra=la;ma=1;T=qa;la=ra;continue a}}break};case 81:{ra=c[k>>2]|0;if((jd[c[(c[ra>>2]|0)+20>>2]&511](ra)|0)==-1){o=52;break a}ra=c[k>>2]|0;if((jd[c[(c[ra>>2]|0)+20>>2]&511](ra)|0)==-1){o=52;break a}na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=52;break a}oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=52;break a}pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=52;break a}qa=c[k>>2]|0;qa=jd[c[(c[qa>>2]|0)+20>>2]&511](qa)|0;if((qa|0)==-1){o=52;break a}c[X>>2]=oa<<16|na<<24|pa<<8|qa;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=52;break a}oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=52;break a}pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=52;break a}qa=c[k>>2]|0;qa=jd[c[(c[qa>>2]|0)+20>>2]&511](qa)|0;if((qa|0)==-1){o=52;break a}c[K>>2]=oa<<16|na<<24|pa<<8|qa;oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=52;break a}pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=52;break a}qa=c[k>>2]|0;qa=jd[c[(c[qa>>2]|0)+20>>2]&511](qa)|0;if((qa|0)==-1){o=52;break a}na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=52;break a}c[Z>>2]=pa<<16|oa<<24|qa<<8|na;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=52;break a}oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=52;break a}pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=52;break a}qa=c[k>>2]|0;qa=jd[c[(c[qa>>2]|0)+20>>2]&511](qa)|0;if((qa|0)==-1){o=52;break a}c[_>>2]=oa<<16|na<<24|pa<<8|qa;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=52;break a}oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=52;break a}pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=52;break a}qa=c[k>>2]|0;qa=jd[c[(c[qa>>2]|0)+20>>2]&511](qa)|0;if((qa|0)==-1){o=52;break a}c[$>>2]=oa<<16|na<<24|pa<<8|qa;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=52;break a}oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=52;break a}pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=52;break a}qa=c[k>>2]|0;qa=jd[c[(c[qa>>2]|0)+20>>2]&511](qa)|0;if((qa|0)==-1){o=52;break a}c[aa>>2]=oa<<16|na<<24|pa<<8|qa;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=52;break a}oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=52;break a}pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=52;break a}qa=c[k>>2]|0;qa=jd[c[(c[qa>>2]|0)+20>>2]&511](qa)|0;if((qa|0)==-1){o=52;break a}c[ba>>2]=oa<<16|na<<24|pa<<8|qa;oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=52;break a}pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=52;break a}qa=c[k>>2]|0;qa=jd[c[(c[qa>>2]|0)+20>>2]&511](qa)|0;if((qa|0)==-1){o=52;break a}na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=52;break a}c[ca>>2]=pa<<16|oa<<24|qa<<8|na;oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=52;break a}na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=52;break a}na=na|oa<<8;c[g>>2]=na;if((a[ea]&1)!=0){if((na|0)!=(c[fa>>2]|0)){o=55;break a}}oa=c[$>>2]|0;oa=(((c[X>>2]|0)+ -1-(c[ba>>2]|0)+oa|0)>>>0)/(oa>>>0)|0;c[e>>2]=oa;na=c[aa>>2]|0;na=(((c[K>>2]|0)+ -1-(c[ca>>2]|0)+na|0)>>>0)/(na>>>0)|0;c[d>>2]=na;if((oa|0)==0|(na|0)==0){o=58;break a}if(oa>>>0>=(2147483647/(na>>>0)|0)>>>0){o=58;break a}c[f>>2]=ye(da(oa,na)|0,52)|0;ra=(da(c[d>>2]|0,c[e>>2]|0)|0)==0;oa=c[g>>2]|0;if(!ra){na=0;do{ra=ye(oa,88)|0;c[(c[f>>2]|0)+(na*52|0)+48>>2]=ra;if((c[g>>2]|0)==0){oa=0}else{pa=0;while(1){c[(c[(c[f>>2]|0)+(na*52|0)+48>>2]|0)+(pa*88|0)+44>>2]=0;c[(c[(c[f>>2]|0)+(na*52|0)+48>>2]|0)+(pa*88|0)+76>>2]=0;c[(c[(c[f>>2]|0)+(na*52|0)+48>>2]|0)+(pa*88|0)+80>>2]=0;c[(c[(c[f>>2]|0)+(na*52|0)+48>>2]|0)+(pa*88|0)+84>>2]=0;pa=pa+1|0;oa=c[g>>2]|0;if(pa>>>0<oa>>>0){}else{break}}}na=na+1|0;}while(na>>>0<(da(c[d>>2]|0,c[e>>2]|0)|0)>>>0)}if((oa|0)==0){qa=ma;ra=la;T=1;ma=qa;la=ra;continue a}else{na=0}while(1){pa=c[(c[f>>2]|0)+48>>2]|0;oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=67;break a}c[pa+(na*88|0)+4>>2]=oa;pa=c[(c[f>>2]|0)+48>>2]|0;oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=67;break a}c[pa+(na*88|0)+8>>2]=oa;pa=c[(c[f>>2]|0)+48>>2]|0;oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=67;break a}c[pa+(na*88|0)+12>>2]=oa;ra=c[(c[f>>2]|0)+48>>2]|0;a[ra+(na*88|0)|0]=(c[ra+(na*88|0)+4>>2]|0)>>>7&1;ra=(c[(c[f>>2]|0)+48>>2]|0)+(na*88|0)+4|0;c[ra>>2]=(c[ra>>2]&127)+1;if((da(c[d>>2]|0,c[e>>2]|0)|0)>>>0>1){oa=1;do{ra=c[f>>2]|0;$W((c[ra+(oa*52|0)+48>>2]|0)+(na*88|0)|0,(c[ra+48>>2]|0)+(na*88|0)|0,88)|0;oa=oa+1|0;}while(oa>>>0<(da(c[d>>2]|0,c[e>>2]|0)|0)>>>0)}na=na+1|0;if(na>>>0>=(c[g>>2]|0)>>>0){qa=ma;ra=la;T=1;ma=qa;la=ra;continue a}}break};case 99:{na=na+ -2|0;if((na|0)==0){pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}else{oa=0}while(1){ra=c[k>>2]|0;oa=oa+1|0;if((jd[c[(c[ra>>2]|0)+20>>2]&511](ra)|0)==-1){o=221;break a}if(oa>>>0<na>>>0){}else{pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}}break};case 100:{na=na+ -2|0;if((na|0)==0){pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}else{oa=0}while(1){ra=c[k>>2]|0;oa=oa+1|0;if((jd[c[(c[ra>>2]|0)+20>>2]&511](ra)|0)==-1){o=224;break a}if(oa>>>0<na>>>0){}else{pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}}break};case 93:{if(!ma){o=171;break a}if((c[g>>2]|0)>>>0>256){oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=180;break a}pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=180;break a}qa=c[g>>2]|0;if(qa>>>0<257){o=176}else{q=qa;ia=pa|oa<<8}}else{o=176}if((o|0)==176){o=0;ia=c[k>>2]|0;ia=jd[c[(c[ia>>2]|0)+20>>2]&511](ia)|0;if((ia|0)==-1){o=180;break a}q=c[g>>2]|0}if(ia>>>0>=q>>>0){o=180;break a}pa=c[(c[f>>2]|0)+48>>2]|0;oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=180;break a}c[pa+(ia*88|0)+40>>2]=oa;oa=c[(c[f>>2]|0)+48>>2]|0;pa=c[oa+(ia*88|0)+40>>2]&31;do{if((pa|0)==0){c[oa+(ia*88|0)+48>>2]=na-((c[g>>2]|0)>>>0>256?5:4);oa=c[(c[f>>2]|0)+48>>2]|0;oa=Ce(c[oa+(ia*88|0)+44>>2]|0,c[oa+(ia*88|0)+48>>2]|0,4)|0;c[(c[(c[f>>2]|0)+48>>2]|0)+(ia*88|0)+44>>2]=oa;oa=c[(c[f>>2]|0)+48>>2]|0;if((c[oa+(ia*88|0)+48>>2]|0)==0){break}else{na=0}do{pa=c[oa+(ia*88|0)+44>>2]|0;oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=184;break a}c[pa+(na<<2)>>2]=oa;na=na+1|0;oa=c[(c[f>>2]|0)+48>>2]|0;}while(na>>>0<(c[oa+(ia*88|0)+48>>2]|0)>>>0)}else if((pa|0)==1){c[oa+(ia*88|0)+48>>2]=1;oa=c[(c[f>>2]|0)+48>>2]|0;oa=Ce(c[oa+(ia*88|0)+44>>2]|0,c[oa+(ia*88|0)+48>>2]|0,4)|0;c[(c[(c[f>>2]|0)+48>>2]|0)+(ia*88|0)+44>>2]=oa;oa=c[(c[(c[f>>2]|0)+48>>2]|0)+(ia*88|0)+44>>2]|0;na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=189;break a}pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=189;break a}c[oa>>2]=pa|na<<8}else if((pa|0)==2){c[oa+(ia*88|0)+48>>2]=(na-((c[g>>2]|0)>>>0>256?5:4)|0)>>>1;oa=c[(c[f>>2]|0)+48>>2]|0;oa=Ce(c[oa+(ia*88|0)+44>>2]|0,c[oa+(ia*88|0)+48>>2]|0,4)|0;c[(c[(c[f>>2]|0)+48>>2]|0)+(ia*88|0)+44>>2]=oa;oa=c[(c[f>>2]|0)+48>>2]|0;if((c[oa+(ia*88|0)+48>>2]|0)==0){break}else{na=0}do{pa=(c[oa+(ia*88|0)+44>>2]|0)+(na<<2)|0;qa=c[k>>2]|0;qa=jd[c[(c[qa>>2]|0)+20>>2]&511](qa)|0;if((qa|0)==-1){o=193;break a}oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=193;break a}c[pa>>2]=oa|qa<<8;na=na+1|0;oa=c[(c[f>>2]|0)+48>>2]|0;}while(na>>>0<(c[oa+(ia*88|0)+48>>2]|0)>>>0)}else{o=195;break a}}while(0);if((da(c[d>>2]|0,c[e>>2]|0)|0)>>>0<=1){qa=T;ra=la;ma=1;T=qa;la=ra;continue a}pa=c[f>>2]|0;ma=1;while(1){c[(c[pa+(ma*52|0)+48>>2]|0)+(ia*88|0)+40>>2]=c[(c[pa+48>>2]|0)+(ia*88|0)+40>>2];pa=c[f>>2]|0;c[(c[pa+(ma*52|0)+48>>2]|0)+(ia*88|0)+48>>2]=c[(c[pa+48>>2]|0)+(ia*88|0)+48>>2];pa=c[f>>2]|0;pa=Ce(c[(c[pa+(ma*52|0)+48>>2]|0)+(ia*88|0)+44>>2]|0,c[(c[pa+48>>2]|0)+(ia*88|0)+48>>2]|0,4)|0;c[(c[(c[f>>2]|0)+(ma*52|0)+48>>2]|0)+(ia*88|0)+44>>2]=pa;pa=c[f>>2]|0;oa=c[pa+48>>2]|0;if((c[oa+(ia*88|0)+48>>2]|0)!=0){na=0;while(1){c[(c[(c[pa+(ma*52|0)+48>>2]|0)+(ia*88|0)+44>>2]|0)+(na<<2)>>2]=c[(c[oa+(ia*88|0)+44>>2]|0)+(na<<2)>>2];na=na+1|0;pa=c[f>>2]|0;oa=c[pa+48>>2]|0;if(na>>>0<(c[oa+(ia*88|0)+48>>2]|0)>>>0){}else{break}}}ma=ma+1|0;if(ma>>>0>=(da(c[d>>2]|0,c[e>>2]|0)|0)>>>0){qa=T;ra=la;ma=1;T=qa;la=ra;continue a}}break};case 94:{Rb(183600,4,1,U|0)|0;na=na+ -2|0;if((na|0)==0){pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}else{oa=0}while(1){ra=c[k>>2]|0;oa=oa+1|0;if((jd[c[(c[ra>>2]|0)+20>>2]&511](ra)|0)==-1){o=204;break a}if(oa>>>0<na>>>0){}else{pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}}break};case 95:{Rb(183640,4,1,U|0)|0;na=na+ -2|0;if((na|0)==0){pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}else{oa=0}while(1){ra=c[k>>2]|0;oa=oa+1|0;if((jd[c[(c[ra>>2]|0)+20>>2]&511](ra)|0)==-1){o=208;break a}if(oa>>>0<na>>>0){}else{pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}}break};case 96:{Rb(183648,4,1,U|0)|0;na=na+ -2|0;if((na|0)==0){pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}else{oa=0}while(1){ra=c[k>>2]|0;oa=oa+1|0;if((jd[c[(c[ra>>2]|0)+20>>2]&511](ra)|0)==-1){o=212;break a}if(oa>>>0<na>>>0){}else{pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}}break};case 83:{if(!la){o=110;break a}if((c[g>>2]|0)>>>0>256){oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=124;break a}pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=124;break a}na=c[g>>2]|0;if(na>>>0<257){o=115}else{n=na;ka=pa|oa<<8}}else{o=115}if((o|0)==115){o=0;ka=c[k>>2]|0;ka=jd[c[(c[ka>>2]|0)+20>>2]&511](ka)|0;if((ka|0)==-1){o=124;break a}n=c[g>>2]|0}if(ka>>>0>=n>>>0){o=124;break a}na=c[k>>2]|0;na=jd[c[(c[na>>2]|0)+20>>2]&511](na)|0;if((na|0)==-1){o=124;break a}oa=c[(c[f>>2]|0)+48>>2]|0;pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=124;break a}c[oa+(ka*88|0)+20>>2]=pa;oa=c[(c[f>>2]|0)+48>>2]|0;pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=124;break a}c[oa+(ka*88|0)+24>>2]=pa;oa=c[(c[f>>2]|0)+48>>2]|0;pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=124;break a}c[oa+(ka*88|0)+28>>2]=pa;pa=c[(c[f>>2]|0)+48>>2]|0;oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=124;break a}c[pa+(ka*88|0)+32>>2]=oa;oa=c[(c[f>>2]|0)+48>>2]|0;pa=c[k>>2]|0;pa=jd[c[(c[pa>>2]|0)+20>>2]&511](pa)|0;if((pa|0)==-1){o=124;break a}c[oa+(ka*88|0)+36>>2]=pa;ra=(c[(c[f>>2]|0)+48>>2]|0)+(ka*88|0)+16|0;c[ra>>2]=c[ra>>2]&-2|na&1;ra=(c[(c[f>>2]|0)+48>>2]|0)+(ka*88|0)+24|0;c[ra>>2]=(c[ra>>2]|0)+2;ra=(c[(c[f>>2]|0)+48>>2]|0)+(ka*88|0)+28|0;c[ra>>2]=(c[ra>>2]|0)+2;if((da(c[d>>2]|0,c[e>>2]|0)|0)==0){na=c[f>>2]|0}else{qa=0;do{if((qa|0)!=0){ra=c[f>>2]|0;c[(c[ra+(qa*52|0)+48>>2]|0)+(ka*88|0)+16>>2]=c[(c[ra+48>>2]|0)+(ka*88|0)+16>>2];ra=c[f>>2]|0;c[(c[ra+(qa*52|0)+48>>2]|0)+(ka*88|0)+20>>2]=c[(c[ra+48>>2]|0)+(ka*88|0)+20>>2];ra=c[f>>2]|0;c[(c[ra+(qa*52|0)+48>>2]|0)+(ka*88|0)+24>>2]=c[(c[ra+48>>2]|0)+(ka*88|0)+24>>2];ra=c[f>>2]|0;c[(c[ra+(qa*52|0)+48>>2]|0)+(ka*88|0)+28>>2]=c[(c[ra+48>>2]|0)+(ka*88|0)+28>>2];ra=c[f>>2]|0;c[(c[ra+(qa*52|0)+48>>2]|0)+(ka*88|0)+32>>2]=c[(c[ra+48>>2]|0)+(ka*88|0)+32>>2];ra=c[f>>2]|0;c[(c[ra+(qa*52|0)+48>>2]|0)+(ka*88|0)+36>>2]=c[(c[ra+48>>2]|0)+(ka*88|0)+36>>2]}oa=c[(c[f>>2]|0)+(qa*52|0)+48>>2]|0;oa=Ce(c[oa+(ka*88|0)+84>>2]|0,(c[oa+(ka*88|0)+20>>2]|0)+1|0,76)|0;c[(c[(c[f>>2]|0)+(qa*52|0)+48>>2]|0)+(ka*88|0)+84>>2]=oa;oa=c[(c[f>>2]|0)+(qa*52|0)+48>>2]|0;pa=0;do{c[(c[oa+(ka*88|0)+84>>2]|0)+(pa*76|0)+72>>2]=0;pa=pa+1|0;na=c[f>>2]|0;oa=c[na+(qa*52|0)+48>>2]|0;}while(pa>>>0<=(c[oa+(ka*88|0)+20>>2]|0)>>>0);qa=qa+1|0;}while(qa>>>0<(da(c[d>>2]|0,c[e>>2]|0)|0)>>>0)}oa=c[na+48>>2]|0;na=0;do{if((c[oa+(ka*88|0)+16>>2]&1|0)==0){c[(c[oa+(ka*88|0)+84>>2]|0)+(na*76|0)>>2]=15;c[(c[(c[(c[f>>2]|0)+48>>2]|0)+(ka*88|0)+84>>2]|0)+(na*76|0)+4>>2]=15}else{oa=c[k>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;if((oa|0)==-1){o=135;break a}c[(c[(c[(c[f>>2]|0)+48>>2]|0)+(ka*88|0)+84>>2]|0)+(na*76|0)>>2]=oa&15;c[(c[(c[(c[f>>2]|0)+48>>2]|0)+(ka*88|0)+84>>2]|0)+(na*76|0)+4>>2]=oa>>>4&15}na=na+1|0;pa=c[f>>2]|0;oa=c[pa+48>>2]|0;}while(na>>>0<=(c[oa+(ka*88|0)+20>>2]|0)>>>0);if((da(c[d>>2]|0,c[e>>2]|0)|0)>>>0>1){la=pa;oa=1}else{qa=T;ra=ma;la=1;T=qa;ma=ra;continue a}while(1){na=c[la+(oa*52|0)+48>>2]|0;pa=0;do{c[(c[na+(ka*88|0)+84>>2]|0)+(pa*76|0)>>2]=c[(c[(c[la+48>>2]|0)+(ka*88|0)+84>>2]|0)+(pa*76|0)>>2];ra=c[f>>2]|0;c[(c[(c[ra+(oa*52|0)+48>>2]|0)+(ka*88|0)+84>>2]|0)+(pa*76|0)+4>>2]=c[(c[(c[ra+48>>2]|0)+(ka*88|0)+84>>2]|0)+(pa*76|0)+4>>2];pa=pa+1|0;la=c[f>>2]|0;na=c[la+(oa*52|0)+48>>2]|0;}while(pa>>>0<=(c[na+(ka*88|0)+20>>2]|0)>>>0);oa=oa+1|0;if(oa>>>0>=(da(c[d>>2]|0,c[e>>2]|0)|0)>>>0){qa=T;ra=ma;la=1;T=qa;ma=ra;continue a}}break};case 144:{o=225;break a};default:{ra=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;c[V>>2]=oa;Qe(ra,183784,W);na=na+ -2|0;if((na|0)==0){pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}else{oa=0}while(1){ra=c[k>>2]|0;oa=oa+1|0;if((jd[c[(c[ra>>2]|0)+20>>2]&511](ra)|0)!=-1&oa>>>0<na>>>0){}else{pa=T;qa=ma;ra=la;T=pa;ma=qa;la=ra;continue a}}}}}if((o|0)==10){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183208,R);ra=0;i=h;return ra|0}else if((o|0)==52){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183232,L);ra=0;i=h;return ra|0}else if((o|0)==55){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183264,M);ra=0;i=h;return ra|0}else if((o|0)==58){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183328,N);ra=0;i=h;return ra|0}else if((o|0)==67){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183232,O);ra=0;i=h;return ra|0}else if((o|0)==81){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183376,P);ra=0;i=h;return ra|0}else if((o|0)==95){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183376,Q);ra=0;i=h;return ra|0}else if((o|0)==110){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183408,S);ra=0;i=h;return ra|0}else if((o|0)==124){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183456,Y);ra=0;i=h;return ra|0}else if((o|0)==135){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183376,ga);ra=0;i=h;return ra|0}else if((o|0)==144){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183488,ha);ra=0;i=h;return ra|0}else if((o|0)==148){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183488,ja);ra=0;i=h;return ra|0}else if((o|0)==153){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183488,r);ra=0;i=h;return ra|0}else if((o|0)==157){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183488,s);ra=0;i=h;return ra|0}else if((o|0)==159){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183488,t);ra=0;i=h;return ra|0}else if((o|0)==171){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183520,u);ra=0;i=h;return ra|0}else if((o|0)==180){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183568,v);ra=0;i=h;return ra|0}else if((o|0)==184){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183568,w);ra=0;i=h;return ra|0}else if((o|0)==189){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183568,x);ra=0;i=h;return ra|0}else if((o|0)==193){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183488,y);ra=0;i=h;return ra|0}else if((o|0)==195){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183568,z);ra=0;i=h;return ra|0}else if((o|0)==204){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183608,A);ra=0;i=h;return ra|0}else if((o|0)==208){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183608,B);ra=0;i=h;return ra|0}else if((o|0)==212){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183608,C);ra=0;i=h;return ra|0}else if((o|0)==215){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183656,D);ra=0;i=h;return ra|0}else if((o|0)==218){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183688,E);ra=0;i=h;return ra|0}else if((o|0)==221){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183720,F);ra=0;i=h;return ra|0}else if((o|0)==224){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183752,G);ra=0;i=h;return ra|0}else if((o|0)==225){if(!T){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183832,H);ra=0;i=h;return ra|0}if(!la){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183880,I);ra=0;i=h;return ra|0}if(!ma){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183928,J);ra=0;i=h;return ra|0}c:while(1){if(!(VD(b)|0)){j=0;o=249;break}d:while(1){n=c[k>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){o=241;break c}else if((n|0)!=255){continue}while(1){n=c[k>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){o=241;break c}else if((n|0)==0){continue d}else if((n|0)!=255){break d}}}if((n+ -48|0)>>>0>=16){if((n|0)==217){o=238;break}else if((n|0)==147|(n|0)==146|(n|0)==79){o=243;break}ra=c[k>>2]|0;if((jd[c[(c[ra>>2]|0)+20>>2]&511](ra)|0)==-1){o=241;break}ra=c[k>>2]|0;if((jd[c[(c[ra>>2]|0)+20>>2]&511](ra)|0)==-1){o=241;break}}if((n|0)==217){o=238;break}else if((n|0)!=144){o=243;break}}if((o|0)==238){if((da(c[d>>2]|0,c[e>>2]|0)|0)==0){ra=1;i=h;return ra|0}else{k=0}while(1){l=c[f>>2]|0;j=l+(k*52|0)|0;if((c[g>>2]|0)!=0){l=l+(k*52|0)+48|0;m=0;do{WD(b,(c[l>>2]|0)+(m*88|0)|0);m=m+1|0;}while(m>>>0<(c[g>>2]|0)>>>0)}k=k+1|0;if(!(XD(b,j)|0)){j=0;o=249;break}if(k>>>0>=(da(c[d>>2]|0,c[e>>2]|0)|0)>>>0){j=1;o=249;break}}if((o|0)==249){i=h;return j|0}}else if((o|0)==241){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183208,l);ra=0;i=h;return ra|0}else if((o|0)==243){Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183976,m);ra=0;i=h;return ra|0}else if((o|0)==249){i=h;return j|0}}return 0}function UD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;e=i;g=i;i=i+8|0;j=b+8|0;h=c[j>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;a:do{if((h|0)!=-1){f=c[j>>2]|0;f=jd[c[(c[f>>2]|0)+20>>2]&511](f)|0;if((f|0)==-1){break}f=(f&128|0)==0?f:f|-256;J=c[j>>2]|0;if((jd[c[(c[J>>2]|0)+20>>2]&511](J)|0)==-1){break}if((h|0)==1){h=c[j>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;if((h|0)==-1){break}k=c[j>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){break}l=c[j>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){break}m=c[j>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}h=k<<16|h<<24|l<<8|m;b:do{switch(h|0){case 23:case 22:case 21:case 20:case 24:case 18:case 17:case 16:case 13:case 12:case 11:case 9:case 4:case 3:case 1:case 0:{g=0;j=0;z=0;v=0;r=0;n=0;l=0;break};case 14:{if((d|0)==7){g=4470064;j=96;z=255;v=128;r=255;n=0;l=100;break b}else if((d|0)!=35){break a}m=c[j>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break a}l=c[j>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){break a}k=c[j>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){break a}d=c[j>>2]|0;d=jd[c[(c[d>>2]|0)+20>>2]&511](d)|0;if((d|0)==-1){break a}p=c[j>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break a}n=c[j>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){break a}q=c[j>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break a}o=c[j>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==-1){break a}r=c[j>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break a}u=c[j>>2]|0;u=jd[c[(c[u>>2]|0)+20>>2]&511](u)|0;if((u|0)==-1){break a}t=c[j>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){break a}s=c[j>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break a}w=c[j>>2]|0;w=jd[c[(c[w>>2]|0)+20>>2]&511](w)|0;if((w|0)==-1){break a}v=c[j>>2]|0;v=jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;if((v|0)==-1){break a}y=c[j>>2]|0;y=jd[c[(c[y>>2]|0)+20>>2]&511](y)|0;if((y|0)==-1){break a}x=c[j>>2]|0;x=jd[c[(c[x>>2]|0)+20>>2]&511](x)|0;if((x|0)==-1){break a}C=c[j>>2]|0;C=jd[c[(c[C>>2]|0)+20>>2]&511](C)|0;if((C|0)==-1){break a}B=c[j>>2]|0;B=jd[c[(c[B>>2]|0)+20>>2]&511](B)|0;if((B|0)==-1){break a}A=c[j>>2]|0;A=jd[c[(c[A>>2]|0)+20>>2]&511](A)|0;if((A|0)==-1){break a}z=c[j>>2]|0;z=jd[c[(c[z>>2]|0)+20>>2]&511](z)|0;if((z|0)==-1){break a}G=c[j>>2]|0;G=jd[c[(c[G>>2]|0)+20>>2]&511](G)|0;if((G|0)==-1){break a}D=c[j>>2]|0;D=jd[c[(c[D>>2]|0)+20>>2]&511](D)|0;if((D|0)==-1){break a}F=c[j>>2]|0;F=jd[c[(c[F>>2]|0)+20>>2]&511](F)|0;if((F|0)==-1){break a}E=c[j>>2]|0;E=jd[c[(c[E>>2]|0)+20>>2]&511](E)|0;if((E|0)==-1){break a}H=c[j>>2]|0;H=jd[c[(c[H>>2]|0)+20>>2]&511](H)|0;if((H|0)==-1){break a}I=c[j>>2]|0;I=jd[c[(c[I>>2]|0)+20>>2]&511](I)|0;if((I|0)==-1){break a}J=c[j>>2]|0;J=jd[c[(c[J>>2]|0)+20>>2]&511](J)|0;if((J|0)==-1){break a}j=c[j>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){break a}g=I<<16|H<<24|J<<8|j;j=D<<16|G<<24|F<<8|E;z=B<<16|C<<24|A<<8|z;v=v<<16|w<<24|y<<8|x;r=u<<16|r<<24|t<<8|s;n=n<<16|p<<24|q<<8|o;l=l<<16|m<<24|k<<8|d;break};default:{break a}}}while(0);k=b+72|0;d=b+36|0;do{if((a[k]&1)!=0){if((f|0)>(c[d>>2]|0)){break}else{b=1}i=e;return b|0}}while(0);c[b+32>>2]=1;c[d>>2]=f;c[b+40>>2]=h;c[b+44>>2]=l;c[b+48>>2]=n;c[b+52>>2]=r;c[b+56>>2]=v;c[b+60>>2]=z;c[b+64>>2]=j;c[b+68>>2]=g;a[k]=1;J=1;i=e;return J|0}else if((h|0)==4|(h|0)==3|(h|0)==2){f=d+ -3|0;if((f|0)==0){J=1;i=e;return J|0}else{h=0}while(1){J=c[j>>2]|0;h=h+1|0;if((jd[c[(c[J>>2]|0)+20>>2]&511](J)|0)==-1){break a}if(h>>>0<f>>>0){}else{b=1;break}}i=e;return b|0}else{J=1;i=e;return J|0}}}while(0);Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,183184,g);J=0;i=e;return J|0}function VD(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;f=i;F=i;i=i+8|0;G=F;C=i;i=i+8|0;B=i;i=i+8|0;A=i;i=i+8|0;z=i;i=i+8|0;y=i;i=i+8|0;x=i;i=i+8|0;w=i;i=i+8|0;v=i;i=i+8|0;u=i;i=i+8|0;t=i;i=i+8|0;s=i;i=i+8|0;r=i;i=i+8|0;q=i;i=i+8|0;o=i;i=i+8|0;n=i;i=i+8|0;m=i;i=i+8|0;l=i;i=i+8|0;I=i;i=i+8|0;H=i;i=i+8|0;E=i;i=i+8|0;h=i;i=i+8|0;j=i;i=i+8|0;D=d+8|0;k=c[D>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;do{if((k|0)!=-1){g=c[D>>2]|0;g=jd[c[(c[g>>2]|0)+20>>2]&511](g)|0;if((g|0)==-1){break}g=g|k<<8;k=c[D>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){break}L=c[D>>2]|0;L=jd[c[(c[L>>2]|0)+20>>2]&511](L)|0;if((L|0)==-1){break}K=c[D>>2]|0;K=jd[c[(c[K>>2]|0)+20>>2]&511](K)|0;if((K|0)==-1){break}J=c[D>>2]|0;J=jd[c[(c[J>>2]|0)+20>>2]&511](J)|0;if((J|0)==-1){break}k=L<<16|k<<24|K<<8|J;K=c[D>>2]|0;K=jd[c[(c[K>>2]|0)+20>>2]&511](K)|0;if((K|0)==-1){break}X=c[D>>2]|0;if((jd[c[(c[X>>2]|0)+20>>2]&511](X)|0)==-1){break}J=d+172|0;if(g>>>0>=(da(c[d+176>>2]|0,c[J>>2]|0)|0)>>>0){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,184048,h);X=0;i=f;return X|0}h=(k|0)==0;L=d+180|0;j=d+168|0;M=c[p>>2]|0;k=k+ -12|0;a:while(1){b:while(1){N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=21;break a}else if((N|0)!=255){continue}while(1){N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==0){continue b}else if((N|0)==-1){e=21;break a}else if((N|0)!=255){break b}}}do{if((N+ -48|0)>>>0<16){O=0}else{if((N|0)==79|(N|0)==146|(N|0)==147|(N|0)==217){O=0;break}P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=21;break a}O=c[D>>2]|0;O=jd[c[(c[O>>2]|0)+20>>2]&511](O)|0;if((O|0)==-1){e=21;break a}O=O|P<<8}}while(0);k=k+ -2-O|0;switch(N|0){case 93:{if((c[j>>2]|0)>>>0>256){Q=c[D>>2]|0;Q=jd[c[(c[Q>>2]|0)+20>>2]&511](Q)|0;if((Q|0)==-1){e=105;break a}N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=105;break a}P=c[j>>2]|0;if(P>>>0<257){e=101}else{N=N|Q<<8}}else{e=101}if((e|0)==101){e=0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=105;break a}P=c[j>>2]|0}if(N>>>0>=P>>>0){e=105;break a}Q=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=105;break a}c[Q+(N*88|0)+40>>2]=P;Q=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;P=c[Q+(N*88|0)+40>>2]&31;if((P|0)==0){c[Q+(N*88|0)+48>>2]=O-((c[j>>2]|0)>>>0>256?5:4);P=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;P=Ce(c[P+(N*88|0)+44>>2]|0,c[P+(N*88|0)+48>>2]|0,4)|0;c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+(N*88|0)+44>>2]=P;P=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;if((c[P+(N*88|0)+48>>2]|0)==0){continue a}else{O=0}while(1){Q=c[P+(N*88|0)+44>>2]|0;P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=109;break a}c[Q+(O<<2)>>2]=P;O=O+1|0;P=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;if(O>>>0>=(c[P+(N*88|0)+48>>2]|0)>>>0){continue a}}}else if((P|0)==1){c[Q+(N*88|0)+48>>2]=1;O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;O=Ce(c[O+(N*88|0)+44>>2]|0,c[O+(N*88|0)+48>>2]|0,4)|0;c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+(N*88|0)+44>>2]=O;O=c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+(N*88|0)+44>>2]|0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=114;break a}P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=114;break a}c[O>>2]=P|N<<8;continue a}else if((P|0)==2){c[Q+(N*88|0)+48>>2]=(O-((c[j>>2]|0)>>>0>256?5:4)|0)>>>1;P=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;P=Ce(c[P+(N*88|0)+44>>2]|0,c[P+(N*88|0)+48>>2]|0,4)|0;c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+(N*88|0)+44>>2]=P;P=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;if((c[P+(N*88|0)+48>>2]|0)==0){continue a}else{O=0}while(1){Q=(c[P+(N*88|0)+44>>2]|0)+(O<<2)|0;R=c[D>>2]|0;R=jd[c[(c[R>>2]|0)+20>>2]&511](R)|0;if((R|0)==-1){e=118;break a}P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=118;break a}c[Q>>2]=P|R<<8;O=O+1|0;P=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;if(O>>>0>=(c[P+(N*88|0)+48>>2]|0)>>>0){continue a}}}else{e=120;break a}break};case 82:{O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=35;break a}c[O+16>>2]=N;O=c[L>>2]|0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=35;break a}c[O+(g*52|0)>>2]=N;O=(c[L>>2]|0)+(g*52|0)+4|0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=35;break a}P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=35;break a}c[O>>2]=P|N<<8;O=c[L>>2]|0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=35;break a}c[O+(g*52|0)+8>>2]=N;O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=35;break a}c[O+20>>2]=N;O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=35;break a}c[O+24>>2]=N;O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=35;break a}c[O+28>>2]=N;O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=35;break a}c[O+32>>2]=N;O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=35;break a}c[O+36>>2]=N;X=(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+24|0;c[X>>2]=(c[X>>2]|0)+2;X=(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+28|0;c[X>>2]=(c[X>>2]|0)+2;if((c[j>>2]|0)==0){N=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;O=0}else{O=0;while(1){if((O|0)!=0){X=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;c[X+(O*88|0)+16>>2]=c[X+16>>2];X=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;c[X+(O*88|0)+20>>2]=c[X+20>>2];X=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;c[X+(O*88|0)+24>>2]=c[X+24>>2];X=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;c[X+(O*88|0)+28>>2]=c[X+28>>2];X=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;c[X+(O*88|0)+32>>2]=c[X+32>>2];X=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;c[X+(O*88|0)+36>>2]=c[X+36>>2]}N=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;N=Ce(c[N+(O*88|0)+84>>2]|0,(c[N+(O*88|0)+20>>2]|0)+1|0,76)|0;c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+(O*88|0)+84>>2]=N;N=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;P=0;do{c[(c[N+(O*88|0)+84>>2]|0)+(P*76|0)+72>>2]=0;P=P+1|0;N=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;}while(P>>>0<=(c[N+(O*88|0)+20>>2]|0)>>>0);O=O+1|0;if(O>>>0>=(c[j>>2]|0)>>>0){O=0;break}}}do{if((c[N+16>>2]&1|0)==0){c[(c[N+84>>2]|0)+(O*76|0)>>2]=15;c[(c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+84>>2]|0)+(O*76|0)+4>>2]=15}else{N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=45;break a}c[(c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+84>>2]|0)+(O*76|0)>>2]=N&15;c[(c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+84>>2]|0)+(O*76|0)+4>>2]=N>>>4&15}O=O+1|0;N=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;}while(O>>>0<=(c[N+20>>2]|0)>>>0);if((c[j>>2]|0)>>>0>1){O=1}else{continue a}while(1){P=0;do{c[(c[N+(O*88|0)+84>>2]|0)+(P*76|0)>>2]=c[(c[N+84>>2]|0)+(P*76|0)>>2];X=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;c[(c[X+(O*88|0)+84>>2]|0)+(P*76|0)+4>>2]=c[(c[X+84>>2]|0)+(P*76|0)+4>>2];P=P+1|0;N=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;}while(P>>>0<=(c[N+(O*88|0)+20>>2]|0)>>>0);O=O+1|0;if(O>>>0>=(c[j>>2]|0)>>>0){continue a}}break};case 88:{N=O+ -2|0;break};case 100:{N=O+ -2|0;if((N|0)==0){continue a}else{O=0}while(1){X=c[D>>2]|0;O=O+1|0;if((jd[c[(c[X>>2]|0)+20>>2]&511](X)|0)==-1){e=139;break a}if(O>>>0<N>>>0){}else{continue a}}break};case 83:{if((c[j>>2]|0)>>>0>256){N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=66;break a}P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=66;break a}O=c[j>>2]|0;if(O>>>0<257){e=57}else{N=P|N<<8}}else{e=57}if((e|0)==57){e=0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=66;break a}O=c[j>>2]|0}if(N>>>0>=O>>>0){e=66;break a}O=c[D>>2]|0;O=jd[c[(c[O>>2]|0)+20>>2]&511](O)|0;if((O|0)==-1){e=66;break a}Q=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=66;break a}c[Q+(N*88|0)+20>>2]=P;Q=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=66;break a}c[Q+(N*88|0)+24>>2]=P;Q=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=66;break a}c[Q+(N*88|0)+28>>2]=P;Q=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=66;break a}c[Q+(N*88|0)+32>>2]=P;Q=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=66;break a}c[Q+(N*88|0)+36>>2]=P;P=(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+(N*88|0)+16|0;c[P>>2]=c[P>>2]&-2|O&1;P=(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+(N*88|0)+24|0;c[P>>2]=(c[P>>2]|0)+2;P=(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+(N*88|0)+28|0;c[P>>2]=(c[P>>2]|0)+2;P=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;P=Ce(c[P+(N*88|0)+84>>2]|0,(c[P+(N*88|0)+20>>2]|0)+1|0,76)|0;c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+(N*88|0)+84>>2]=P;P=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;O=0;while(1){c[(c[P+(N*88|0)+84>>2]|0)+(O*76|0)+72>>2]=0;O=O+1|0;P=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;if(O>>>0>(c[P+(N*88|0)+20>>2]|0)>>>0){O=0;break}else{}}while(1){if((c[P+(N*88|0)+16>>2]&1|0)==0){c[(c[P+(N*88|0)+84>>2]|0)+(O*76|0)>>2]=15;c[(c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+(N*88|0)+84>>2]|0)+(O*76|0)+4>>2]=15}else{P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=71;break a}c[(c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+(N*88|0)+84>>2]|0)+(O*76|0)>>2]=P&15;c[(c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+(N*88|0)+84>>2]|0)+(O*76|0)+4>>2]=P>>>4&15}O=O+1|0;P=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;if(O>>>0>(c[P+(N*88|0)+20>>2]|0)>>>0){continue a}}break};case 95:{Rb(183640,4,1,M|0)|0;N=O+ -2|0;if((N|0)==0){continue a}else{O=0}while(1){X=c[D>>2]|0;O=O+1|0;if((jd[c[(c[X>>2]|0)+20>>2]&511](X)|0)==-1){e=128;break a}if(O>>>0<N>>>0){}else{continue a}}break};case 97:{Rb(184120,4,1,M|0)|0;N=O+ -2|0;if((N|0)==0){continue a}else{O=0}while(1){X=c[D>>2]|0;O=O+1|0;if((jd[c[(c[X>>2]|0)+20>>2]&511](X)|0)==-1){e=132;break a}if(O>>>0<N>>>0){}else{break}}break};case 94:{Rb(183600,4,1,M|0)|0;N=O+ -2|0;if((N|0)==0){continue a}else{O=0}while(1){X=c[D>>2]|0;O=O+1|0;if((jd[c[(c[X>>2]|0)+20>>2]&511](X)|0)==-1){e=124;break a}if(O>>>0<N>>>0){}else{continue a}}break};case 147:{e=142;break a};case 92:{P=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=76;break a}c[P+40>>2]=N;N=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;P=c[N+40>>2]&31;do{if((P|0)==2){c[N+48>>2]=(O+ -3|0)>>>1;O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;O=Ce(c[O+44>>2]|0,c[O+48>>2]|0,4)|0;c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+44>>2]=O;O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;if((c[O+48>>2]|0)==0){break}else{N=0}do{P=(c[O+44>>2]|0)+(N<<2)|0;O=c[D>>2]|0;O=jd[c[(c[O>>2]|0)+20>>2]&511](O)|0;if((O|0)==-1){e=89;break a}Q=c[D>>2]|0;Q=jd[c[(c[Q>>2]|0)+20>>2]&511](Q)|0;if((Q|0)==-1){e=89;break a}c[P>>2]=Q|O<<8;N=N+1|0;O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;}while(N>>>0<(c[O+48>>2]|0)>>>0)}else if((P|0)==1){c[N+48>>2]=1;O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;O=Ce(c[O+44>>2]|0,c[O+48>>2]|0,4)|0;c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+44>>2]=O;O=c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+44>>2]|0;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){e=85;break a}P=c[D>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;if((P|0)==-1){e=85;break a}c[O>>2]=P|N<<8}else if((P|0)==0){c[N+48>>2]=O+ -3;O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;O=Ce(c[O+44>>2]|0,c[O+48>>2]|0,4)|0;c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+44>>2]=O;O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;if((c[O+48>>2]|0)==0){break}else{N=0}do{P=c[O+44>>2]|0;O=c[D>>2]|0;O=jd[c[(c[O>>2]|0)+20>>2]&511](O)|0;if((O|0)==-1){e=80;break a}c[P+(N<<2)>>2]=O;N=N+1|0;O=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;}while(N>>>0<(c[O+48>>2]|0)>>>0)}else{e=91;break a}}while(0);if((c[j>>2]|0)>>>0<=1){continue a}Q=c[L>>2]|0;N=1;while(1){Q=c[Q+(g*52|0)+48>>2]|0;c[Q+(N*88|0)+40>>2]=c[Q+40>>2];Q=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;c[Q+(N*88|0)+48>>2]=c[Q+48>>2];Q=c[(c[L>>2]|0)+(g*52|0)+48>>2]|0;Q=Ce(c[Q+(N*88|0)+44>>2]|0,c[Q+48>>2]|0,4)|0;c[(c[(c[L>>2]|0)+(g*52|0)+48>>2]|0)+(N*88|0)+44>>2]=Q;Q=c[L>>2]|0;O=c[Q+(g*52|0)+48>>2]|0;if((c[O+48>>2]|0)!=0){P=0;while(1){c[(c[O+(N*88|0)+44>>2]|0)+(P<<2)>>2]=c[(c[O+44>>2]|0)+(P<<2)>>2];P=P+1|0;Q=c[L>>2]|0;O=c[Q+(g*52|0)+48>>2]|0;if(P>>>0<(c[O+48>>2]|0)>>>0){}else{break}}}N=N+1|0;if(N>>>0>=(c[j>>2]|0)>>>0){continue a}}break};default:{X=jd[c[(c[d>>2]|0)+48>>2]&511](d)|0;c[F>>2]=N;Qe(X,184192,G);N=O+ -2|0;if((N|0)==0){continue a}else{O=0}while(1){X=c[D>>2]|0;O=O+1|0;if((jd[c[(c[X>>2]|0)+20>>2]&511](X)|0)!=-1&O>>>0<N>>>0){}else{continue a}}}}if((N|0)==0){continue}else{O=0}while(1){X=c[D>>2]|0;O=O+1|0;if((jd[c[(c[X>>2]|0)+20>>2]&511](X)|0)==-1){e=136;break a}if(O>>>0<N>>>0){}else{continue a}}}if((e|0)==21){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,184080,E);X=0;i=f;return X|0}else if((e|0)==35){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183376,H);X=0;i=f;return X|0}else if((e|0)==45){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183376,I);X=0;i=f;return X|0}else if((e|0)==66){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183456,l);X=0;i=f;return X|0}else if((e|0)==71){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183376,m);X=0;i=f;return X|0}else if((e|0)==76){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183488,n);X=0;i=f;return X|0}else if((e|0)==80){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183488,o);X=0;i=f;return X|0}else if((e|0)==85){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183488,q);X=0;i=f;return X|0}else if((e|0)==89){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183488,r);X=0;i=f;return X|0}else if((e|0)==91){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183488,s);X=0;i=f;return X|0}else if((e|0)==105){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183568,t);X=0;i=f;return X|0}else if((e|0)==109){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183568,u);X=0;i=f;return X|0}else if((e|0)==114){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183568,v);X=0;i=f;return X|0}else if((e|0)==118){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183488,w);X=0;i=f;return X|0}else if((e|0)==120){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183568,x);X=0;i=f;return X|0}else if((e|0)==124){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183608,y);X=0;i=f;return X|0}else if((e|0)==128){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183608,z);X=0;i=f;return X|0}else if((e|0)==132){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,184128,A);X=0;i=f;return X|0}else if((e|0)==136){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,184160,B);X=0;i=f;return X|0}else if((e|0)==139){Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,183752,C);X=0;i=f;return X|0}else if((e|0)==142){c:do{if((K|0)==0){r=c[L>>2]|0;t=c[J>>2]|0;o=(g>>>0)/(t>>>0)|0;t=(g>>>0)%(t>>>0)|0;n=d+160|0;u=d+152|0;q=(da(c[u>>2]|0,t)|0)+(c[n>>2]|0)|0;l=r+(g*52|0)+12|0;c[l>>2]=q;m=c[d+144>>2]|0;c[l>>2]=q>>>0<m>>>0?m:q;s=d+164|0;q=d+156|0;w=(da(c[q>>2]|0,o)|0)+(c[s>>2]|0)|0;m=r+(g*52|0)+16|0;c[m>>2]=w;v=c[d+148>>2]|0;c[m>>2]=w>>>0<v>>>0?v:w;u=(da(c[u>>2]|0,t+1|0)|0)+(c[n>>2]|0)|0;n=r+(g*52|0)+20|0;c[n>>2]=u;t=c[d+136>>2]|0;c[n>>2]=u>>>0>t>>>0?t:u;q=(da(c[q>>2]|0,o+1|0)|0)+(c[s>>2]|0)|0;o=r+(g*52|0)+24|0;c[o>>2]=q;s=c[d+140>>2]|0;c[o>>2]=q>>>0>s>>>0?s:q;q=r+(g*52|0)+28|0;bX(q|0,0,20)|0;if((c[j>>2]|0)==0){break}r=r+(g*52|0)+48|0;u=0;t=0;while(1){C=c[r>>2]|0;s=C+(t*88|0)+20|0;v=c[s>>2]|0;if(v>>>0>u>>>0){c[q>>2]=v}W=c[C+(t*88|0)+8>>2]|0;D=(((c[l>>2]|0)+ -1+W|0)>>>0)/(W>>>0)|0;v=C+(t*88|0)+52|0;c[v>>2]=D;X=(((c[m>>2]|0)+ -1+W|0)>>>0)/(W>>>0)|0;B=C+(t*88|0)+56|0;c[B>>2]=X;E=(((c[n>>2]|0)+ -1+W|0)>>>0)/(W>>>0)|0;y=C+(t*88|0)+60|0;c[y>>2]=E;W=(((c[o>>2]|0)+ -1+W|0)>>>0)/(W>>>0)|0;A=C+(t*88|0)+64|0;c[A>>2]=W;w=C+(t*88|0)+24|0;x=C+(t*88|0)+68|0;c[x>>2]=1<<c[w>>2];u=C+(t*88|0)+28|0;z=C+(t*88|0)+72|0;c[z>>2]=1<<c[u>>2];c[C+(t*88|0)+76>>2]=ye(da(W-X|0,E-D|0)|0,4)|0;D=(c[y>>2]|0)-(c[v>>2]|0)|0;E=(c[A>>2]|0)-(c[B>>2]|0)|0;c[C+(t*88|0)+80>>2]=ye((D>>>0>E>>>0?D:E)+8|0,4)|0;E=C+(t*88|0)+84|0;P=c[s>>2]|0;C=0;do{D=c[E>>2]|0;F=(C|0)==0;if(!F){P=1-C+P|0}K=(1<<P)+ -1|0;O=(K+(c[v>>2]|0)|0)>>>P;H=D+(C*76|0)+8|0;c[H>>2]=O;L=(K+(c[B>>2]|0)|0)>>>P;G=D+(C*76|0)+12|0;c[G>>2]=L;N=(K+(c[y>>2]|0)|0)>>>P;J=D+(C*76|0)+16|0;c[J>>2]=N;M=(K+(c[A>>2]|0)|0)>>>P;I=D+(C*76|0)+20|0;c[I>>2]=M;if(F){c[D+24>>2]=O;c[D+36>>2]=c[G>>2];c[D+48>>2]=c[J>>2];c[D+60>>2]=c[I>>2]}else{X=K+(-1<<P+ -1)|0;c[D+(C*76|0)+24>>2]=(X+(c[v>>2]|0)|0)>>>P;c[D+(C*76|0)+36>>2]=L;c[D+(C*76|0)+48>>2]=(X+(c[y>>2]|0)|0)>>>P;c[D+(C*76|0)+60>>2]=M;c[D+(C*76|0)+28>>2]=O;c[D+(C*76|0)+40>>2]=(X+(c[B>>2]|0)|0)>>>P;c[D+(C*76|0)+52>>2]=N;c[D+(C*76|0)+64>>2]=(X+(c[A>>2]|0)|0)>>>P;c[D+(C*76|0)+32>>2]=(X+(c[v>>2]|0)|0)>>>P;c[D+(C*76|0)+44>>2]=(X+(c[B>>2]|0)|0)>>>P;c[D+(C*76|0)+56>>2]=(X+(c[y>>2]|0)|0)>>>P;c[D+(C*76|0)+68>>2]=(X+(c[A>>2]|0)|0)>>>P}K=ye(1,20)|0;c[D+(C*76|0)+72>>2]=K;F=F?1:3;c[K>>2]=c[H>>2];c[K+4>>2]=c[G>>2];c[K+8>>2]=c[J>>2];c[K+12>>2]=c[I>>2];O=ye(F,40)|0;G=K+16|0;c[G>>2]=O;N=0;while(1){H=c[D+(C*76|0)+24+(N<<2)>>2]|0;L=O+(N*40|0)|0;c[L>>2]=H;M=c[D+(C*76|0)+36+(N<<2)>>2]|0;J=O+(N*40|0)+4|0;c[J>>2]=M;Q=c[D+(C*76|0)+48+(N<<2)>>2]|0;K=O+(N*40|0)+8|0;c[K>>2]=Q;R=c[D+(C*76|0)+60+(N<<2)>>2]|0;I=O+(N*40|0)+12|0;c[I>>2]=R;P=c[w>>2]|0;P=((Q+ -1+(1<<P)|0)>>>P)-(H>>>P)|0;H=O+(N*40|0)+16|0;c[H>>2]=P;Q=c[u>>2]|0;Q=((R+ -1+(1<<Q)|0)>>>Q)-(M>>>Q)|0;M=O+(N*40|0)+20|0;c[M>>2]=Q;R=O+(N*40|0)+24|0;c[R>>2]=0;T=(P>>>0>Q>>>0?P:Q)+ -1|0;if((T|0)==0){S=0;R=0;e=157}else{S=0;do{S=S+1|0;T=T>>>1;}while((T|0)!=0);c[R>>2]=S;if((S|0)>-1){R=0;e=157}else{R=0}}if((e|0)==157){while(1){e=0;X=(1<<S)+ -1|0;R=(da((X+Q|0)>>>S,(X+P|0)>>>S)|0)+R|0;if((S|0)>0){S=S+ -1|0;e=157}else{break}}}P=O+(N*40|0)+28|0;c[P>>2]=ye(R,8)|0;Q=O+(N*40|0)+32|0;c[Q>>2]=ye(R,8)|0;if((R|0)!=0){S=0;do{a[(c[P>>2]|0)+(S<<3)|0]=0;c[(c[P>>2]|0)+(S<<3)+4>>2]=0;a[(c[Q>>2]|0)+(S<<3)|0]=0;c[(c[Q>>2]|0)+(S<<3)+4>>2]=0;S=S+1|0;}while(S>>>0<R>>>0)}R=ye(da(c[M>>2]|0,c[H>>2]|0)|0,56)|0;c[O+(N*40|0)+36>>2]=R;O=(c[L>>2]|0)>>>(c[w>>2]|0);P=(c[J>>2]|0)>>>(c[u>>2]|0);S=c[M>>2]|0;if((S|0)!=0){T=c[H>>2]|0;Q=0;do{if((T|0)==0){T=0}else{S=Q+P|0;T=0;do{X=T+O<<c[w>>2];c[R>>2]=X;V=X+(c[x>>2]|0)|0;U=R+8|0;c[U>>2]=V;W=c[L>>2]|0;if(W>>>0>X>>>0){c[R>>2]=W}W=c[K>>2]|0;if(W>>>0<V>>>0){c[U>>2]=W}Y=S<<c[u>>2];W=R+4|0;c[W>>2]=Y;U=Y+(c[z>>2]|0)|0;V=R+12|0;c[V>>2]=U;X=c[J>>2]|0;if(X>>>0>Y>>>0){c[W>>2]=X}W=c[I>>2]|0;if(W>>>0<U>>>0){c[V>>2]=W}a[R+16|0]=0;c[R+20>>2]=3;c[R+24>>2]=2;c[R+28>>2]=0;U=ye(1<<(c[u>>2]|0)+(c[w>>2]|0),8)|0;V=R+44|0;c[V>>2]=U;W=0;while(1){b[U+(W<<3)>>1]=0;b[(c[V>>2]|0)+(W<<3)+2>>1]=0;c[(c[V>>2]|0)+(W<<3)+4>>2]=0;W=W+1|0;if(W>>>0>=1<<(c[u>>2]|0)+(c[w>>2]|0)>>>0){break}U=c[V>>2]|0}c[R+48>>2]=0;c[R+52>>2]=0;R=R+56|0;T=T+1|0;U=c[H>>2]|0;}while(T>>>0<U>>>0);S=c[M>>2]|0;T=U}Q=Q+1|0;}while(Q>>>0<S>>>0)}N=N+1|0;if(N>>>0>=F>>>0){break}O=c[G>>2]|0}C=C+1|0;P=c[s>>2]|0;}while(C>>>0<=P>>>0);t=t+1|0;if(t>>>0>=(c[j>>2]|0)>>>0){break c}u=c[q>>2]|0}}}while(0);Y=YD(d,g,k,h)|0;i=f;return Y|0}}}while(0);Qe(jd[c[(c[d>>2]|0)+48>>2]&511](d)|0,184016,j);Y=0;i=f;return Y|0}function WD(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=i;g=d+84|0;k=c[(c[(c[g>>2]|0)+72>>2]|0)+16>>2]|0;h=c[d+40>>2]|0;l=h>>>5&7;h=(h&31|0)==0;if(h){j=0.0;m=l+ -1+((c[c[d+44>>2]>>2]|0)>>>3&31)|0}else{j=+((c[c[d+44>>2]>>2]&2047|2048)>>>0)*.00048828125;m=l+ -1+(c[d+4>>2]|0)|0}l=d+36|0;n=(c[l>>2]|0)==0?m+16|0:m;o=k+20|0;v=c[o>>2]|0;if((v|0)!=0){q=k+16|0;m=k+4|0;r=d+60|0;s=d+52|0;p=d+76|0;t=d+68|0;x=c[q>>2]|0;y=x;u=0;w=c[k+36>>2]|0;do{if((x|0)==0){x=0}else{v=0;while(1){B=c[w+4>>2]|0;x=w+12|0;C=c[x>>2]|0;if(B>>>0<C>>>0){y=w+8|0;z=w+28|0;F=c[y>>2]|0;A=c[w+44>>2]|0;while(1){D=da((c[r>>2]|0)-(c[s>>2]|0)|0,B-(c[m>>2]|0)|0)|0;E=c[w>>2]|0;D=(c[p>>2]|0)+(E-(c[k>>2]|0)+D<<2)|0;if(E>>>0<F>>>0){if(h){C=A;while(1){G=c[C+4>>2]|0;if((G|0)==0){F=0}else{F=n-(c[z>>2]|0)-(e[C+2>>1]|0)|0;if((F|0)>0){F=(1<<F+ -1)+(G<<F)|0}else{F=G>>0-F}F=(c[l>>2]|0)==0?F&-65536:F;F=(b[C>>1]&128)==0?F:0-F|0}c[D>>2]=F;E=E+1|0;F=c[y>>2]|0;if(E>>>0<F>>>0){C=C+8|0;D=D+4|0}else{break}}}else{C=A;while(1){G=c[C+4>>2]|0;if((G|0)==0){F=0}else{F=n-(c[z>>2]|0)-(e[C+2>>1]|0)|0;if((F|0)>0){F=(1<<F+ -1)+(G<<F)|0}else{F=G>>0-F}F=~~(j*+(F|0));F=(b[C>>1]&128)==0?F:0-F|0}c[D>>2]=F;E=E+1|0;F=c[y>>2]|0;if(E>>>0<F>>>0){C=C+8|0;D=D+4|0}else{break}}}C=c[x>>2]|0}B=B+1|0;if(B>>>0>=C>>>0){break}A=A+(c[t>>2]<<3)|0}x=c[q>>2]|0}else{x=y}w=w+56|0;v=v+1|0;if(v>>>0<x>>>0){y=x}else{break}}y=x;v=c[o>>2]|0}u=u+1|0;}while(u>>>0<v>>>0)}l=d+20|0;r=c[l>>2]|0;if((r|0)==0){i=f;return}n=d+52|0;k=d+56|0;m=d+60|0;h=d+64|0;p=1;while(1){q=c[g>>2]|0;o=p+1|0;if((p|0)==(r|0)){s=n;u=m;r=k;t=h}else{s=q+(o*76|0)+8|0;u=q+(o*76|0)+16|0;r=q+(o*76|0)+12|0;t=q+(o*76|0)+20|0}_D(a,d,p,q+(p*76|0)|0,c[s>>2]|0,c[r>>2]|0,c[u>>2]|0,c[t>>2]|0);r=c[l>>2]|0;if(o>>>0>r>>>0){break}else{p=o}}i=f;return}function XD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0;e=i;b=b+168|0;do{if((c[d+8>>2]|0)==1){if((c[b>>2]|0)>>>0<3){u=0;i=e;return u|0}f=d+48|0;h=c[f>>2]|0;j=c[h+8>>2]|0;if((j|0)!=(c[h+96>>2]|0)){u=0;i=e;return u|0}g=c[h+12>>2]|0;if((g|0)!=(c[h+100>>2]|0)){u=0;i=e;return u|0}if((j|0)!=(c[h+184>>2]|0)){u=0;i=e;return u|0}if((g|0)!=(c[h+188>>2]|0)){u=0;i=e;return u|0}g=(c[h+64>>2]|0)==(c[h+56>>2]|0);if((c[h+36>>2]|0)==0){if(g){break}else{j=0;g=0}do{if((c[h+60>>2]|0)!=(c[h+52>>2]|0)){k=h;h=0;while(1){t=(c[k+76>>2]|0)+(j<<2)|0;u=c[(c[k+164>>2]|0)+(j<<2)>>2]|0;w=+(c[t>>2]|0);x=+(c[(c[k+252>>2]|0)+(j<<2)>>2]|0);c[t>>2]=~~(w+x*1.402+.5);v=+(u|0);c[(c[(c[f>>2]|0)+164>>2]|0)+(j<<2)>>2]=~~(w-v*.34413-x*.71414+.5);c[(c[(c[f>>2]|0)+252>>2]|0)+(j<<2)>>2]=~~(w+v*1.772+.5);j=j+1|0;h=h+1|0;k=c[f>>2]|0;if(h>>>0<((c[k+60>>2]|0)-(c[k+52>>2]|0)|0)>>>0){}else{h=k;break}}}g=g+1|0;}while(g>>>0<((c[h+64>>2]|0)-(c[h+56>>2]|0)|0)>>>0)}else{if(g){break}else{j=0;g=0}do{if((c[h+60>>2]|0)!=(c[h+52>>2]|0)){k=0;while(1){s=(c[h+164>>2]|0)+(j<<2)|0;u=c[s>>2]|0;t=c[(c[h+252>>2]|0)+(j<<2)>>2]|0;h=(c[(c[h+76>>2]|0)+(j<<2)>>2]|0)-(t+u>>2)|0;c[s>>2]=h;c[(c[(c[f>>2]|0)+76>>2]|0)+(j<<2)>>2]=h+t;c[(c[(c[f>>2]|0)+252>>2]|0)+(j<<2)>>2]=h+u;j=j+1|0;k=k+1|0;h=c[f>>2]|0;if(k>>>0<((c[h+60>>2]|0)-(c[h+52>>2]|0)|0)>>>0){}else{break}}}g=g+1|0;}while(g>>>0<((c[h+64>>2]|0)-(c[h+56>>2]|0)|0)>>>0)}}}while(0);if((c[b>>2]|0)==0){u=1;i=e;return u|0}d=d+48|0;f=0;while(1){o=c[d>>2]|0;h=c[o+(f*88|0)+4>>2]|0;do{if((a[o+(f*88|0)|0]&1)==0){g=(1<<h)+ -1|0;l=1<<h+ -1;k=o+(f*88|0)+64|0;r=c[k>>2]|0;j=o+(f*88|0)+56|0;p=c[j>>2]|0;if((r|0)==(p|0)){break}h=o+(f*88|0)+60|0;n=o+(f*88|0)+52|0;m=o+(f*88|0)+36|0;s=c[n>>2]|0;t=c[h>>2]|0;u=c[o+(f*88|0)+76>>2]|0;o=0;while(1){if((t|0)==(s|0)){q=s;t=s}else{p=0;while(1){q=c[u>>2]|0;q=((c[m>>2]|0)==0?q>>16:q)+l|0;if((q|0)<0){q=0}else{q=(q|0)>(g|0)?g:q}s=u+4|0;c[u>>2]=q;p=p+1|0;t=c[h>>2]|0;q=c[n>>2]|0;if(p>>>0<(t-q|0)>>>0){u=s}else{break}}p=c[j>>2]|0;r=c[k>>2]|0;u=s}o=o+1|0;if(o>>>0<(r-p|0)>>>0){s=q}else{break}}}else{h=1<<h+ -1;l=0-h|0;h=h+ -1|0;k=o+(f*88|0)+64|0;p=c[k>>2]|0;j=o+(f*88|0)+56|0;r=c[j>>2]|0;if((p|0)==(r|0)){break}m=o+(f*88|0)+60|0;n=o+(f*88|0)+52|0;g=o+(f*88|0)+36|0;s=c[n>>2]|0;t=c[m>>2]|0;u=c[o+(f*88|0)+76>>2]|0;o=0;while(1){if((t|0)==(s|0)){q=s;t=s}else{p=0;while(1){q=c[u>>2]|0;q=(c[g>>2]|0)==0?q>>16:q;if((q|0)<(l|0)){q=l}else{q=(q|0)>(h|0)?h:q}s=u+4|0;c[u>>2]=q;p=p+1|0;t=c[m>>2]|0;q=c[n>>2]|0;if(p>>>0<(t-q|0)>>>0){u=s}else{break}}r=c[j>>2]|0;p=c[k>>2]|0;u=s}o=o+1|0;if(o>>>0<(p-r|0)>>>0){s=q}else{break}}}}while(0);f=f+1|0;if(f>>>0>=(c[b>>2]|0)>>>0){b=1;break}}i=e;return b|0}function YD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;g=i;j=i;i=i+8|0;x=c[b+180>>2]|0;o=f^1;if((e|0)==0&o){V=1;i=g;return V|0}l=x+(d*52|0)+32|0;s=x+(d*52|0)+48|0;q=x+(d*52|0)+36|0;t=x+(d*52|0)+40|0;r=b+188|0;u=b+192|0;v=b+196|0;f=b+8|0;w=b+184|0;k=x+(d*52|0)|0;m=b+168|0;p=x+(d*52|0)+28|0;n=x+(d*52|0)+44|0;x=x+(d*52|0)+4|0;A=c[q>>2]|0;a:while(1){z=c[l>>2]|0;V=c[s>>2]|0;d=V+(z*88|0)|0;y=c[t>>2]|0;z=c[(c[V+(z*88|0)+84>>2]|0)+(A*76|0)+72>>2]|0;c[r>>2]=0;a[u]=0;c[v>>2]=e;do{if((e|0)==0){break a}A=c[f>>2]|0;A=jd[c[(c[A>>2]|0)+20>>2]&511](A)|0;if((A|0)==-1){break a}e=(c[v>>2]|0)+ -1|0;c[v>>2]=e;B=c[w>>2]|0;if((a[u]&1)==0){B=B<<8|A&255;c[w>>2]=B;C=(c[r>>2]|0)+8|0}else{B=B<<7|A&127;c[w>>2]=B;C=(c[r>>2]|0)+7|0}c[r>>2]=C;a[u]=(A|0)==255|0;}while((C|0)<1);V=C+ -1|0;c[r>>2]=V;A=z+(y*20|0)+16|0;if((1<<V&B|0)==0){D=0;do{E=c[A>>2]|0;B=E+(D*40|0)+20|0;F=c[B>>2]|0;if((F|0)!=0){C=E+(D*40|0)+16|0;E=E+(D*40|0)+36|0;G=c[C>>2]|0;e=0;do{if((G|0)==0){G=0}else{F=0;do{V=(da(G,e)|0)+F|0;c[(c[E>>2]|0)+(V*56|0)+32>>2]=0;F=F+1|0;G=c[C>>2]|0;}while(F>>>0<G>>>0);F=c[B>>2]|0}e=e+1|0;}while(e>>>0<F>>>0)}D=D+1|0;}while(D>>>0<((c[q>>2]|0)==0?1:3)>>>0)}else{e=0;do{G=c[A>>2]|0;B=G+(e*40|0)+20|0;I=c[B>>2]|0;if((I|0)!=0){D=G+(e*40|0)+16|0;F=G+(e*40|0)+36|0;E=G+(e*40|0)+24|0;C=G+(e*40|0)+28|0;G=G+(e*40|0)+32|0;J=c[D>>2]|0;O=J;H=0;do{if((J|0)==0){J=0}else{I=0;while(1){K=(da(J,H)|0)+I|0;J=c[F>>2]|0;do{if((c[J+(K*56|0)>>2]|0)>>>0<(c[J+(K*56|0)+8>>2]|0)>>>0){if((c[J+(K*56|0)+4>>2]|0)>>>0>=(c[J+(K*56|0)+12>>2]|0)>>>0){h=23;break}L=J+(K*56|0)+16|0;if((a[L]&1)==0){N=c[E>>2]|0;b:do{if((N|0)>-1){M=0;R=0;while(1){Q=(1<<N)+ -1|0;P=(Q+O|0)>>>N;O=(Q+(c[B>>2]|0)|0)>>>N;Q=(I>>>N)+M+(da(P,H>>>N)|0)|0;U=c[C>>2]|0;T=a[U+(Q<<3)|0]|0;V=U+(Q<<3)+4|0;S=c[V>>2]|0;if((T&1)==0&(S|0)==0){c[V>>2]=R;U=c[C>>2]|0;T=a[U+(Q<<3)|0]|0}else{R=S}c:do{if((T&1)==0){do{while(1){if(R>>>0>(c[n>>2]|0)>>>0){break c}U=c[r>>2]|0;if((U|0)<1){S=c[v>>2]|0;while(1){if((S|0)==0){break a}T=c[f>>2]|0;T=jd[c[(c[T>>2]|0)+20>>2]&511](T)|0;if((T|0)==-1){break a}S=(c[v>>2]|0)+ -1|0;c[v>>2]=S;U=c[w>>2]|0;if((a[u]&1)==0){V=U<<8|T&255;c[w>>2]=V;U=(c[r>>2]|0)+8|0}else{V=U<<7|T&127;c[w>>2]=V;U=(c[r>>2]|0)+7|0}c[r>>2]=U;a[u]=(T|0)==255|0;if((U|0)>=1){S=V;break}}}else{S=c[w>>2]|0}V=U+ -1|0;c[r>>2]=V;if((1<<V&S|0)==0){break}a[(c[C>>2]|0)+(Q<<3)|0]=1;U=c[C>>2]|0;if((a[U+(Q<<3)|0]&1)!=0){break c}}R=R+1|0;U=c[C>>2]|0;}while((a[U+(Q<<3)|0]&1)==0)}}while(0);c[U+(Q<<3)+4>>2]=R;if(R>>>0>(c[n>>2]|0)>>>0){break b}Q=N+ -1|0;if((N|0)<=0){N=Q;break b}N=(da(O,P)|0)+M|0;O=c[D>>2]|0;M=N;N=Q}}}while(0);M=N>>>31;c[J+(K*56|0)+32>>2]=M}else{M=J+(K*56|0)+32|0;P=c[r>>2]|0;if((P|0)<1){O=c[v>>2]|0;do{if((O|0)==0){break a}N=c[f>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){break a}O=(c[v>>2]|0)+ -1|0;c[v>>2]=O;P=c[w>>2]|0;if((a[u]&1)==0){Q=P<<8|N&255;c[w>>2]=Q;P=(c[r>>2]|0)+8|0}else{Q=P<<7|N&127;c[w>>2]=Q;P=(c[r>>2]|0)+7|0}c[r>>2]=P;a[u]=(N|0)==255|0;}while((P|0)<1)}else{Q=c[w>>2]|0}c[M>>2]=Q>>>(P+ -1|0)&1;c[r>>2]=(c[r>>2]|0)+ -1;M=c[M>>2]|0}if((M|0)==0){break}if((a[L]&1)==0){L=c[E>>2]|0;if((L|0)>-1){M=0;Q=0;while(1){O=(1<<L)+ -1|0;N=(O+(c[D>>2]|0)|0)>>>L;O=(O+(c[B>>2]|0)|0)>>>L;P=(I>>>L)+M+(da(N,H>>>L)|0)|0;S=c[G>>2]|0;T=a[S+(P<<3)|0]|0;U=S+(P<<3)+4|0;R=c[U>>2]|0;if((T&1)==0&(R|0)==0){c[U>>2]=Q;S=c[G>>2]|0;T=a[S+(P<<3)|0]|0}else{Q=R}d:do{if((T&1)==0){do{while(1){R=c[r>>2]|0;if((R|0)<1){S=c[v>>2]|0;while(1){if((S|0)==0){break a}T=c[f>>2]|0;T=jd[c[(c[T>>2]|0)+20>>2]&511](T)|0;if((T|0)==-1){break a}S=(c[v>>2]|0)+ -1|0;c[v>>2]=S;R=c[w>>2]|0;if((a[u]&1)==0){U=R<<8|T&255;c[w>>2]=U;R=(c[r>>2]|0)+8|0}else{U=R<<7|T&127;c[w>>2]=U;R=(c[r>>2]|0)+7|0}c[r>>2]=R;a[u]=(T|0)==255|0;if((R|0)>=1){S=U;break}}}else{S=c[w>>2]|0}V=R+ -1|0;c[r>>2]=V;if((1<<V&S|0)==0){break}a[(c[G>>2]|0)+(P<<3)|0]=1;S=c[G>>2]|0;if((a[S+(P<<3)|0]&1)!=0){break d}}Q=Q+1|0;S=c[G>>2]|0;}while((a[S+(P<<3)|0]&1)==0)}}while(0);c[S+(P<<3)+4>>2]=Q;M=(da(O,N)|0)+M|0;if((L|0)>0){L=L+ -1|0}else{break}}}else{Q=0}c[J+(K*56|0)+28>>2]=Q}N=c[r>>2]|0;if((N|0)<1){N=c[v>>2]|0;while(1){if((N|0)==0){break a}M=c[f>>2]|0;M=jd[c[(c[M>>2]|0)+20>>2]&511](M)|0;if((M|0)==-1){break a}N=(c[v>>2]|0)+ -1|0;c[v>>2]=N;L=c[w>>2]|0;if((a[u]&1)==0){L=L<<8|M&255;c[w>>2]=L;O=(c[r>>2]|0)+8|0}else{L=L<<7|M&127;c[w>>2]=L;O=(c[r>>2]|0)+7|0}c[r>>2]=O;a[u]=(M|0)==255|0;if((O|0)>=1){N=O;break}}}else{L=c[w>>2]|0}M=N+ -1|0;c[r>>2]=M;do{if((1<<M&L|0)==0){c[J+(K*56|0)+36>>2]=1}else{if((N|0)<2){M=c[v>>2]|0;while(1){if((M|0)==0){break a}N=c[f>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){break a}M=(c[v>>2]|0)+ -1|0;c[v>>2]=M;L=c[w>>2]|0;if((a[u]&1)==0){L=L<<8|N&255;c[w>>2]=L;O=(c[r>>2]|0)+8|0}else{L=L<<7|N&127;c[w>>2]=L;O=(c[r>>2]|0)+7|0}c[r>>2]=O;a[u]=(N|0)==255|0;if((O|0)>=1){M=O;break}}}N=M+ -1|0;c[r>>2]=N;if((1<<N&L|0)==0){c[J+(K*56|0)+36>>2]=2;break}if((M|0)<3){M=c[v>>2]|0;while(1){if((M|0)==0){break a}N=c[f>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){break a}M=(c[v>>2]|0)+ -1|0;c[v>>2]=M;L=c[w>>2]|0;if((a[u]&1)==0){L=L<<8|N&255;c[w>>2]=L;O=(c[r>>2]|0)+8|0}else{L=L<<7|N&127;c[w>>2]=L;O=(c[r>>2]|0)+7|0}c[r>>2]=O;a[u]=(N|0)==255|0;if((O|0)>=2){M=O;break}}}else{M=N}O=M+ -2|0;M=L>>>O&3;c[r>>2]=O;if((M|0)!=3){c[J+(K*56|0)+36>>2]=M+3;break}if((O|0)<5){M=c[v>>2]|0;do{if((M|0)==0){break a}L=c[f>>2]|0;L=jd[c[(c[L>>2]|0)+20>>2]&511](L)|0;if((L|0)==-1){break a}M=(c[v>>2]|0)+ -1|0;c[v>>2]=M;N=c[w>>2]|0;if((a[u]&1)==0){N=N<<8|L&255;c[w>>2]=N;O=(c[r>>2]|0)+8|0}else{N=N<<7|L&127;c[w>>2]=N;O=(c[r>>2]|0)+7|0}c[r>>2]=O;a[u]=(L|0)==255|0;}while((O|0)<5)}else{N=L}L=O+ -5|0;M=N>>>L&31;c[r>>2]=L;if((M|0)!=31){c[J+(K*56|0)+36>>2]=M+6;break}if((L|0)<7){M=c[v>>2]|0;while(1){if((M|0)==0){break a}N=c[f>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){break a}M=(c[v>>2]|0)+ -1|0;c[v>>2]=M;L=c[w>>2]|0;if((a[u]&1)==0){O=L<<8|N&255;c[w>>2]=O;L=(c[r>>2]|0)+8|0}else{O=L<<7|N&127;c[w>>2]=O;L=(c[r>>2]|0)+7|0}c[r>>2]=L;a[u]=(N|0)==255|0;if((L|0)>=7){N=O;break}}}V=L+ -7|0;c[r>>2]=V;c[J+(K*56|0)+36>>2]=(N>>>V&127)+37}}while(0);M=J+(K*56|0)+20|0;while(1){O=c[r>>2]|0;if((O|0)<1){L=c[v>>2]|0;do{if((L|0)==0){break a}N=c[f>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){break a}L=(c[v>>2]|0)+ -1|0;c[v>>2]=L;O=c[w>>2]|0;if((a[u]&1)==0){P=O<<8|N&255;c[w>>2]=P;O=(c[r>>2]|0)+8|0}else{P=O<<7|N&127;c[w>>2]=P;O=(c[r>>2]|0)+7|0}c[r>>2]=O;a[u]=(N|0)==255|0;}while((O|0)<1)}else{P=c[w>>2]|0}N=O+ -1|0;c[r>>2]=N;L=c[M>>2]|0;if((1<<N&P|0)==0){break}c[M>>2]=L+1}M=c[J+(K*56|0)+36>>2]|0;while(1){M=M>>>1;if((M|0)==0){break}else{L=L+1|0}}J=J+(K*56|0)+40|0;if((O|0)<=(L|0)){K=c[v>>2]|0;do{if((K|0)==0){break a}M=c[f>>2]|0;M=jd[c[(c[M>>2]|0)+20>>2]&511](M)|0;if((M|0)==-1){break a}K=(c[v>>2]|0)+ -1|0;c[v>>2]=K;N=c[w>>2]|0;if((a[u]&1)==0){P=N<<8|M&255;c[w>>2]=P;N=(c[r>>2]|0)+8|0}else{P=N<<7|M&127;c[w>>2]=P;N=(c[r>>2]|0)+7|0}c[r>>2]=N;a[u]=(M|0)==255|0;}while((N|0)<(L|0))}c[J>>2]=P>>>(N-L|0)&(1<<L)+ -1;c[r>>2]=(c[r>>2]|0)-L}else{h=23}}while(0);if((h|0)==23){h=0;c[J+(K*56|0)+32>>2]=0}I=I+1|0;J=c[D>>2]|0;if(I>>>0<J>>>0){O=J}else{break}}O=J;I=c[B>>2]|0}H=H+1|0;}while(H>>>0<I>>>0)}e=e+1|0;}while(e>>>0<((c[q>>2]|0)==0?1:3)>>>0)}if((a[u]&1)==0){e=c[v>>2]|0}else{e=c[f>>2]|0;jd[c[(c[e>>2]|0)+20>>2]&511](e)|0;e=(c[v>>2]|0)+ -1|0;c[v>>2]=e}y=z+(y*20|0)+16|0;z=0;do{C=c[y>>2]|0;B=C+(z*40|0)+20|0;F=c[B>>2]|0;if((F|0)!=0){A=C+(z*40|0)+16|0;C=C+(z*40|0)+36|0;G=c[A>>2]|0;E=G;D=0;do{if((G|0)==0){G=0}else{F=0;while(1){H=(da(G,D)|0)+F|0;G=c[C>>2]|0;if((c[G+(H*56|0)+32>>2]|0)==0){G=E}else{ZD(b,d,0,0,0,c[q>>2]|0,z,G+(H*56|0)|0)|0;e=e-(c[G+(H*56|0)+40>>2]|0)|0;a[G+(H*56|0)+16|0]=1;G=c[A>>2]|0}F=F+1|0;if(F>>>0<G>>>0){E=G}else{break}}E=G;F=c[B>>2]|0}D=D+1|0;}while(D>>>0<F>>>0)}z=z+1|0;A=c[q>>2]|0;}while(z>>>0<((A|0)==0?1:3)>>>0);e:do{switch(c[k>>2]|0){case 0:{V=(c[l>>2]|0)+1|0;c[l>>2]=V;if((V|0)!=(c[m>>2]|0)){break e}c[l>>2]=0;d=A+1|0;c[q>>2]=d;if((A|0)!=(c[p>>2]|0)){A=d;break e}c[q>>2]=0;d=(c[n>>2]|0)+1|0;c[n>>2]=(d|0)==(c[x>>2]|0)?0:d;A=0;break};case 1:{V=(c[l>>2]|0)+1|0;c[l>>2]=V;if((V|0)!=(c[m>>2]|0)){break e}c[l>>2]=0;V=(c[n>>2]|0)+1|0;c[n>>2]=V;if((V|0)!=(c[x>>2]|0)){break e}c[n>>2]=0;A=(A|0)==(c[p>>2]|0)?0:A+1|0;c[q>>2]=A;break};case 2:{V=(c[n>>2]|0)+1|0;c[n>>2]=V;if((V|0)!=(c[x>>2]|0)){break e}c[n>>2]=0;V=(c[l>>2]|0)+1|0;c[l>>2]=V;if((V|0)!=(c[m>>2]|0)){break e}c[l>>2]=0;A=(A|0)==(c[p>>2]|0)?0:A+1|0;c[q>>2]=A;break};case 3:{V=(c[n>>2]|0)+1|0;c[n>>2]=V;if((V|0)!=(c[x>>2]|0)){break e}c[n>>2]=0;d=A+1|0;c[q>>2]=d;if((A|0)!=(c[p>>2]|0)){A=d;break e}c[q>>2]=0;d=(c[l>>2]|0)+1|0;c[l>>2]=d;c[l>>2]=(d|0)==(c[m>>2]|0)?0:d;A=0;break};case 4:{V=(c[n>>2]|0)+1|0;c[n>>2]=V;if((V|0)!=(c[x>>2]|0)){break e}c[n>>2]=0;d=A+1|0;c[q>>2]=d;if((A|0)!=(c[p>>2]|0)){A=d;break e}c[q>>2]=0;d=(c[l>>2]|0)+1|0;c[l>>2]=d;c[l>>2]=(d|0)==(c[m>>2]|0)?0:d;A=0;break};default:{}}}while(0);if((e|0)==0&o){b=1;h=186;break}}if((h|0)==186){i=g;return b|0}Qe(jd[c[(c[b>>2]|0)+48>>2]&511](b)|0,184248,j);V=0;i=g;return V|0}function ZD(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;g=i;h=m+48|0;j=c[h>>2]|0;if((j|0)==0){H=FW(36)|0;CI(H);c[h>>2]=H;I=c[m+40>>2]|0;c[H+24>>2]=c[d+8>>2];c[H+28>>2]=I;a[H+32|0]=1;FI(H);H=FW(8)|0;wI(H,19);I=m+52|0;c[I>>2]=H;BI(H,0,4,0);BI(c[I>>2]|0,17,3,0);BI(c[I>>2]|0,18,46,0)}else{HI(j,c[m+40>>2]|0)}r=m+36|0;if((c[r>>2]|0)==0){I=h;I=c[I>>2]|0;EI(I);i=g;return-1}d=m+24|0;p=m+4|0;j=m+44|0;s=m+12|0;q=m+8|0;o=f+24|0;f=f+68|0;k=(k|0)==0?1:l;l=m+52|0;u=c[d>>2]|0;t=0;do{if((u|0)==0){v=c[p>>2]|0;w=c[s>>2]|0;if(v>>>0<w>>>0){y=c[q>>2]|0;u=c[j>>2]|0;while(1){x=c[m>>2]|0;if(x>>>0<y>>>0){w=u;while(1){y=w;z=0;while(1){A=z+v|0;B=c[s>>2]|0;if(A>>>0>=B>>>0){break}do{if((b[y>>1]&1)==0){do{if(x>>>0>(c[m>>2]|0)>>>0){C=e[y+ -8>>1]|0;if((C&1|0)==0){D=2;E=0}else{D=C>>>6&2^3;E=1}if(A>>>0>(c[p>>2]|0)>>>0){C=b[y+(~c[f>>2]<<3)>>1]&1}else{C=0}if(A>>>0>=(B+ -1|0)>>>0){break}C=(b[y+((c[f>>2]|0)+ -1<<3)>>1]&1)+C|0}else{C=0;D=2;E=0}}while(0);do{if(x>>>0<((c[q>>2]|0)+ -1|0)>>>0){F=e[y+8>>1]|0;if((F&1|0)!=0){D=D+ -1+(F>>>6&2^2)|0;E=E+1|0}F=c[p>>2]|0;if(A>>>0>F>>>0){C=(b[y+(1-(c[f>>2]|0)<<3)>>1]&1)+C|0}if(A>>>0>=(B+ -1|0)>>>0){break}C=(b[y+((c[f>>2]|0)+1<<3)>>1]&1)+C|0}else{F=c[p>>2]|0}}while(0);do{if(A>>>0>F>>>0){F=e[y+(0-(c[f>>2]|0)<<3)>>1]|0;if((F&1|0)==0){G=2;F=0;break}G=F>>>6&2^3;F=1}else{G=2;F=0}}while(0);do{if(A>>>0<(B+ -1|0)>>>0){A=e[y+(c[f>>2]<<3)>>1]|0;if((A&1|0)==0){break}G=G+ -1+(A>>>6&2^2)|0;F=F+1|0}}while(0);A=c[184272+(E*180|0)+(F*60|0)+(C*12|0)+(k<<2)>>2]|0;if((A|0)==0){break}do{if((II(c[h>>2]|0,A,c[l>>2]|0)|0)!=0){b[y>>1]=b[y>>1]|5;I=y+4|0;c[I>>2]=c[I>>2]<<1|1;I=c[184816+(D*40|0)+(G<<3)+4>>2]|0;if((II(c[h>>2]|0,c[184816+(D*40|0)+(G<<3)>>2]|0,c[l>>2]|0)|0)==(I|0)){break}b[y>>1]=b[y>>1]|128}}while(0);I=y+2|0;b[I>>1]=(b[I>>1]|0)+1<<16>>16;b[y>>1]=b[y>>1]|2}}while(0);z=z+1|0;if(z>>>0>=4){break}y=y+(c[f>>2]<<3)|0}x=x+1|0;y=c[q>>2]|0;if(x>>>0<y>>>0){w=w+8|0}else{break}}w=c[s>>2]|0}v=v+4|0;if(v>>>0>=w>>>0){break}u=u+(4<<c[o>>2]<<3)|0}u=(c[d>>2]|0)+1|0}else{u=1}c[d>>2]=u}else if((u|0)==1){v=c[p>>2]|0;w=c[s>>2]|0;if(v>>>0<w>>>0){y=c[q>>2]|0;u=c[j>>2]|0;while(1){x=c[m>>2]|0;if(x>>>0<y>>>0){w=u;while(1){y=w;z=0;while(1){B=z+v|0;A=c[s>>2]|0;if(B>>>0>=A>>>0){break}C=e[y>>1]|0;if((C&3|0)==1){if((C&4|0)==0){A=16}else{do{if(x>>>0>(c[m>>2]|0)>>>0){C=b[y+ -8>>1]&1;if(B>>>0>(c[p>>2]|0)>>>0){C=(b[y+(~c[f>>2]<<3)>>1]&1)+C|0}if(B>>>0>=(A+ -1|0)>>>0){break}C=(b[y+((c[f>>2]|0)+ -1<<3)>>1]&1)+C|0}else{C=0}}while(0);do{if(x>>>0<((c[q>>2]|0)+ -1|0)>>>0){C=(b[y+8>>1]&1)+C|0;if(B>>>0>(c[p>>2]|0)>>>0){C=(b[y+(1-(c[f>>2]|0)<<3)>>1]&1)+C|0}if(B>>>0>=(A+ -1|0)>>>0){break}C=(b[y+((c[f>>2]|0)+1<<3)>>1]&1)+C|0}}while(0);if(B>>>0>(c[p>>2]|0)>>>0){C=(b[y+(0-(c[f>>2]|0)<<3)>>1]&1)+C|0}if(B>>>0<(A+ -1|0)>>>0){C=(b[y+(c[f>>2]<<3)>>1]&1)+C|0}A=(C|0)!=0?15:14}I=y+4|0;H=c[I>>2]<<1;c[I>>2]=II(c[h>>2]|0,A,c[l>>2]|0)|0|H;I=y+2|0;b[I>>1]=(b[I>>1]|0)+1<<16>>16;b[y>>1]=b[y>>1]&-7|2}z=z+1|0;if(z>>>0>=4){break}y=y+(c[f>>2]<<3)|0}x=x+1|0;y=c[q>>2]|0;if(x>>>0<y>>>0){w=w+8|0}else{break}}w=c[s>>2]|0}v=v+4|0;if(v>>>0>=w>>>0){break}u=u+(4<<c[o>>2]<<3)|0}u=(c[d>>2]|0)+1|0}else{u=2}c[d>>2]=u}else if((u|0)==2){v=c[p>>2]|0;A=c[s>>2]|0;a:do{if(v>>>0<A>>>0){C=c[q>>2]|0;u=c[j>>2]|0;while(1){z=c[m>>2]|0;if(z>>>0<C>>>0){x=v+3|0;w=v+4|0;y=u;while(1){b:do{if(x>>>0<A>>>0){if((b[y>>1]&2)!=0){B=0;n=119;break}B=c[f>>2]|0;if((b[y+(B<<3)>>1]&2)!=0){B=0;n=119;break}F=B<<1;if((b[y+(F<<3)>>1]&2)!=0){B=0;n=119;break}E=B*3|0;if((b[y+(E<<3)>>1]&2)!=0){B=0;n=119;break}D=(z|0)==(c[m>>2]|0);G=c[p>>2]|0;do{if(!D){if((v|0)==(G|0)){G=v;break}if((b[y+(~B<<3)>>1]&1)!=0){B=0;n=119;break b}}}while(0);G=(v|0)==(G|0);if(!G){if((b[y+(0-B<<3)>>1]&1)!=0){B=0;n=119;break}}C=(z|0)==(C+ -1|0);if(!(C|G)){if((b[y+(1-B<<3)>>1]&1)!=0){B=0;n=119;break}}if(!D){if((b[y+ -8>>1]&1)!=0){B=0;n=119;break}if((b[y+(B+ -1<<3)>>1]&1)!=0){B=0;n=119;break}if((b[y+(F+ -1<<3)>>1]&1)!=0){B=0;n=119;break}if((b[y+(E+ -1<<3)>>1]&1)!=0){B=0;n=119;break}}if(!C){if((b[y+8>>1]&1)!=0){B=0;n=119;break}if((b[y+(B+1<<3)>>1]&1)!=0){B=0;n=119;break}if((b[y+((F|1)<<3)>>1]&1)!=0){B=0;n=119;break}if((b[y+(E+1<<3)>>1]&1)!=0){B=0;n=119;break}}do{if(!D){if((w|0)==(A|0)){A=w;break}if((b[y+((B<<2)+ -1<<3)>>1]&1)!=0){B=0;n=119;break b}}}while(0);A=(w|0)==(A|0);if(!A){if((b[y+(B<<2<<3)>>1]&1)!=0){B=0;n=119;break}}if(!(C|A)){if((b[y+((B<<2|1)<<3)>>1]&1)!=0){B=0;n=119;break}}if((II(c[h>>2]|0,17,c[l>>2]|0)|0)==0){I=y+2|0;b[I>>1]=(b[I>>1]|0)+1<<16>>16;I=c[f>>2]|0;H=y+(I<<3)+2|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;I=I+(c[f>>2]|0)|0;H=y+(I<<3)+2|0;b[H>>1]=(b[H>>1]|0)+1<<16>>16;I=y+(I+(c[f>>2]|0)<<3)+2|0;b[I>>1]=(b[I>>1]|0)+1<<16>>16;break}A=(II(c[h>>2]|0,18,c[l>>2]|0)|0)<<1;A=II(c[h>>2]|0,18,c[l>>2]|0)|0|A;if((A|0)==0){B=y}else{B=y;C=0;while(1){I=B+2|0;b[I>>1]=(b[I>>1]|0)+1<<16>>16;C=C+1|0;B=B+(c[f>>2]<<3)|0;if(C>>>0<A>>>0){}else{break}}}b[B>>1]=b[B>>1]|5;I=B+4|0;c[I>>2]=c[I>>2]<<1|1;I=B+2|0;b[I>>1]=(b[I>>1]|0)+1<<16>>16;if((II(c[h>>2]|0,9,c[l>>2]|0)|0)!=0){b[B>>1]=b[B>>1]|128}B=A+1|0;if(B>>>0<4){n=119}}else{B=0;n=119}}while(0);c:do{if((n|0)==119){n=0;A=y+(B<<c[o>>2]<<3)|0;while(1){C=B+v|0;D=c[s>>2]|0;if(C>>>0>=D>>>0){break c}E=b[A>>1]|0;if((E&2)==0){do{if(z>>>0>(c[m>>2]|0)>>>0){E=e[A+ -8>>1]|0;if((E&1|0)==0){F=2;H=0}else{F=E>>>6&2^3;H=1}if(C>>>0>(c[p>>2]|0)>>>0){E=b[A+(~c[f>>2]<<3)>>1]&1}else{E=0}if(C>>>0>=(D+ -1|0)>>>0){break}E=(b[A+((c[f>>2]|0)+ -1<<3)>>1]&1)+E|0}else{E=0;F=2;H=0}}while(0);do{if(z>>>0<((c[q>>2]|0)+ -1|0)>>>0){G=e[A+8>>1]|0;if((G&1|0)!=0){F=F+ -1+(G>>>6&2^2)|0;H=H+1|0}G=c[p>>2]|0;if(C>>>0>G>>>0){E=(b[A+(1-(c[f>>2]|0)<<3)>>1]&1)+E|0}if(C>>>0>=(D+ -1|0)>>>0){break}E=(b[A+((c[f>>2]|0)+1<<3)>>1]&1)+E|0}else{G=c[p>>2]|0}}while(0);do{if(C>>>0>G>>>0){G=e[A+(0-(c[f>>2]|0)<<3)>>1]|0;if((G&1|0)==0){I=2;G=0;break}I=G>>>6&2^3;G=1}else{I=2;G=0}}while(0);do{if(C>>>0<(D+ -1|0)>>>0){C=e[A+(c[f>>2]<<3)>>1]|0;if((C&1|0)==0){break}I=I+ -1+(C>>>6&2^2)|0;G=G+1|0}}while(0);do{if((II(c[h>>2]|0,c[184272+(H*180|0)+(G*60|0)+(E*12|0)+(k<<2)>>2]|0,c[l>>2]|0)|0)!=0){b[A>>1]=b[A>>1]|5;H=A+4|0;c[H>>2]=c[H>>2]<<1|1;H=c[184816+(F*40|0)+(I<<3)+4>>2]|0;if((II(c[h>>2]|0,c[184816+(F*40|0)+(I<<3)>>2]|0,c[l>>2]|0)|0)==(H|0)){break}b[A>>1]=b[A>>1]|128}}while(0);I=A+2|0;b[I>>1]=(b[I>>1]|0)+1<<16>>16}else{b[A>>1]=E&-3}B=B+1|0;if(B>>>0>=4){break c}A=A+(c[f>>2]<<3)|0}}}while(0);z=z+1|0;C=c[q>>2]|0;if(z>>>0>=C>>>0){break}A=c[s>>2]|0;y=y+8|0}A=c[s>>2]|0;v=w}else{v=v+4|0}if(v>>>0>=A>>>0){break a}u=u+(4<<c[o>>2]<<3)|0}}}while(0);c[d>>2]=0;u=0}t=t+1|0;}while(t>>>0<(c[r>>2]|0)>>>0);I=h;I=c[I>>2]|0;EI(I);i=g;return-1}function _D(a,d,f,g,h,j,k,l){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;a=i;s=(c[g+20>>2]|0)+ -1|0;p=g+12|0;v=c[p>>2]|0;if((s|0)<(v|0)){m=d+60|0;n=d+52|0;o=d+76|0}else{r=g+16|0;q=g+8|0;m=d+60|0;n=d+52|0;o=d+76|0;u=c[q>>2]|0;do{w=(c[r>>2]|0)+ -1|0;if((w|0)>=(u|0)){t=(s<<1)-j|0;while(1){Q=(c[m>>2]|0)-(c[n>>2]|0)|0;v=w-u+(da(Q,s-v|0)|0)|0;u=c[o>>2]|0;c[u+((w<<1)-h+(da(Q,t)|0)<<2)>>2]=c[u+(v<<2)>>2];w=w+ -1|0;u=c[q>>2]|0;v=c[p>>2]|0;if((w|0)<(u|0)){break}else{}}}s=s+ -1|0;}while((s|0)>=(v|0))}q=c[d+40>>2]|0;y=q&31;q=q>>>5&7;p=(y|0)==0;t=(f*3|0)+ -2|0;f=d+44|0;r=q+ -1|0;s=d+36|0;u=(c[g+72>>2]|0)+16|0;w=d+68|0;g=d+4|0;y=(y|0)==1;v=0;do{if(p){x=0.0;z=r+((c[(c[f>>2]|0)+(t+v<<2)>>2]|0)>>>3&31)|0}else{x=+((c[(c[f>>2]|0)+((y?0:t+v|0)<<2)>>2]&2047|2048)>>>0)*.00048828125;z=((v|0)==2)+q+(c[g>>2]|0)|0}A=(c[s>>2]|0)==0?z+16|0:z;B=v&1;z=(v|0)!=0|0;G=c[u>>2]|0;C=G+(v*40|0)+20|0;H=c[C>>2]|0;if((H|0)!=0){D=G+(v*40|0)+16|0;I=c[D>>2]|0;F=I;E=0;G=c[G+(v*40|0)+36>>2]|0;do{if((I|0)==0){I=0}else{I=F;F=0;do{L=c[G+4>>2]|0;H=G+12|0;M=c[H>>2]|0;if(L>>>0<M>>>0){I=G+8|0;J=G+28|0;P=c[I>>2]|0;K=c[G+44>>2]|0;while(1){N=da((c[m>>2]|0)-(c[n>>2]|0)|0,(L<<1|z)-j|0)|0;O=c[G>>2]|0;N=(c[o>>2]|0)+(N-h+((O<<1|B)^1)<<2)|0;if(O>>>0<P>>>0){if(p){M=K;while(1){Q=c[M+4>>2]|0;if((Q|0)==0){P=0}else{P=A-(c[J>>2]|0)-(e[M+2>>1]|0)|0;if((P|0)>0){P=(1<<P+ -1)+(Q<<P)|0}else{P=Q>>0-P}P=(c[s>>2]|0)==0?P&-65536:P;P=(b[M>>1]&128)==0?P:0-P|0}c[N>>2]=P;O=O+1|0;P=c[I>>2]|0;if(O>>>0<P>>>0){M=M+8|0;N=N+8|0}else{break}}}else{M=K;while(1){Q=c[M+4>>2]|0;if((Q|0)==0){P=0}else{P=A-(c[J>>2]|0)-(e[M+2>>1]|0)|0;if((P|0)>0){P=(1<<P+ -1)+(Q<<P)|0}else{P=Q>>0-P}P=~~(x*+(P|0));P=(b[M>>1]&128)==0?P:0-P|0}c[N>>2]=P;O=O+1|0;P=c[I>>2]|0;if(O>>>0<P>>>0){M=M+8|0;N=N+8|0}else{break}}}M=c[H>>2]|0}L=L+1|0;if(L>>>0>=M>>>0){break}K=K+(c[w>>2]<<3)|0}I=c[D>>2]|0}G=G+56|0;F=F+1|0;}while(F>>>0<I>>>0);F=I;H=c[C>>2]|0}E=E+1|0;}while(E>>>0<H>>>0)}v=v+1|0;}while(v>>>0<3);p=l-j|0;if((l|0)!=(j|0)){q=c[o>>2]|0;f=0;while(1){$D(0,d,q,1,h,k);f=f+1|0;if(f>>>0<p>>>0){q=q+((c[m>>2]|0)-(c[n>>2]|0)<<2)|0}else{break}}}p=k-h|0;if((k|0)==(h|0)){i=a;return}k=c[o>>2]|0;h=1;while(1){$D(0,d,k,(c[m>>2]|0)-(c[n>>2]|0)|0,j,l);if(h>>>0>=p>>>0){break}k=k+4|0;h=h+1|0}i=a;return}function $D(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;a=g-f|0;m=f&1;if((a|0)==1){if((m|0)==0){i=j;return}c[d>>2]=c[d>>2]>>1;i=j;return}h=m+3|0;l=a+h|0;k=c[b+80>>2]|0;g=(g|0)==(f|0);if(!g){f=0;do{c[k+(f+h<<2)>>2]=c[d+((da(f,e)|0)<<2)>>2];f=f+1|0;}while(f>>>0<a>>>0)}c[k+(l<<2)>>2]=c[k+(l+ -2<<2)>>2];do{if((a|0)==2){f=k+((m|4)<<2)|0;c[k+(l+1<<2)>>2]=c[f>>2];c[k+(l+2<<2)>>2]=c[k+(h<<2)>>2];c[k+(l+3<<2)>>2]=c[f>>2]}else{c[k+(l+1<<2)>>2]=c[k+(a+m<<2)>>2];if((a|0)==3){f=k+((m|4)<<2)|0;c[k+(l+2<<2)>>2]=c[f>>2];c[k+(l+3<<2)>>2]=c[k+(m+5<<2)>>2];break}c[k+(l+2<<2)>>2]=c[k+(l+ -4<<2)>>2];if((a|0)==4){f=k+((m|4)<<2)|0;c[k+(l+3<<2)>>2]=c[f>>2];break}else{c[k+(l+3<<2)>>2]=c[k+(l+ -5<<2)>>2];f=k+((m|4)<<2)|0;break}}}while(0);c[k+((m|2)<<2)>>2]=c[f>>2];c[k+(m+1<<2)>>2]=c[k+(m+5<<2)>>2];c[k+(m<<2)>>2]=c[k+((m|6)<<2)>>2];if((h|0)==4){c[k>>2]=c[k+(m+7<<2)>>2]}do{if((c[b+36>>2]|0)==0){b=l+2|0;m=(b|0)==0;if(!m){f=1;do{n=k+(f<<2)|0;c[n>>2]=~~(+(c[n>>2]|0)*1.230174104914001);f=f+2|0;}while(f>>>0<=b>>>0)}n=l+3|0;f=0;do{o=k+(f<<2)|0;c[o>>2]=~~(+(c[o>>2]|0)*.8128930661159609);f=f+2|0;}while(f>>>0<=n>>>0);if(!m){f=c[k>>2]|0;n=1;while(1){o=k+(n<<2)|0;m=c[k+(n+1<<2)>>2]|0;c[o>>2]=~~(+(c[o>>2]|0)- +(m+f|0)*.443506852043971);n=n+2|0;if(n>>>0>b>>>0){break}else{f=m}}}b=l+1|0;if(b>>>0>=2){m=2;do{o=k+(m<<2)|0;c[o>>2]=~~(+(c[o>>2]|0)- +((c[k+((m|1)<<2)>>2]|0)+(c[k+(m+ -1<<2)>>2]|0)|0)*.882911075530934);m=m+2|0;}while(m>>>0<=b>>>0)}if(l>>>0>=3){f=c[k+8>>2]|0;m=3;while(1){o=k+(m<<2)|0;b=c[k+(m+1<<2)>>2]|0;c[o>>2]=~~(+(c[o>>2]|0)- +(b+f|0)*-.052980118572961);m=m+2|0;if(m>>>0>l>>>0){break}else{f=b}}}b=l+ -1|0;if(b>>>0<4){break}else{l=4}do{o=k+(l<<2)|0;c[o>>2]=~~(+(c[o>>2]|0)- +((c[k+((l|1)<<2)>>2]|0)+(c[k+(l+ -1<<2)>>2]|0)|0)*-1.586134342059924);l=l+2|0;}while(l>>>0<=b>>>0)}else{if(l>>>0<3){break}m=c[k+8>>2]|0;f=3;while(1){b=c[k+(f+1<<2)>>2]|0;o=k+(f<<2)|0;c[o>>2]=(c[o>>2]|0)-(m+2+b>>2);f=f+2|0;if(f>>>0>l>>>0){break}else{m=b}}if(l>>>0>4){b=4}else{break}do{o=k+(b<<2)|0;c[o>>2]=((c[k+((b|1)<<2)>>2]|0)+(c[k+(b+ -1<<2)>>2]|0)>>1)+(c[o>>2]|0);b=b+2|0;}while(b>>>0<l>>>0)}}while(0);if(g){i=j;return}else{l=0}do{c[d+((da(l,e)|0)<<2)>>2]=c[k+(l+h<<2)>>2];l=l+1|0;}while(l>>>0<a>>>0);i=j;return}function aE(a){a=a|0;i=i;return 10}function bE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;j=i;i=i+8|0;h=j;m=i;i=i+16|0;l=m;k=b+16|0;c[k>>2]=13;g=b+24|0;c[g>>2]=0;c[g+4>>2]=0;c[m>>2]=13;m=l+8|0;c[m>>2]=0;c[m+4>>2]=0;c[b>>2]=-3;m=b+164|0;c[m>>2]=d;Lf(k,e)|0;d=FW(20)|0;rt(d,c[m>>2]|0);c[b+4>>2]=d;tt(d,Mf(k,l)|0);c[b+8>>2]=0;a[b+32|0]=1;b=c[k>>2]|0;if((b|0)==8){m=c[g>>2]|0;fd[c[(c[m>>2]|0)+12>>2]&511](m);i=f;return}else{c[j>>2]=b;c[h+4>>2]=8;Qe(0,185712,h);tc()}}function cE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;g=i;i=i+8|0;h=g;n=i;i=i+8|0;o=n;k=i;i=i+16|0;m=k;l=b+16|0;c[l>>2]=13;f=b+24|0;c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=13;k=m+8|0;c[k>>2]=0;c[k+4>>2]=0;c[b>>2]=-3;c[b+164>>2]=d;k=c[e>>2]|0;if((k|0)==6){p=c[e+8>>2]|0;c[b+4>>2]=p;a[b+32|0]=0}else if((k|0)==8){o=FW(20)|0;rt(o,d);p=b+4|0;c[p>>2]=o;a[b+32|0]=1;tt(o,Mf(e,m)|0);p=c[p>>2]|0}else{c[n>>2]=k;c[o+4>>2]=6;Qe(0,185712,o);tc()}c[b+8>>2]=0;if((c[p+12>>2]|0)<=0){i=j;return}ut(p,0,l)|0;k=c[l>>2]|0;if((k|0)!=8){c[g>>2]=k;c[h+4>>2]=8;Qe(0,185712,h);tc()}p=c[f>>2]|0;fd[c[(c[p>>2]|0)+12>>2]&511](p);i=j;return}function dE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;g=i;i=i+8|0;h=g;e=b+16|0;f=c[e>>2]|0;if((f|0)==8){h=c[b+24>>2]|0;fd[c[(c[h>>2]|0)+16>>2]&511](h);Of(e)}else if((f|0)!=13){c[g>>2]=f;c[h+4>>2]=8;Qe(0,185712,h);tc()}if((a[b+32|0]&1)==0){i=d;return}b=c[b+4>>2]|0;if((b|0)==0){i=d;return}st(b);HW(b);i=d;return}function eE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;k=i;i=i+8|0;g=k;h=i;i=i+8|0;j=h;e=i;i=i+8|0;d=e;l=c[a>>2]|0;if((l|0)!=-3){c[a>>2]=-3;o=l;i=f;return o|0}n=a+16|0;m=a+24|0;l=a+8|0;a=a+4|0;if(b){b=c[n>>2]|0;if((b|0)==8){o=c[m>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;i=f;return o|0}else if((b|0)==13){o=-1;i=f;return o|0}else{o=e;c[o>>2]=b;o=d+4|0;c[o>>2]=8;o=185712;Qe(0,o,d);tc()}}while(1){b=c[n>>2]|0;if((b|0)==13){b=-1;l=15;break}else if((b|0)!=8){l=7;break}b=c[m>>2]|0;b=jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;if((b|0)!=-1){l=15;break}b=c[n>>2]|0;if((b|0)!=8){l=10;break}b=c[m>>2]|0;fd[c[(c[b>>2]|0)+16>>2]&511](b);Of(n);b=(c[l>>2]|0)+1|0;c[l>>2]=b;o=c[a>>2]|0;if((b|0)>=(c[o+12>>2]|0)){continue}ut(o,b,n)|0;b=c[n>>2]|0;if((b|0)!=8){l=13;break}o=c[m>>2]|0;fd[c[(c[o>>2]|0)+12>>2]&511](o)}if((l|0)==7){o=e;c[o>>2]=b;o=d+4|0;c[o>>2]=8;o=185712;Qe(0,o,d);tc()}else if((l|0)==10){c[h>>2]=b;c[j+4>>2]=8;Qe(0,185712,j);tc()}else if((l|0)==13){c[k>>2]=b;c[g+4>>2]=8;Qe(0,185712,g);tc()}else if((l|0)==15){i=f;return b|0}return 0}function fE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0.0,ca=0.0,da=0.0,ea=0.0;f=i;P=i;i=i+8|0;R=i;i=i+8|0;Q=R;_=i;i=i+8|0;$=_;S=i;i=i+8|0;T=i;i=i+8|0;Z=T;O=i;i=i+8|0;N=O;M=i;i=i+8|0;W=i;i=i+8|0;V=W;J=i;i=i+8|0;H=i;i=i+8|0;L=i;i=i+8|0;K=i;i=i+8|0;E=K;F=i;i=i+8|0;G=F;j=i;i=i+8|0;o=i;i=i+8|0;m=o;k=i;i=i+8|0;w=i;i=i+8|0;t=w;u=i;i=i+8|0;v=u;s=i;i=i+8|0;r=s;l=i;i=i+8|0;n=i;i=i+8|0;p=i;i=i+8|0;q=p;D=i;i=i+8|0;C=D;a:while(1){Y=eE(b,0)|0;if((Y|0)==37){while(1){Y=eE(b,0)|0;if((Y|0)==10|(Y|0)==13){continue a}else if((Y|0)==-1){g=4;break a}}}else if((Y|0)==-1){g=4;break}else{if((a[185104+Y|0]|0)==1){continue}else{break}}}if((g|0)==4){$=d+8|0;c[$>>2]=0;c[$+4>>2]=0;c[d>>2]=12;i=f;return d|0}switch(Y|0){case 40:{n=b+33|0;y=b+16|0;x=b+24|0;q=(e|0)>0;p=b+164|0;A=0;D=1;C=n;z=0;b:while(1){c:while(1){d:while(1){F=eE(b,0)|0;E=F&255;if((F|0)==40){g=64;break c}else if((F|0)==-1){g=61;break b}else if((F|0)==41){g=65;break}else if((F|0)!=92){F=0;g=96;break c}E=eE(b,0)|0;switch(E|0){case 102:{g=69;break c};case 110:{E=10;F=0;g=96;break c};case 13:{break};case 116:{g=67;break c};case 98:{g=68;break c};case 10:{continue d};case 114:{E=13;F=0;break c};case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{g=71;break d};case 41:case 40:case 92:{g=70;break c};case-1:{g=91;break b};default:{F=0;break d}}E=c[b>>2]|0;if((E|0)==-3){E=c[y>>2]|0;if((E|0)==8){E=c[x>>2]|0;E=jd[c[(c[E>>2]|0)+20>>2]&511](E)|0}else if((E|0)==13){E=-1}else{g=87;break b}c[b>>2]=(E|0)==-1?-3:E}if((E|0)!=10){continue}eE(b,0)|0}do{if((g|0)==65){g=0;D=D+ -1|0;F=(D|0)==0;E=F?-1:41}else if((g|0)==71){g=0;E=E+ -48|0;F=c[b>>2]|0;if((F|0)==-3){F=c[y>>2]|0;if((F|0)==13){F=-1}else if((F|0)==8){F=c[x>>2]|0;F=jd[c[(c[F>>2]|0)+20>>2]&511](F)|0}else{g=74;break b}c[b>>2]=(F|0)==-1?-3:F}if((F+ -48|0)>>>0>=8){F=0;break}eE(b,0)|0;E=(E<<3)+ -48+F|0;F=c[b>>2]|0;if((F|0)==-3){F=c[y>>2]|0;if((F|0)==8){F=c[x>>2]|0;F=jd[c[(c[F>>2]|0)+20>>2]&511](F)|0}else if((F|0)==13){F=-1}else{g=80;break b}c[b>>2]=(F|0)==-1?-3:F}if((F+ -48|0)>>>0>=8){F=0;break}eE(b,0)|0;E=(E<<3)+ -48+F|0;F=0}}while(0);if((E|0)!=-1){g=95;break}if(F){g=113;break b}}if((g|0)==64){g=0;E=40;F=0;D=D+1|0}else if((g|0)==67){g=0;E=9;F=0}else if((g|0)==68){g=0;E=8;F=0}else if((g|0)==69){g=0;E=12;F=0}else if((g|0)==70){g=0;E=E&255;F=0}else if((g|0)==95){E=E&255;g=96}if((g|0)==96){g=0}do{if((A|0)==128){if((z|0)==0){z=FW(32)|0;ge(z,n,128)}else{ne(z,n,128)|0}if(!q){A=0;C=n;break}A=c[p>>2]|0;if((A|0)==0){A=0;C=n;break}C=c[y>>2]|0;if((C|0)!=8){g=104;break b}$=c[x>>2]|0;if((nn(A,jd[c[(c[$>>2]|0)+48>>2]&511]($)|0)|0)==(e|0)){A=0;C=n}else{g=106;break b}}}while(0);a[C]=E;A=A+1|0;if(F){g=113;break}else{C=C+1|0}}if((g|0)==61){if((c[y>>2]|0)==8){b=c[x>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}else{b=-1}Qe(b,185384,l);g=113}else if((g|0)==74){c[s>>2]=F;c[r+4>>2]=8;Qe(0,185712,r);tc()}else if((g|0)==80){c[u>>2]=F;c[v+4>>2]=8;Qe(0,185712,v);tc()}else if((g|0)==87){c[w>>2]=E;c[t+4>>2]=8;Qe(0,185712,t);tc()}else if((g|0)==91){if((c[y>>2]|0)==8){b=c[x>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}else{b=-1}Qe(b,185384,k);g=113}else if((g|0)==104){c[o>>2]=C;c[m+4>>2]=8;Qe(0,185712,m);tc()}else if((g|0)==106){if((c[y>>2]|0)==8){b=c[x>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}else{b=-1}Qe(b,185384,j);if((z|0)!=0){ke(z);HW(z)}a[n]=E}do{if((g|0)==113){if((A|0)<=-1){break}if((z|0)==0){z=FW(32)|0;ge(z,n,A)}else{ne(z,n,A)|0}$=d+8|0;c[$+4>>2]=0;c[d>>2]=3;c[$>>2]=z;i=f;return d|0}}while(0);$=d+8|0;c[$>>2]=0;c[$+4>>2]=0;c[d>>2]=12;i=f;return d|0};case 47:{j=b+33|0;m=b+16|0;g=b+24|0;n=0;l=j;k=0;e:while(1){e=c[b>>2]|0;if((e|0)==-3){o=c[m>>2]|0;if((o|0)==13){e=-1}else if((o|0)==8){e=c[g>>2]|0;e=jd[c[(c[e>>2]|0)+20>>2]&511](e)|0}else{g=123;break}c[b>>2]=(e|0)==-1?-3:e}if((e|0)==-1){g=154;break}if((a[185104+e|0]|0)!=0){g=154;break}eE(b,0)|0;o=e&255;f:do{if((e|0)==35){e=c[b>>2]|0;if((e|0)==-3){e=c[m>>2]|0;if((e|0)==8){e=c[g>>2]|0;e=jd[c[(c[e>>2]|0)+20>>2]&511](e)|0}else if((e|0)==13){e=-1}else{g=131;break e}c[b>>2]=(e|0)==-1?-3:e}p=e+ -48|0;do{if(p>>>0>=10){if((e+ -65|0)>>>0<6){p=e+ -55|0;break}if((e+ -97|0)>>>0>=6){break f}p=e+ -87|0}}while(0);eE(b,0)|0;o=p<<4;e=eE(b,0)|0;if((e+ -48|0)>>>0<10){o=o+208+e&255;break}if((e+ -65|0)>>>0<6){o=o+201+e&255;break}if((e+ -97|0)>>>0<6){o=o+169+e&255;break}if((c[m>>2]|0)==8){e=c[g>>2]|0;e=jd[c[(c[e>>2]|0)+48>>2]&511](e)|0}else{e=-1}Qe(e,185408,L);o=o&255}}while(0);if((n|0)==128){if((c[m>>2]|0)==8){n=c[g>>2]|0;n=jd[c[(c[n>>2]|0)+48>>2]&511](n)|0}else{n=-1}if((k|0)!=0){g=152;break}Qe(n,185448,H);k=FW(32)|0;ge(k,j,128);n=0;l=j}a[l]=o;n=n+1|0;l=l+1|0}do{if((g|0)==123){c[F>>2]=o;c[G+4>>2]=8;Qe(0,185712,G);tc()}else if((g|0)==131){c[K>>2]=e;c[E+4>>2]=8;Qe(0,185712,E);tc()}else if((g|0)==152){Qe(n,185528,J);a[l]=0;I=128}else if((g|0)==154){a[l]=0;if((k|0)!=0){I=n;break}$=d+8|0;c[$>>2]=0;c[$+4>>2]=0;c[d>>2]=4;c[$>>2]=Ge(j)|0;i=f;return d|0}}while(0);ne(k,j,I)|0;_=c[k+28>>2]|0;$=d+8|0;c[$>>2]=0;c[$+4>>2]=0;c[d>>2]=4;c[$>>2]=Ge(_)|0;ke(k);HW(k);i=f;return d|0};case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 43:{j=0;e=(Y|0)==43?0:Y+ -48|0;g=9;break};case 62:{g=c[b>>2]|0;if((g|0)==-3){g=c[b+16>>2]|0;if((g|0)==8){U=c[b+24>>2]|0;U=jd[c[(c[U>>2]|0)+20>>2]&511](U)|0}else if((g|0)==13){U=-1}else{c[T>>2]=g;c[Z+4>>2]=8;Qe(0,185712,Z);tc()}c[b>>2]=(U|0)==-1?-3:U}else{U=g}if((U|0)==62){eE(b,0)|0;a[b+34|0]=62;_=b+33|0;a[_]=62;a[b+35|0]=0;$=d+8|0;c[$>>2]=0;c[$+4>>2]=0;c[d>>2]=10;c[$>>2]=Ge(_)|0;i=f;return d|0}if((c[b+16>>2]|0)==8){b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}else{b=-1}Qe(b,185616,S);$=d+8|0;c[$>>2]=0;c[$+4>>2]=0;c[d>>2]=11;i=f;return d|0};case 46:{y=b+16|0;z=b+24|0;x=b;A=0;e=0;g=39;break};case 41:case 123:case 125:{if((c[b+16>>2]|0)==8){b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}else{b=-1}c[_>>2]=Y;Qe(b,185640,$);$=d+8|0;c[$>>2]=0;c[$+4>>2]=0;c[d>>2]=11;i=f;return d|0};case 60:{j=c[b>>2]|0;if((j|0)==-3){j=c[b+16>>2]|0;if((j|0)==8){X=c[b+24>>2]|0;X=jd[c[(c[X>>2]|0)+20>>2]&511](X)|0}else if((j|0)==13){X=-1}else{c[W>>2]=j;c[V+4>>2]=8;Qe(0,185712,V);tc()}c[b>>2]=(X|0)==-1?-3:X}else{X=j}if((X|0)==60){eE(b,0)|0;a[b+34|0]=60;_=b+33|0;a[_]=60;a[b+35|0]=0;$=d+8|0;c[$>>2]=0;c[$+4>>2]=0;c[d>>2]=10;c[$>>2]=Ge(_)|0;i=f;return d|0}j=b+33|0;l=b+16|0;k=b+24|0;m=0;o=j;n=0;g:while(1){p=0;e=0;do{do{q=eE(b,0)|0;if((q|0)==62){break g}else if((q|0)==-1){g=169;break g}}while((a[185104+q|0]|0)==1);p=p<<4;do{if((q+ -48|0)>>>0<10){p=p+ -48+q|0}else{if((q+ -65|0)>>>0<6){p=p+ -55+q|0;break}if((q+ -97|0)>>>0<6){p=p+ -87+q|0;break}if((c[l>>2]|0)==8){r=c[k>>2]|0;r=jd[c[(c[r>>2]|0)+48>>2]&511](r)|0}else{r=-1}c[O>>2]=q;Qe(r,185576,N)}}while(0);e=e+1|0;}while((e|0)!=2);do{if((m|0)==128){if((n|0)==0){n=FW(32)|0;ge(n,j,128);m=0;o=j;break}else{ne(n,j,128)|0;m=0;o=j;break}}}while(0);a[o]=p;m=m+1|0;o=o+1|0}if((g|0)==169){if((c[l>>2]|0)==8){b=c[k>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}else{b=-1}Qe(b,185552,M)}if((n|0)==0){n=FW(32)|0;ge(n,j,m)}else{ne(n,j,m)|0}if((e|0)==1){me(n,p<<4&255)|0}$=d+8|0;c[$+4>>2]=0;c[d>>2]=3;c[$>>2]=n;i=f;return d|0};case 91:case 93:{_=b+33|0;a[_]=Y;a[b+34|0]=0;$=d+8|0;c[$>>2]=0;c[$+4>>2]=0;c[d>>2]=10;c[$>>2]=Ge(_)|0;i=f;return d|0};case 45:{j=1;e=0;g=9;break};default:{j=b+33|0;a[j]=Y;m=b+16|0;n=b+24|0;l=2;k=b+34|0;while(1){o=c[b>>2]|0;if((o|0)==-3){o=c[m>>2]|0;if((o|0)==13){o=-1}else if((o|0)==8){o=c[n>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0}else{g=211;break}c[b>>2]=(o|0)==-1?-3:o}if((o|0)==-1){break}if((a[185104+o|0]|0)!=0){break}eE(b,0)|0;if((l|0)==128){g=216;break}a[k]=o;l=l+1|0;k=k+1|0}if((g|0)==211){c[R>>2]=o;c[Q+4>>2]=8;Qe(0,185712,Q);tc()}if((g|0)==216){if((c[m>>2]|0)==8){b=c[n>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}else{b=-1}Qe(b,185664,P)}a[k]=0;b=a[j]|0;do{if(b<<24>>24==110){if((Qc(j|0,185704)|0)!=0){break}$=d+8|0;c[$>>2]=0;c[$+4>>2]=0;c[d>>2]=5;i=f;return d|0}else if(b<<24>>24==102){if((Qc(j|0,185696)|0)!=0){break}$=d+8|0;c[$>>2]=0;c[$+4>>2]=0;c[d>>2]=0;a[$]=0;i=f;return d|0}else if(b<<24>>24==116){if((Qc(j|0,185688)|0)!=0){break}$=d+8|0;c[$>>2]=0;c[$+4>>2]=0;c[d>>2]=0;a[$]=1;i=f;return d|0}}while(0);$=d+8|0;c[$>>2]=0;c[$+4>>2]=0;c[d>>2]=10;c[$>>2]=Ge(j)|0;i=f;return d|0}}do{if((g|0)==9){l=b+16|0;k=b+24|0;r=0;o=0;ca=0.0;m=0;h:while(1){aa=+(m>>>0);ba=aa*10.0;while(1){while(1){if(!r){break}s=c[b>>2]|0;if((s|0)==-3){s=c[l>>2]|0;if((s|0)==13){s=-1}else if((s|0)==8){s=c[k>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0}else{g=21;break h}c[b>>2]=(s|0)==-1?-3:s}if((s+ -48|0)>>>0>=10){r=1;g=32;break h}eE(b,0)|0;if(o){g=25;break}o=1;ca=ba+ +(s+ -48|0)}if((g|0)==25){g=0;r=1;o=1;ca=ca*10.0+ +(s+ -48|0);continue}while(1){s=c[b>>2]|0;if((s|0)==-3){s=c[l>>2]|0;if((s|0)==13){s=-1}else if((s|0)==8){s=c[k>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0}else{g=21;break h}c[b>>2]=(s|0)==-1?-3:s}if((s+ -48|0)>>>0>=10){r=0;g=32;break h}eE(b,0)|0;if((e|0)>214748363){ea=+(e|0);if(ea>+(-2147483601-s|0)/10.0){break}}e=(e*10|0)+ -48+s|0}da=ea*10.0+ +(s+ -48|0);if(ea>+((47-s|0)>>>0)/10.0){r=1;o=1;ca=da}else{break}}r=1;m=~~da>>>0}if((g|0)==21){c[D>>2]=s;c[C+4>>2]=8;Qe(0,185712,C);tc()}else if((g|0)==32){if((s|0)==46){eE(b,0)|0;if(!r){y=l;z=k;x=b;A=j;g=39;break}x=b;y=l;z=k;A=j;B=o?ca:aa;break}b=d+8|0;if(!r){c[b+4>>2]=0;c[d>>2]=1;c[b>>2]=j?0-e|0:e;i=f;return d|0}if(o){c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=11;i=f;return d|0}else{c[b+4>>2]=0;c[d>>2]=14;c[b>>2]=m;i=f;return d|0}}}}while(0);if((g|0)==39){B=+(e|0)}aa=.1;i:while(1){while(1){j=c[x>>2]|0;if((j|0)==-3){j=c[y>>2]|0;if((j|0)==13){j=-1}else if((j|0)==8){j=c[z>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0}else{g=46;break i}c[x>>2]=(j|0)==-1?-3:j}if((j|0)!=45){break}if((c[y>>2]|0)==8){j=c[z>>2]|0;j=jd[c[(c[j>>2]|0)+48>>2]&511](j)|0}else{j=-1}Qe(j,185360,n);eE(b,0)|0}j=j+ -48|0;if(j>>>0>=10){break}eE(b,0)|0;ea=B+aa*+(j|0);aa=aa*.1;B=ea}if((g|0)==46){c[p>>2]=j;c[q+4>>2]=8;Qe(0,185712,q);tc()}if(A){B=-0.0-B}c[d>>2]=2;h[d+8>>3]=B;i=f;return d|0}function gE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;d=i;i=i+8|0;e=d;while(1){h=eE(a,0)|0;if((h|0)==13){break}else if((h|0)==10|(h|0)==-1){g=10;break}}if((g|0)==10){i=b;return}g=c[a>>2]|0;if((g|0)==-3){g=c[a+16>>2]|0;if((g|0)==8){f=c[a+24>>2]|0;f=jd[c[(c[f>>2]|0)+20>>2]&511](f)|0}else if((g|0)==13){f=-1}else{c[d>>2]=g;c[e+4>>2]=8;Qe(0,185712,e);tc()}c[a>>2]=(f|0)==-1?-3:f}else{f=g}if((f|0)!=10){i=b;return}eE(a,0)|0;i=b;return}function hE(b){b=b|0;var c=0;c=i;if(b>>>0>=256){b=0;i=c;return b|0}b=(a[185104+b|0]|0)==1;i=c;return b|0}function iE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0;n=i;u=i;i=i+16|0;k=u;s=i;i=i+16|0;j=s;r=i;i=i+16|0;g=r;p=i;i=i+16|0;l=p;m=a+8|0;d=m+4|0;c[u>>2]=13;v=k+8|0;c[v>>2]=0;f=v+4|0;c[f>>2]=0;c[s>>2]=13;q=j+8|0;c[q>>2]=0;c[q+4>>2]=0;c[r>>2]=13;q=g+8|0;c[q>>2]=0;c[q+4>>2]=0;c[p>>2]=13;o=l+8|0;c[o>>2]=0;c[o+4>>2]=0;c[m>>2]=0;c[d>>2]=0;c[a>>2]=5;fd[c[(c[b>>2]|0)+12>>2]&511](b);c[v>>2]=0;c[f>>2]=0;c[u>>2]=5;f=FW(56)|0;v=FW(168)|0;w=c[b>>2]|0;x=c[w+96>>2]|0;w=jd[c[w+108>>2]&511](b)|0;bE(v,0,Cd[x&63](b,w,0,0,k)|0);aG(f,0,v,0);cG(f,k,0,0,0,0,0)|0;cG(f,j,0,0,0,0,0)|0;cG(f,g,0,0,0,0,0)|0;cG(f,a,0,0,0,0,0)|0;do{if((c[u>>2]|0)==1){if((c[s>>2]|0)!=1){break}if((c[r>>2]|0)!=10){break}if((Qc(c[q>>2]|0,185784)|0)!=0){break}if((c[a>>2]|0)!=7){break}Yu(c[m>>2]|0,185792,l,0)|0;p=c[p>>2]|0;if((p+ -1|0)>>>0<2){if((p|0)==1){t=+(c[o>>2]|0)}else{t=+h[o>>3]}if(t<=0.0){e=11}}else{e=11}if((e|0)==11){Of(a);c[m>>2]=0;c[d>>2]=0;c[a>>2]=5}Of(l)}}while(0);Of(g);Of(j);Of(k);if((f|0)==0){i=n;return}bG(f);HW(f);i=n;return}function jE(a){a=a|0;var b=0;b=i;Of(a);i=b;return}function kE(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=i;i=i+8|0;e=i;i=i+8|0;if((c[a>>2]|0)!=7){e=0;i=b;return e|0}f=_u(c[a+8>>2]|0,185808,0,e)|0;a=c[e>>2]|0;if(f&(a|0)>0){f=a;i=b;return f|0}Qe(-1,185816,d);f=0;i=b;return f|0}function lE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;f=i;i=i+8|0;g=i;i=i+8|0;j=g;m=i;i=i+8|0;n=m;o=i;i=i+16|0;b=o;k=i;i=i+16|0;e=k;c[o>>2]=13;l=b+8|0;c[l>>2]=0;c[l+4>>2]=0;c[k>>2]=13;h=e+8|0;c[h>>2]=0;c[h+4>>2]=0;do{if((c[a>>2]|0)==7){if((c[(Yu(c[a+8>>2]|0,185864,b,0)|0)>>2]|0)!=6){break}a=c[o>>2]|0;if((a|0)!=6){c[m>>2]=a;c[n+4>>2]=6;Qe(0,186424,n);tc()}l=c[l>>2]|0;if((c[l+12>>2]|0)<=1){break}if((c[(ut(l,0,e)|0)>>2]|0)!=1){break}k=c[k>>2]|0;if((k|0)!=1){c[g>>2]=k;c[j+4>>2]=1;Qe(0,186424,j);tc()}g=c[h>>2]|0;if((g|0)<=0){break}Of(e);Of(b);i=d;return g|0}}while(0);Qe(-1,185872,f);o=0;Of(e);Of(b);i=d;return o|0}function mE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;f=i;i=i+8|0;g=i;i=i+8|0;j=g;m=i;i=i+8|0;n=m;o=i;i=i+16|0;b=o;k=i;i=i+16|0;e=k;c[o>>2]=13;l=b+8|0;c[l>>2]=0;c[l+4>>2]=0;c[k>>2]=13;h=e+8|0;c[h>>2]=0;c[h+4>>2]=0;do{if((c[a>>2]|0)==7){if((c[(Yu(c[a+8>>2]|0,185864,b,0)|0)>>2]|0)!=6){break}a=c[o>>2]|0;if((a|0)!=6){c[m>>2]=a;c[n+4>>2]=6;Qe(0,186424,n);tc()}l=c[l>>2]|0;if((c[l+12>>2]|0)<=1){break}if((c[(ut(l,1,e)|0)>>2]|0)!=1){break}k=c[k>>2]|0;if((k|0)!=1){c[g>>2]=k;c[j+4>>2]=1;Qe(0,186424,j);tc()}g=c[h>>2]|0;if((g|0)<=0){break}Of(e);Of(b);i=d;return g|0}}while(0);Qe(-1,185928,f);o=0;Of(e);Of(b);i=d;return o|0}function nE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;f=i;i=i+8|0;g=i;i=i+8|0;j=g;m=i;i=i+8|0;n=m;o=i;i=i+16|0;d=o;k=i;i=i+16|0;b=k;c[o>>2]=13;l=d+8|0;c[l>>2]=0;c[l+4>>2]=0;c[k>>2]=13;h=b+8|0;c[h>>2]=0;c[h+4>>2]=0;if((c[a>>2]|0)!=7){o=0;Of(b);Of(d);i=e;return o|0}if((c[(Yu(c[a+8>>2]|0,185864,d,0)|0)>>2]|0)!=6){o=0;Of(b);Of(d);i=e;return o|0}a=c[o>>2]|0;if((a|0)!=6){c[m>>2]=a;c[n+4>>2]=6;Qe(0,186424,n);tc()}l=c[l>>2]|0;if((c[l+12>>2]|0)<=3){o=0;Of(b);Of(d);i=e;return o|0}do{if((c[(ut(l,2,b)|0)>>2]|0)==1){k=c[k>>2]|0;if((k|0)!=1){c[g>>2]=k;c[j+4>>2]=1;Qe(0,186424,j);tc()}g=c[h>>2]|0;if((g|0)<=0){break}Of(b);Of(d);i=e;return g|0}}while(0);Qe(-1,185984,f);o=0;Of(b);Of(d);i=e;return o|0}function oE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;f=i;i=i+8|0;g=i;i=i+8|0;j=g;m=i;i=i+8|0;n=m;o=i;i=i+16|0;d=o;k=i;i=i+16|0;b=k;c[o>>2]=13;l=d+8|0;c[l>>2]=0;c[l+4>>2]=0;c[k>>2]=13;h=b+8|0;c[h>>2]=0;c[h+4>>2]=0;if((c[a>>2]|0)!=7){o=0;Of(b);Of(d);i=e;return o|0}if((c[(Yu(c[a+8>>2]|0,185864,d,0)|0)>>2]|0)!=6){o=0;Of(b);Of(d);i=e;return o|0}a=c[o>>2]|0;if((a|0)!=6){c[m>>2]=a;c[n+4>>2]=6;Qe(0,186424,n);tc()}l=c[l>>2]|0;if((c[l+12>>2]|0)<=3){o=0;Of(b);Of(d);i=e;return o|0}do{if((c[(ut(l,3,b)|0)>>2]|0)==1){k=c[k>>2]|0;if((k|0)!=1){c[g>>2]=k;c[j+4>>2]=1;Qe(0,186424,j);tc()}g=c[h>>2]|0;if((g|0)<=0){break}Of(b);Of(d);i=e;return g|0}}while(0);Qe(-1,186048,f);o=0;Of(b);Of(d);i=e;return o|0}function pE(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=i;i=i+8|0;e=i;i=i+8|0;c[e>>2]=0;do{if((c[a>>2]|0)==7){f=_u(c[a+8>>2]|0,186112,0,e)|0;a=c[e>>2]|0;if(!(f&(a|0)>0)){break}i=b;return a|0}}while(0);Qe(-1,186120,d);f=0;i=b;return f|0}function qE(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=i;i=i+8|0;e=i;i=i+8|0;c[e>>2]=0;do{if((c[a>>2]|0)==7){f=_u(c[a+8>>2]|0,186184,0,e)|0;a=c[e>>2]|0;if(!(f&(a|0)>0)){break}i=b;return a|0}}while(0);Qe(-1,186192,d);f=0;i=b;return f|0}function rE(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=i;i=i+8|0;e=i;i=i+8|0;c[e>>2]=0;do{if((c[a>>2]|0)==7){f=_u(c[a+8>>2]|0,186248,0,e)|0;a=c[e>>2]|0;if(!(f&(a|0)>0)){break}i=b;return a|0}}while(0);Qe(-1,186256,d);f=0;i=b;return f|0}function sE(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=i;i=i+8|0;e=i;i=i+8|0;c[e>>2]=0;do{if((c[a>>2]|0)==7){f=_u(c[a+8>>2]|0,186304,0,e)|0;a=c[e>>2]|0;if(!(f&(a|0)>0)){break}i=b;return a|0}}while(0);Qe(-1,186312,d);f=0;i=b;return f|0}function tE(a){a=a|0;var b=0,d=0,e=0;b=i;d=i;i=i+8|0;e=i;i=i+8|0;c[e>>2]=0;if((c[a>>2]|0)!=7){e=0;i=b;return e|0}_u(c[a+8>>2]|0,186368,0,e)|0;a=c[e>>2]|0;if((a|0)>=0){e=a;i=b;return e|0}Qe(-1,186376,d);e=0;i=b;return e|0}function uE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;d=i;z=i;i=i+8|0;y=z;m=i;i=i+8|0;l=m;k=i;i=i+8|0;o=k;p=i;i=i+8|0;q=p;s=i;i=i+8|0;t=s;v=i;i=i+8|0;w=v;x=i;i=i+8|0;u=x;n=i;i=i+8|0;C=n;A=i;i=i+16|0;e=A;h=i;i=i+16|0;f=h;D=i;i=i+16|0;r=D;c[A>>2]=13;B=e+8|0;c[B>>2]=0;c[B+4>>2]=0;c[h>>2]=13;g=f+8|0;c[g>>2]=0;c[g+4>>2]=0;c[D>>2]=13;D=r+8|0;c[D>>2]=0;c[D+4>>2]=0;if((c[a>>2]|0)!=7){if((b|0)==0){e=186544}else{e=c[b+28>>2]|0}c[n>>2]=e;Qe(-1,186496,C);D=0;i=d;return D|0}n=a+8|0;Yu(c[n>>2]|0,186552,e,0)|0;if((c[A>>2]|0)!=4){if((b|0)==0){f=186544}else{f=c[b+28>>2]|0}c[z>>2]=f;Qe(-1,186696,y);Of(e);D=0;i=d;return D|0}y=c[B>>2]|0;do{if((Qc(y|0,186560)|0)==0){g=c[a>>2]|0;if((g|0)==7){Yu(c[n>>2]|0,186568,f,0)|0;j=FW(12)|0;wE(j,f);Of(f);break}else{c[x>>2]=g;c[u+4>>2]=7;Qe(0,188448,u);tc()}}else{if((Qc(y|0,186576)|0)==0){u=c[a>>2]|0;if((u|0)!=7){c[v>>2]=u;c[w+4>>2]=7;Qe(0,188448,w);tc()}Yu(c[n>>2]|0,186584,f,0)|0;u=c[a>>2]|0;if((u|0)==7){Yu(c[n>>2]|0,186568,r,0)|0;j=FW(16)|0;zE(j,f,r);Of(f);Of(r);break}else{c[s>>2]=u;c[t+4>>2]=7;Qe(0,188448,t);tc()}}if((Qc(y|0,186592)|0)==0){j=FW(12)|0;CE(j,a);break}if((Qc(y|0,186600)|0)==0){r=c[a>>2]|0;if((r|0)==7){Yu(c[n>>2]|0,186600,f,0)|0;j=FW(8)|0;FE(j,f,b);Of(f);break}else{c[p>>2]=r;c[q+4>>2]=7;Qe(0,188448,q);tc()}}if((Qc(y|0,186608)|0)==0){j=c[a>>2]|0;if((j|0)!=7){c[k>>2]=j;c[o+4>>2]=7;Qe(0,188448,o);tc()}Yu(c[n>>2]|0,186616,f,0)|0;j=FW(8)|0;c[j>>2]=187200;k=j+4|0;c[k>>2]=0;if((c[h>>2]|0)==4){D=FW(32)|0;fe(D,c[g>>2]|0);c[k>>2]=D}Of(f);break}if((Qc(y|0,186624)|0)==0){j=FW(20)|0;KE(j,a);break}if((Qc(y|0,186632)|0)==0){j=FW(56)|0;QE(j,a);break}if((Qc(y|0,186648)|0)==0){j=FW(24)|0;NE(j,a);break}if((Qc(y|0,186656)|0)==0){g=c[a>>2]|0;if((g|0)==7){Yu(c[n>>2]|0,186672,f,0)|0;j=FW(8)|0;TE(j,f);Of(f);break}else{c[m>>2]=g;c[l+4>>2]=7;Qe(0,188448,l);tc()}}else{if((Qc(y|0,186680)|0)==0){j=FW(12)|0;WE(j,a);break}else{j=FW(8)|0;c[j>>2]=188048;D=FW(32)|0;fe(D,y);c[j+4>>2]=D;break}}}}while(0);Of(e);if((j|0)==0){D=0;i=d;return D|0}if(jd[c[(c[j>>2]|0)+8>>2]&511](j)|0){D=j;i=d;return D|0}fd[c[(c[j>>2]|0)+4>>2]&511](j);D=0;i=d;return D|0}function vE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0.0;j=i;T=i;i=i+8|0;N=i;i=i+8|0;S=i;i=i+8|0;L=i;i=i+8|0;V=i;i=i+8|0;W=i;i=i+8|0;p=i;i=i+16|0;o=p;s=i;i=i+8|0;v=i;i=i+16|0;t=v;z=i;i=i+8|0;D=i;i=i+16|0;C=D;F=i;i=i+8|0;K=i;i=i+16|0;I=K;O=i;i=i+8|0;R=i;i=i+8|0;H=i;i=i+8|0;Q=i;i=i+8|0;J=i;i=i+8|0;U=i;i=i+8|0;P=i;i=i+8|0;u=i;i=i+8|0;B=i;i=i+8|0;M=i;i=i+8|0;Z=i;i=i+8|0;$=i;i=i+8|0;X=i;i=i+16|0;e=X;m=i;i=i+16|0;g=m;c[X>>2]=13;_=e+8|0;c[_>>2]=0;Y=_+4|0;c[Y>>2]=0;c[m>>2]=13;l=g+8|0;c[l>>2]=0;c[l+4>>2]=0;q=b+48|0;k=b+40|0;r=b+32|0;y=b+24|0;n=b+16|0;w=b+58|0;x=b+57|0;E=b+56|0;f=b+59|0;A=d+12|0;bX(n|0,0,44)|0;if((c[A>>2]|0)<2){Qe(-1,186760,$);i=j;return}vt(d,0,e)|0;$=c[X>>2]|0;if(($|0)==9){c[b+8>>2]=c[_>>2];c[b+12>>2]=c[Y>>2];a[b+4|0]=1;G=7}else if(($|0)==1){c[b+8>>2]=(c[_>>2]|0)+1;a[b+4|0]=0;G=7}else{Qe(-1,186808,Z)}a:do{if((G|0)==7){Of(e);ut(d,1,e)|0;b:do{if((c[X>>2]|0)==4){X=c[_>>2]|0;c:do{if((Qc(X|0,186840)|0)==0){c[b>>2]=0;do{if((c[A>>2]|0)<3){a[E]=0;G=20}else{ut(d,2,g)|0;b=c[m>>2]|0;if((b|0)==5){a[E]=0}else{if((b+ -1|0)>>>0>=2){Qe(-1,186848,M);break}a[E]=1;if((b|0)==1){aa=+(c[l>>2]|0)}else{aa=+h[l>>3]}h[n>>3]=aa}Of(g);G=20}}while(0);do{if((G|0)==20){if((c[A>>2]|0)<4){a[x]=0}else{ut(d,3,g)|0;b=c[m>>2]|0;if((b|0)==5){a[x]=0}else{if((b+ -1|0)>>>0>=2){Qe(-1,186848,B);break}a[x]=1;if((b|0)==1){aa=+(c[l>>2]|0)}else{aa=+h[l>>3]}h[k>>3]=aa}Of(g)}if((c[A>>2]|0)<5){a[w]=0;break c}ut(d,4,g)|0;k=c[m>>2]|0;if((k|0)==5){a[w]=0}else{if((k+ -1|0)>>>0>=2){Qe(-1,186848,u);break}a[w]=1;if((k|0)==1){aa=+(c[l>>2]|0)}else{aa=+h[l>>3]}h[q>>3]=aa}Of(g);break c}}while(0);Of(g);break a}else{if((Qc(X|0,186888)|0)==0){if((c[A>>2]|0)<2){Qe(-1,186760,P);break a}else{c[b>>2]=1;break}}if((Qc(X|0,186896)|0)==0){if((c[A>>2]|0)<3){Qe(-1,186760,U);break a}c[b>>2]=2;ut(d,2,g)|0;d=c[m>>2]|0;do{if((d|0)==5){a[x]=0}else{if((d+ -1|0)>>>0>=2){Qe(-1,186848,J);c[b>>2]=1;break}a[x]=1;if((d|0)==1){aa=+(c[l>>2]|0)}else{aa=+h[l>>3]}h[k>>3]=aa}}while(0);Of(g);break}if((Qc(X|0,186904)|0)==0){if((c[A>>2]|0)<3){Qe(-1,186760,Q);break a}c[b>>2]=3;ut(d,2,g)|0;k=c[m>>2]|0;do{if((k|0)==5){a[E]=0}else{if((k+ -1|0)>>>0>=2){Qe(-1,186848,H);c[b>>2]=1;break}a[E]=1;if((k|0)==1){aa=+(c[l>>2]|0)}else{aa=+h[l>>3]}h[n>>3]=aa}}while(0);Of(g);break}if((Qc(X|0,186912)|0)!=0){if((Qc(X|0,186920)|0)==0){if((c[A>>2]|0)<2){Qe(-1,186760,W);break a}else{c[b>>2]=5;break}}if((Qc(X|0,186928)|0)==0){if((c[A>>2]|0)<3){Qe(-1,186760,V);break a}c[b>>2]=6;ut(d,2,g)|0;d=c[m>>2]|0;do{if((d|0)==5){a[x]=0}else{if((d+ -1|0)>>>0>=2){Qe(-1,186848,L);c[b>>2]=1;break}a[x]=1;if((d|0)==1){aa=+(c[l>>2]|0)}else{aa=+h[l>>3]}h[k>>3]=aa}}while(0);Of(g);break}if((Qc(X|0,186936)|0)!=0){break b}if((c[A>>2]|0)<3){Qe(-1,186760,S);break a}c[b>>2]=7;ut(d,2,g)|0;k=c[m>>2]|0;do{if((k|0)==5){a[E]=0}else{if((k+ -1|0)>>>0>=2){Qe(-1,186848,N);c[b>>2]=1;break}a[E]=1;if((k|0)==1){aa=+(c[l>>2]|0)}else{aa=+h[l>>3]}h[n>>3]=aa}}while(0);Of(g);break}if((c[A>>2]|0)<6){Qe(-1,186760,R);break a}c[b>>2]=4;if(((c[(ut(d,2,g)|0)>>2]|0)+ -1|0)>>>0>=2){Qe(-1,186848,O);c[b>>2]=1}q=c[m>>2]|0;if((q+ -1|0)>>>0>=2){c[K>>2]=q;c[I+4>>2]=1;c[I+8>>2]=2;Qe(0,188520,I);tc()}if((q|0)==1){aa=+(c[l>>2]|0)}else{aa=+h[l>>3]}h[n>>3]=aa;Of(g);if(((c[(ut(d,3,g)|0)>>2]|0)+ -1|0)>>>0>=2){Qe(-1,186848,F);c[b>>2]=1}n=c[m>>2]|0;if((n+ -1|0)>>>0>=2){c[D>>2]=n;c[C+4>>2]=1;c[C+8>>2]=2;Qe(0,188520,C);tc()}if((n|0)==1){aa=+(c[l>>2]|0)}else{aa=+h[l>>3]}h[y>>3]=aa;Of(g);if(((c[(ut(d,4,g)|0)>>2]|0)+ -1|0)>>>0>=2){Qe(-1,186848,z);c[b>>2]=1}n=c[m>>2]|0;if((n+ -1|0)>>>0>=2){c[v>>2]=n;c[t+4>>2]=1;c[t+8>>2]=2;Qe(0,188520,t);tc()}if((n|0)==1){aa=+(c[l>>2]|0)}else{aa=+h[l>>3]}h[r>>3]=aa;Of(g);if(((c[(ut(d,5,g)|0)>>2]|0)+ -1|0)>>>0>=2){Qe(-1,186848,s);c[b>>2]=1}d=c[m>>2]|0;if((d+ -1|0)>>>0>=2){c[p>>2]=d;c[o+4>>2]=1;c[o+8>>2]=2;Qe(0,188520,o);tc()}if((d|0)==1){aa=+(c[l>>2]|0)}else{aa=+h[l>>3]}h[k>>3]=aa;Of(g)}}while(0);Of(e);a[f]=1;i=j;return}}while(0);Qe(-1,186944,T)}}while(0);Of(e);i=j;return}function wE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;g=i;i=i+8|0;c[b>>2]=186992;f=b+4|0;c[f>>2]=0;b=b+8|0;c[b>>2]=0;h=c[d>>2]|0;if((h|0)==4){h=FW(32)|0;fe(h,c[d+8>>2]|0);c[b>>2]=h;i=e;return}else if((h|0)==3){g=c[d+8>>2]|0;h=FW(32)|0;ie(h,g);c[b>>2]=h;i=e;return}else if((h|0)==6){g=FW(64)|0;vE(g,c[d+8>>2]|0);c[f>>2]=g;if((a[g+59|0]&1)!=0){i=e;return}if((g|0)!=0){HW(g)}c[f>>2]=0;i=e;return}else{Qe(-1,187008,g);i=e;return}}function xE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=186992;d=c[a+4>>2]|0;if((d|0)!=0){HW(d)}d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}ke(d);HW(d);HW(a);i=b;return}function yE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=186992;d=c[a+4>>2]|0;if((d|0)!=0){HW(d)}a=c[a+8>>2]|0;if((a|0)==0){i=b;return}ke(a);HW(a);i=b;return}function zE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;h=i;i=i+8|0;j=i;i=i+8|0;k=j;o=i;i=i+16|0;m=o;c[b>>2]=187048;l=b+4|0;c[l>>2]=0;g=b+8|0;c[g>>2]=0;b=b+12|0;c[b>>2]=0;c[o>>2]=13;n=m+8|0;c[n>>2]=0;c[n+4>>2]=0;do{if(CH(d,m)|0){o=c[o>>2]|0;if((o|0)==3){o=c[n>>2]|0;d=FW(32)|0;ie(d,o);c[l>>2]=d;Of(m);break}else{c[j>>2]=o;c[k+4>>2]=3;Qe(0,188448,k);tc()}}}while(0);j=c[e>>2]|0;if((j|0)==3){o=c[e+8>>2]|0;d=FW(32)|0;ie(d,o);c[b>>2]=d;i=f;return}else if((j|0)==4){d=FW(32)|0;fe(d,c[e+8>>2]|0);c[b>>2]=d;i=f;return}else if((j|0)==6){h=FW(64)|0;vE(h,c[e+8>>2]|0);c[g>>2]=h;if((a[h+59|0]&1)!=0){i=f;return}if((h|0)!=0){HW(h)}c[g>>2]=0;i=f;return}else{Qe(-1,187008,h);i=f;return}}function AE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=187048;d=c[a+4>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+8>>2]|0;if((d|0)!=0){HW(d)}d=c[a+12>>2]|0;if((d|0)==0){HW(a);i=b;return}ke(d);HW(d);HW(a);i=b;return}function BE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=187048;d=c[a+4>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+8>>2]|0;if((d|0)!=0){HW(d)}a=c[a+12>>2]|0;if((a|0)==0){i=b;return}ke(a);HW(a);i=b;return}function CE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;d=i;x=i;i=i+8|0;h=i;i=i+8|0;g=h;p=i;i=i+8|0;k=p;r=i;i=i+8|0;t=r;v=i;i=i+8|0;w=v;y=i;i=i+8|0;z=y;A=i;i=i+8|0;B=A;s=i;i=i+16|0;e=s;l=i;i=i+16|0;f=l;u=i;i=i+16|0;n=u;c[a>>2]=187072;c[s>>2]=13;o=e+8|0;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=13;j=f+8|0;c[j>>2]=0;c[j+4>>2]=0;c[u>>2]=13;q=n+8|0;c[q>>2]=0;c[q+4>>2]=0;m=a+4|0;c[m>>2]=0;a=a+8|0;c[a>>2]=0;if((c[b>>2]|0)!=7){i=d;return}C=b+8|0;do{if((c[(Yu(c[C>>2]|0,186584,e,0)|0)>>2]|0)==5){Of(e);A=c[b>>2]|0;if((A|0)!=7){c[y>>2]=A;c[z+4>>2]=7;Qe(0,188448,z);tc()}if((c[(Yu(c[C>>2]|0,187088,e,0)|0)>>2]|0)!=7){Qe(-1,187104,x);break}x=c[s>>2]|0;if((x|0)!=7){c[v>>2]=x;c[w+4>>2]=7;Qe(0,188448,w);tc()}Yu(c[o>>2]|0,186584,f,0)|0;do{if(CH(f,n)|0){u=c[u>>2]|0;if((u|0)==3){b=c[q>>2]|0;C=FW(32)|0;ie(C,b);c[m>>2]=C;Of(n);break}else{c[r>>2]=u;c[t+4>>2]=3;Qe(0,188448,t);tc()}}}while(0);Of(f);m=c[s>>2]|0;if((m|0)!=7){c[p>>2]=m;c[k+4>>2]=7;Qe(0,188448,k);tc()}do{if((c[(Yu(c[o>>2]|0,187096,f,0)|0)>>2]|0)==3){k=c[l>>2]|0;if((k|0)==3){b=c[j>>2]|0;C=FW(32)|0;ie(C,b);c[a>>2]=C;break}else{c[h>>2]=k;c[g+4>>2]=3;Qe(0,188448,g);tc()}}}while(0);Of(f)}else{if(!(CH(e,n)|0)){break}f=c[u>>2]|0;if((f|0)==3){b=c[q>>2]|0;C=FW(32)|0;ie(C,b);c[m>>2]=C;Of(n);break}else{c[A>>2]=f;c[B+4>>2]=3;Qe(0,188448,B);tc()}}}while(0);Of(e);i=d;return}function DE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=187072;d=c[a+4>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}ke(d);HW(d);HW(a);i=b;return}function EE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=187072;d=c[a+4>>2]|0;if((d|0)!=0){ke(d);HW(d)}a=c[a+8>>2]|0;if((a|0)==0){i=b;return}ke(a);HW(a);i=b;return}function FE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;g=i;i=i+8|0;c[b>>2]=187144;b=b+4|0;c[b>>2]=0;if((c[d>>2]|0)!=3){Qe(-1,187168,g);i=f;return}j=c[d+8>>2]|0;d=FW(32)|0;ie(d,j);do{if((e|0)!=0){if((c[e+24>>2]|0)<=0){break}g=d+28|0;j=c[g>>2]|0;h=Kc(j|0,187160)|0;do{if((h|0)!=(c[d+24>>2]|0)){if((a[j+h|0]|0)==47){break}c[b>>2]=d;i=f;return}}while(0);h=FW(32)|0;ie(h,e);c[b>>2]=h;j=a[(c[h+28>>2]|0)+((c[h+24>>2]|0)+ -1)|0]|0;do{if(j<<24>>24==63|j<<24>>24==47){if((a[c[g>>2]|0]|0)==47){re(d,0,1)|0;h=c[b>>2]|0}oe(h,d)|0}else{if((a[c[g>>2]|0]|0)!=47){me(h,47)|0;h=c[b>>2]|0}oe(h,d)|0;if((d|0)!=0){break}i=f;return}}while(0);ke(d);HW(d);i=f;return}}while(0);c[b>>2]=d;i=f;return}function GE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=187144;d=c[a+4>>2]|0;if((d|0)==0){HW(a);i=b;return}ke(d);HW(d);HW(a);i=b;return}function HE(a){a=a|0;var b=0;b=i;c[a>>2]=187144;a=c[a+4>>2]|0;if((a|0)==0){i=b;return}ke(a);HW(a);i=b;return}function IE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=187200;d=c[a+4>>2]|0;if((d|0)==0){HW(a);i=b;return}ke(d);HW(d);HW(a);i=b;return}function JE(a){a=a|0;var b=0;b=i;c[a>>2]=187200;a=c[a+4>>2]|0;if((a|0)==0){i=b;return}ke(a);HW(a);i=b;return}function KE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=i;g=i;i=i+8|0;h=g;j=i;i=i+8|0;k=j;o=i;i=i+8|0;m=i;i=i+8|0;n=m;s=i;i=i+8|0;r=s;u=i;i=i+8|0;t=u;v=i;i=i+8|0;x=v;l=i;i=i+16|0;e=l;c[a>>2]=187224;p=a+4|0;c[p>>2]=-1;q=a+12|0;c[q>>2]=0;c[l>>2]=13;f=e+8|0;c[f>>2]=0;c[f+4>>2]=0;w=c[b>>2]|0;if((w|0)!=7){c[v>>2]=w;c[x+4>>2]=7;Qe(0,188448,x);tc()}v=b+8|0;do{if((c[(Zu(c[v>>2]|0,187240,e)|0)>>2]|0)==9){w=c[l>>2]|0;if((w|0)==9){u=f;w=c[u+4>>2]|0;x=p;c[x>>2]=c[u>>2];c[x+4>>2]=w;break}else{c[u>>2]=w;c[t+4>>2]=9;Qe(0,188448,t);tc()}}}while(0);Of(e);t=c[b>>2]|0;if((t|0)!=7){c[s>>2]=t;c[r+4>>2]=7;Qe(0,188448,r);tc()}do{if((c[(Yu(c[v>>2]|0,187256,e,0)|0)>>2]|0)==3){r=c[l>>2]|0;if((r|0)==3){w=c[f>>2]|0;x=FW(32)|0;ie(x,w);c[q>>2]=x;break}else{c[m>>2]=r;c[n+4>>2]=3;Qe(0,188448,n);tc()}}}while(0);Of(e);do{if((c[q>>2]|0)==0){if((c[p>>2]|0)!=-1){break}Qe(-1,187264,o)}}while(0);m=c[b>>2]|0;if((m|0)!=7){c[j>>2]=m;c[k+4>>2]=7;Qe(0,188448,k);tc()}if((c[(Yu(c[v>>2]|0,187320,e,0)|0)>>2]|0)!=4){Of(e);i=d;return}j=c[l>>2]|0;if((j|0)!=4){c[g>>2]=j;c[h+4>>2]=4;Qe(0,188448,h);tc()}f=c[f>>2]|0;if((Qc(f|0,187336)|0)==0){c[a+16>>2]=0;Of(e);i=d;return}if((Qc(f|0,187344)|0)==0){c[a+16>>2]=3;Of(e);i=d;return}if((Qc(f|0,187352)|0)==0){c[a+16>>2]=1;Of(e);i=d;return}if((Qc(f|0,187360)|0)!=0){Of(e);i=d;return}c[a+16>>2]=2;Of(e);i=d;return}function LE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=187224;d=c[a+12>>2]|0;if((d|0)==0){HW(a);i=b;return}ke(d);HW(d);HW(a);i=b;return}function ME(a){a=a|0;var b=0;b=i;c[a>>2]=187224;a=c[a+12>>2]|0;if((a|0)==0){i=b;return}ke(a);HW(a);i=b;return}function NE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;j=i;g=i;i=i+8|0;e=g;m=i;i=i+8|0;k=m;q=i;i=i+8|0;p=q;u=i;i=i+8|0;v=u;l=i;i=i+16|0;f=l;c[b>>2]=187376;w=b+8|0;h[w>>3]=1.0;t=b+16|0;a[t]=0;s=b+17|0;a[s]=0;n=b+18|0;a[n]=0;b=b+20|0;c[b>>2]=0;if((c[d>>2]|0)!=7){i=j;return}c[l>>2]=13;r=f+8|0;c[r>>2]=0;c[r+4>>2]=0;o=d+8|0;Yu(c[o>>2]|0,187392,f,0)|0;x=c[l>>2]|0;if((x+ -1|0)>>>0<2){if((x|0)==1){y=+(c[r>>2]|0)}else{y=+h[r>>3]}h[w>>3]=y}Of(f);w=c[d>>2]|0;if((w|0)!=7){c[u>>2]=w;c[v+4>>2]=7;Qe(0,188448,v);tc()}Yu(c[o>>2]|0,187400,f,0)|0;if((c[l>>2]|0)==0){a[t]=a[r]&1}Of(f);t=c[d>>2]|0;if((t|0)!=7){c[q>>2]=t;c[p+4>>2]=7;Qe(0,188448,p);tc()}Yu(c[o>>2]|0,187416,f,0)|0;if((c[l>>2]|0)==0){a[s]=a[r]&1}Of(f);p=c[d>>2]|0;if((p|0)!=7){c[m>>2]=p;c[k+4>>2]=7;Qe(0,188448,k);tc()}Yu(c[o>>2]|0,187424,f,0)|0;if((c[l>>2]|0)==0){a[n]=a[r]&1}Of(f);k=c[d>>2]|0;if((k|0)!=7){c[g>>2]=k;c[e+4>>2]=7;Qe(0,188448,e);tc()}Yu(c[o>>2]|0,186648,f,0)|0;c[b>>2]=HG(f)|0;Of(f);i=j;return}function OE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=187376;d=c[a+20>>2]|0;if((d|0)==0){HW(a);i=b;return}JG(d);HW(d);HW(a);i=b;return}function PE(a){a=a|0;var b=0;b=i;c[a>>2]=187376;a=c[a+20>>2]|0;if((a|0)==0){i=b;return}JG(a);HW(a);i=b;return}function QE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;f=i;A=i;i=i+8|0;g=i;i=i+8|0;h=g;l=i;i=i+8|0;m=l;n=i;i=i+8|0;p=n;q=i;i=i+8|0;r=q;u=i;i=i+8|0;t=u;w=i;i=i+8|0;x=w;B=i;i=i+8|0;y=B;F=i;i=i+8|0;D=i;i=i+4096|0;C=i;i=i+16|0;e=C;c[b>>2]=187440;j=b+8|0;c[j>>2]=13;o=b+16|0;c[o>>2]=0;c[o+4>>2]=0;o=b+24|0;c[o>>2]=13;k=b+32|0;c[k>>2]=0;c[k+4>>2]=0;k=b+40|0;c[k>>2]=-1;s=b+44|0;c[s>>2]=0;v=b+48|0;c[v>>2]=0;if((c[d>>2]|0)!=7){i=f;return}c[C>>2]=13;z=e+8|0;c[z>>2]=0;c[z+4>>2]=0;b=d+8|0;a:do{if((c[(Yu(c[b>>2]|0,186672,e,0)|0)>>2]|0)!=5){G=c[C>>2]|0;if((G|0)==8){F=c[z>>2]|0;G=FW(32)|0;ee(G);c[v>>2]=G;fd[c[(c[F>>2]|0)+12>>2]&511](F);while(1){b:do{if(jd[c[(c[F>>2]|0)+88>>2]&511](F)|0){H=sd[c[(c[F>>2]|0)+92>>2]&127](F,4096,D)|0;E=10}else{H=0;while(1){I=jd[c[(c[F>>2]|0)+20>>2]&511](F)|0;if((I|0)==-1){E=10;break b}a[D+H|0]=I;H=H+1|0;if((H|0)>=4096){H=4096;break}}}}while(0);if((E|0)==10){E=0;if((H|0)==0){break a}}ne(G,D,H)|0}}else if((G|0)==3){I=FW(32)|0;ie(I,c[z>>2]|0);c[v>>2]=I;break}else{Qe(-1,187456,F);break}}}while(0);Of(e);D=c[d>>2]|0;if((D|0)!=7){c[B>>2]=D;c[y+4>>2]=7;Qe(0,188448,y);tc()}do{if((c[(Yu(c[b>>2]|0,187512,e,0)|0)>>2]|0)==1){y=c[C>>2]|0;if((y|0)!=1){c[w>>2]=y;c[x+4>>2]=1;Qe(0,188448,x);tc()}w=c[z>>2]|0;c[k>>2]=w;if((c[v>>2]|0)==0&w>>>0>4){c[u>>2]=w;Qe(-1,187520,t);break}t=c[d>>2]|0;if((t|0)!=7){c[q>>2]=t;c[r+4>>2]=7;Qe(0,188448,r);tc()}do{if((c[(Yu(c[b>>2]|0,187584,o,0)|0)>>2]|0)==7){I=FW(232)|0;GG(I,o);c[s>>2]=I}else{q=c[k>>2]|0;if(!((q|0)==4|(q|0)==0)){break}c[n>>2]=q;Qe(-1,187592,p);Of(o)}}while(0);n=c[d>>2]|0;if((n|0)!=7){c[l>>2]=n;c[m+4>>2]=7;Qe(0,188448,m);tc()}if((c[(Zu(c[b>>2]|0,187648,j)|0)>>2]|0)==9){break}k=c[k>>2]|0;if(k>>>0>=5){break}c[g>>2]=k;Qe(-1,187656,h);Of(j)}else{if((c[v>>2]|0)!=0){break}Qe(-1,187712,A)}}while(0);Of(e);i=f;return}function RE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=187440;Of(a+24|0);Of(a+8|0);d=c[a+48>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+44>>2]|0;if((d|0)==0){HW(a);i=b;return}FG(d);HW(d);HW(a);i=b;return}function SE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=187440;Of(a+24|0);Of(a+8|0);d=c[a+48>>2]|0;if((d|0)!=0){ke(d);HW(d)}a=c[a+44>>2]|0;if((a|0)==0){i=b;return}FG(a);HW(a);i=b;return}function TE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;g=i;f=i;i=i+4096|0;c[b>>2]=187776;h=b+4|0;c[h>>2]=0;b=c[d>>2]|0;if((b|0)==8){b=c[d+8>>2]|0;d=FW(32)|0;ee(d);c[h>>2]=d;fd[c[(c[b>>2]|0)+12>>2]&511](b);while(1){a:do{if(jd[c[(c[b>>2]|0)+88>>2]&511](b)|0){h=sd[c[(c[b>>2]|0)+92>>2]&127](b,4096,f)|0;e=8}else{h=0;while(1){j=jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;if((j|0)==-1){e=8;break a}a[f+h|0]=j;h=h+1|0;if((h|0)>=4096){h=4096;break}}}}while(0);if((e|0)==8){e=0;if((h|0)==0){break}}ne(d,f,h)|0}i=g;return}else if((b|0)==3){j=FW(32)|0;ie(j,c[d+8>>2]|0);c[h>>2]=j;i=g;return}else{i=g;return}}function UE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=187776;d=c[a+4>>2]|0;if((d|0)==0){HW(a);i=b;return}ke(d);HW(d);HW(a);i=b;return}function VE(a){a=a|0;var b=0;b=i;c[a>>2]=187776;a=c[a+4>>2]|0;if((a|0)==0){i=b;return}ke(a);HW(a);i=b;return}function WE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;h=i;e=i;i=i+8|0;j=e;m=i;i=i+8|0;k=m;z=i;i=i+8|0;x=i;i=i+8|0;s=i;i=i+8|0;v=i;i=i+8|0;w=v;q=i;i=i+8|0;r=q;o=i;i=i+8|0;p=o;t=i;i=i+8|0;A=t;l=i;i=i+16|0;g=l;u=i;i=i+16|0;y=u;c[b>>2]=187800;c[l>>2]=13;f=g+8|0;c[f>>2]=0;c[f+4>>2]=0;B=FW(16)|0;wo(B);n=b+4|0;c[n>>2]=B;b=b+8|0;a[b]=1;B=c[d>>2]|0;if((B|0)!=7){c[t>>2]=B;c[A+4>>2]=7;Qe(0,188448,A);tc()}t=d+8|0;do{if((c[(Yu(c[t>>2]|0,187816,g,0)|0)>>2]|0)==6){z=c[l>>2]|0;if((z|0)!=6){G=z;H=o;c[H>>2]=G;H=p+4|0;c[H>>2]=6;H=188448;Qe(0,H,p);tc()}B=y+8|0;A=B+4|0;z=0;C=0;a:while(1){D=c[f>>2]|0;if((z|0)>=(c[D+12>>2]|0)){s=32;break}c[u>>2]=13;c[B>>2]=0;c[A>>2]=0;vt(D,z,y)|0;D=c[u>>2]|0;do{if((D|0)==9){if((C|0)==0){Qe(-1,187896,s);C=0;break}else{G=B;F=c[G>>2]|0;G=c[G+4>>2]|0;H=FW(8)|0;E=H;c[E>>2]=0;c[E+4>>2]=0;c[H>>2]=F;c[H+4>>2]=G;yo(c[C+4>>2]|0,H);break}}else if((D|0)==4){if((C|0)!=0){yo(c[n>>2]|0,C);C=c[u>>2]|0;if((C|0)!=4){s=11;break a}}E=c[B>>2]|0;C=FW(8)|0;D=C+4|0;c[D>>2]=0;H=FW(16)|0;wo(H);c[D>>2]=H;if((Qc(E|0,187824)|0)==0){c[C>>2]=0;break}if((Qc(E|0,187832)|0)==0){c[C>>2]=1;break}if((Qc(E|0,187840)|0)==0){c[C>>2]=2;break}c[v>>2]=E;Qe(-1,187848,w);if((C|0)==0){C=0;break}D=c[D>>2]|0;if((D|0)!=0){E=D+8|0;G=c[E>>2]|0;if((G|0)>0){F=0;do{H=c[(c[D>>2]|0)+(F<<2)>>2]|0;if((H|0)!=0){HW(H);G=c[E>>2]|0}F=F+1|0;}while((F|0)<(G|0))}xo(D);HW(D)}HW(C);C=0}else{Qe(-1,187960,x)}}while(0);Of(y);D=c[l>>2]|0;if((D|0)==6){z=z+1|0}else{s=6;break}}if((s|0)==6){H=o;c[H>>2]=D;H=p+4|0;c[H>>2]=6;H=188448;Qe(0,H,p);tc()}else if((s|0)==11){c[q>>2]=C;c[r+4>>2]=4;Qe(0,188448,r);tc()}else if((s|0)==32){if((C|0)==0){break}yo(c[n>>2]|0,C);break}}else{Qe(-1,188e3,z);o=c[n>>2]|0;if((o|0)!=0){xo(o);HW(o)}c[n>>2]=0}}while(0);Of(g);d=c[d>>2]|0;if((d|0)!=7){c[m>>2]=d;c[k+4>>2]=7;Qe(0,188448,k);tc()}if((c[(Yu(c[t>>2]|0,188024,g,0)|0)>>2]|0)!=0){Of(g);i=h;return}k=c[l>>2]|0;if((k|0)!=0){c[e>>2]=k;c[j+4>>2]=0;Qe(0,188448,j);tc()}a[b]=a[f]&1;Of(g);i=h;return}function XE(a){a=a|0;var b=0;b=i;YE(a);HW(a);i=b;return}function YE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;c[a>>2]=187800;a=c[a+4>>2]|0;if((a|0)==0){i=b;return}d=a+8|0;g=c[d>>2]|0;if((g|0)>0){e=0;do{f=c[(c[a>>2]|0)+(e<<2)>>2]|0;if((f|0)!=0){g=c[f+4>>2]|0;if((g|0)!=0){h=g+8|0;j=c[h>>2]|0;if((j|0)>0){k=0;do{l=c[(c[g>>2]|0)+(k<<2)>>2]|0;if((l|0)!=0){HW(l);j=c[h>>2]|0}k=k+1|0;}while((k|0)<(j|0))}xo(g);HW(g)}HW(f);g=c[d>>2]|0}e=e+1|0;}while((e|0)<(g|0))}xo(a);HW(a);i=b;return}function ZE(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=188048;d=c[a+4>>2]|0;if((d|0)==0){HW(a);i=b;return}ke(d);HW(d);HW(a);i=b;return}function _E(a){a=a|0;var b=0;b=i;c[a>>2]=188048;a=c[a+4>>2]|0;if((a|0)==0){i=b;return}ke(a);HW(a);i=b;return}function $E(a){a=a|0;var b=0;b=i;if((c[a+4>>2]|0)!=0){a=1;i=b;return a|0}a=(c[a+8>>2]|0)!=0;i=b;return a|0}function aF(a){a=a|0;i=i;return 0}function bF(a){a=a|0;var b=0;b=i;if((c[a+4>>2]|0)==0){a=0;i=b;return a|0}if((c[a+8>>2]|0)!=0){a=1;i=b;return a|0}a=(c[a+12>>2]|0)!=0;i=b;return a|0}function cF(a){a=a|0;i=i;return 1}function dF(a){a=a|0;i=i;return(c[a+4>>2]|0)!=0|0}function eF(a){a=a|0;i=i;return 2}function fF(a){a=a|0;i=i;return(c[a+4>>2]|0)!=0|0}function gF(a){a=a|0;i=i;return 3}function hF(a){a=a|0;i=i;return(c[a+4>>2]|0)!=0|0}function iF(a){a=a|0;i=i;return 4}function jF(a){a=a|0;var b=0;b=i;if((c[a+4>>2]|0)>-1){a=1;i=b;return a|0}a=(c[a+12>>2]|0)!=0;i=b;return a|0}function kF(a){a=a|0;i=i;return 5}function lF(a){a=a|0;i=i;return-1}function mF(a){a=a|0;i=i;return 6}function nF(a){a=a|0;i=i;return(c[a+20>>2]|0)!=0|0}function oF(a){a=a|0;i=i;return 7}function pF(a){a=a|0;i=i;return(c[a+4>>2]|0)!=0|0}function qF(a){a=a|0;i=i;return 8}function rF(a){a=a|0;i=i;return(c[a+4>>2]|0)!=0|0}function sF(a){a=a|0;i=i;return 9}function tF(a){a=a|0;i=i;return(c[a+4>>2]|0)!=0|0}function uF(a){a=a|0;i=i;return 10}function vF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;a=i;g=(ue(b,188600,7)|0)==0;f=FW(32)|0;ie(f,b);if(g){re(f,0,7)|0;g=FW(68)|0;Sf(g,f,c,d,e);i=a;return g|0}else{g=FW(68)|0;Sf(g,f,c,d,e);i=a;return g|0}return 0}function wF(a,b){a=a|0;b=b|0;a=i;if((ue(b,188600,7)|0)==0){b=1;i=a;return b|0}b=(nb(c[b+28>>2]|0,188608)|0)==0;i=a;return b|0}function xF(a){a=a|0;i=i;return}function yF(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function zF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0;e=i;k=i;i=i+16|0;j=k;m=i;i=i+16|0;n=m;q=i;i=i+8|0;p=q;r=i;i=i+8|0;s=r;v=i;i=i+8|0;w=v;y=i;i=i+8|0;z=y;C=i;i=i+8|0;B=C;D=i;i=i+8|0;E=D;G=i;i=i+8|0;F=G;H=i;i=i+8|0;I=H;J=i;i=i+8|0;K=J;L=i;i=i+8|0;M=L;N=i;i=i+8|0;O=N;P=i;i=i+8|0;Q=P;R=i;i=i+16|0;S=R;T=i;i=i+8|0;U=T;W=i;i=i+16|0;V=W;X=i;i=i+8|0;Y=X;$=i;i=i+8|0;aa=$;da=i;i=i+8|0;A=da;t=i;i=i+16|0;f=t;ba=i;i=i+16|0;ca=ba;Z=i;i=i+16|0;_=Z;x=i;i=i+16|0;u=x;l=i;i=i+16|0;g=l;c[t>>2]=13;o=f+8|0;c[o>>2]=0;c[o+4>>2]=0;ea=c[d>>2]|0;if((ea|0)!=7){c[da>>2]=ea;c[A+4>>2]=7;Qe(0,188872,A);tc()}A=d+8|0;do{if((c[(Yu(c[A>>2]|0,188680,f,0)|0)>>2]|0)!=5){da=c[t>>2]|0;if((da|0)==1){c[b>>2]=c[o>>2];break}else if((da|0)!=6){break}ea=c[o>>2]|0;c[ba>>2]=13;da=ca+8|0;c[da>>2]=0;c[da+4>>2]=0;ut(ea,0,ca)|0;if((c[ba>>2]|0)==1){c[b>>2]=c[da>>2]}Of(ca);ut(ea,1,ca)|0;if((c[ba>>2]|0)==1){c[b+4>>2]=c[da>>2]}Of(ca)}}while(0);Of(f);ba=c[d>>2]|0;if((ba|0)!=7){c[$>>2]=ba;c[aa+4>>2]=7;Qe(0,188872,aa);tc()}do{if((c[(Yu(c[A>>2]|0,188688,f,0)|0)>>2]|0)!=5){$=c[t>>2]|0;if(($|0)==1){c[b+8>>2]=c[o>>2];break}else if(($|0)!=6){break}$=c[o>>2]|0;c[Z>>2]=13;aa=_+8|0;c[aa>>2]=0;c[aa+4>>2]=0;ut($,0,_)|0;if((c[Z>>2]|0)==1){c[b+8>>2]=c[aa>>2]}Of(_);ut($,1,_)|0;if((c[Z>>2]|0)==1){c[b+12>>2]=c[aa>>2]}Of(_)}}while(0);Of(f);Z=c[d>>2]|0;if((Z|0)!=7){c[X>>2]=Z;c[Y+4>>2]=7;Qe(0,188872,Y);tc()}if(((c[(Yu(c[A>>2]|0,188704,f,0)|0)>>2]|0)+ -1|0)>>>0<2){X=c[t>>2]|0;if((X+ -1|0)>>>0>=2){c[W>>2]=X;c[V+4>>2]=1;c[V+8>>2]=2;Qe(0,188944,V);tc()}if((X|0)==1){fa=+(c[o>>2]|0)}else{fa=+h[o>>3]}h[b+16>>3]=fa}Of(f);V=c[d>>2]|0;if((V|0)!=7){c[T>>2]=V;c[U+4>>2]=7;Qe(0,188872,U);tc()}if(((c[(Yu(c[A>>2]|0,188712,f,0)|0)>>2]|0)+ -1|0)>>>0<2){T=c[t>>2]|0;if((T+ -1|0)>>>0>=2){c[R>>2]=T;c[S+4>>2]=1;c[S+8>>2]=2;Qe(0,188944,S);tc()}if((T|0)==1){fa=+(c[o>>2]|0)}else{fa=+h[o>>3]}c[b+24>>2]=~~((fa+1.0)*50.0)}Of(f);R=c[d>>2]|0;if((R|0)!=7){c[P>>2]=R;c[Q+4>>2]=7;Qe(0,188872,Q);tc()}do{if((c[(Yu(c[A>>2]|0,188720,f,0)|0)>>2]|0)==0){P=c[t>>2]|0;if((P|0)==0){a[b+28|0]=a[o]&1;break}else{c[N>>2]=P;c[O+4>>2]=0;Qe(0,188872,O);tc()}}}while(0);Of(f);N=c[d>>2]|0;if((N|0)!=7){c[L>>2]=N;c[M+4>>2]=7;Qe(0,188872,M);tc()}do{if((c[(Yu(c[A>>2]|0,188736,f,0)|0)>>2]|0)==0){L=c[t>>2]|0;if((L|0)==0){a[b+29|0]=a[o]&1;break}else{c[J>>2]=L;c[K+4>>2]=0;Qe(0,188872,K);tc()}}}while(0);Of(f);J=c[d>>2]|0;if((J|0)!=7){c[H>>2]=J;c[I+4>>2]=7;Qe(0,188872,I);tc()}do{if((c[(Yu(c[A>>2]|0,188752,f,0)|0)>>2]|0)==4){H=c[t>>2]|0;if((H|0)!=4){c[G>>2]=H;c[F+4>>2]=4;Qe(0,188872,F);tc()}F=c[o>>2]|0;if((Qc(F|0,188760)|0)==0){c[b+32>>2]=0;break}if((Qc(F|0,188768)|0)==0){c[b+32>>2]=1;break}if((Qc(F|0,188776)|0)==0){c[b+32>>2]=2;break}if((Qc(F|0,188784)|0)!=0){break}c[b+32>>2]=3}}while(0);Of(f);F=c[d>>2]|0;if((F|0)!=7){c[D>>2]=F;c[E+4>>2]=7;Qe(0,188872,E);tc()}do{if((c[(Yu(c[A>>2]|0,188800,f,0)|0)>>2]|0)==6){a[b+36|0]=1;D=c[t>>2]|0;if((D|0)!=6){c[C>>2]=D;c[B+4>>2]=6;Qe(0,188872,B);tc()}C=c[o>>2]|0;if((c[C+12>>2]|0)<=1){break}c[x>>2]=13;B=u+8|0;c[B>>2]=0;c[B+4>>2]=0;do{if((c[(ut(C,0,u)|0)>>2]|0)==1){D=c[x>>2]|0;if((D|0)==1){c[b+56>>2]=c[B>>2];break}else{c[y>>2]=D;c[z+4>>2]=1;Qe(0,188872,z);tc()}}}while(0);Of(u);do{if((c[(ut(C,1,u)|0)>>2]|0)==1){x=c[x>>2]|0;if((x|0)==1){c[b+60>>2]=c[B>>2];break}else{c[v>>2]=x;c[w+4>>2]=1;Qe(0,188872,w);tc()}}}while(0);Of(u)}}while(0);Of(f);d=c[d>>2]|0;if((d|0)!=7){c[r>>2]=d;c[s+4>>2]=7;Qe(0,188872,s);tc()}if((c[(Yu(c[A>>2]|0,188808,f,0)|0)>>2]|0)!=6){Of(f);i=e;return}r=c[t>>2]|0;if((r|0)!=6){c[q>>2]=r;c[p+4>>2]=6;Qe(0,188872,p);tc()}p=c[o>>2]|0;if((c[p+12>>2]|0)<=1){Of(f);i=e;return}c[l>>2]=13;o=g+8|0;c[o>>2]=0;c[o+4>>2]=0;if(((c[(ut(p,0,g)|0)>>2]|0)+ -1|0)>>>0<2){q=c[l>>2]|0;if((q+ -1|0)>>>0>=2){c[m>>2]=q;c[n+4>>2]=1;c[n+8>>2]=2;Qe(0,188944,n);tc()}if((q|0)==1){fa=+(c[o>>2]|0)}else{fa=+h[o>>3]}h[b+40>>3]=fa}Of(g);if(((c[(ut(p,1,g)|0)>>2]|0)+ -1|0)>>>0<2){l=c[l>>2]|0;if((l+ -1|0)>>>0>=2){c[k>>2]=l;c[j+4>>2]=1;c[j+8>>2]=2;Qe(0,188944,j);tc()}if((l|0)==1){fa=+(c[o>>2]|0)}else{fa=+h[o>>3]}h[b+48>>3]=fa}Of(g);Of(f);i=e;return}function AF(d,e){d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0;f=i;j=i;i=i+8|0;k=j;p=i;i=i+8|0;m=p;r=i;i=i+8|0;s=r;x=i;i=i+16|0;w=x;z=i;i=i+16|0;A=z;C=i;i=i+8|0;D=C;M=i;i=i+8|0;E=i;i=i+8|0;F=E;I=i;i=i+8|0;J=I;O=i;i=i+8|0;t=O;q=i;i=i+16|0;n=q;L=i;i=i+16|0;H=L;B=i;i=i+16|0;v=B;G=d+36|0;c[G>>2]=0;l=d+2|0;b[l>>1]=0;y=d+4|0;c[y>>2]=-1;u=d+8|0;c[u>>2]=-1;g=d+32|0;a[g]=0;c[q>>2]=13;o=n+8|0;c[o>>2]=0;c[o+4>>2]=0;c[L>>2]=13;K=H+8|0;c[K>>2]=0;c[K+4>>2]=0;N=c[e>>2]|0;if((N|0)!=7){c[O>>2]=N;c[t+4>>2]=7;Qe(0,188872,t);tc()}t=e+8|0;if(!(CH(Yu(c[t>>2]|0,188824,n,0)|0,H)|0)){Qe(-1,188832,M);a[d]=0;Of(n);i=f;return}L=c[L>>2]|0;if((L|0)!=3){c[I>>2]=L;c[J+4>>2]=3;Qe(0,188872,J);tc()}N=c[K>>2]|0;O=FW(32)|0;ie(O,N);c[G>>2]=O;Of(H);Of(n);G=c[e>>2]|0;if((G|0)!=7){c[E>>2]=G;c[F+4>>2]=7;Qe(0,188872,F);tc()}do{if((c[(Yu(c[t>>2]|0,188848,n,0)|0)>>2]|0)==6){E=c[q>>2]|0;if((E|0)!=6){c[C>>2]=E;c[D+4>>2]=6;Qe(0,188872,D);tc()}C=c[o>>2]|0;if((c[C+12>>2]|0)<=1){break}c[B>>2]=13;O=v+8|0;c[O>>2]=0;c[O+4>>2]=0;if(((c[(ut(C,0,v)|0)>>2]|0)+ -1|0)>>>0<2){D=ut(C,0,v)|0;B=c[D>>2]|0;if((B+ -1|0)>>>0>=2){c[z>>2]=B;c[A+4>>2]=1;c[A+8>>2]=2;Qe(0,188944,A);tc()}z=D+8|0;if((B|0)==1){P=+(c[z>>2]|0)}else{P=+h[z>>3]}c[y>>2]=~~+R(+(P+.5))}Of(v);if(((c[(ut(C,1,v)|0)>>2]|0)+ -1|0)>>>0<2){z=ut(C,1,v)|0;y=c[z>>2]|0;if((y+ -1|0)>>>0>=2){c[x>>2]=y;c[w+4>>2]=1;c[w+8>>2]=2;Qe(0,188944,w);tc()}w=z+8|0;if((y|0)==1){P=+(c[w>>2]|0)}else{P=+h[w>>3]}c[u>>2]=~~+R(+(P+.5))}Of(v)}}while(0);Of(n);u=c[e>>2]|0;if((u|0)!=7){c[r>>2]=u;c[s+4>>2]=7;Qe(0,188872,s);tc()}do{if((c[(Yu(c[t>>2]|0,188856,n,0)|0)>>2]|0)==1){q=c[q>>2]|0;if((q|0)==1){b[l>>1]=((((c[o>>2]|0)+360|0)%360|0|0)%90|0)*90;break}else{c[p>>2]=q;c[m+4>>2]=1;Qe(0,188872,m);tc()}}}while(0);Of(n);l=d+16|0;e=c[e>>2]|0;if((e|0)!=7){c[j>>2]=e;c[k+4>>2]=7;Qe(0,188872,k);tc()}if((c[(Zu(c[t>>2]|0,188864,l)|0)>>2]|0)==5){i=f;return}j=c[l>>2]|0;if((j|0)==8|(j|0)==9){a[g]=1;i=f;return}else if((j|0)==0){a[g]=a[d+24|0]&1;Of(l);i=f;return}else{Of(l);i=f;return}}function BF(a){a=a|0;var b=0,d=0;b=i;d=c[a+36>>2]|0;if((d|0)!=0){ke(d);HW(d)}Of(a+16|0);i=b;return}function CF(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;c[b+16>>2]=13;f=b+24|0;c[f>>2]=0;c[f+4>>2]=0;c[b+44>>2]=0;c[b+52>>2]=0;a[b+76|0]=0;h[b+80>>3]=.5;h[b+88>>3]=.5;h[b+56>>3]=1.0;c[b+64>>2]=100;a[b+68|0]=0;a[b+69|0]=0;c[b+72>>2]=0;c[b+40>>2]=0;c[b+48>>2]=0;c[b+96>>2]=1;c[b+100>>2]=1;a[b]=1;if((c[d>>2]|0)==7){AF(b,d);i=e;return}else{a[b]=0;i=e;return}}function DF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;c[b+16>>2]=13;g=b+24|0;c[g>>2]=0;c[g+4>>2]=0;g=b+40|0;c[b+44>>2]=0;c[b+52>>2]=0;a[b+76|0]=0;h[b+80>>3]=.5;h[b+88>>3]=.5;h[b+56>>3]=1.0;c[b+64>>2]=100;a[b+68|0]=0;a[b+69|0]=0;c[b+72>>2]=0;c[g>>2]=0;c[b+48>>2]=0;c[b+96>>2]=1;c[b+100>>2]=1;a[b]=1;if((c[d>>2]|0)!=7){a[b]=0;i=f;return}AF(b,d);if((c[e>>2]|0)!=7){i=f;return}zF(g,e);i=f;return}function EF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;f=i;g=i;i=i+8|0;h=g;m=i;i=i+8|0;n=m;y=i;i=i+8|0;w=i;i=i+8|0;q=w;z=i;i=i+8|0;x=z;B=i;i=i+8|0;A=B;I=i;i=i+8|0;H=i;i=i+8|0;J=H;E=i;i=i+8|0;F=E;N=i;i=i+8|0;M=N;S=i;i=i+8|0;Q=i;i=i+8|0;R=Q;ba=i;i=i+8|0;T=ba;L=i;i=i+8|0;aa=L;Y=i;i=i+8|0;_=i;i=i+8|0;$=_;ea=i;i=i+8|0;da=i;i=i+8|0;fa=da;Z=i;i=i+16|0;X=Z;U=i;i=i+16|0;k=U;W=i;i=i+16|0;V=W;p=i;i=i+16|0;j=p;P=i;i=i+16|0;O=P;C=i;i=i+16|0;K=C;D=i;i=i+16|0;G=D;r=i;i=i+16|0;v=r;u=i;i=i+16|0;s=u;o=b+8|0;c[o>>2]=13;l=b+16|0;c[l>>2]=0;c[l+4>>2]=0;l=b+24|0;c[l>>2]=13;ca=b+32|0;c[ca>>2]=0;c[ca+4>>2]=0;c[b+40>>2]=e;a[b]=1;ca=FW(16)|0;wo(ca);e=b+4|0;c[e>>2]=ca;c[U>>2]=13;ca=k+8|0;c[ca>>2]=0;c[ca+4>>2]=0;ga=c[d>>2]|0;if((ga|0)!=7){c[da>>2]=ga;c[fa+4>>2]=7;Qe(0,189600,fa);tc()}da=d+8|0;Yu(c[da>>2]|0,189024,k,0)|0;if((c[U>>2]|0)!=6){Qe(-1,189032,ea);Of(k);a[b]=0;i=f;return}ga=V+8|0;fa=ga+4|0;ea=X+8|0;ia=ea+4|0;ha=0;while(1){ja=c[ca>>2]|0;if((ha|0)>=(c[ja+12>>2]|0)){break}c[W>>2]=13;c[ga>>2]=0;c[fa>>2]=0;ut(ja,ha,V)|0;if((c[W>>2]|0)!=7){t=9;break}ja=FW(20)|0;la=c[ga>>2]|0;ka=ja+4|0;c[ka>>2]=0;c[Z>>2]=13;c[ea>>2]=0;c[ia>>2]=0;Yu(la,189512,X,0)|0;if((c[Z>>2]|0)==3){la=FW(32)|0;ie(la,c[ea>>2]|0);c[ka>>2]=la}else{Qe(-1,189520,Y)}Of(X);Of(V);ka=c[U>>2]|0;if((ka|0)!=6){t=14;break}vt(c[ca>>2]|0,ha,V)|0;ka=c[W>>2]|0;if((ka|0)!=9){t=16;break}ma=ga;ka=c[ma+4>>2]|0;la=ja+8|0;c[la>>2]=c[ma>>2];c[la+4>>2]=ka;Of(V);c[ja+16>>2]=0;yo(c[e>>2]|0,ja);ja=c[U>>2]|0;if((ja|0)==6){ha=ha+1|0}else{t=6;break}}if((t|0)==6){c[_>>2]=ja;c[$+4>>2]=6;Qe(0,189600,$);tc()}else if((t|0)==9){Of(V)}else if((t|0)==14){c[L>>2]=ka;c[aa+4>>2]=6;Qe(0,189600,aa);tc()}else if((t|0)==16){c[ba>>2]=ka;c[T+4>>2]=9;Qe(0,189600,T);tc()}c[p>>2]=13;L=j+8|0;c[L>>2]=0;c[L+4>>2]=0;d=c[d>>2]|0;if((d|0)!=7){c[Q>>2]=d;c[R+4>>2]=7;Qe(0,189600,R);tc()}Yu(c[da>>2]|0,189128,j,0)|0;if((c[p>>2]|0)!=7){Qe(-1,189136,S);Of(j);Of(k);a[b]=0;i=f;return}c[P>>2]=13;Q=O+8|0;c[Q>>2]=0;c[Q+4>>2]=0;Yu(c[L>>2]|0,189224,O,0)|0;do{if((c[P>>2]|0)==4){if((Qc(c[Q>>2]|0,189240)|0)!=0){break}Q=c[e>>2]|0;if((c[Q+8>>2]|0)>0){P=0}else{break}do{c[(c[(c[Q>>2]|0)+(P<<2)>>2]|0)+16>>2]=1;P=P+1|0;Q=c[e>>2]|0;}while((P|0)<(c[Q+8>>2]|0))}}while(0);Of(O);c[C>>2]=13;O=K+8|0;c[O>>2]=0;c[O+4>>2]=0;P=c[p>>2]|0;if((P|0)!=7){c[N>>2]=P;c[M+4>>2]=7;Qe(0,189600,M);tc()}Yu(c[L>>2]|0,189248,K,0)|0;a:do{if((c[C>>2]|0)==6){N=G+8|0;P=N+4|0;M=0;b:while(1){Q=c[O>>2]|0;if((M|0)>=(c[Q+12>>2]|0)){break a}c[D>>2]=13;c[N>>2]=0;c[P>>2]=0;vt(Q,M,G)|0;if((c[D>>2]|0)!=9){t=33;break}R=N;S=c[R>>2]|0;R=c[R+4>>2]|0;b=c[e>>2]|0;Q=c[b+8>>2]|0;if((Q|0)<=0){t=39;break}b=c[b>>2]|0;T=0;while(1){d=c[b+(T<<2)>>2]|0;U=d+8|0;if((c[U>>2]|0)==(S|0)){if((c[U+4>>2]|0)==(R|0)){break}}T=T+1|0;if((T|0)>=(Q|0)){t=39;break b}}Of(G);if((d|0)==0){break}c[d+16>>2]=0;Q=c[C>>2]|0;if((Q|0)==6){M=M+1|0}else{t=30;break}}if((t|0)==30){c[E>>2]=Q;c[F+4>>2]=6;Qe(0,189600,F);tc()}else if((t|0)==33){Of(G);break}else if((t|0)==39){c[H>>2]=S;c[J+4>>2]=R;Qe(-1,189368,J);Of(G)}Qe(-1,189256,I)}}while(0);Of(K);c[r>>2]=13;C=v+8|0;c[C>>2]=0;c[C+4>>2]=0;D=c[p>>2]|0;if((D|0)!=7){c[B>>2]=D;c[A+4>>2]=7;Qe(0,189600,A);tc()}Yu(c[L>>2]|0,189240,v,0)|0;c:do{if((c[r>>2]|0)==6){A=s+8|0;B=A+4|0;D=0;d:while(1){E=c[C>>2]|0;if((D|0)>=(c[E+12>>2]|0)){break c}c[u>>2]=13;c[A>>2]=0;c[B>>2]=0;vt(E,D,s)|0;if((c[u>>2]|0)!=9){t=50;break}F=A;E=c[F>>2]|0;F=c[F+4>>2]|0;H=c[e>>2]|0;G=c[H+8>>2]|0;if((G|0)<=0){t=56;break}H=c[H>>2]|0;J=0;while(1){K=c[H+(J<<2)>>2]|0;I=K+8|0;if((c[I>>2]|0)==(E|0)){if((c[I+4>>2]|0)==(F|0)){break}}J=J+1|0;if((J|0)>=(G|0)){t=56;break d}}Of(s);if((K|0)==0){break}c[K+16>>2]=1;E=c[r>>2]|0;if((E|0)==6){D=D+1|0}else{t=47;break}}if((t|0)==47){c[z>>2]=E;c[x+4>>2]=6;Qe(0,189600,x);tc()}else if((t|0)==50){Of(s);break}else if((t|0)==56){c[w>>2]=E;c[q+4>>2]=F;Qe(-1,189368,q);Of(s)}Qe(-1,189296,y)}}while(0);Of(v);q=c[p>>2]|0;if((q|0)!=7){c[m>>2]=q;c[n+4>>2]=7;Qe(0,189600,n);tc()}Yu(c[L>>2]|0,189344,o,0)|0;m=c[p>>2]|0;if((m|0)!=7){c[g>>2]=m;c[h+4>>2]=7;Qe(0,189600,h);tc()}Yu(c[L>>2]|0,189352,l,0)|0;Of(k);Of(j);i=f;return}function FF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=i;b=c[a+4>>2]|0;e=b+8|0;g=c[e>>2]|0;if((g|0)>0){f=0;do{h=c[(c[b>>2]|0)+(f<<2)>>2]|0;if((h|0)!=0){g=c[h+4>>2]|0;if((g|0)!=0){ke(g);HW(g)}HW(h);g=c[e>>2]|0}f=f+1|0;}while((f|0)<(g|0))}if((b|0)==0){h=a+8|0;Of(h);h=a+24|0;Of(h);i=d;return}xo(b);HW(b);h=a+8|0;Of(h);h=a+24|0;Of(h);i=d;return}function GF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;d=i;k=i;i=i+8|0;n=k;q=i;i=i+8|0;p=q;l=i;i=i+8|0;m=l;x=i;i=i+8|0;y=i;i=i+16|0;e=y;u=i;i=i+16|0;f=u;t=i;i=i+16|0;h=t;r=i;i=i+16|0;j=r;c[y>>2]=13;w=e+8|0;c[w>>2]=0;c[w+4>>2]=0;c[u>>2]=13;v=f+8|0;c[v>>2]=0;c[v+4>>2]=0;c[t>>2]=13;o=h+8|0;c[o>>2]=0;c[o+4>>2]=0;c[r>>2]=13;s=j+8|0;c[s>>2]=0;c[s+4>>2]=0;Nf(b,c[a+40>>2]|0,e,0)|0;y=c[y>>2]|0;if((y|0)!=7){c[x>>2]=y;Qe(-1,189408,x);Of(e);y=1;i=d;return y|0}w=c[w>>2]|0;Yu(w,189448,f,0)|0;a:do{if((c[u>>2]|0)==4){u=c[v>>2]|0;if((Qc(u|0,189456)|0)!=0){if((Qc(u|0,189504)|0)!=0){g=1;break}h=c[b>>2]|0;if((h|0)!=9){c[q>>2]=h;c[p+4>>2]=9;Qe(0,189600,p);tc()}h=b+8|0;j=c[h>>2]|0;h=c[h+4>>2]|0;m=c[a+4>>2]|0;l=c[m+8>>2]|0;b:do{if((l|0)>0){m=c[m>>2]|0;p=0;while(1){o=c[m+(p<<2)>>2]|0;a=o+8|0;if((c[a>>2]|0)==(j|0)){if((c[a+4>>2]|0)==(h|0)){break}}p=p+1|0;if((p|0)>=(l|0)){g=33;break b}}if((o|0)==0){break}if((c[o+16>>2]|0)!=1){g=1;break a}}else{g=33}}while(0);if((g|0)==33){c[k>>2]=j;c[n+4>>2]=h;Qe(-1,189368,n)}g=0;break}Yu(w,189464,j,0)|0;Zu(w,189024,h)|0;k=c[t>>2]|0;c:do{if((k|0)==9){n=o;k=c[n>>2]|0;n=c[n+4>>2]|0;o=c[a+4>>2]|0;a=c[o+8>>2]|0;d:do{if((a|0)>0){o=c[o>>2]|0;r=0;while(1){q=c[o+(r<<2)>>2]|0;p=q+8|0;if((c[p>>2]|0)==(k|0)){if((c[p+4>>2]|0)==(n|0)){break}}r=r+1|0;if((r|0)>=(a|0)){g=20;break d}}if((q|0)==0){break}if((c[q+16>>2]|0)==1){g=0;break c}}else{g=20}}while(0);if((g|0)==20){c[l>>2]=k;c[m+4>>2]=n;Qe(-1,189368,m)}g=1}else if((k|0)==6){do{if((c[r>>2]|0)==4){g=c[s>>2]|0;if((Qc(g|0,189472)|0)==0){g=HF(a,c[o>>2]|0)|0;break c}if((Qc(g|0,189480)|0)==0){g=IF(a,c[o>>2]|0)|0;break c}if((Qc(g|0,189488)|0)==0){g=JF(a,c[o>>2]|0)|0;break c}else{if((Qc(g|0,189496)|0)==0){break}else{g=1;break c}}}}while(0);g=KF(a,c[o>>2]|0)|0}else{g=1}}while(0);Of(h);Of(j)}else{g=1}}while(0);Of(f);Of(e);y=g;i=d;return y|0}function HF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;g=i;i=i+8|0;h=g;j=i;i=i+16|0;k=j;f=b+12|0;if((c[f>>2]|0)<=0){t=1;i=d;return t|0}l=k+8|0;e=l+4|0;a=a+4|0;n=0;a:while(1){c[j>>2]=13;c[l>>2]=0;c[e>>2]=0;vt(b,n,k)|0;b:do{if((c[j>>2]|0)==9){o=l;p=c[o>>2]|0;o=c[o+4>>2]|0;q=c[a>>2]|0;m=c[q+8>>2]|0;c:do{if((m|0)>0){q=c[q>>2]|0;r=0;while(1){s=c[q+(r<<2)>>2]|0;t=s+8|0;if((c[t>>2]|0)==(p|0)){if((c[t+4>>2]|0)==(o|0)){break}}r=r+1|0;if((r|0)>=(m|0)){break c}}if((s|0)==0){break b}if((c[s+16>>2]|0)==1){f=0;e=13;break a}else{break b}}}while(0);c[g>>2]=p;c[h+4>>2]=o;Qe(-1,189368,h)}}while(0);n=n+1|0;if((n|0)>=(c[f>>2]|0)){f=1;e=13;break}}if((e|0)==13){i=d;return f|0}return 0}function IF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;g=i;i=i+8|0;h=g;j=i;i=i+16|0;k=j;f=b+12|0;if((c[f>>2]|0)<=0){t=1;i=d;return t|0}l=k+8|0;e=l+4|0;a=a+4|0;n=0;a:while(1){c[j>>2]=13;c[l>>2]=0;c[e>>2]=0;vt(b,n,k)|0;b:do{if((c[j>>2]|0)==9){o=l;p=c[o>>2]|0;o=c[o+4>>2]|0;q=c[a>>2]|0;m=c[q+8>>2]|0;c:do{if((m|0)>0){q=c[q>>2]|0;r=0;while(1){s=c[q+(r<<2)>>2]|0;t=s+8|0;if((c[t>>2]|0)==(p|0)){if((c[t+4>>2]|0)==(o|0)){break}}r=r+1|0;if((r|0)>=(m|0)){break c}}if((s|0)==0){break b}if((c[s+16>>2]|0)==0){f=0;e=13;break a}else{break b}}}while(0);c[g>>2]=p;c[h+4>>2]=o;Qe(-1,189368,h)}}while(0);n=n+1|0;if((n|0)>=(c[f>>2]|0)){f=1;e=13;break}}if((e|0)==13){i=d;return f|0}return 0}function JF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;g=i;i=i+8|0;h=g;j=i;i=i+16|0;k=j;f=b+12|0;if((c[f>>2]|0)<=0){t=0;i=d;return t|0}l=k+8|0;e=l+4|0;a=a+4|0;n=0;a:while(1){c[j>>2]=13;c[l>>2]=0;c[e>>2]=0;vt(b,n,k)|0;b:do{if((c[j>>2]|0)==9){o=l;p=c[o>>2]|0;o=c[o+4>>2]|0;q=c[a>>2]|0;m=c[q+8>>2]|0;c:do{if((m|0)>0){q=c[q>>2]|0;r=0;while(1){s=c[q+(r<<2)>>2]|0;t=s+8|0;if((c[t>>2]|0)==(p|0)){if((c[t+4>>2]|0)==(o|0)){break}}r=r+1|0;if((r|0)>=(m|0)){break c}}if((s|0)==0){break b}if((c[s+16>>2]|0)==1){f=1;e=13;break a}else{break b}}}while(0);c[g>>2]=p;c[h+4>>2]=o;Qe(-1,189368,h)}}while(0);n=n+1|0;if((n|0)>=(c[f>>2]|0)){f=0;e=13;break}}if((e|0)==13){i=d;return f|0}return 0}function KF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;g=i;i=i+8|0;h=g;j=i;i=i+16|0;k=j;f=b+12|0;if((c[f>>2]|0)<=0){t=0;i=d;return t|0}l=k+8|0;e=l+4|0;a=a+4|0;n=0;a:while(1){c[j>>2]=13;c[l>>2]=0;c[e>>2]=0;vt(b,n,k)|0;b:do{if((c[j>>2]|0)==9){o=l;p=c[o>>2]|0;o=c[o+4>>2]|0;q=c[a>>2]|0;m=c[q+8>>2]|0;c:do{if((m|0)>0){q=c[q>>2]|0;r=0;while(1){s=c[q+(r<<2)>>2]|0;t=s+8|0;if((c[t>>2]|0)==(p|0)){if((c[t+4>>2]|0)==(o|0)){break}}r=r+1|0;if((r|0)>=(m|0)){break c}}if((s|0)==0){break b}if((c[s+16>>2]|0)==0){f=1;e=13;break a}else{break b}}}while(0);c[g>>2]=p;c[h+4>>2]=o;Qe(-1,189368,h)}}while(0);n=n+1|0;if((n|0)>=(c[f>>2]|0)){f=0;e=13;break}}if((e|0)==13){i=d;return f|0}return 0}function LF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;a=c[a>>2]|0;if((a|0)==0){i=b;return}d=a+8|0;f=c[d>>2]|0;if((f|0)>0){e=0;do{g=c[(c[a>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0){MF(g);HW(g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0))}xo(a);HW(a);i=b;return}function MF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;d=a+68|0;f=c[d>>2]|0;if((f|0)!=0){e=f+8|0;g=c[e>>2]|0;if((g|0)>0){h=0;do{j=c[(c[f>>2]|0)+(h<<2)>>2]|0;if((j|0)!=0){MF(j);HW(j);g=c[e>>2]|0}h=h+1|0;}while((h|0)<(g|0))}xo(f);HW(f);c[d>>2]=0}d=c[a+4>>2]|0;if((d|0)!=0){Fe(d)}d=c[a+12>>2]|0;if((d|0)==0){j=a+16|0;Of(j);j=a+32|0;Of(j);j=a+48|0;Of(j);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);j=a+16|0;Of(j);j=a+32|0;Of(j);j=a+48|0;Of(j);i=b;return}function NF(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,j=0.0,k=0.0;d=+h[b>>3];h[a+8>>3]=d;f=+h[b+8>>3];h[a+16>>3]=f;k=+h[b+16>>3];h[a+24>>3]=k;j=+h[b+24>>3];h[a+32>>3]=j;e=+h[b+32>>3];h[a+40>>3]=e;c=+h[b+40>>3];h[a+48>>3]=c;g=1.0/(d*j-f*k);h[a+56>>3]=j*g;h[a+64>>3]=-0.0-g*f;h[a+72>>3]=-0.0-g*k;h[a+80>>3]=g*d;h[a+88>>3]=g*(k*c-j*e);h[a+96>>3]=g*(f*e-d*c);i=i;return}function OF(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;h[d>>3]=+h[a+88>>3]+(+h[a+56>>3]*b+ +h[a+72>>3]*c);h[e>>3]=+h[a+96>>3]+(+h[a+64>>3]*b+ +h[a+80>>3]*c);i=i;return}function PF(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;c[e>>2]=~~(+h[a+40>>3]+(+h[a+8>>3]*b+ +h[a+24>>3]*d)+.5);c[f>>2]=~~(+h[a+48>>3]+(+h[a+16>>3]*b+ +h[a+32>>3]*d)+.5);i=i;return}function QF(a,b){a=a|0;b=b|0;i=i;return}function RF(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return}function SF(a,b){a=a|0;b=b|0;i=i;return}function TF(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return}function UF(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return}function VF(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return}function WF(a){a=a|0;var b=0,d=0;b=i;a=a+104|0;d=c[a>>2]|0;if((d|0)!=0){ko(d);HW(d)}d=FW(16)|0;jo(d,1);c[a>>2]=d;i=b;return}function XF(a){a=a|0;var b=0;b=a+104|0;a=c[b>>2]|0;c[b>>2]=0;i=i;return a|0}function YF(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=-1;i=i;return}function ZF(a){a=a|0;i=i;return}function _F(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;j=b+8|0;h=b+4|0;a:while(1){l=c[j>>2]|0;if((l|0)<0){l=jd[c[b>>2]&511](c[h>>2]|0)|0}else{c[j>>2]=-1}if((l|0)==-1){k=10;break}else if((l|0)!=37){if((a[190720+l|0]|0)==1){continue}else{break}}while(1){l=c[j>>2]|0;if((l|0)<0){l=jd[c[b>>2]&511](c[h>>2]|0)|0}else{c[j>>2]=-1}if((l|0)==10|(l|0)==13){continue a}else if((l|0)==-1){k=10;break a}}}if((k|0)==10){a[d]=0;m=0;k=0;l=f;c[l>>2]=k;i=g;return m|0}e=e+ -1|0;a[d]=l;b:do{if((l|0)==40){l=1;k=1;while(1){m=c[j>>2]|0;if((m|0)<0){m=jd[c[b>>2]&511](c[h>>2]|0)|0;c[j>>2]=m;if((m|0)==-1){break b}}c[j>>2]=-1;if((k|0)<(e|0)){a[d+k|0]=m;k=k+1|0}if((m|0)==92){l=0;continue}if(l&(m|0)==41){break}else{l=1}}}else if((l|0)==60){k=1;do{l=c[j>>2]|0;if((l|0)<0){l=jd[c[b>>2]&511](c[h>>2]|0)|0;c[j>>2]=l;if((l|0)==-1){break b}}c[j>>2]=-1;do{if((k|0)<(e|0)){if((a[190720+l|0]|0)==1){break}a[d+k|0]=l;k=k+1|0}}while(0);}while((l|0)!=62)}else if((l|0)==91|(l|0)==93){k=1}else{k=1;while(1){l=c[j>>2]|0;if((k|0)>=(e|0)){break}if((l|0)<0){l=jd[c[b>>2]&511](c[h>>2]|0)|0;c[j>>2]=l;if((l|0)==-1){break b}}if((a[190720+l|0]|0)!=0){break b}c[j>>2]=-1;a[d+k|0]=l;k=k+1|0}while(1){if((l|0)<0){l=jd[c[b>>2]&511](c[h>>2]|0)|0;c[j>>2]=l;if((l|0)==-1){break b}}if((a[190720+l|0]|0)!=0){break b}c[j>>2]=-1;l=-1}}}while(0);a[d+k|0]=0;m=1;l=f;c[l>>2]=k;i=g;return m|0}function $F(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=a+8|0;f=c[d>>2]|0;if((f|0)<=0){xo(a);i=b;return}e=0;do{g=c[(c[a>>2]|0)+(e<<2)>>2]|0;if((g|0)!=0){f=c[g>>2]|0;if((f|0)!=0){ke(f);HW(f)}HW(g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0));xo(a);i=b;return}function aG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;j=b+16|0;c[j>>2]=13;h=b+24|0;c[h>>2]=0;c[h+4>>2]=0;h=b+32|0;c[h>>2]=13;k=b+40|0;c[k>>2]=0;c[k+4>>2]=0;c[b>>2]=d;d=b+4|0;c[d>>2]=e;c[b+48>>2]=0;a[b+8|0]=f&1;fE(e,j,-1)|0;fE(c[d>>2]|0,h,-1)|0;i=g;return}function bG(a){a=a|0;var b=0;b=i;Of(a+16|0);Of(a+32|0);a=c[a+4>>2]|0;if((a|0)==0){i=b;return}dE(a);HW(a);i=b;return}function cG(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;l=i;i=i+16|0;k=l;m=k+4|0;c[m>>2]=0;c[k+8>>2]=0;c[l>>2]=m;a=dG(a,b,d,e,f,g,h,k)|0;xn(k,c[k+4>>2]|0);i=j;return a|0}function dG(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;l=i;A=i;i=i+8|0;B=A;q=i;i=i+8|0;r=i;i=i+8|0;s=r;t=i;i=i+8|0;u=i;i=i+8|0;w=i;i=i+8|0;v=w;x=i;i=i+16|0;m=x;c[x>>2]=13;z=m+8|0;c[z>>2]=0;y=z+4|0;c[y>>2]=0;p=b+48|0;n=b+16|0;if((c[p>>2]|0)==2){Of(n);D=b+32|0;Of(D);C=b+4|0;fE(c[C>>2]|0,n,-1)|0;fE(c[C>>2]|0,D,-1)|0;c[p>>2]=0}C=c[n>>2]|0;do{if((C|0)==10){p=b+24|0;D=c[p>>2]|0;if((Qc(D|0,190976)|0)==0){fG(b,-1);If(d,c[b>>2]|0)|0;q=d+8|0;while(1){r=c[n>>2]|0;if((r|0)==10){if((Qc(c[p>>2]|0,190984)|0)==0){break}}else if((r|0)==12){o=11;break}s=dG(b,m,e,f,g,h,j,k)|0;r=c[d>>2]|0;if((r|0)!=6){o=9;break}tt(c[q>>2]|0,s)}if((o|0)==9){c[w>>2]=r;c[v+4>>2]=6;Qe(0,191224,v);tc()}if((o|0)==11){j=c[b+4>>2]|0;if((c[j+16>>2]|0)==8){j=c[j+24>>2]|0;j=jd[c[(c[j>>2]|0)+48>>2]&511](j)|0}else{j=-1}Qe(j,190992,u)}fG(b,-1);i=l;return d|0}if((Qc(D|0,191024)|0)!=0){if((C|0)==1){o=38;break}else{break}}fG(b,h);Jf(d,c[b>>2]|0)|0;v=b+4|0;u=d+8|0;while(1){w=c[n>>2]|0;if((w|0)==10){if((Qc(c[p>>2]|0,191032)|0)==0){break}}else if((w|0)==4){w=Ge(c[p>>2]|0)|0;fG(b,-1);if(((c[n>>2]|0)+ -11|0)>>>0<2){o=26;break}y=dG(b,m,e,f,g,h,j,k)|0;x=c[d>>2]|0;if((x|0)!=7){o=24;break}Tu(c[u>>2]|0,w,y);continue}else if((w|0)==12){o=27;break}w=c[v>>2]|0;if((c[w+16>>2]|0)==8){w=c[w+24>>2]|0;w=jd[c[(c[w>>2]|0)+48>>2]&511](w)|0}else{w=-1}Qe(w,191040,t);fG(b,-1)}if((o|0)==24){c[r>>2]=x;c[s+4>>2]=7;Qe(0,191224,s);tc()}else if((o|0)==26){Fe(w);if((c[n>>2]|0)==12){o=27}}if((o|0)==27){m=c[v>>2]|0;if((c[m+16>>2]|0)==8){m=c[m+24>>2]|0;m=jd[c[(c[m>>2]|0)+48>>2]&511](m)|0}else{m=-1}Qe(m,191080,q)}do{if((a[b+8|0]&1)!=0){if((c[b+32>>2]|0)!=10){break}if((Qc(c[b+40>>2]|0,191112)|0)!=0){break}b=gG(b,d,e,f,g,h,j,k)|0;if((b|0)==0){Of(d);c[u>>2]=0;c[u+4>>2]=0;c[d>>2]=11;i=l;return d|0}else{Lf(d,b)|0;i=l;return d|0}}}while(0);fG(b,-1);i=l;return d|0}else if((C|0)==1){o=38}}while(0);if((o|0)==38){g=b+24|0;j=c[g>>2]|0;fG(b,-1);do{if((c[n>>2]|0)==1){if((c[b+32>>2]|0)!=10){break}if((Qc(c[b+40>>2]|0,191120)|0)!=0){break}C=c[g>>2]|0;D=d+8|0;c[d>>2]=9;c[D>>2]=j;c[D+4>>2]=C;fG(b,-1);fG(b,-1);i=l;return d|0}}while(0);D=d+8|0;c[D+4>>2]=0;c[d>>2]=1;c[D>>2]=j;i=l;return d|0}k=(C|0)==3;if((e|0)==0|k^1){$W(d|0,n|0,16)|0;D=b+24|0;c[D>>2]=0;c[D+4>>2]=0;c[n>>2]=5;fG(b,-1);i=l;return d|0}if(!k){c[A>>2]=C;c[B+4>>2]=3;Qe(0,191224,B);tc()}C=c[b+24>>2]|0;n=FW(32)|0;ee(n);c[z>>2]=0;c[y>>2]=0;c[x>>2]=5;k=FW(316)|0;D=FW(56)|0;Tj(D,c[C+28>>2]|0,0,c[C+24>>2]|0,m);Fu(k,D,e,f,g,h,j);fd[c[(c[k>>2]|0)+12>>2]&511](k);j=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((j|0)!=-1){j=j&255;while(1){me(n,j)|0;j=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((j|0)==-1){break}else{j=j&255}}}if((k|0)!=0){fd[c[(c[k>>2]|0)+4>>2]&511](k)}D=d+8|0;c[D+4>>2]=0;c[d>>2]=3;c[D>>2]=n;fG(b,-1);i=l;return d|0}function eG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;a=dG(a,b,0,0,0,0,0,c)|0;i=d;return a|0}function fG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;e=a+48|0;f=c[e>>2]|0;do{if((f|0)>0){if((f|0)<2){c[e>>2]=f+1;break}else{c[e>>2]=0;break}}else{if((c[a+32>>2]|0)!=10){break}if((Qc(c[a+40>>2]|0,191216)|0)!=0){break}eE(c[a+4>>2]|0,0)|0;c[e>>2]=1}}while(0);g=a+16|0;Of(g);f=a+32|0;$W(g|0,f|0,16)|0;if((c[e>>2]|0)>0){g=a+40|0;c[g>>2]=0;c[g+4>>2]=0;c[f>>2]=5;i=d;return}else{fE(c[a+4>>2]|0,f,b)|0;i=d;return}}function gG(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;k=i;m=i;i=i+8|0;l=m;u=i;i=i+8|0;z=i;i=i+8|0;A=i;i=i+8|0;s=A;q=i;i=i+16|0;o=q;y=i;i=i+8|0;x=y;c[q>>2]=13;r=o+8|0;c[r>>2]=0;p=r+4|0;c[p>>2]=0;t=a+4|0;gE(c[t>>2]|0);w=c[t>>2]|0;if((c[w+16>>2]|0)==8){w=c[w+24>>2]|0;w=jd[c[(c[w>>2]|0)+48>>2]&511](w)|0}else{w=-1}B=c[b>>2]|0;if((B|0)!=7){c[A>>2]=B;c[s+4>>2]=7;Qe(0,191224,s);tc()}s=b+8|0;Yu(c[s>>2]|0,191128,o,j)|0;if((c[q>>2]|0)==1){z=c[r>>2]|0;Of(o)}else{j=c[t>>2]|0;if((c[j+16>>2]|0)==8){j=c[j+24>>2]|0;j=jd[c[(c[j>>2]|0)+48>>2]&511](j)|0}else{j=-1}Qe(j,191136,z);Of(o);z=0}j=c[a>>2]|0;do{if((j|0)!=0){if(!(mn(j,w,x)|0)){break}z=(c[y>>2]|0)-w|0}}while(0);x=c[t>>2]|0;if((c[x+16>>2]|0)!=8){B=0;i=k;return B|0}x=c[x+24>>2]|0;if((x|0)==0){B=0;i=k;return B|0}x=jd[c[(c[x>>2]|0)+64>>2]&511](x)|0;y=c[t>>2]|0;if((c[y>>2]|0)!=-3){c[y>>2]=-3;y=c[t>>2]|0;w=w+ -1|0}if((c[y+16>>2]|0)==8){B=c[y+24>>2]|0;Gd[c[(c[B>>2]|0)+52>>2]&255](B,w+z|0,0)}fG(a,-1);fG(a,-1);y=a+16|0;do{if((c[y>>2]|0)==10){if((Qc(c[a+24>>2]|0,191176)|0)!=0){v=22;break}fG(a,-1);n=z}else{v=22}}while(0);do{if((v|0)==22){v=c[t>>2]|0;if((c[v+16>>2]|0)==8){v=c[v+24>>2]|0;v=jd[c[(c[v>>2]|0)+48>>2]&511](v)|0}else{v=-1}Qe(v,191192,u);if((c[a>>2]|0)==0){n=z+5e3|0;break}u=a+24|0;while(1){if((c[y>>2]|0)==10){if((Qc(c[u>>2]|0,191176)|0)==0){break}}v=c[a>>2]|0;z=c[t>>2]|0;if((c[z+16>>2]|0)==8){z=c[z+24>>2]|0;z=jd[c[(c[z>>2]|0)+48>>2]&511](z)|0}else{z=-1}if((nn(v,z)|0)!=(g|0)){break}if((c[y>>2]|0)==12){break}fG(a,-1)}a=c[t>>2]|0;if((c[a+16>>2]|0)==8){a=c[a+24>>2]|0;a=jd[c[(c[a>>2]|0)+48>>2]&511](a)|0}else{a=-1}a=a-w|0;if((c[y>>2]|0)!=10){n=a;break}if((Qc(c[u>>2]|0,191176)|0)!=0){n=a;break}c[p>>2]=0;c[q>>2]=1;c[r>>2]=a;p=c[b>>2]|0;if((p|0)==7){Wu(c[s>>2]|0,191128,o);Of(o);n=a;break}else{c[m>>2]=p;c[l+4>>2]=7;Qe(0,191224,l);tc()}}}while(0);l=Cd[c[(c[x>>2]|0)+96>>2]&63](x,w,1,n,b)|0;if((d|0)!=0){B=FW(316)|0;Fu(B,l,d,e,f,g,h);l=B}B=qj(l,b)|0;i=k;return B|0}function hG(a){a=a|0;i=i;return}function iG(a){a=a|0;i=i;return}function jG(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+12>>2]=b;b=b>>>0>1073741823?-1:b<<2;c[a>>2]=GW(b)|0;c[a+4>>2]=GW(b)|0;c[a+8>>2]=-1;i=d;return}function kG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=a+8|0;g=c[a>>2]|0;if((c[d>>2]|0)>=0){e=a+4|0;f=0;while(1){g=c[g+(f<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g)}g=c[(c[e>>2]|0)+(f<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g)}g=c[a>>2]|0;if((f|0)<(c[d>>2]|0)){f=f+1|0}else{break}}}if((g|0)!=0){IW(g)}a=c[a+4>>2]|0;if((a|0)==0){i=b;return}IW(a);i=b;return}function lG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;f=a+8|0;if((c[f>>2]|0)<0){j=0;i=d;return j|0}j=c[c[a>>2]>>2]|0;if(Bd[c[(c[j>>2]|0)+8>>2]&255](j,b)|0){j=c[c[a+4>>2]>>2]|0;i=d;return j|0}if((c[f>>2]|0)<1){j=0;i=d;return j|0}else{g=1}while(1){j=c[(c[a>>2]|0)+(g<<2)>>2]|0;if(Bd[c[(c[j>>2]|0)+8>>2]&255](j,b)|0){break}if((g|0)<(c[f>>2]|0)){g=g+1|0}else{a=0;e=10;break}}if((e|0)==10){i=d;return a|0}j=c[a>>2]|0;f=c[j+(g<<2)>>2]|0;b=a+4|0;e=c[(c[b>>2]|0)+(g<<2)>>2]|0;if((g|0)>0){while(1){h=g+ -1|0;c[j+(g<<2)>>2]=c[j+(h<<2)>>2];j=c[b>>2]|0;c[j+(g<<2)>>2]=c[j+(h<<2)>>2];j=c[a>>2]|0;if((h|0)>0){g=h}else{break}}}c[j>>2]=f;c[c[b>>2]>>2]=e;j=e;i=d;return j|0}function mG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;g=a+8|0;h=c[g>>2]|0;j=h+1|0;f=a+12|0;if((h|0)==((c[f>>2]|0)+ -1|0)){j=c[(c[a>>2]|0)+(h<<2)>>2]|0;if((j|0)!=0){fd[c[(c[j>>2]|0)+4>>2]&511](j);h=c[g>>2]|0}g=c[(c[a+4>>2]|0)+(h<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g)}j=(c[f>>2]|0)+ -1|0}else{c[g>>2]=j}f=a+4|0;if((j|0)<=0){j=a;j=c[j>>2]|0;c[j>>2]=b;j=f;j=c[j>>2]|0;c[j>>2]=d;i=e;return}while(1){g=j+ -1|0;h=c[a>>2]|0;c[h+(j<<2)>>2]=c[h+(g<<2)>>2];h=c[f>>2]|0;c[h+(j<<2)>>2]=c[h+(g<<2)>>2];if((g|0)>0){j=g}else{break}}j=a;j=c[j>>2]|0;c[j>>2]=b;j=f;j=c[j>>2]|0;c[j>>2]=d;i=e;return}function nG(a){a=a|0;i=i;return c[a+12>>2]|0}function oG(a){a=a|0;i=i;return(c[a+8>>2]|0)+1|0}function pG(a,b){a=a|0;b=b|0;i=i;return c[(c[a+4>>2]|0)+(b<<2)>>2]|0}function qG(a,b){a=a|0;b=b|0;i=i;return c[(c[a>>2]|0)+(b<<2)>>2]|0}function rG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;f=FW(16)|0;c[f+12>>2]=b;b=b>>>0>1073741823?-1:b<<2;c[f>>2]=GW(b)|0;c[f+4>>2]=GW(b)|0;c[f+8>>2]=-1;c[a+4>>2]=f;c[a>>2]=d;i=e;return}function sG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;a=c[a+4>>2]|0;if((a|0)==0){i=b;return}e=a+8|0;g=c[a>>2]|0;if((c[e>>2]|0)>=0){d=a+4|0;f=0;while(1){g=c[g+(f<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g)}g=c[(c[d>>2]|0)+(f<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g)}g=c[a>>2]|0;if((f|0)<(c[e>>2]|0)){f=f+1|0}else{break}}}if((g|0)!=0){IW(g)}d=c[a+4>>2]|0;if((d|0)!=0){IW(d)}HW(a);i=b;return}function tG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;g=i;i=i+16|0;f=g;c[g>>2]=13;g=f+8|0;c[g>>2]=0;c[g+4>>2]=0;g=b+4|0;_m(c[a>>2]|0,c[b>>2]|0,c[g>>2]|0,f,0)|0;d=FW(12)|0;b=c[b>>2]|0;g=c[g>>2]|0;c[d>>2]=191416;c[d+4>>2]=b;c[d+8>>2]=g;g=FW(24)|0;c[g>>2]=191368;b=g+8|0;c[b>>2]=13;c[g+16>>2]=0;c[g+20>>2]=0;Mf(f,b)|0;h=c[a+4>>2]|0;l=h+8|0;j=c[l>>2]|0;k=j+1|0;a=h+12|0;if((j|0)==((c[a>>2]|0)+ -1|0)){k=c[(c[h>>2]|0)+(j<<2)>>2]|0;if((k|0)!=0){fd[c[(c[k>>2]|0)+4>>2]&511](k);j=c[l>>2]|0}k=h+4|0;j=c[(c[k>>2]|0)+(j<<2)>>2]|0;if((j|0)!=0){fd[c[(c[j>>2]|0)+4>>2]&511](j)}j=h;h=k;k=(c[a>>2]|0)+ -1|0}else{c[l>>2]=k;j=h;h=h+4|0}if((k|0)<=0){l=j;l=c[l>>2]|0;c[l>>2]=d;l=h;l=c[l>>2]|0;c[l>>2]=g;Of(f);i=e;return b|0}while(1){a=k+ -1|0;l=c[j>>2]|0;c[l+(k<<2)>>2]=c[l+(a<<2)>>2];l=c[h>>2]|0;c[l+(k<<2)>>2]=c[l+(a<<2)>>2];if((a|0)>0){k=a}else{break}}l=j;l=c[l>>2]|0;c[l>>2]=d;l=h;l=c[l>>2]|0;c[l>>2]=g;Of(f);i=e;return b|0}function uG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;j=i;i=i+16|0;f=j;k=c[b>>2]|0;b=c[b+4>>2]|0;c[j>>2]=191416;c[f+4>>2]=k;c[f+8>>2]=b;a=c[a+4>>2]|0;b=a+8|0;a:do{if((c[b>>2]|0)>=0){k=c[c[a>>2]>>2]|0;if(Bd[c[(c[k>>2]|0)+8>>2]&255](k,f)|0){f=c[c[a+4>>2]>>2]|0}else{if((c[b>>2]|0)<1){break}else{h=1}while(1){k=c[(c[a>>2]|0)+(h<<2)>>2]|0;if(Bd[c[(c[k>>2]|0)+8>>2]&255](k,f)|0){break}if((h|0)<(c[b>>2]|0)){h=h+1|0}else{break a}}k=c[a>>2]|0;b=c[k+(h<<2)>>2]|0;g=a+4|0;f=c[(c[g>>2]|0)+(h<<2)>>2]|0;if((h|0)>0){while(1){j=h+ -1|0;c[k+(h<<2)>>2]=c[k+(j<<2)>>2];k=c[g>>2]|0;c[k+(h<<2)>>2]=c[k+(j<<2)>>2];k=c[a>>2]|0;if((j|0)>0){h=j}else{break}}}c[k>>2]=b;c[c[g>>2]>>2]=f}if((f|0)==0){break}k=Mf(f+8|0,d)|0;i=e;return k|0}}while(0);k=d+8|0;c[k>>2]=0;c[k+4>>2]=0;c[d>>2]=5;k=d;i=e;return k|0}function vG(a){a=a|0;i=i;return}function wG(a){a=a|0;var b=0;b=i;c[a>>2]=191368;Of(a+8|0);i=b;return}function xG(a){a=a|0;var b=0;b=i;c[a>>2]=191368;Of(a+8|0);HW(a);i=b;return}function yG(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function zG(a,b){a=a|0;b=b|0;var d=0;d=i;if((c[b+4>>2]|0)!=(c[a+4>>2]|0)){a=0;i=d;return a|0}a=(c[b+8>>2]|0)==(c[a+8>>2]|0);i=d;return a|0}function AG(a){a=a|0;var b=0;b=i;c[a>>2]=0;bX(a+8|0,0,24)|0;i=b;return}function BG(a,b){a=a|0;b=+b;var d=0,e=0,f=0;e=i;d=c[a>>2]|0;f=a+16|0;do{if((d|0)==0){h[f>>3]=b;h[a+24>>3]=b}else{if(+h[f>>3]>b){h[f>>3]=b}f=a+24|0;if(+h[f>>3]>=b){break}h[f>>3]=b}}while(0);f=a+8|0;h[f>>3]=+h[f>>3]+b;c[a>>2]=d+1;i=e;return}function CG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;j=i;f=i;i=i+8|0;e=f;n=i;i=i+8|0;m=n;o=i;i=i+8|0;p=o;q=i;i=i+8|0;r=q;u=i;i=i+8|0;s=u;w=i;i=i+8|0;v=w;y=i;i=i+8|0;x=y;z=i;i=i+8|0;A=z;C=i;i=i+8|0;B=C;D=i;i=i+8|0;E=D;F=i;i=i+8|0;G=F;I=i;i=i+8|0;J=I;M=i;i=i+8|0;L=M;O=i;i=i+8|0;t=O;l=i;i=i+16|0;k=l;K=i;i=i+16|0;H=K;c[l>>2]=13;g=k+8|0;c[g>>2]=0;c[g+4>>2]=0;N=c[d>>2]|0;if((N|0)!=7){c[O>>2]=N;c[t+4>>2]=7;Qe(0,191704,t);tc()}t=d+8|0;do{if((c[(Yu(c[t>>2]|0,191464,k,0)|0)>>2]|0)==6){N=c[l>>2]|0;if((N|0)!=6){c[M>>2]=N;c[L+4>>2]=6;Qe(0,191704,L);tc()}M=c[g>>2]|0;if((c[M+12>>2]|0)<=1){break}c[K>>2]=13;L=H+8|0;c[L>>2]=0;c[L+4>>2]=0;do{if((c[(ut(M,0,H)|0)>>2]|0)==1){N=c[K>>2]|0;if((N|0)==1){c[b+4>>2]=c[L>>2];break}else{c[I>>2]=N;c[J+4>>2]=1;Qe(0,191704,J);tc()}}}while(0);Of(H);do{if((c[(ut(M,1,H)|0)>>2]|0)==1){I=c[K>>2]|0;if((I|0)==1){c[b+8>>2]=c[L>>2];break}else{c[F>>2]=I;c[G+4>>2]=1;Qe(0,191704,G);tc()}}}while(0);Of(H)}}while(0);Of(k);F=c[d>>2]|0;if((F|0)!=7){c[D>>2]=F;c[E+4>>2]=7;Qe(0,191704,E);tc()}do{if((c[(Yu(c[t>>2]|0,191472,k,0)|0)>>2]|0)==1){D=c[l>>2]|0;if((D|0)!=1){c[C>>2]=D;c[B+4>>2]=1;Qe(0,191704,B);tc()}B=c[g>>2]|0;if((B|0)==1){c[b+12>>2]=1;break}else if((B|0)==2){c[b+12>>2]=2;break}else if((B|0)==0){c[b+12>>2]=0;break}else{break}}}while(0);Of(k);B=c[d>>2]|0;if((B|0)!=7){c[z>>2]=B;c[A+4>>2]=7;Qe(0,191704,A);tc()}a:do{if((c[(Yu(c[t>>2]|0,191480,k,0)|0)>>2]|0)==1){z=c[l>>2]|0;if((z|0)!=1){c[y>>2]=z;c[x+4>>2]=1;Qe(0,191704,x);tc()}switch(c[g>>2]|0){case 3:{h[b+16>>3]=0.0;h[b+24>>3]=.5;break a};case 1:{h[b+16>>3]=.5;h[b+24>>3]=0.0;break a};case 6:{h[b+16>>3]=0.0;h[b+24>>3]=1.0;break a};case 5:{h[b+16>>3]=1.0;h[b+24>>3]=.5;break a};case 2:{h[b+16>>3]=1.0;h[b+24>>3]=0.0;break a};case 8:{h[b+16>>3]=1.0;h[b+24>>3]=1.0;break a};case 4:{h[b+16>>3]=.5;h[b+24>>3]=.5;break a};case 7:{h[b+16>>3]=.5;h[b+24>>3]=1.0;break a};case 0:{bX(b+16|0,0,16)|0;break a};default:{break a}}}}while(0);Of(k);x=c[d>>2]|0;if((x|0)!=7){c[w>>2]=x;c[v+4>>2]=7;Qe(0,191704,v);tc()}do{if((c[(Yu(c[t>>2]|0,191488,k,0)|0)>>2]|0)==0){v=c[l>>2]|0;if((v|0)==0){a[b+32|0]=a[g]&1;break}else{c[u>>2]=v;c[s+4>>2]=0;Qe(0,191704,s);tc()}}}while(0);Of(k);s=c[d>>2]|0;if((s|0)!=7){c[q>>2]=s;c[r+4>>2]=7;Qe(0,191704,r);tc()}do{if((c[(Yu(c[t>>2]|0,191496,k,0)|0)>>2]|0)==0){q=c[l>>2]|0;if((q|0)==0){a[b+33|0]=a[g]&1;break}else{c[o>>2]=q;c[p+4>>2]=0;Qe(0,191704,p);tc()}}}while(0);Of(k);d=c[d>>2]|0;if((d|0)!=7){c[n>>2]=d;c[m+4>>2]=7;Qe(0,191704,m);tc()}if((c[(Yu(c[t>>2]|0,191504,k,0)|0)>>2]|0)!=1){Of(k);i=j;return}l=c[l>>2]|0;if((l|0)!=1){c[f>>2]=l;c[e+4>>2]=1;Qe(0,191704,e);tc()}a[b+34|0]=(c[g>>2]|0)!=0|0;Of(k);i=j;return}function DG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0;f=i;g=i;i=i+16|0;j=g;m=i;i=i+8|0;l=m;o=i;i=i+8|0;p=o;q=i;i=i+8|0;r=q;x=i;i=i+16|0;w=x;y=i;i=i+8|0;A=y;C=i;i=i+8|0;B=C;F=i;i=i+8|0;E=F;G=i;i=i+8|0;H=G;J=i;i=i+8|0;K=J;M=i;i=i+8|0;L=M;O=i;i=i+8|0;N=O;Q=i;i=i+8|0;P=Q;R=i;i=i+8|0;S=R;T=i;i=i+8|0;U=T;W=i;i=i+8|0;V=W;n=i;i=i+16|0;e=n;I=i;i=i+16|0;v=I;D=i;i=i+16|0;u=D;z=i;i=i+16|0;s=z;c[n>>2]=13;k=e+8|0;c[k>>2]=0;c[k+4>>2]=0;t=c[d>>2]|0;if((t|0)!=7){c[W>>2]=t;c[V+4>>2]=7;Qe(0,191704,V);tc()}t=d+8|0;do{if((c[(Yu(c[t>>2]|0,191512,e,0)|0)>>2]|0)==1){V=c[n>>2]|0;if((V|0)==1){c[b+4>>2]=c[k>>2];break}else{c[T>>2]=V;c[U+4>>2]=1;Qe(0,191704,U);tc()}}}while(0);Of(e);T=c[d>>2]|0;if((T|0)!=7){c[R>>2]=T;c[S+4>>2]=7;Qe(0,191704,S);tc()}do{if((c[(Yu(c[t>>2]|0,191520,e,0)|0)>>2]|0)==0){R=c[n>>2]|0;if((R|0)==0){a[b+56|0]=a[k]&1;break}else{c[Q>>2]=R;c[P+4>>2]=0;Qe(0,191704,P);tc()}}}while(0);Of(e);P=c[d>>2]|0;if((P|0)!=7){c[O>>2]=P;c[N+4>>2]=7;Qe(0,191704,N);tc()}a:do{if((c[(Yu(c[t>>2]|0,191528,e,0)|0)>>2]|0)==1){N=c[n>>2]|0;if((N|0)!=1){c[M>>2]=N;c[L+4>>2]=1;Qe(0,191704,L);tc()}switch(c[k>>2]|0){case 1:{c[b+8>>2]=1;break a};case 4:{c[b+8>>2]=4;break a};case 0:{c[b+8>>2]=0;break a};case 3:{c[b+8>>2]=3;break a};case 2:{c[b+8>>2]=2;break a};case 5:{c[b+8>>2]=5;break a};default:{break a}}}}while(0);Of(e);L=c[d>>2]|0;if((L|0)!=7){c[J>>2]=L;c[K+4>>2]=7;Qe(0,191704,K);tc()}if((c[(Yu(c[t>>2]|0,191464,e,0)|0)>>2]|0)==7){c[I>>2]=13;L=v+8|0;c[L>>2]=0;c[L+4>>2]=0;c[D>>2]=13;K=u+8|0;c[K>>2]=0;c[K+4>>2]=0;c[z>>2]=13;J=s+8|0;c[J>>2]=0;c[J+4>>2]=0;M=c[n>>2]|0;if((M|0)!=7){c[G>>2]=M;c[H+4>>2]=7;Qe(0,191704,H);tc()}do{if((c[(Yu(c[k>>2]|0,191536,v,0)|0)>>2]|0)==4){G=c[I>>2]|0;if((G|0)!=4){c[F>>2]=G;c[E+4>>2]=4;Qe(0,191704,E);tc()}E=c[L>>2]|0;if((Qc(E|0,191528)|0)==0){c[b>>2]=-1;break}if((Qc(E|0,191488)|0)!=0){break}E=c[n>>2]|0;if((E|0)!=7){c[C>>2]=E;c[B+4>>2]=7;Qe(0,191704,B);tc()}if((c[(Yu(c[k>>2]|0,191488,u,0)|0)>>2]|0)==7){B=c[D>>2]|0;if((B|0)!=7){c[y>>2]=B;c[A+4>>2]=7;Qe(0,191704,A);tc()}if(((c[(Yu(c[K>>2]|0,191512,s,0)|0)>>2]|0)+ -1|0)>>>0<2){y=c[z>>2]|0;if((y+ -1|0)>>>0>=2){c[x>>2]=y;c[w+4>>2]=1;c[w+8>>2]=2;Qe(0,191776,w);tc()}if((y|0)==1){X=+(c[J>>2]|0)}else{X=+h[J>>3]}c[b>>2]=~~X>>>0}Of(s)}Of(u)}}while(0);Of(v)}Of(e);s=c[d>>2]|0;if((s|0)!=7){c[q>>2]=s;c[r+4>>2]=7;Qe(0,191704,r);tc()}do{if((c[(Yu(c[t>>2]|0,191544,e,0)|0)>>2]|0)==0){q=c[n>>2]|0;if((q|0)==0){a[b+12|0]=a[k]&1;break}else{c[o>>2]=q;c[p+4>>2]=0;Qe(0,191704,p);tc()}}}while(0);Of(e);o=c[d>>2]|0;if((o|0)!=7){c[m>>2]=o;c[l+4>>2]=7;Qe(0,191704,l);tc()}if(((c[(Yu(c[t>>2]|0,191552,e,0)|0)>>2]|0)+ -1|0)>>>0>=2){Of(e);i=f;return}l=c[n>>2]|0;if((l+ -1|0)>>>0>=2){c[g>>2]=l;c[j+4>>2]=1;c[j+8>>2]=2;Qe(0,191776,j);tc()}if((l|0)==1){X=+(c[k>>2]|0)}else{X=+h[k>>3]}h[b+16>>3]=X;Of(e);i=f;return}function EG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;f=i;e=i;i=i+8|0;d=e;l=i;i=i+16|0;o=l;p=i;i=i+8|0;q=p;t=i;i=i+16|0;u=t;x=i;i=i+16|0;w=x;z=i;i=i+16|0;y=z;A=i;i=i+8|0;B=A;D=i;i=i+8|0;C=D;E=i;i=i+8|0;F=E;H=i;i=i+8|0;G=H;r=i;i=i+16|0;k=r;v=i;i=i+16|0;s=v;j=i;i=i+16|0;g=j;c[r>>2]=13;m=k+8|0;c[m>>2]=0;c[m+4>>2]=0;n=c[b>>2]|0;if((n|0)!=7){c[H>>2]=n;c[G+4>>2]=7;Qe(0,191704,G);tc()}n=b+8|0;do{if((c[(Yu(c[n>>2]|0,191560,k,0)|0)>>2]|0)==1){G=c[r>>2]|0;if((G|0)!=1){c[E>>2]=G;c[F+4>>2]=1;Qe(0,191704,F);tc()}E=c[m>>2]|0;if((E|0)==3){c[a+64>>2]=3;break}else if((E|0)==2){c[a+64>>2]=2;break}else if((E|0)==1){c[a+64>>2]=1;break}else if((E|0)==0){c[a+64>>2]=0;break}else{break}}}while(0);Of(k);E=c[b>>2]|0;if((E|0)!=7){c[D>>2]=E;c[C+4>>2]=7;Qe(0,191704,C);tc()}if((c[(Yu(c[n>>2]|0,191568,k,0)|0)>>2]|0)==6){C=c[r>>2]|0;if((C|0)!=6){c[A>>2]=C;c[B+4>>2]=6;Qe(0,191704,B);tc()}B=c[m>>2]|0;c[v>>2]=13;A=s+8|0;c[A>>2]=0;c[A+4>>2]=0;ut(B,0,s)|0;C=c[v>>2]|0;if((C+ -1|0)>>>0>=2){c[z>>2]=C;c[y+4>>2]=1;c[y+8>>2]=2;Qe(0,191776,y);tc()}if((C|0)==1){I=+(c[A>>2]|0)}else{I=+h[A>>3]}h[a+24>>3]=I;Of(s);ut(B,1,s)|0;y=c[v>>2]|0;if((y+ -1|0)>>>0>=2){c[x>>2]=y;c[w+4>>2]=1;c[w+8>>2]=2;Qe(0,191776,w);tc()}if((y|0)==1){I=+(c[A>>2]|0)}else{I=+h[A>>3]}h[a+32>>3]=I;Of(s);ut(B,2,s)|0;v=c[v>>2]|0;if((v+ -1|0)>>>0>=2){c[t>>2]=v;c[u+4>>2]=1;c[u+8>>2]=2;Qe(0,191776,u);tc()}if((v|0)==1){I=+(c[A>>2]|0)}else{I=+h[A>>3]}h[a+40>>3]=I;Of(s)}Of(k);s=c[b>>2]|0;if((s|0)!=7){c[p>>2]=s;c[q+4>>2]=7;Qe(0,191704,q);tc()}if(((c[(Yu(c[n>>2]|0,191576,k,0)|0)>>2]|0)+ -1|0)>>>0<2){p=c[r>>2]|0;if((p+ -1|0)>>>0>=2){c[l>>2]=p;c[o+4>>2]=1;c[o+8>>2]=2;Qe(0,191776,o);tc()}if((p|0)==1){I=+(c[m>>2]|0)}else{I=+h[m>>3]}h[a+48>>3]=I}Of(k);k=a+64|0;if((c[k>>2]|0)!=0){i=f;return}c[j>>2]=13;H=g+8|0;c[H>>2]=0;c[H+4>>2]=0;b=c[b>>2]|0;if((b|0)!=7){c[e>>2]=b;c[d+4>>2]=7;Qe(0,191704,d);tc()}if((c[(Yu(c[n>>2]|0,191528,g,0)|0)>>2]|0)==7){CG(k,g)}Of(g);i=f;return}function FG(a){a=a|0;var b=0,d=0,e=0;b=i;d=c[a+228>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+220>>2]|0;if((d|0)!=0){ke(d);HW(d)}a=a+224|0;d=c[a>>2]|0;if((d|0)==0){i=b;return}e=d+4|0;d=(c[e>>2]|0)+ -1|0;c[e>>2]=d;if((d|0)!=0){i=b;return}a=c[a>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function GG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=i;m=i;i=i+8|0;j=m;n=i;i=i+8|0;p=n;s=i;i=i+8|0;r=s;D=i;i=i+8|0;u=i;i=i+8|0;v=u;x=i;i=i+8|0;y=x;A=i;i=i+8|0;z=A;ha=i;i=i+8|0;E=i;i=i+8|0;F=E;K=i;i=i+8|0;L=K;da=i;i=i+8|0;N=i;i=i+8|0;M=N;U=i;i=i+8|0;R=U;W=i;i=i+8|0;X=W;Z=i;i=i+8|0;_=Z;$=i;i=i+8|0;aa=$;ca=i;i=i+8|0;ba=ca;ea=i;i=i+8|0;ga=ea;ja=i;i=i+8|0;ka=ja;la=i;i=i+8|0;ma=la;ia=i;i=i+16|0;I=ia;q=i;i=i+16|0;f=q;J=i;i=i+16|0;G=J;V=i;i=i+16|0;Q=V;T=i;i=i+16|0;P=T;B=i;i=i+16|0;w=B;t=i;i=i+16|0;l=t;o=b+8|0;c[b+72>>2]=3;c[b+76>>2]=-1;c[b+80>>2]=-1;c[b+84>>2]=0;h[b+88>>3]=.5;h[b+96>>3]=.5;a[b+104|0]=1;a[b+105|0]=1;a[b+106|0]=1;c[b+12>>2]=100;c[b+16>>2]=5;a[b+20|0]=1;h[b+24>>3]=1.0;h[b+56>>3]=1.0;a[b+64|0]=0;c[o>>2]=0;k=b+112|0;c[b+176>>2]=3;c[b+180>>2]=-1;c[b+184>>2]=-1;c[b+188>>2]=0;h[b+192>>3]=.5;h[b+200>>3]=.5;a[b+208|0]=1;a[b+209|0]=1;a[b+210|0]=1;c[b+116>>2]=100;c[b+120>>2]=5;a[b+124|0]=1;h[b+128>>3]=1.0;h[b+160>>3]=1.0;a[b+168|0]=0;c[k>>2]=0;c[ia>>2]=13;fa=I+8|0;c[fa>>2]=0;c[fa+4>>2]=0;c[q>>2]=13;e=f+8|0;c[e>>2]=0;c[e+4>>2]=0;a[b]=1;Y=b+228|0;c[Y>>2]=0;H=b+220|0;c[H>>2]=0;S=b+216|0;a[S]=0;O=b+224|0;c[O>>2]=0;C=c[d>>2]|0;if((C|0)!=7){c[la>>2]=C;c[ma+4>>2]=7;Qe(0,191704,ma);tc()}C=d+8|0;if((c[(Yu(c[C>>2]|0,191520,f,0)|0)>>2]|0)==7){la=c[q>>2]|0;if((la|0)!=7){c[ja>>2]=la;c[ka+4>>2]=7;Qe(0,191704,ka);tc()}do{if((c[(Yu(c[e>>2]|0,191536,I,0)|0)>>2]|0)==4){ha=c[ia>>2]|0;if((ha|0)!=4){c[ea>>2]=ha;c[ga+4>>2]=4;Qe(0,191704,ga);tc()}if((Qc(c[fa>>2]|0,191584)|0)!=0){break}c[J>>2]=13;ea=G+8|0;c[ea>>2]=0;c[ea+4>>2]=0;c[V>>2]=13;fa=Q+8|0;c[fa>>2]=0;c[fa+4>>2]=0;ga=c[q>>2]|0;if((ga|0)!=7){c[ca>>2]=ga;c[ba+4>>2]=7;Qe(0,191704,ba);tc()}if((c[(Yu(c[e>>2]|0,191464,G,0)|0)>>2]|0)==7){ba=c[J>>2]|0;if((ba|0)!=7){c[$>>2]=ba;c[aa+4>>2]=7;Qe(0,191704,aa);tc()}do{if((c[(Yu(c[ea>>2]|0,191528,Q,0)|0)>>2]|0)==3){$=c[V>>2]|0;if(($|0)==3){la=c[fa>>2]|0;ma=FW(32)|0;ie(ma,la);c[Y>>2]=ma;break}else{c[Z>>2]=$;c[_+4>>2]=3;Qe(0,191704,_);tc()}}}while(0);Of(Q);Y=c[J>>2]|0;if((Y|0)!=7){c[W>>2]=Y;c[X+4>>2]=7;Qe(0,191704,X);tc()}if((c[(Yu(c[ea>>2]|0,191592,Q,0)|0)>>2]|0)==7){c[T>>2]=13;W=P+8|0;c[W>>2]=0;c[W+4>>2]=0;V=c[V>>2]|0;if((V|0)!=7){c[U>>2]=V;c[R+4>>2]=7;Qe(0,191704,R);tc()}do{if((c[(Yu(c[fa>>2]|0,191528,P,0)|0)>>2]|0)==8){a[S]=1;R=c[T>>2]|0;if((R|0)==8){ma=c[W>>2]|0;c[O>>2]=ma;ma=ma+4|0;c[ma>>2]=(c[ma>>2]|0)+1;break}else{c[N>>2]=R;c[M+4>>2]=8;Qe(0,191704,M);tc()}}}while(0);Of(P)}Of(Q)}else{Qe(-1,191600,da);a[b]=0}Of(G);M=c[q>>2]|0;if((M|0)!=7){c[K>>2]=M;c[L+4>>2]=7;Qe(0,191704,L);tc()}do{if((c[(Yu(c[e>>2]|0,191624,G,0)|0)>>2]|0)==3){J=c[J>>2]|0;if((J|0)==3){la=c[ea>>2]|0;ma=FW(32)|0;ie(ma,la);c[H>>2]=ma;break}else{c[E>>2]=J;c[F+4>>2]=3;Qe(0,191704,F);tc()}}}while(0);Of(G)}else{Qe(-1,191632,ha);a[b]=0}}while(0);Of(I);E=1}else{E=0}Of(f);if((a[b]&1)==0){i=g;return}F=c[d>>2]|0;if((F|0)!=7){c[A>>2]=F;c[z+4>>2]=7;Qe(0,191704,z);tc()}do{if((c[(Yu(c[C>>2]|0,191480,f,0)|0)>>2]|0)==7){c[B>>2]=13;z=w+8|0;c[z>>2]=0;c[z+4>>2]=0;z=c[q>>2]|0;if((z|0)!=7){c[x>>2]=z;c[y+4>>2]=7;Qe(0,191704,y);tc()}if((c[(Yu(c[e>>2]|0,191656,w,0)|0)>>2]|0)==7){DG(o,w)}Of(w);x=c[q>>2]|0;if((x|0)!=7){c[u>>2]=x;c[v+4>>2]=7;Qe(0,191704,v);tc()}if((c[(Yu(c[e>>2]|0,191664,w,0)|0)>>2]|0)==7){DG(k,w)}Of(w)}else{if(!E){break}Qe(-1,191672,D);a[b]=0}}while(0);Of(f);u=c[d>>2]|0;if((u|0)!=7){c[s>>2]=u;c[r+4>>2]=7;Qe(0,191704,r);tc()}if((c[(Yu(c[C>>2]|0,191696,f,0)|0)>>2]|0)==7){c[t>>2]=13;r=l+8|0;c[r>>2]=0;c[r+4>>2]=0;r=c[q>>2]|0;if((r|0)!=7){c[n>>2]=r;c[p+4>>2]=7;Qe(0,191704,p);tc()}if((c[(Yu(c[e>>2]|0,191656,l,0)|0)>>2]|0)==7){EG(o,l)}Of(l);n=c[q>>2]|0;if((n|0)!=7){c[m>>2]=n;c[j+4>>2]=7;Qe(0,191704,j);tc()}if((c[(Yu(c[e>>2]|0,191664,l,0)|0)>>2]|0)==7){EG(k,l)}Of(l)}Of(f);i=g;return}function HG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=i;i=i+16|0;e=d;if((c[a>>2]|0)!=8){f=0;i=b;return f|0}f=c[a+8>>2]|0;f=jd[c[(c[f>>2]|0)+72>>2]&511](f)|0;if((f|0)==0){f=0;i=b;return f|0}c[d>>2]=13;g=e+8|0;c[g>>2]=0;c[g+4>>2]=0;Yu(f,191856,e,0)|0;if(((c[d>>2]|0)+ -1|0)>>>0>=2){g=0;i=b;return g|0}g=FW(40)|0;IG(g,a,1);i=b;return g|0}function IG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;e=i;n=i;i=i+8|0;o=n;s=i;i=i+8|0;r=s;g=i;i=i+16|0;f=g;p=i;i=i+16|0;m=p;q=FW(16)|0;c[a>>2]=q;c[q+8>>2]=0;c[q+12>>2]=0;c[q>>2]=5;Mf(b,q)|0;q=a+8|0;c[q>>2]=0;j=a+16|0;h[j>>3]=0.0;k=a+24|0;c[k>>2]=1;l=a+28|0;c[l>>2]=8;b=a+32|0;c[b>>2]=0;if(!d){i=e;return}c[g>>2]=13;d=f+8|0;c[d>>2]=0;c[d+4>>2]=0;t=c[a>>2]|0;u=c[t>>2]|0;if((u|0)!=8){c[s>>2]=u;c[r+4>>2]=8;Qe(0,191928,r);tc()}r=c[t+8>>2]|0;r=jd[c[(c[r>>2]|0)+72>>2]&511](r)|0;Yu(r,191864,f,0)|0;do{if((c[g>>2]|0)==5){c[a+4>>2]=0}else{c[p>>2]=13;s=m+8|0;c[s>>2]=0;c[s+4>>2]=0;c[a+4>>2]=1;if(!(CH(f,m)|0)){break}p=c[p>>2]|0;if((p|0)==3){t=c[s>>2]|0;u=FW(32)|0;ie(u,t);c[q>>2]=u;Of(m);break}else{c[n>>2]=p;c[o+4>>2]=3;Qe(0,191928,o);tc()}}}while(0);Of(f);Yu(r,191856,f,0)|0;m=c[g>>2]|0;if((m+ -1|0)>>>0<2){if((m|0)==1){v=+(c[d>>2]|0)}else{v=+h[d>>3]}h[j>>3]=v}Of(f);Yu(r,191872,f,0)|0;if((c[g>>2]|0)==1){c[k>>2]=c[d>>2]}Of(f);Yu(r,191880,f,0)|0;if((c[g>>2]|0)==1){c[l>>2]=c[d>>2]}Of(f);Yu(r,191888,f,0)|0;do{if((c[g>>2]|0)==4){g=c[d>>2]|0;if((Qc(191896,g|0)|0)==0){c[b>>2]=0;break}if((Qc(191904,g|0)|0)==0){c[b>>2]=1;break}if((Qc(191912,g|0)|0)==0){c[b>>2]=2;break}if((Qc(191920,g|0)|0)!=0){break}c[b>>2]=3}}while(0);Of(f);i=e;return}function JG(a){a=a|0;var b=0,d=0;b=i;d=c[a+8>>2]|0;if((d|0)!=0){ke(d);HW(d)}Of(c[a>>2]|0);a=c[a>>2]|0;if((a|0)==0){i=b;return}HW(a);i=b;return}function KG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a=i;b=i;i=i+8192|0;e=i;i=i+16|0;Vt(e,d,0);d=c[q>>2]|0;f=0;do{g=Ta(b|0,1,8192,d|0)|0;Xt(e,b,8192)|0;f=g+f|0;}while((g|0)==8192);i=a;return f|0}function LG(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return 0}function MG(a){a=a|0;i=i;return}function NG(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function OG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b>>2]=192104;c[b+8>>2]=d;c[b+4>>2]=d;c[b+12>>2]=e;a[b+16|0]=f&1;i=i;return}function PG(b){b=b|0;var d=0;d=i;c[b>>2]=192104;if((a[b+16|0]&1)==0){HW(b);i=d;return}Fe(c[b+4>>2]|0);HW(b);i=d;return}function QG(b){b=b|0;var d=0;d=i;c[b>>2]=192104;if((a[b+16|0]&1)==0){i=d;return}Fe(c[b+4>>2]|0);i=d;return}function RG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;f=i;i=i+8|0;h=i;i=i+8|0;g=i;i=i+8|0;e=yc(a|0,192112)|0;if((e|0)==0){c[g>>2]=a;Qe(-1,192120,g);h=0;i=d;return h|0}if((jc(e|0,0,2)|0)!=0){c[h>>2]=a;Qe(-1,192144,h);mc(e|0)|0;h=0;i=d;return h|0}g=jb(e|0)|0;if((jc(e|0,0,0)|0)!=0){c[f>>2]=a;Qe(-1,192176,f);mc(e|0)|0;h=0;i=d;return h|0}a=we(g)|0;if((Ta(a|0,1,g|0,e|0)|0)==(g|0)){mc(e|0)|0;c[b>>2]=g;h=a;i=d;return h|0}else{Fe(a);mc(e|0)|0;h=0;i=d;return h|0}return 0}function SG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;g=i;do{if((e|0)>=0){if((c[b+12>>2]|0)<=(e|0)){break}e=d[(c[b+8>>2]|0)+e|0]|0;i=g;return e|0}}while(0);a[f]=0;e=0;i=g;return e|0}function TG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;g=i;do{if((e|0)>=0){h=e+1|0;if((h|0)>=(c[b+12>>2]|0)){break}f=c[b+8>>2]|0;b=(d[f+e|0]|0)<<8;f=b|(d[f+h|0]|0);h=(b&32768|0)==0?f:f|-65536;i=g;return h|0}}while(0);a[f]=0;h=0;i=g;return h|0}function UG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;g=i;do{if((e|0)>=0){h=e+1|0;if((h|0)>=(c[b+12>>2]|0)){break}b=c[b+8>>2]|0;h=(d[b+e|0]|0)<<8|(d[b+h|0]|0);i=g;return h|0}}while(0);a[f]=0;h=0;i=g;return h|0}function VG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;g=i;do{if((e|0)>=0){h=e+3|0;if((h|0)>=(c[b+12>>2]|0)){break}b=c[b+8>>2]|0;h=(((d[b+e|0]|0)<<8|(d[b+(e+1)|0]|0))<<8|(d[b+(e+2)|0]|0))<<8|(d[b+h|0]|0);i=g;return h|0}}while(0);a[f]=0;h=0;i=g;return h|0}function WG(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;do{if((e|0)>=0){if((f+e|0)>(c[b+12>>2]|0)){break}if((f|0)<=0){j=0;i=h;return j|0}b=c[b+8>>2]|0;g=0;j=0;while(1){j=d[b+(g+e)|0]|0|j<<8;g=g+1|0;if((g|0)<(f|0)){}else{break}}i=h;return j|0}}while(0);a[g]=0;j=0;i=h;return j|0}function XG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;if((d|b|0)<=-1){a=0;i=e;return a|0}a=(d+b|0)<=(c[a+12>>2]|0);i=e;return a|0}function YG(b,d){b=b|0;d=d|0;var e=0,f=0;f=i;e=FW(32)|0;OG(e,b,d,0);c[e>>2]=201656;c[e+20>>2]=0;c[e+24>>2]=0;a[e+28|0]=0;i=f;return e|0}function ZG(b){b=b|0;var d=0,e=0,f=0;d=i;e=i;i=i+8|0;b=RG(b,e)|0;if((b|0)==0){b=0;i=d;return b|0}f=FW(32)|0;OG(f,b,c[e>>2]|0,1);c[f>>2]=201656;c[f+20>>2]=0;c[f+24>>2]=0;a[f+28|0]=0;b=f;i=d;return b|0}function _G(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=201656;d=c[a+20>>2]|0;if((d|0)!=0){Fe(d)}d=a+24|0;e=c[d>>2]|0;if((e|0)==0|(e|0)==193784){QG(a);HW(a);i=b;return}else{f=0}do{Fe(c[e+(f<<2)>>2]|0);f=f+1|0;e=c[d>>2]|0}while((f|0)<256);Fe(e);QG(a);HW(a);i=b;return}function $G(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=201656;d=c[a+20>>2]|0;if((d|0)!=0){Fe(d)}d=a+24|0;e=c[d>>2]|0;if((e|0)==0|(e|0)==193784){QG(a);i=b;return}else{f=0}do{Fe(c[e+(f<<2)>>2]|0);f=f+1|0;e=c[d>>2]|0}while((f|0)<256);Fe(e);QG(a);i=b;return}function aH(b){b=b|0;var d=0;d=i;if((a[b+28|0]&1)==0){bH(b)}i=d;return c[b+20>>2]|0}function bH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;j=i;h=i;i=i+8|0;g=i;i=i+8|0;f=i;i=i+256|0;e=i;i=i+8|0;o=b+8|0;s=c[o>>2]|0;p=b+24|0;if((s|0)==0){x=b+28|0;a[x]=1;i=j;return}l=b+20|0;m=f+255|0;n=f+9|0;k=b+12|0;d=1;a:while(1){do{if((c[l>>2]|0)==0){if((vc(s|0,201704,9)|0)!=0){if((c[p>>2]|0)==0){q=18;break}else{q=76;break}}hX(f|0,s|0,255)|0;a[m]=0;r=Fb(n|0,47)|0;do{if((r|0)!=0){r=Mb(r+1|0,201720,e|0)|0;if((r|0)==0){break}c[l>>2]=Ge(r)|0}}while(0);r=(c[o>>2]|0)+(c[k>>2]|0)|0;b:do{if(r>>>0>s>>>0){do{x=a[s]|0;if(x<<24>>24==10|x<<24>>24==13){break b}s=s+1|0;}while(s>>>0<r>>>0)}}while(0);if(s>>>0<r>>>0){s=(a[s]|0)==13?s+1|0:s}if(s>>>0<r>>>0){s=(a[s]|0)==10?s+1|0:s}s=s>>>0<r>>>0?s:0}else{if((c[p>>2]|0)==0){q=18}else{q=86;break a}}}while(0);c:do{if((q|0)==18){q=0;if((vc(s|0,201664,30)|0)==0){c[p>>2]=193784;break}if((vc(s|0,201728,19)|0)!=0){q=76;break}r=ye(256,4)|0;c[p>>2]=r;t=0;while(1){c[r+(t<<2)>>2]=0;t=t+1|0;if((t|0)>=256){break}r=c[p>>2]|0}r=c[o>>2]|0;u=c[k>>2]|0;t=r+u|0;d:do{if(t>>>0>s>>>0){do{x=a[s]|0;if(x<<24>>24==10|x<<24>>24==13){break d}s=s+1|0;}while(s>>>0<t>>>0)}}while(0);if(s>>>0<t>>>0){s=(a[s]|0)==13?s+1|0:s}if(s>>>0<t>>>0){s=(a[s]|0)==10?s+1|0:s}if((s|0)==0|s>>>0>=t>>>0){q=86;break a}else{t=r;r=0}while(1){t=t+u|0;e:do{if(t>>>0>s>>>0){u=s;do{x=a[u]|0;if(x<<24>>24==10|x<<24>>24==13){break e}u=u+1|0;}while(u>>>0<t>>>0)}else{u=s}}while(0);if(u>>>0<t>>>0){u=(a[u]|0)==13?u+1|0:u}if(u>>>0<t>>>0){u=(a[u]|0)==10?u+1|0:u}t=u>>>0<t>>>0?u:0;if((t|0)==0){break c}u=t-s|0;if((u|0)>255){Qe(-1,201752,g);u=255}hX(f|0,s|0,u|0)|0;a[f+u|0]=0;u=f;while(1){x=a[u]|0;if(!(x<<24>>24==9|x<<24>>24==32)){break}u=u+1|0}f:do{if((vc(u|0,201832,3)|0)==0){v=u+3|0;while(1){w=a[v]|0;if(!(w<<24>>24==9|w<<24>>24==32)){x=v;break}v=v+1|0}while(1){u=x+1|0;if((w+ -48<<24>>24&255)>=10){break}w=a[u]|0;x=u}if(w<<24>>24==0){s=t;break}a[x]=0;v=ec(v|0)|0;a[x]=w;do{if((v|0)==8&w<<24>>24==35){w=a[u]|0;if((w+ -48<<24>>24&255)<8){v=0}else{v=0;break}while(1){v=(v<<3)+ -48+(w<<24>>24)|0;u=u+1|0;w=a[u]|0;if((w+ -48<<24>>24&255)<8){}else{q=55;break}}}else{u=x;q=55}}while(0);if((q|0)==55){q=0;if(v>>>0>=256){s=t;break}}while(1){if(w<<24>>24==47){break}else if(!(w<<24>>24==9|w<<24>>24==32)){s=t;break f}x=u+1|0;w=a[x]|0;u=x}w=u+1|0;u=w;while(1){x=a[u]|0;if(x<<24>>24==9|x<<24>>24==32|x<<24>>24==0){break}u=u+1|0}a[u]=0;w=Ge(w)|0;c[(c[p>>2]|0)+(v<<2)>>2]=w;a[u]=x;while(1){if(!(x<<24>>24==9|x<<24>>24==32)){break}w=u+1|0;x=a[w]|0;u=w}if((vc(u|0,201840,3)|0)!=0){Qe(-1,201848,h);s=t;break}u=u+3|0;g:while(1){switch(a[u]|0){case 13:case 10:case 9:case 32:{break};case 0:{s=t;break f};default:{break g}}u=u+1|0}s=s+(u-f)|0}else{if((Mb(f|0,201888,e|0)|0)==0){s=t;break}u=Mb(0,201720,e|0)|0;if((u|0)==0){s=t;break}if((Qc(u|0,201696)|0)==0){break c}else{s=t}}}while(0);if((r|0)>298|(s|0)==0){break c}u=c[k>>2]|0;t=c[o>>2]|0;r=r+1|0}}}while(0);if((q|0)==76){q=0;r=(c[o>>2]|0)+(c[k>>2]|0)|0;h:do{if(r>>>0>s>>>0){do{x=a[s]|0;if(x<<24>>24==10|x<<24>>24==13){break h}s=s+1|0;}while(s>>>0<r>>>0)}}while(0);if(s>>>0<r>>>0){s=(a[s]|0)==13?s+1|0:s}if(s>>>0<r>>>0){s=(a[s]|0)==10?s+1|0:s}s=s>>>0<r>>>0?s:0}if((d|0)>99|(s|0)==0){q=86;break}d=d+1|0}if((q|0)==86){x=b+28|0;a[x]=1;i=j;return}}function cH(b){b=b|0;var d=0;d=i;if((a[b+28|0]&1)==0){bH(b)}i=d;return c[b+24>>2]|0}function dH(b){b=b|0;var c=0;c=i;Vb(b|0,0)|0;a[b+16|0]=1;i=c;return}function eH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0.0;d=i;g=b+8|0;if((a[b+16|0]&1)!=0){Vb(g|0,0)|0}e=c[b+4>>2]|0;h=b+12|0;f=c[h>>2]|0;if((e|0)>(f|0)){f=f+1e6|0;c[h>>2]=f;h=(c[g>>2]|0)+ -1|0;c[g>>2]=h;g=h}else{g=c[g>>2]|0}j=+(f-e|0)/1.0e6+ +(g-(c[b>>2]|0)|0);i=d;return+(j<0.0?0.0:j)}function fH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;k=i;i=i+8|0;h=i;i=i+8|0;g=i;i=i+8|0;j=i;i=i+8|0;if((FL(j)|0)!=0){k=0;i=e;return k|0}f=FW(12)|0;j=c[j>>2]|0;a[f]=b&1;a[f+1|0]=d&1;c[f+4>>2]=j;qK(j,k,h,g);b=c[k>>2]|0;do{if((b|0)>2){g=1}else{if((b|0)!=2){g=0;break}h=c[h>>2]|0;if((h|0)>1){g=1;break}if((h|0)!=1){g=0;break}g=(c[g>>2]|0)>7|0}}while(0);a[f+8|0]=g;k=f;i=e;return k|0}function gH(a){a=a|0;var b=0;b=i;GL(c[a+4>>2]|0)|0;i=b;return}function hH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;a=nH(a,b,c,d)|0;i=e;return a|0}function iH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;a=nH(a,b,c,d)|0;i=e;return a|0}function jH(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=i;a=nH(a,b,c,d)|0;i=e;return a|0}function kH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;g=i;i=i+8|0;h=g;do{if((a[b+8|0]&1)==0){if((a[e]&1)==0){j=Tn(c[e+8>>2]|0,c[e+12>>2]|0)|0}else{j=Vn(c[(c[e+4>>2]|0)+28>>2]|0)|0}if((j|0)==0){c[g>>2]=0;h=0;g=0;break}else{k=_n(j,h)|0;fd[c[(c[j>>2]|0)+4>>2]&511](j);h=c[g>>2]|0;g=k;break}}else{c[g>>2]=0;h=0;g=0}}while(0);b=oH(b,d,e,g,h)|0;if((b|0)!=0){i=f;return b|0}Fe(g);i=f;return b|0}function lH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;g=i;i=i+8|0;j=g;c[g>>2]=0;do{if((a[b+8|0]&1)==0){if((a[e]&1)==0){h=Cn(c[e+8>>2]|0,c[e+12>>2]|0,0)|0}else{h=Dn(c[(c[e+4>>2]|0)+28>>2]|0,0)|0}if((h|0)==0){h=0;break}if((a[h+64|0]&1)==0){j=0}else{j=Mn(h,j)|0}fd[c[(c[h>>2]|0)+4>>2]&511](h);h=j}else{h=0}}while(0);b=oH(b,d,e,h,c[g>>2]|0)|0;if((b|0)!=0){i=f;return b|0}Fe(h);i=f;return b|0}function mH(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;a=pH(a,b,c,d,e,f)|0;i=g;return a|0}function nH(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;j=i;i=i+8|0;l=j;k=c[d+4>>2]|0;do{if((a[f]&1)==0){if((NJ(k,c[f+8>>2]|0,c[f+12>>2]|0,0,l)|0)==0){break}else{d=0}i=h;return d|0}else{if((LJ(k,c[(c[f+4>>2]|0)+28>>2]|0,0,l)|0)==0){break}else{d=0}i=h;return d|0}}while(0);k=ye(256,4)|0;l=0;do{m=k+(l<<1)|0;b[m>>1]=0;n=c[g+(l<<2)>>2]|0;if((n|0)!=0){b[m>>1]=gK(c[j>>2]|0,n)|0}l=l+1|0;}while((l|0)<256);n=FW(40)|0;m=c[j>>2]|0;Wp(n,e,f);c[n>>2]=201936;c[n+20>>2]=d;c[n+24>>2]=m;c[n+28>>2]=k;c[n+32>>2]=256;a[n+36|0]=0;i=h;return n|0}function oH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;j=i;i=i+8|0;k=j;l=c[b+4>>2]|0;do{if((a[e]&1)==0){if((NJ(l,c[e+8>>2]|0,c[e+12>>2]|0,0,k)|0)==0){break}else{d=0}i=h;return d|0}else{if((LJ(l,c[(c[e+4>>2]|0)+28>>2]|0,0,k)|0)==0){break}else{d=0}i=h;return d|0}}while(0);l=FW(40)|0;k=c[j>>2]|0;Wp(l,d,e);c[l>>2]=201936;c[l+20>>2]=b;c[l+24>>2]=k;c[l+28>>2]=f;c[l+32>>2]=g;a[l+36|0]=0;g=l;i=h;return g|0}function pH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;m=i;i=i+8|0;k=m;l=c[b+4>>2]|0;do{if((a[e]&1)==0){if((NJ(l,c[e+8>>2]|0,c[e+12>>2]|0,h,k)|0)==0){break}else{e=0}i=j;return e|0}else{if((LJ(l,c[(c[e+4>>2]|0)+28>>2]|0,h,k)|0)==0){break}else{e=0}i=j;return e|0}}while(0);h=FW(40)|0;m=c[m>>2]|0;Wp(h,d,e);c[h>>2]=201936;c[h+20>>2]=b;c[h+24>>2]=m;c[h+28>>2]=f;c[h+32>>2]=g;a[h+36|0]=1;i=j;return h|0}function qH(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=201936;d=c[a+24>>2]|0;if((d|0)!=0){SJ(d)|0}d=c[a+28>>2]|0;if((d|0)==0){Yp(a);HW(a);i=b;return}Fe(d);Yp(a);HW(a);i=b;return}function rH(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=201936;d=c[a+24>>2]|0;if((d|0)!=0){SJ(d)|0}d=c[a+28>>2]|0;if((d|0)==0){Yp(a);i=b;return}Fe(d);Yp(a);i=b;return}function sH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=i;d=FW(184)|0;LI(d,a,b,c);uH(d);i=e;return d|0}function tH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0;j=i;c[b>>2]=202e3;c[b+4>>2]=d;_p(d);h[b+8>>3]=+h[e>>3];h[b+16>>3]=+h[e+8>>3];h[b+24>>3]=+h[e+16>>3];h[b+32>>3]=+h[e+24>>3];h[b+40>>3]=+h[f>>3];h[b+48>>3]=+h[f+8>>3];h[b+56>>3]=+h[f+16>>3];h[b+64>>3]=+h[f+24>>3];a[b+72|0]=g&1;bX(b+76|0,0,24)|0;i=j;return}function uH(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=(c[b+84>>2]|0)+3-(c[b+76>>2]|0)|0;c[b+100>>2]=e;f=(c[b+88>>2]|0)-(c[b+80>>2]|0)+3|0;c[b+104>>2]=f;if((a[b+72|0]&1)==0){g=da(e+7>>3,f)|0;c[b+108>>2]=g}else{g=da(e,f)|0;c[b+108>>2]=g}e=b+116|0;c[e>>2]=8;do{if((g|0)<65){c[b+112>>2]=32;h=256}else{if((g|0)<129){c[b+112>>2]=16;h=128;break}if((g|0)<257){c[b+112>>2]=8;h=64;break}if((g|0)<513){c[b+112>>2]=4;h=32;break}f=b+112|0;if((g|0)<1025){c[f>>2]=2;h=16;break}else{c[f>>2]=1;h=8;break}}}while(0);f=b+112|0;j=ze(h,g)|0;c[b+92>>2]=j;if((j|0)==0){c[e>>2]=0;i=d;return}g=ye(da(c[e>>2]|0,c[f>>2]|0)|0,28)|0;b=b+96|0;c[b>>2]=g;h=c[e>>2]|0;if((da(h,c[f>>2]|0)|0)>0){j=0}else{i=d;return}while(1){c[g+(j*28|0)+8>>2]=h+ -1&j;j=j+1|0;h=c[e>>2]|0;if((j|0)>=(da(h,c[f>>2]|0)|0)){break}g=c[b>>2]|0}i=d;return}function vH(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=202e3;$p(c[a+4>>2]|0);d=c[a+92>>2]|0;if((d|0)!=0){Fe(d)}d=c[a+96>>2]|0;if((d|0)==0){HW(a);i=b;return}Fe(d);HW(a);i=b;return}function wH(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=202e3;$p(c[a+4>>2]|0);d=c[a+92>>2]|0;if((d|0)!=0){Fe(d)}a=c[a+96>>2]|0;if((a|0)==0){i=b;return}Fe(a);i=b;return}function xH(d,e,f,g,h,j,k,l,m){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;n=i;q=i;i=i+32|0;r=q;s=d+72|0;if((a[s]&1)==0){o=3}else{if((c[d+104>>2]|0)>50){o=3}}if((o|0)==3){f=0;g=0}o=d+116|0;w=c[o>>2]|0;p=da((c[d+112>>2]|0)+ -1&e,w)|0;a:do{if((w|0)>0){t=d+96|0;x=c[t>>2]|0;u=0;b:while(1){v=u+p|0;do{if((c[x+(v*28|0)+8>>2]|0)<0){if((c[x+(v*28|0)>>2]|0)!=(e|0)){break}if((b[x+(v*28|0)+4>>1]|0)!=(f|0)){break}if((b[x+(v*28|0)+6>>1]|0)==(g|0)){break b}}}while(0);u=u+1|0;if((u|0)>=(w|0)){break a}}c[h>>2]=c[x+(v*28|0)+12>>2];e=h+4|0;c[e>>2]=c[(c[t>>2]|0)+(v*28|0)+16>>2];r=h+8|0;c[r>>2]=c[(c[t>>2]|0)+(v*28|0)+20>>2];q=h+12|0;c[q>>2]=c[(c[t>>2]|0)+(v*28|0)+24>>2];g=c[o>>2]|0;if((g|0)>0){f=0;do{do{if((f|0)!=(u|0)){A=c[t>>2]|0;w=A+((f+p|0)*28|0)+8|0;x=c[w>>2]|0;if((x&2147483647)>>>0>=(c[A+(v*28|0)+8>>2]&2147483647)>>>0){break}c[w>>2]=x+1;g=c[o>>2]|0}}while(0);f=f+1|0;}while((f|0)<(g|0))}c[(c[t>>2]|0)+(v*28|0)+8>>2]=-2147483648;a[h+16|0]=a[s]&1;c[h+20>>2]=(c[d+92>>2]|0)+(da(c[d+108>>2]|0,v)|0);a[h+24|0]=0;z=j-(c[h>>2]|0)|0;A=k-(c[e>>2]|0)|0;c[m>>2]=Jp(l,z,A,z+ -1+(c[r>>2]|0)|0,A+ -1+(c[q>>2]|0)|0)|0;A=1;i=n;return A|0}}while(0);if(!(Fd[c[(c[d>>2]|0)+12>>2]&7](d,e,f,g,r,j,k,l,m)|0)){A=0;i=n;return A|0}if((c[m>>2]|0)==1){a[h+24|0]=0;if((a[r+24|0]&1)==0){A=1;i=n;return A|0}Fe(c[r+20>>2]|0);A=1;i=n;return A|0}j=r+8|0;m=c[j>>2]|0;do{if((m|0)<=(c[d+100>>2]|0)){k=r+12|0;l=c[k>>2]|0;if((l|0)>(c[d+104>>2]|0)){break}if((a[s]&1)==0){m=m+7>>3}s=da(m,l)|0;v=c[o>>2]|0;if((v|0)==0){$W(h|0,q|0,28)|0;A=1;i=n;return A|0}if((v|0)>0){l=d+96|0;m=f&65535;t=g&65535;f=r+4|0;g=d+92|0;u=d+108|0;d=r+20|0;w=0;z=0;do{y=w+p|0;x=(c[l>>2]|0)+(y*28|0)+8|0;A=c[x>>2]|0;if((A&2147483647|0)==(v+ -1|0)){c[x>>2]=-2147483648;c[(c[l>>2]|0)+(y*28|0)>>2]=e;b[(c[l>>2]|0)+(y*28|0)+4>>1]=m;b[(c[l>>2]|0)+(y*28|0)+6>>1]=t;c[(c[l>>2]|0)+(y*28|0)+12>>2]=c[q>>2];c[(c[l>>2]|0)+(y*28|0)+16>>2]=c[f>>2];c[(c[l>>2]|0)+(y*28|0)+20>>2]=c[j>>2];c[(c[l>>2]|0)+(y*28|0)+24>>2]=c[k>>2];z=(c[g>>2]|0)+(da(c[u>>2]|0,y)|0)|0;$W(z|0,c[d>>2]|0,s|0)|0}else{c[x>>2]=A+1}w=w+1|0;v=c[o>>2]|0;}while((w|0)<(v|0))}else{z=0}$W(h|0,q|0,28)|0;c[h+20>>2]=z;a[h+24|0]=0;if((a[r+24|0]&1)==0){A=1;i=n;return A|0}Fe(c[r+20>>2]|0);A=1;i=n;return A|0}}while(0);$W(h|0,q|0,28)|0;A=1;i=n;return A|0}function yH(a,b){a=a|0;b=b|0;i=i;return -1.0}function zH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;f=b+4|0;c[f>>2]=e;h=ye(e,4)|0;c[b>>2]=h;a:do{if((c[f>>2]|0)>0){j=0;while(1){c[h+(j<<2)>>2]=0;j=j+1|0;if((j|0)>=(c[f>>2]|0)){break a}h=c[b>>2]|0}}}while(0);if((e|0)>0){j=0}else{i=g;return}do{h=d+(j*12|0)|0;m=c[h>>2]|0;k=a[m]|0;if(k<<24>>24==0){l=0}else{l=0;while(1){l=(l*17|0)+(k&255)|0;m=m+1|0;k=a[m]|0;if(k<<24>>24==0){break}else{}}}m=(l>>>0)%((c[f>>2]|0)>>>0)|0;c[d+(j*12|0)+8>>2]=c[(c[b>>2]|0)+(m<<2)>>2];c[(c[b>>2]|0)+(m<<2)>>2]=h;j=j+1|0;}while((j|0)<(e|0));i=g;return}function AH(a){a=a|0;var b=0;b=i;Fe(c[a>>2]|0);i=b;return}function BH(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i;j=a[e]|0;if(j<<24>>24==0){l=0}else{l=0;k=e;while(1){l=(l*17|0)+(j&255)|0;k=k+1|0;j=a[k]|0;if(j<<24>>24==0){break}else{}}}d=c[(c[d>>2]|0)+(((l>>>0)%((c[d+4>>2]|0)>>>0)|0)<<2)>>2]|0;if((d|0)==0){l=0;i=h;return l|0}while(1){if((Qc(c[d>>2]|0,e|0)|0)==0){break}d=c[d+8>>2]|0;if((d|0)==0){f=0;g=7;break}}if((g|0)==7){i=h;return f|0}b[f>>1]=b[d+4>>1]|0;l=1;i=h;return l|0}function CH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;g=i;l=i;i=i+8|0;d=i;i=i+8|0;e=i;i=i+8|0;f=e;j=i;i=i+8|0;h=j;k=c[a>>2]|0;if((k|0)==3){Mf(a,b)|0;l=1;i=g;return l|0}else if((k|0)==7){k=a+8|0;if((c[(Yu(c[k>>2]|0,202048,b,0)|0)>>2]|0)==3){l=1;i=g;return l|0}Of(b);l=c[a>>2]|0;if((l|0)!=7){c[j>>2]=l;c[h+4>>2]=7;Qe(0,202096,h);tc()}if((c[(Yu(c[k>>2]|0,202056,b,0)|0)>>2]|0)==3){l=1;i=g;return l|0}Of(b);h=c[a>>2]|0;if((h|0)!=7){c[e>>2]=h;c[f+4>>2]=7;Qe(0,202096,f);tc()}if((c[(Yu(c[k>>2]|0,202064,b,0)|0)>>2]|0)==3){l=1;i=g;return l|0}Of(b);Qe(-1,202072,d);l=0;i=g;return l|0}else{Qe(-1,202072,l);l=0;i=g;return l|0}return 0}function DH(a){a=a|0;i=i;return}function EH(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;e=i;i=i+16|0;d=e;f=d+4|0;c[f>>2]=0;c[d+8>>2]=0;c[e>>2]=f;a=FH(a,d)|0;xn(d,c[d+4>>2]|0);i=b;return a|0}function FH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;f=i;i=i+8|0;g=f;k=i;i=i+8|0;l=k;n=i;i=i+8|0;r=i;i=i+8|0;o=i;i=i+16|0;j=o;c[o>>2]=13;m=j+8|0;c[m>>2]=0;c[m+4>>2]=0;q=c[b>>2]|0;do{if((q|0)==8){q=c[b+8>>2]|0;q=jd[c[(c[q>>2]|0)+72>>2]&511](q)|0}else if((q|0)==7){q=c[b+8>>2]|0}else if((q|0)==4){if((Qc(c[b+8>>2]|0,202168)|0)!=0){p=8;break}b=FW(1048)|0;c[b>>2]=202568;c[b+4>>2]=32;c[b+8>>2]=32;f=0;do{h[b+16+(f<<4)>>3]=0.0;h[b+16+(f<<4)+8>>3]=1.0;f=f+1|0;}while((f|0)<32);a[b+1040|0]=0;r=b;i=e;return r|0}else{p=8}}while(0);if((p|0)==8){Qe(-1,202184,r);r=0;i=e;return r|0}if((c[(Yu(q,202224,j,0)|0)>>2]|0)!=1){Qe(-1,202240,n);Of(j);r=0;i=e;return r|0}n=c[o>>2]|0;if((n|0)!=1){c[k>>2]=n;c[l+4>>2]=1;Qe(0,205232,l);tc()}k=c[m>>2]|0;Of(j);if((k|0)==4){r=FW(1072)|0;WH(r,b,q);b=r}else if((k|0)==3){b=FW(1072)|0;QH(b,0,q,d)}else if((k|0)==2){b=FW(1576)|0;NH(b,0,q)}else if((k|0)==0){r=FW(2600)|0;JH(r,b,q);b=r}else{c[f>>2]=k;Qe(-1,202280,g);r=0;i=e;return r|0}if(jd[c[(c[b>>2]|0)+20>>2]&511](b)|0){r=b;i=e;return r|0}if((b|0)==0){r=0;i=e;return r|0}fd[c[(c[b>>2]|0)+4>>2]&511](b);r=0;i=e;return r|0}function GH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;o=i;g=i;i=i+8|0;p=i;i=i+8|0;e=p;q=i;i=i+8|0;s=i;i=i+8|0;r=s;u=i;i=i+8|0;t=u;w=i;i=i+8|0;v=w;y=i;i=i+8|0;A=i;i=i+8|0;B=A;z=i;i=i+8|0;C=i;i=i+8|0;x=C;E=i;i=i+8|0;F=E;D=i;i=i+8|0;G=D;H=i;i=i+8|0;k=i;i=i+16|0;f=k;l=i;i=i+16|0;j=l;c[k>>2]=13;m=f+8|0;c[m>>2]=0;c[m+4>>2]=0;c[l>>2]=13;n=j+8|0;c[n>>2]=0;c[n+4>>2]=0;a:do{if((c[(Yu(d,202320,f,0)|0)>>2]|0)==6){H=c[k>>2]|0;if((H|0)!=6){c[D>>2]=H;c[G+4>>2]=6;Qe(0,205232,G);tc()}G=c[(c[m>>2]|0)+12>>2]|0;D=b+4|0;c[D>>2]=(G|0)/2|0;if((G|0)>65){c[E>>2]=32;Qe(-1,202360,F);break}b:do{if((G|0)>1){G=6;E=0;while(1){F=E<<1;if((G|0)!=6){D=10;break}ut(c[m>>2]|0,F,j)|0;G=c[l>>2]|0;if((G+ -1|0)>>>0>=2){D=12;break}if((G|0)==1){I=+(c[n>>2]|0)}else{I=+h[n>>3]}h[b+16+(E<<4)>>3]=I;Of(j);G=c[k>>2]|0;if((G|0)!=6){D=17;break}ut(c[m>>2]|0,F|1,j)|0;F=c[l>>2]|0;if((F+ -1|0)>>>0>=2){D=19;break}if((F|0)==1){I=+(c[n>>2]|0)}else{I=+h[n>>3]}h[b+16+(E<<4)+8>>3]=I;Of(j);E=E+1|0;if((E|0)>=(c[D>>2]|0)){D=25;break b}G=c[k>>2]|0}if((D|0)==10){c[C>>2]=G;c[x+4>>2]=6;Qe(0,205232,x);tc()}else if((D|0)==12){Qe(-1,202416,z);break}else if((D|0)==17){c[A>>2]=G;c[B+4>>2]=6;Qe(0,205232,B);tc()}else if((D|0)==19){Qe(-1,202416,y);break}}else{D=25}}while(0);c:do{if((D|0)==25){Of(f);y=b+1040|0;a[y]=0;x=b+8|0;c[x>>2]=0;d:do{if((c[(Yu(d,202456,f,0)|0)>>2]|0)==6){a[y]=1;d=c[k>>2]|0;if((d|0)!=6){c[w>>2]=d;c[v+4>>2]=6;Qe(0,205232,v);tc()}v=c[(c[m>>2]|0)+12>>2]|0;c[x>>2]=(v|0)/2|0;if((v|0)>65){c[u>>2]=32;Qe(-1,202464,t);break a}if((v|0)<=1){break}v=6;t=0;while(1){u=t<<1;if((v|0)!=6){D=33;break}ut(c[m>>2]|0,u,j)|0;v=c[l>>2]|0;if((v+ -1|0)>>>0>=2){D=35;break}if((v|0)==1){I=+(c[n>>2]|0)}else{I=+h[n>>3]}h[b+528+(t<<4)>>3]=I;Of(j);v=c[k>>2]|0;if((v|0)!=6){D=40;break}ut(c[m>>2]|0,u|1,j)|0;u=c[l>>2]|0;if((u+ -1|0)>>>0>=2){D=42;break}if((u|0)==1){I=+(c[n>>2]|0)}else{I=+h[n>>3]}h[b+528+(t<<4)+8>>3]=I;Of(j);t=t+1|0;if((t|0)>=(c[x>>2]|0)){break d}v=c[k>>2]|0}if((D|0)==33){c[s>>2]=v;c[r+4>>2]=6;Qe(0,205232,r);tc()}else if((D|0)==35){Qe(-1,202520,q);break c}else if((D|0)==40){c[p>>2]=v;c[e+4>>2]=6;Qe(0,205232,e);tc()}else if((D|0)==42){Qe(-1,202520,g);break c}}}while(0);Of(f);H=1;i=o;return H|0}}while(0);Of(j)}else{Qe(-1,202328,H)}}while(0);Of(f);H=0;i=o;return H|0}function HH(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function IH(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;a=i;d=0;do{h[c+(d<<3)>>3]=+h[b+(d<<3)>>3];d=d+1|0;}while((d|0)<32);i=a;return}function JH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0.0;f=i;u=i;i=i+8|0;p=i;i=i+8|0;t=p;x=i;i=i+8|0;v=i;i=i+8|0;o=v;A=i;i=i+8|0;z=A;D=i;i=i+8|0;H=i;i=i+8|0;I=H;G=i;i=i+8|0;E=i;i=i+8|0;F=E;K=i;i=i+8|0;J=K;L=i;i=i+8|0;n=L;M=i;i=i+8|0;O=i;i=i+8|0;C=i;i=i+8|0;N=C;P=i;i=i+8|0;B=i;i=i+8|0;Q=B;T=i;i=i+8|0;S=i;i=i+8|0;k=i;i=i+8|0;s=i;i=i+16|0;m=s;r=i;i=i+16|0;y=r;c[b>>2]=202600;c[s>>2]=13;q=m+8|0;c[q>>2]=0;c[q+4>>2]=0;c[r>>2]=13;w=y+8|0;c[w>>2]=0;c[w+4>>2]=0;j=b+2584|0;c[j>>2]=0;R=b+2592|0;c[R>>2]=0;g=b+2596|0;a[g]=0;if(!(GH(b,e)|0)){i=f;return}if((a[b+1040|0]&1)==0){Qe(-1,202624,k);i=f;return}k=b+4|0;U=c[k>>2]|0;if((U|0)>16){c[S>>2]=16;Qe(-1,202664,S);i=f;return}c[R>>2]=ye(1<<U,8)|0;if((c[d>>2]|0)!=8){Qe(-1,202728,T);i=f;return}d=c[d+8>>2]|0;a:do{if((c[(Yu(e,202760,m,0)|0)>>2]|0)==6){R=c[s>>2]|0;if((R|0)!=6){c[B>>2]=R;c[Q+4>>2]=6;Qe(0,205232,Q);tc()}B=c[(c[q>>2]|0)+12>>2]|0;if((B|0)!=(c[k>>2]|0)){B=14;break}b:do{if((B|0)>0){P=6;B=0;while(1){if((P|0)!=6){B=16;break}ut(c[q>>2]|0,B,y)|0;if((c[r>>2]|0)!=1){B=18;break}c[b+1044+(B<<2)>>2]=c[w>>2];Of(y);B=B+1|0;if((B|0)>=(c[k>>2]|0)){B=21;break b}P=c[s>>2]|0}if((B|0)==16){c[C>>2]=P;c[N+4>>2]=6;Qe(0,205232,N);tc()}else if((B|0)==18){Qe(-1,202816,O);break}}else{B=21}}while(0);c:do{if((B|0)==21){Of(m);C=b+8|0;O=c[C>>2]|0;c[b+2456>>2]=O;if((c[k>>2]|0)>1){N=1;do{O=da(c[b+1044+(N+ -1<<2)>>2]|0,O)|0;c[b+2456+(N<<2)>>2]=O;N=N+1|0;}while((N|0)<(c[k>>2]|0))}if((c[(Yu(e,202856,m,0)|0)>>2]|0)!=1){Qe(-1,202872,M);break a}M=c[s>>2]|0;if((M|0)!=1){c[L>>2]=M;c[n+4>>2]=1;Qe(0,205232,n);tc()}n=c[q>>2]|0;l=1.0/(+lW(1.0,n)+-1.0);Of(m);d:do{if((c[(Yu(e,202920,m,0)|0)>>2]|0)==6){L=c[s>>2]|0;if((L|0)!=6){c[K>>2]=L;c[J+4>>2]=6;Qe(0,205232,J);tc()}J=c[k>>2]|0;if((c[(c[q>>2]|0)+12>>2]|0)!=(J<<1|0)){B=29;break}if((J|0)<=0){break}L=6;J=0;while(1){K=J<<1;if((L|0)!=6){B=36;break}ut(c[q>>2]|0,K,y)|0;L=c[r>>2]|0;if((L+ -1|0)>>>0>=2){B=38;break}if((L|0)==1){V=+(c[w>>2]|0)}else{V=+h[w>>3]}h[b+1176+(J<<4)>>3]=V;Of(y);L=c[s>>2]|0;if((L|0)!=6){B=43;break}ut(c[q>>2]|0,K|1,y)|0;K=c[r>>2]|0;if((K+ -1|0)>>>0>=2){B=45;break}if((K|0)==1){V=+(c[w>>2]|0)}else{V=+h[w>>3]}h[b+1176+(J<<4)+8>>3]=V;Of(y);J=J+1|0;if((J|0)>=(c[k>>2]|0)){break d}L=c[s>>2]|0}if((B|0)==36){c[E>>2]=L;c[F+4>>2]=6;Qe(0,205232,F);tc()}else if((B|0)==38){Qe(-1,202928,G);break c}else if((B|0)==43){c[H>>2]=L;c[I+4>>2]=6;Qe(0,205232,I);tc()}else if((B|0)==45){Qe(-1,202928,D);break c}}else{J=c[k>>2]|0;B=29}}while(0);do{if((B|0)==29){if((J|0)>0){D=0}else{break}do{h[b+1176+(D<<4)>>3]=0.0;h[b+1176+(D<<4)+8>>3]=+((c[b+1044+(D<<2)>>2]|0)+ -1|0);D=D+1|0;}while((D|0)<(c[k>>2]|0))}}while(0);Of(m);if((c[k>>2]|0)>0){D=b+16|0;E=0;do{h[b+2200+(E<<3)>>3]=(+h[b+1176+(E<<4)+8>>3]- +h[b+1176+(E<<4)>>3])/(+h[D+(E<<4)+8>>3]- +h[D+(E<<4)>>3]);E=E+1|0;}while((E|0)<(c[k>>2]|0))}e:do{if((c[(Yu(e,202968,m,0)|0)>>2]|0)==6){e=c[s>>2]|0;if((e|0)!=6){c[A>>2]=e;c[z+4>>2]=6;Qe(0,205232,z);tc()}z=c[C>>2]|0;if((c[(c[q>>2]|0)+12>>2]|0)!=(z<<1|0)){B=57;break}if((z|0)<=0){break}e=6;z=0;while(1){A=z<<1;if((e|0)!=6){B=65;break}ut(c[q>>2]|0,A,y)|0;e=c[r>>2]|0;if((e+ -1|0)>>>0>=2){B=67;break}if((e|0)==1){V=+(c[w>>2]|0)}else{V=+h[w>>3]}h[b+1688+(z<<4)>>3]=V;Of(y);e=c[s>>2]|0;if((e|0)!=6){B=72;break}ut(c[q>>2]|0,A|1,y)|0;A=c[r>>2]|0;if((A+ -1|0)>>>0>=2){B=74;break}if((A|0)==1){V=+(c[w>>2]|0)}else{V=+h[w>>3]}h[b+1688+(z<<4)+8>>3]=V;Of(y);z=z+1|0;if((z|0)>=(c[C>>2]|0)){break e}e=c[s>>2]|0}if((B|0)==65){c[v>>2]=e;c[o+4>>2]=6;Qe(0,205232,o);tc()}else if((B|0)==67){Qe(-1,202976,x);break c}else if((B|0)==72){c[p>>2]=e;c[t+4>>2]=6;Qe(0,205232,t);tc()}else if((B|0)==74){Qe(-1,202976,u);break c}}else{z=c[C>>2]|0;B=57}}while(0);do{if((B|0)==57){if((z|0)<=0){break}p=b+528|0;o=0;do{h[b+1688+(o<<4)>>3]=+h[p+(o<<4)>>3];h[b+1688+(o<<4)+8>>3]=+h[p+(o<<4)+8>>3];o=o+1|0;}while((o|0)<(c[C>>2]|0))}}while(0);Of(m);p=c[C>>2]|0;m=b+2588|0;c[m>>2]=p;k=c[k>>2]|0;if((k|0)>0){o=0;while(1){p=da(p,c[b+1044+(o<<2)>>2]|0)|0;c[m>>2]=p;o=o+1|0;if((o|0)<(k|0)){}else{break}}}c[j>>2]=ye(p,8)|0;b=(1<<n)+ -1|0;fd[c[(c[d>>2]|0)+12>>2]&511](d);if((c[m>>2]|0)>0){if((n|0)==8){b=0;do{V=l*+((jd[c[(c[d>>2]|0)+20>>2]&511](d)|0)>>>0);h[(c[j>>2]|0)+(b<<3)>>3]=V;b=b+1|0;}while((b|0)<(c[m>>2]|0))}else if((n|0)==16){b=0;do{U=(jd[c[(c[d>>2]|0)+20>>2]&511](d)|0)<<8;V=l*+(((jd[c[(c[d>>2]|0)+20>>2]&511](d)|0)+U|0)>>>0);h[(c[j>>2]|0)+(b<<3)>>3]=V;b=b+1|0;}while((b|0)<(c[m>>2]|0))}else{p=0;o=0;k=0;do{if((n|0)==32){q=(jd[c[(c[d>>2]|0)+20>>2]&511](d)|0)<<8;q=(jd[c[(c[d>>2]|0)+20>>2]&511](d)|0)+q<<8;q=(jd[c[(c[d>>2]|0)+20>>2]&511](d)|0)+q<<8;q=(jd[c[(c[d>>2]|0)+20>>2]&511](d)|0)+q|0}else{if((p|0)<(n|0)){while(1){o=(jd[c[(c[d>>2]|0)+20>>2]&511](d)|0)&255|o<<8;p=p+8|0;if((p|0)<(n|0)){}else{q=o;break}}}else{q=o}U=p-n|0;p=U;o=q;q=q>>>U&b}h[(c[j>>2]|0)+(k<<3)>>3]=l*+(q>>>0);k=k+1|0;}while((k|0)<(c[m>>2]|0))}}fd[c[(c[d>>2]|0)+16>>2]&511](d);a[g]=1;i=f;return}}while(0);Of(y)}else{B=14}}while(0);if((B|0)==14){Qe(-1,202768,P)}Of(m);i=f;return}function KH(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=202600;d=c[a+2584>>2]|0;if((d|0)!=0){Fe(d)}d=c[a+2592>>2]|0;if((d|0)==0){HW(a);i=b;return}Fe(d);HW(a);i=b;return}function LH(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=202600;d=c[a+2584>>2]|0;if((d|0)!=0){Fe(d)}a=c[a+2592>>2]|0;if((a|0)==0){i=b;return}Fe(a);i=b;return}function MH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0;j=i;l=i;i=i+256|0;f=i;i=i+256|0;g=i;i=i+256|0;e=a+4|0;q=c[e>>2]|0;if((q|0)>0){m=a+16|0;n=0;do{w=(+h[b+(n<<3)>>3]- +h[m+(n<<4)>>3])*+h[a+2200+(n<<3)>>3]+ +h[a+1176+(n<<4)>>3];o=c[a+1044+(n<<2)>>2]|0;do{if(w<0.0){w=0.0}else{x=+(o+ -1|0);if(w<=x){break}w=x}}while(0);p=~~w;c[l+(n<<3)>>2]=p;r=p+1|0;c[l+(n<<3)+4>>2]=(r|0)<(o|0)?r:p;x=w- +(p|0);h[g+(n<<3)>>3]=x;h[f+(n<<3)>>3]=1.0-x;n=n+1|0;}while((n|0)<(q|0))}p=a+8|0;if((c[p>>2]|0)<=0){i=j;return}b=a+2592|0;m=a+528|0;o=a+2588|0;n=a+2584|0;s=q;q=0;while(1){t=1<<s;if((t|0)>0){r=0;do{if((s|0)>0){u=q;v=0;t=r;while(1){u=(da(c[l+(v<<3)+((t&1)<<2)>>2]|0,c[a+2456+(v<<2)>>2]|0)|0)+u|0;v=v+1|0;if((v|0)<(s|0)){t=t>>1}else{break}}}else{u=q}do{if((u|0)>-1){if((u|0)>=(c[o>>2]|0)){k=15;break}h[(c[b>>2]|0)+(r<<3)>>3]=+h[(c[n>>2]|0)+(u<<3)>>3]}else{k=15}}while(0);if((k|0)==15){k=0;h[(c[b>>2]|0)+(r<<3)>>3]=0.0}r=r+1|0;s=c[e>>2]|0;t=1<<s;}while((r|0)<(t|0))}if((s|0)>0){r=0;while(1){if((t|0)>0){x=+h[f+(r<<3)>>3];w=+h[g+(r<<3)>>3];s=0;do{v=c[b>>2]|0;h[v+(s>>1<<3)>>3]=x*+h[v+(s<<3)>>3]+w*+h[v+((s|1)<<3)>>3];s=s+2|0;}while((s|0)<(t|0));s=c[e>>2]|0}r=r+1|0;if((r|0)<(s|0)){t=t>>1}else{break}}}w=+h[a+1688+(q<<4)>>3];w=w+ +h[c[b>>2]>>3]*(+h[a+1688+(q<<4)+8>>3]-w);r=d+(q<<3)|0;h[r>>3]=w;x=+h[m+(q<<4)>>3];do{if(w<x){h[r>>3]=x}else{x=+h[m+(q<<4)+8>>3];if(w<=x){break}h[r>>3]=x}}while(0);q=q+1|0;if((q|0)>=(c[p>>2]|0)){break}s=c[e>>2]|0}i=j;return}function NH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0;d=i;k=i;i=i+16|0;l=k;q=i;i=i+8|0;y=i;i=i+8|0;s=i;i=i+8|0;t=i;i=i+8|0;o=t;v=i;i=i+8|0;x=i;i=i+8|0;w=x;I=i;i=i+8|0;B=i;i=i+8|0;z=i;i=i+8|0;A=z;D=i;i=i+8|0;F=D;G=i;i=i+8|0;H=i;i=i+8|0;C=H;E=i;i=i+8|0;m=i;i=i+16|0;f=m;r=i;i=i+16|0;p=r;c[b>>2]=203024;c[m>>2]=13;j=f+8|0;c[j>>2]=0;c[j+4>>2]=0;c[r>>2]=13;n=p+8|0;c[n>>2]=0;c[n+4>>2]=0;g=b+1569|0;a[g]=0;if(!(GH(b,e)|0)){i=d;return}if((c[b+4>>2]|0)!=1){Qe(-1,203048,E);i=d;return}J=(c[(Yu(e,203096,f,0)|0)>>2]|0)==6;E=(a[b+1040|0]&1)!=0;a:do{if(J){I=c[m>>2]|0;J=(I|0)==6;do{if(E){if(!J){c[H>>2]=I;c[C+4>>2]=6;Qe(0,205232,C);tc()}if((c[(c[j>>2]|0)+12>>2]|0)==(c[b+8>>2]|0)){break}Qe(-1,203104,G);break a}else{if(J){break}c[D>>2]=I;c[F+4>>2]=6;Qe(0,205232,F);tc()}}while(0);J=c[(c[j>>2]|0)+12>>2]|0;u=b+8|0;c[u>>2]=J;if((J|0)<=0){u=27;break}C=6;D=0;while(1){if((C|0)!=6){u=15;break}ut(c[j>>2]|0,D,p)|0;C=c[r>>2]|0;if((C+ -1|0)>>>0>=2){u=17;break}if((C|0)==1){K=+(c[n>>2]|0)}else{K=+h[n>>3]}h[b+1048+(D<<3)>>3]=K;Of(p);D=D+1|0;if((D|0)>=(c[u>>2]|0)){u=27;break a}C=c[m>>2]|0}if((u|0)==15){c[z>>2]=C;c[A+4>>2]=6;Qe(0,205232,A);tc()}else if((u|0)==17){Qe(-1,203144,B);u=54;break}}else{z=b+8|0;do{if(E){if((c[z>>2]|0)==1){break}Qe(-1,203104,I);break a}}while(0);c[z>>2]=1;h[b+1048>>3]=0.0;u=27}}while(0);b:do{if((u|0)==27){Of(f);c:do{if((c[(Yu(e,203184,f,0)|0)>>2]|0)==6){y=c[m>>2]|0;if((y|0)!=6){c[x>>2]=y;c[w+4>>2]=6;Qe(0,205232,w);tc()}x=c[(c[j>>2]|0)+12>>2]|0;w=b+8|0;if((x|0)!=(c[w>>2]|0)){Qe(-1,203192,v);break b}if((x|0)<=0){break}x=6;v=0;while(1){if((x|0)!=6){u=35;break}ut(c[j>>2]|0,v,p)|0;x=c[r>>2]|0;if((x+ -1|0)>>>0>=2){u=37;break}if((x|0)==1){K=+(c[n>>2]|0)}else{K=+h[n>>3]}h[b+1304+(v<<3)>>3]=K;Of(p);v=v+1|0;if((v|0)>=(c[w>>2]|0)){break c}x=c[m>>2]|0}if((u|0)==35){c[t>>2]=x;c[o+4>>2]=6;Qe(0,205232,o);tc()}else if((u|0)==37){Qe(-1,203232,s);u=54;break b}}else{if((c[b+8>>2]|0)==1){h[b+1304>>3]=1.0;break}else{Qe(-1,203192,y);break b}}}while(0);Of(f);if(((c[(Yu(e,203272,f,0)|0)>>2]|0)+ -1|0)>>>0>=2){Qe(-1,203280,q);break}e=c[m>>2]|0;if((e+ -1|0)>>>0>=2){c[k>>2]=e;c[l+4>>2]=1;c[l+8>>2]=2;Qe(0,205304,l);tc()}if((e|0)==1){K=+(c[j>>2]|0)}else{K=+h[j>>3]}J=b+1560|0;h[J>>3]=K;Of(f);a[b+1568|0]=+S(+(+h[J>>3]+-1.0))<1.0e-10|0;a[g]=1;i=d;return}}while(0);if((u|0)==54){Of(p)}Of(f);i=d;return}function OH(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function PH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0.0;f=i;o=+h[d>>3];k=+h[b+16>>3];if(o>=k){k=+h[b+24>>3];k=o>k?k:o}m=b+8|0;if((c[m>>2]|0)<=0){i=f;return}l=b+1568|0;d=b+1560|0;j=b+1040|0;g=0;do{o=+h[b+1048+(g<<3)>>3];if((a[l]&1)==0){p=+U(+k,+(+h[d>>3]))}else{p=k}o=o+p*(+h[b+1304+(g<<3)>>3]-o);n=e+(g<<3)|0;h[n>>3]=o;do{if((a[j]&1)!=0){p=+h[b+528+(g<<4)>>3];if(o<p){h[n>>3]=p;break}p=+h[b+528+(g<<4)+8>>3];if(o<=p){break}h[n>>3]=p}}while(0);g=g+1|0;}while((g|0)<(c[m>>2]|0));i=f;return}function QH(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0.0,la=0.0;l=i;T=i;i=i+8|0;_=T;w=i;i=i+16|0;t=w;r=i;i=i+8|0;u=i;i=i+8|0;v=u;y=i;i=i+8|0;z=i;i=i+8|0;A=z;F=i;i=i+16|0;G=F;E=i;i=i+8|0;C=i;i=i+8|0;D=C;K=i;i=i+8|0;I=i;i=i+8|0;L=I;U=i;i=i+8|0;W=i;i=i+8|0;V=W;Y=i;i=i+8|0;X=Y;x=i;i=i+8|0;$=x;ba=i;i=i+8|0;aa=i;i=i+8|0;Q=i;i=i+8|0;R=Q;O=i;i=i+8|0;P=O;N=i;i=i+8|0;m=i;i=i+16|0;q=m;o=i;i=i+16|0;s=o;S=i;i=i+16|0;Z=S;c[b>>2]=203328;c[m>>2]=13;p=q+8|0;c[p>>2]=0;c[p+4>>2]=0;c[o>>2]=13;n=s+8|0;c[n>>2]=0;c[n+4>>2]=0;k=b+1064|0;M=b+1048|0;j=b+1052|0;g=b+1056|0;d=b+1060|0;bX(M|0,0,17)|0;a:do{if(GH(b,e)|0){if((c[b+4>>2]|0)!=1){Qe(-1,203352,aa);break}if((c[(Yu(e,203400,q,0)|0)>>2]|0)!=6){Qe(-1,203416,ba);break}aa=c[m>>2]|0;if((aa|0)!=6){c[x>>2]=aa;c[$+4>>2]=6;Qe(0,205232,$);tc()}ja=c[(c[p>>2]|0)+12>>2]|0;x=b+1044|0;c[x>>2]=ja;c[M>>2]=ye(ja,4)|0;c[j>>2]=ye((c[x>>2]|0)+1|0,8)|0;c[g>>2]=ye(c[x>>2]<<1,8)|0;c[d>>2]=ye(c[x>>2]|0,8)|0;b:do{if((c[x>>2]|0)>0){$=0;do{c[(c[M>>2]|0)+($<<2)>>2]=0;$=$+1|0;aa=c[x>>2]|0;}while(($|0)<(aa|0));if((aa|0)<=0){H=56;break}ca=Z+4|0;ba=Z+8|0;$=f+4|0;aa=Z+4|0;da=0;c:while(1){c[ca>>2]=0;c[ba>>2]=0;c[S>>2]=ca;ea=c[f>>2]|0;if((ea|0)!=($|0)){do{ha=ea+16|0;c[N>>2]=ca;$W(T|0,N|0,4)|0;ga=Xv(Z,_,P,ha)|0;if((c[ga>>2]|0)==0){fa=FW(20)|0;c[fa+16>>2]=c[ha>>2];ha=c[O>>2]|0;c[fa>>2]=0;c[fa+4>>2]=0;c[fa+8>>2]=ha;c[ga>>2]=fa;ha=c[c[S>>2]>>2]|0;if((ha|0)!=0){c[S>>2]=ha;fa=c[ga>>2]|0}un(c[aa>>2]|0,fa);c[ba>>2]=(c[ba>>2]|0)+1}fa=c[ea+4>>2]|0;if((fa|0)==0){while(1){fa=c[ea+8>>2]|0;if((ea|0)==(c[fa>>2]|0)){ea=fa;break}else{ea=fa}}}else{ea=fa;while(1){fa=c[ea>>2]|0;if((fa|0)==0){break}else{ea=fa}}}}while((ea|0)!=($|0))}ea=c[m>>2]|0;if((ea|0)!=6){H=23;break}vt(c[p>>2]|0,da,s)|0;if((c[o>>2]|0)==9){ea=c[n>>2]|0;ga=c[ca>>2]|0;fa=(ga|0)==0;do{if(fa){H=40}else{ja=ga;ia=ca;d:while(1){ha=ja;while(1){if((c[ha+16>>2]|0)>=(ea|0)){break}ha=c[ha+4>>2]|0;if((ha|0)==0){ha=ia;break d}}ja=c[ha>>2]|0;if((ja|0)==0){break}else{ia=ha}}if((ha|0)!=(ca|0)){if((ea|0)>=(c[ha+16>>2]|0)){J=ga;break c}}if(fa){H=40;break}while(1){H=c[ga+16>>2]|0;if((ea|0)<(H|0)){H=c[ga>>2]|0;if((H|0)==0){H=35;break}else{ga=H;continue}}if((H|0)>=(ea|0)){H=39;break}fa=ga+4|0;H=c[fa>>2]|0;if((H|0)==0){H=38;break}else{ga=H}}if((H|0)==35){H=0;c[Q>>2]=ga;break}else if((H|0)==38){H=0;c[Q>>2]=ga;ga=fa;break}else if((H|0)==39){H=0;c[Q>>2]=ga;ga=R;break}}}while(0);if((H|0)==40){H=0;c[Q>>2]=ca;ga=ca}if((c[ga>>2]|0)==0){fa=FW(20)|0;c[fa+16>>2]=ea;ea=c[Q>>2]|0;c[fa>>2]=0;c[fa+4>>2]=0;c[fa+8>>2]=ea;c[ga>>2]=fa;ea=c[c[S>>2]>>2]|0;if((ea|0)!=0){c[S>>2]=ea;fa=c[ga>>2]|0}un(c[aa>>2]|0,fa);c[ba>>2]=(c[ba>>2]|0)+1}Of(s);ea=c[m>>2]|0;if((ea|0)!=6){H=46;break}ut(c[p>>2]|0,da,s)|0}ja=FH(s,Z)|0;c[(c[M>>2]|0)+(da<<2)>>2]=ja;if((ja|0)==0){H=49;break}if((da|0)>0){fa=c[M>>2]|0;ea=c[fa+(da<<2)>>2]|0;if((c[ea+4>>2]|0)!=1){H=53;break}if((c[ea+8>>2]|0)!=(c[(c[fa>>2]|0)+8>>2]|0)){H=53;break}}Of(s);xn(Z,c[aa>>2]|0);da=da+1|0;if((da|0)>=(c[x>>2]|0)){H=56;break b}}if((H|0)==23){c[Y>>2]=ea;c[X+4>>2]=6;Qe(0,205232,X);tc()}else if((H|0)==46){c[W>>2]=ea;c[V+4>>2]=6;Qe(0,205232,V);tc()}else if((H|0)==49){J=c[aa>>2]|0}else if((H|0)==53){Qe(-1,203464,U);xn(Z,c[aa>>2]|0);break}xn(Z,J)}else{H=56}}while(0);e:do{if((H|0)==56){Of(q);do{if((c[(Yu(e,203512,q,0)|0)>>2]|0)==6){H=c[m>>2]|0;if((H|0)!=6){c[I>>2]=H;c[L+4>>2]=6;Qe(0,205232,L);tc()}if((c[(c[p>>2]|0)+12>>2]|0)!=((c[x>>2]|0)+ -1|0)){break}h[c[j>>2]>>3]=+h[b+16>>3];H=c[x>>2]|0;f:do{if((H|0)>1){H=1;while(1){I=c[m>>2]|0;if((I|0)!=6){H=64;break}if(((c[(ut(c[p>>2]|0,H+ -1|0,s)|0)>>2]|0)+ -1|0)>>>0>=2){H=66;break}I=c[o>>2]|0;if((I+ -1|0)>>>0>=2){H=68;break}if((I|0)==1){ka=+(c[n>>2]|0)}else{ka=+h[n>>3]}h[(c[j>>2]|0)+(H<<3)>>3]=ka;Of(s);H=H+1|0;I=c[x>>2]|0;if((H|0)>=(I|0)){B=I;break f}}if((H|0)==64){c[C>>2]=I;c[D+4>>2]=6;Qe(0,205232,D);tc()}else if((H|0)==66){Qe(-1,203576,E);break e}else if((H|0)==68){c[F>>2]=I;c[G+4>>2]=1;c[G+8>>2]=2;Qe(0,205304,G);tc()}}else{B=H}}while(0);h[(c[j>>2]|0)+(B<<3)>>3]=+h[b+24>>3];Of(q);do{if((c[(Yu(e,202920,q,0)|0)>>2]|0)==6){B=c[m>>2]|0;if((B|0)!=6){c[z>>2]=B;c[A+4>>2]=6;Qe(0,205232,A);tc()}z=c[x>>2]|0;if((c[(c[p>>2]|0)+12>>2]|0)!=(z<<1|0)){break}g:do{if((z|0)>0){y=6;z=0;while(1){if((y|0)!=6){H=81;break}if(((c[(ut(c[p>>2]|0,z,s)|0)>>2]|0)+ -1|0)>>>0>=2){H=83;break}y=c[o>>2]|0;if((y+ -1|0)>>>0>=2){H=85;break}if((y|0)==1){ka=+(c[n>>2]|0)}else{ka=+h[n>>3]}h[(c[g>>2]|0)+(z<<3)>>3]=ka;Of(s);z=z+1|0;if((z|0)>=(c[x>>2]<<1|0)){break g}y=c[m>>2]|0}if((H|0)==81){c[u>>2]=y;c[v+4>>2]=6;Qe(0,205232,v);tc()}else if((H|0)==83){Qe(-1,203688,r);break e}else if((H|0)==85){c[w>>2]=y;c[t+4>>2]=1;c[t+8>>2]=2;Qe(0,205304,t);tc()}}}while(0);Of(q);if((c[x>>2]|0)>0){m=0;while(1){ja=c[j>>2]|0;la=+h[ja+(m<<3)>>3];n=m+1|0;ka=+h[ja+(n<<3)>>3];if(la==ka){h[(c[d>>2]|0)+(m<<3)>>3]=0.0}else{ja=m<<1;ia=c[g>>2]|0;h[(c[d>>2]|0)+(m<<3)>>3]=(+h[ia+((ja|1)<<3)>>3]- +h[ia+(ja<<3)>>3])/(ka-la)}if((n|0)<(c[x>>2]|0)){m=n}else{break}}}a[k]=1;i=l;return}}while(0);Qe(-1,203632,y);break a}}while(0);Qe(-1,203520,K);break a}}while(0);Of(s)}}while(0);Of(q);i=l;return}function RH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;c[b>>2]=203328;$W(b|0,d|0,1072)|0;k=c[d+1044>>2]|0;e=b+1044|0;c[e>>2]=k;g=b+1048|0;c[g>>2]=ye(k,4)|0;k=c[e>>2]|0;if((k|0)>0){h=d+1048|0;j=0;while(1){k=c[(c[h>>2]|0)+(j<<2)>>2]|0;k=jd[c[(c[k>>2]|0)+8>>2]&511](k)|0;c[(c[g>>2]|0)+(j<<2)>>2]=k;j=j+1|0;k=c[e>>2]|0;if((j|0)<(k|0)){}else{break}}}k=ye(k+1|0,8)|0;c[b+1052>>2]=k;$W(k|0,c[d+1052>>2]|0,(c[e>>2]<<3)+8|0)|0;k=ye(c[e>>2]<<1,8)|0;c[b+1056>>2]=k;$W(k|0,c[d+1056>>2]|0,c[e>>2]<<4|0)|0;k=ye(c[e>>2]|0,8)|0;c[b+1060>>2]=k;$W(k|0,c[d+1060>>2]|0,c[e>>2]<<3|0)|0;a[b+1064|0]=1;i=f;return}function SH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;c[a>>2]=203328;d=a+1048|0;f=c[d>>2]|0;do{if((f|0)==0){f=0}else{e=a+1044|0;h=c[e>>2]|0;if((h|0)>0){g=0}else{break}do{j=c[f+(g<<2)>>2]|0;if((j|0)!=0){fd[c[(c[j>>2]|0)+4>>2]&511](j);h=c[e>>2]|0;f=c[d>>2]|0}g=g+1|0;}while((g|0)<(h|0))}}while(0);Fe(f);Fe(c[a+1052>>2]|0);Fe(c[a+1056>>2]|0);Fe(c[a+1060>>2]|0);HW(a);i=b;return}function TH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;c[a>>2]=203328;d=a+1048|0;f=c[d>>2]|0;do{if((f|0)==0){f=0}else{e=a+1044|0;h=c[e>>2]|0;if((h|0)>0){g=0}else{break}do{f=c[f+(g<<2)>>2]|0;if((f|0)!=0){fd[c[(c[f>>2]|0)+4>>2]&511](f);h=c[e>>2]|0}g=g+1|0;f=c[d>>2]|0}while((g|0)<(h|0))}}while(0);Fe(f);Fe(c[a+1052>>2]|0);Fe(c[a+1056>>2]|0);Fe(c[a+1060>>2]|0);i=b;return}function UH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0;f=i;j=i;i=i+8|0;e=j;p=+h[b>>3];k=+h[a+16>>3];do{if(p<k){h[j>>3]=k}else{k=+h[a+24>>3];if(p>k){h[j>>3]=k;break}else{h[j>>3]=p;k=p;break}}}while(0);o=(c[a+1044>>2]|0)+ -1|0;n=a+1052|0;b=0;while(1){if((b|0)>=(o|0)){g=8;break}m=b+1|0;l=c[n>>2]|0;if(k<+h[l+(m<<3)>>3]){break}else{b=m}}if((g|0)==8){l=c[n>>2]|0}h[j>>3]=+h[(c[a+1056>>2]|0)+(b<<1<<3)>>3]+(k- +h[l+(b<<3)>>3])*+h[(c[a+1060>>2]|0)+(b<<3)>>3];o=c[(c[a+1048>>2]|0)+(b<<2)>>2]|0;Gd[c[(c[o>>2]|0)+16>>2]&255](o,e,d);i=f;return}function VH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;e=i;i=i+16|0;if((b|0)==0){i=f;return}if((d|0)>-1){d=(d|0)%(b|0)|0}else{d=(0-d|0)%(b|0)|0;d=(d|0)==0?0:b-d|0}if((b|0)<1|(d|0)==0){i=f;return}if((d|0)>((b|0)/2|0|0)){d=b-d|0;if((d|0)<=0){i=f;return}g=a+1600|0;j=b+ -1|0;h=0;do{m=c[g>>2]|0;$W(e|0,a+(j+m<<4)|0,16)|0;l=m+b|0;k=l+ -1|0;if((k|0)>(m|0)){m=l;while(1){$W(a+(k<<4)|0,a+(m+ -2<<4)|0,16)|0;l=k+ -1|0;m=c[g>>2]|0;if((l|0)>(m|0)){m=k;k=l}else{break}}}$W(a+(m<<4)|0,e|0,16)|0;h=h+1|0;}while((h|0)<(d|0));i=f;return}else{if((d|0)<=0){i=f;return}g=a+1600|0;h=b+ -1|0;b=0;do{j=c[g>>2]|0;$W(e|0,a+(j<<4)|0,16)|0;k=h+j|0;if((j|0)<(k|0)){k=j;while(1){j=k+1|0;$W(a+(k<<4)|0,a+(j<<4)|0,16)|0;k=h+(c[g>>2]|0)|0;if((j|0)<(k|0)){k=j}else{break}}}$W(a+(k<<4)|0,e|0,16)|0;b=b+1|0;}while((b|0)<(d|0));i=f;return}}function WH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;j=i;i=i+8|0;h=i;i=i+8|0;l=i;i=i+8|0;m=i;i=i+8|0;f=i;i=i+8|0;c[b>>2]=203792;k=b+1044|0;bX(k|0,0,17)|0;n=FW(16)|0;jG(n,5);c[b+1064>>2]=n;if(!(GH(b,e)|0)){i=g;return}if((a[b+1040|0]&1)==0){Qe(-1,203816,m);i=g;return}if((c[d>>2]|0)!=8){Qe(-1,203856,l);i=g;return}l=c[d+8>>2]|0;n=FW(32)|0;ee(n);c[k>>2]=n;fd[c[(c[l>>2]|0)+12>>2]&511](l);k=XH(b,l)|0;if((k|0)==0){Qe(-1,203896,j);i=g;return}if((te(k,203888)|0)!=0){Qe(-1,203896,h);ke(k);HW(k);i=g;return}ke(k);HW(k);c[f>>2]=0;if(YH(b,l,f)|0){fd[c[(c[l>>2]|0)+16>>2]&511](l);a[b+1060|0]=1;n=FW(1608)|0;c[n+1600>>2]=100;c[b+1052>>2]=n}fd[c[(c[l>>2]|0)+16>>2]&511](l);i=g;return}function XH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;e=FW(32)|0;ee(e);a=a+1044|0;j=0;a:while(1){while(1){k=jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;if((k|0)==-1){f=-1;break a}g=k&255;me(c[a>>2]|0,g)|0;if(j){break}if((k|0)==37){j=1;continue a}if((xc(k|0)|0)==0){h=9;break a}}if(!((k|0)==10|(k|0)==13)){j=1;continue}j=0}do{if((h|0)==9){if(!((k|0)==123|(k|0)==125)){f=k;break}me(e,g)|0;i=d;return e|0}}while(0);me(e,f&255)|0;g=jd[c[(c[b>>2]|0)+24>>2]&511](b)|0;h=(g|0)==-1;if((f+ -48|0)>>>0<10|(f+ -45|0)>>>0<2){if(h){i=d;return e|0}while(1){if(!((g+ -48|0)>>>0<10|(g+ -45|0)>>>0<2)){h=18;break}jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;g=g&255;me(c[a>>2]|0,g)|0;me(e,g)|0;g=jd[c[(c[b>>2]|0)+24>>2]&511](b)|0;if((g|0)==-1){h=18;break}}if((h|0)==18){i=d;return e|0}}else{if(h){i=d;return e|0}while(1){if((Qa(g|0)|0)==0){h=18;break}jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;g=g&255;me(c[a>>2]|0,g)|0;me(e,g)|0;g=jd[c[(c[b>>2]|0)+24>>2]&511](b)|0;if((g|0)==-1){h=18;break}}if((h|0)==18){i=d;return e|0}}return 0}function YH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;f=i;n=i;i=i+8|0;o=n;m=i;i=i+8|0;l=i;i=i+8|0;r=i;i=i+8|0;q=i;i=i+8|0;p=i;i=i+8|0;s=i;i=i+8|0;u=XH(b,d)|0;a:do{if((u|0)!=0){j=b+1056|0;g=b+1048|0;b:while(1){t=u+28|0;v=c[t>>2]|0;y=a[v]|0;do{if(((y<<24>>24)+ -48|0)>>>0<10|(y+ -45<<24>>24&255)<2){while(1){v=v+1|0;w=a[v]|0;if(w<<24>>24==46){v=1;break}else if(w<<24>>24==0){k=6;break}else{}}if((k|0)==6){k=0;v=0}x=c[e>>2]|0;w=c[j>>2]|0;if((w|0)>(x|0)){w=c[g>>2]|0}else{w=w+64|0;c[j>>2]=w;w=Ce(c[g>>2]|0,w,16)|0;c[g>>2]=w;x=c[e>>2]|0}w=w+(x<<4)|0;if(v){c[w>>2]=2;z=+Ie(c[t>>2]|0);h[(c[g>>2]|0)+(c[e>>2]<<4)+8>>3]=z}else{c[w>>2]=1;y=ec(c[t>>2]|0)|0;c[(c[g>>2]|0)+(c[e>>2]<<4)+8>>2]=y}c[e>>2]=(c[e>>2]|0)+1;ke(u);HW(u)}else{if((te(u,203888)|0)!=0){if((te(u,204192)|0)==0){k=38;break b}else{v=-1;w=40;x=0}c:while(1){while(1){if((w-v|0)<=1){break c}y=(w+v|0)/2|0;x=te(u,c[204200+(y<<2)>>2]|0)|0;if((x|0)>0){v=y}else{break}}v=(x|0)<0?v:y;w=y}if((x|0)!=0){k=47;break b}ke(u);HW(u);u=c[e>>2]|0;t=c[j>>2]|0;if((t|0)>(u|0)){t=c[g>>2]|0}else{t=t+64|0;c[j>>2]=t;t=Ce(c[g>>2]|0,t,16)|0;c[g>>2]=t;u=c[e>>2]|0}c[t+(u<<4)>>2]=3;c[(c[g>>2]|0)+(c[e>>2]<<4)+8>>2]=v;c[e>>2]=(c[e>>2]|0)+1;u=XH(b,d)|0;if((u|0)==0){break a}else{continue b}}ke(u);HW(u);u=c[e>>2]|0;c[e>>2]=u+3;t=u+2|0;v=c[j>>2]|0;if((v|0)<=(t|0)){y=v+64|0;c[j>>2]=y;c[g>>2]=Ce(c[g>>2]|0,y,16)|0}if(!(YH(b,d,e)|0)){g=0;k=52;break b}w=XH(b,d)|0;if((w|0)==0){k=19;break b}if((te(w,203888)|0)==0){v=c[e>>2]|0;if(!(YH(b,d,e)|0)){g=0;k=52;break b}ke(w);HW(w);w=XH(b,d)|0;if((w|0)==0){k=23;break b}}else{v=-1}if((te(w,203992)|0)==0){if((v|0)>-1){k=26;break b}c[(c[g>>2]|0)+(u<<4)>>2]=3;c[(c[g>>2]|0)+(u<<4)+8>>2]=40;c[(c[g>>2]|0)+(t<<4)>>2]=4;c[(c[g>>2]|0)+(t<<4)+8>>2]=c[e>>2]}else{if((te(w,204064)|0)!=0){k=32;break b}if((v|0)<0){k=30;break b}c[(c[g>>2]|0)+(u<<4)>>2]=3;c[(c[g>>2]|0)+(u<<4)+8>>2]=41;y=u+1|0;c[(c[g>>2]|0)+(y<<4)>>2]=4;c[(c[g>>2]|0)+(y<<4)+8>>2]=v;c[(c[g>>2]|0)+(t<<4)>>2]=4;c[(c[g>>2]|0)+(t<<4)+8>>2]=c[e>>2]}if((w|0)==0){break}ke(w);HW(w)}}while(0);u=XH(b,d)|0;if((u|0)==0){break a}}if((k|0)==19){Qe(-1,203944,p);y=0;i=f;return y|0}else if((k|0)==23){Qe(-1,203944,q);y=0;i=f;return y|0}else if((k|0)==26){Qe(-1,204e3,r);y=0;i=f;return y|0}else if((k|0)==30){Qe(-1,204072,l);y=0;i=f;return y|0}else if((k|0)==32){Qe(-1,204136,m);if((w|0)==0){y=0;i=f;return y|0}ke(w);HW(w);y=0;i=f;return y|0}else if((k|0)==38){ke(u);HW(u);k=c[e>>2]|0;l=c[j>>2]|0;if((l|0)>(k|0)){j=c[g>>2]|0}else{k=l+64|0;c[j>>2]=k;j=Ce(c[g>>2]|0,k,16)|0;c[g>>2]=j;k=c[e>>2]|0}c[j+(k<<4)>>2]=3;c[(c[g>>2]|0)+(c[e>>2]<<4)+8>>2]=42;c[e>>2]=(c[e>>2]|0)+1;y=1;i=f;return y|0}else if((k|0)==47){c[n>>2]=c[t>>2];Qe(-1,204360,o);ke(u);HW(u);y=0;i=f;return y|0}else if((k|0)==52){i=f;return g|0}}}while(0);Qe(-1,203944,s);y=0;i=f;return y|0}function ZH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;c[b>>2]=203792;$W(b|0,d|0,1072)|0;n=b+1056|0;o=ye(c[n>>2]|0,16)|0;c[b+1048>>2]=o;$W(o|0,c[d+1048>>2]|0,c[n>>2]<<4|0)|0;n=c[d+1044>>2]|0;o=FW(32)|0;ie(o,n);c[b+1044>>2]=o;o=FW(1608)|0;c[o+1600>>2]=100;c[b+1052>>2]=o;$W(o|0,c[d+1052>>2]|0,1608)|0;o=FW(16)|0;d=d+1064|0;jG(o,nG(c[d>>2]|0)|0);b=b+1064|0;c[b>>2]=o;if((oG(c[d>>2]|0)|0)>0){f=0}else{i=e;return}do{g=FW(16)|0;o=qG(c[d>>2]|0,f)|0;c[g>>2]=205072;n=c[o+8>>2]|0;j=c[o+12>>2]|0;o=a[o+4|0]&1;a[g+4|0]=o;l=g+8|0;c[l>>2]=n;a:do{if(o<<24>>24==0){c[g+12>>2]=j}else{m=GW(n>>>0>536870911?-1:n<<3)|0;k=g+12|0;c[k>>2]=m;if((n|0)<=0){break}h[m>>3]=+h[j>>3];if((n|0)<=1){break}h[m+8>>3]=+h[j+8>>3];if((n|0)<=2){break}h[m+16>>3]=+h[j+16>>3];if((n|0)>3){n=3}else{break}while(1){h[m+(n<<3)>>3]=+h[j+(n<<3)>>3];n=n+1|0;if((n|0)>=(c[l>>2]|0)){break a}m=c[k>>2]|0}}}while(0);m=FW(12)|0;k=pG(c[d>>2]|0,f)|0;c[m>>2]=205136;n=c[k+4>>2]|0;k=c[k+8>>2]|0;j=m+4|0;c[j>>2]=n;o=GW(n>>>0>536870911?-1:n<<3)|0;l=m+8|0;c[l>>2]=o;b:do{if((n|0)>0){h[o>>3]=+h[k>>3];if((n|0)<=1){break}h[o+8>>3]=+h[k+8>>3];if((n|0)<=2){break}h[o+16>>3]=+h[k+16>>3];if((n|0)>3){n=3}else{break}while(1){h[o+(n<<3)>>3]=+h[k+(n<<3)>>3];n=n+1|0;if((n|0)>=(c[j>>2]|0)){break b}o=c[l>>2]|0}}}while(0);mG(c[b>>2]|0,g,m);f=f+1|0;}while((f|0)<(oG(c[d>>2]|0)|0));i=e;return}function _H(a){a=a|0;var b=0;b=i;$H(a);HW(a);i=b;return}function $H(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=203792;Fe(c[a+1048>>2]|0);d=c[a+1044>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+1052>>2]|0;if((d|0)!=0){HW(d)}a=c[a+1064>>2]|0;if((a|0)==0){i=b;return}kG(a);HW(a);i=b;return}function aI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0.0;f=i;n=i;i=i+8|0;o=i;i=i+8|0;q=i;i=i+8|0;j=i;i=i+16|0;p=j;m=b+4|0;g=c[m>>2]|0;c[j>>2]=205072;k=p+4|0;a[k]=0;c[p+8>>2]=g;g=p+12|0;c[g>>2]=d;l=b+1064|0;p=lG(c[l>>2]|0,p)|0;do{if((p|0)==0){p=b+1052|0;c[(c[p>>2]|0)+1600>>2]=100;r=c[p>>2]|0;if((c[m>>2]|0)>0){s=0;do{u=r+1600|0;t=c[u>>2]|0;if((t|0)<1){Qe(-1,205192,q)}else{x=+h[d+(s<<3)>>3];w=t+ -1|0;c[u>>2]=w;c[r+(w<<4)>>2]=2;h[r+(c[u>>2]<<4)+8>>3]=x}s=s+1|0;r=c[p>>2]|0}while((s|0)<(c[m>>2]|0))}bI(b,r,0);q=b+8|0;r=c[q>>2]|0;if((r|0)>0){b=b+528|0;do{r=r+ -1|0;w=c[p>>2]|0;t=w+1600|0;s=c[t>>2]|0;do{if((s|0)==100){Qe(-1,203744,o);v=0.0}else{u=c[w+(s<<4)>>2]|0;if((u+ -1|0)>>>0>=2){Qe(-1,204688,n);v=0.0;break}w=w+(s<<4)+8|0;if((u|0)==1){v=+(c[w>>2]|0)}else{v=+h[w>>3]}c[t>>2]=s+1}}while(0);s=e+(r<<3)|0;h[s>>3]=v;x=+h[b+(r<<4)>>3];do{if(v<x){h[s>>3]=x}else{x=+h[b+(r<<4)+8>>3];if(v<=x){break}h[s>>3]=x}}while(0);}while((r|0)>0)}n=FW(16)|0;p=c[m>>2]|0;c[n>>2]=205072;a[n+4|0]=1;m=n+8|0;c[m>>2]=p;b=GW(p>>>0>536870911?-1:p<<3)|0;o=n+12|0;c[o>>2]=b;a:do{if((p|0)>0){h[b>>3]=+h[d>>3];if((p|0)<=1){break}h[b+8>>3]=+h[d+8>>3];if((p|0)<=2){break}h[b+16>>3]=+h[d+16>>3];if((p|0)>3){p=3}else{break}while(1){h[b+(p<<3)>>3]=+h[d+(p<<3)>>3];p=p+1|0;if((p|0)>=(c[m>>2]|0)){break a}b=c[o>>2]|0}}}while(0);d=FW(12)|0;p=c[q>>2]|0;c[d>>2]=205136;o=d+4|0;c[o>>2]=p;q=GW(p>>>0>536870911?-1:p<<3)|0;m=d+8|0;c[m>>2]=q;b:do{if((p|0)>0){h[q>>3]=+h[e>>3];if((p|0)<=1){break}h[q+8>>3]=+h[e+8>>3];if((p|0)<=2){break}h[q+16>>3]=+h[e+16>>3];if((p|0)>3){p=3}else{break}while(1){h[q+(p<<3)>>3]=+h[e+(p<<3)>>3];p=p+1|0;if((p|0)>=(c[o>>2]|0)){break b}q=c[m>>2]|0}}}while(0);mG(c[l>>2]|0,n,d)}else{l=b+8|0;if((c[l>>2]|0)<=0){break}d=p+8|0;m=0;do{h[e+(m<<3)>>3]=+h[(c[d>>2]|0)+(m<<3)>>3];m=m+1|0;}while((m|0)<(c[l>>2]|0))}}while(0);c[j>>2]=205072;if((a[k]&1)==0){i=f;return}g=c[g>>2]|0;if((g|0)==0){i=f;return}IW(g);i=f;return}function bI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,X=0,Y=0,Z=0,_=0,aa=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0.0,zd=0,Ad=0,Bd=0.0,Cd=0;g=i;Xb=i;i=i+8|0;Tb=i;i=i+8|0;Sb=i;i=i+8|0;Vb=i;i=i+8|0;Ub=i;i=i+8|0;qd=i;i=i+8|0;sd=i;i=i+8|0;rd=i;i=i+8|0;ud=i;i=i+8|0;td=i;i=i+8|0;Rb=i;i=i+8|0;Qb=i;i=i+8|0;Pb=i;i=i+8|0;Ob=i;i=i+8|0;pd=i;i=i+8|0;od=i;i=i+8|0;Nb=i;i=i+8|0;Mb=i;i=i+8|0;nd=i;i=i+8|0;md=i;i=i+8|0;ld=i;i=i+8|0;kd=i;i=i+8|0;jd=i;i=i+8|0;Ib=i;i=i+8|0;Hb=i;i=i+8|0;Gb=i;i=i+8|0;Fb=i;i=i+8|0;Lb=i;i=i+8|0;Kb=i;i=i+8|0;Jb=i;i=i+8|0;Eb=i;i=i+8|0;Db=i;i=i+8|0;Cb=i;i=i+8|0;id=i;i=i+8|0;hd=i;i=i+8|0;Bb=i;i=i+8|0;zb=i;i=i+8|0;yb=i;i=i+8|0;xb=i;i=i+8|0;wb=i;i=i+8|0;Ab=i;i=i+8|0;cd=i;i=i+8|0;ed=i;i=i+8|0;dd=i;i=i+8|0;gd=i;i=i+8|0;fd=i;i=i+8|0;vb=i;i=i+8|0;ub=i;i=i+8|0;tb=i;i=i+8|0;sb=i;i=i+8|0;rb=i;i=i+8|0;bd=i;i=i+8|0;qb=i;i=i+8|0;pb=i;i=i+8|0;ad=i;i=i+8|0;$c=i;i=i+8|0;ob=i;i=i+8|0;nb=i;i=i+8|0;Wc=i;i=i+8|0;Yc=i;i=i+8|0;Xc=i;i=i+8|0;_c=i;i=i+8|0;Zc=i;i=i+8|0;mb=i;i=i+8|0;lb=i;i=i+8|0;kb=i;i=i+8|0;jb=i;i=i+8|0;ib=i;i=i+8|0;hb=i;i=i+8|0;gb=i;i=i+8|0;fb=i;i=i+8|0;Vc=i;i=i+8|0;Uc=i;i=i+8|0;Tc=i;i=i+8|0;f=i;i=i+8|0;Rc=i;i=i+8|0;xa=i;i=i+8|0;wa=i;i=i+8|0;va=i;i=i+8|0;ua=i;i=i+8|0;ta=i;i=i+8|0;sa=i;i=i+8|0;ra=i;i=i+8|0;qa=i;i=i+8|0;pa=i;i=i+8|0;Qc=i;i=i+8|0;Pc=i;i=i+8|0;Oc=i;i=i+8|0;Nc=i;i=i+8|0;Mc=i;i=i+8|0;oa=i;i=i+8|0;na=i;i=i+8|0;ma=i;i=i+8|0;la=i;i=i+8|0;ka=i;i=i+8|0;ja=i;i=i+8|0;ia=i;i=i+8|0;ha=i;i=i+8|0;ga=i;i=i+8|0;fa=i;i=i+8|0;Kc=i;i=i+8|0;Jc=i;i=i+8|0;Ic=i;i=i+8|0;Hc=i;i=i+8|0;Gc=i;i=i+8|0;Ya=i;i=i+8|0;Xa=i;i=i+8|0;Wa=i;i=i+8|0;Va=i;i=i+8|0;Ua=i;i=i+8|0;Ta=i;i=i+8|0;Sa=i;i=i+8|0;ea=i;i=i+8|0;aa=i;i=i+8|0;_=i;i=i+8|0;Z=i;i=i+8|0;Y=i;i=i+8|0;Fc=i;i=i+8|0;Ec=i;i=i+8|0;Dc=i;i=i+8|0;Cc=i;i=i+8|0;Bc=i;i=i+8|0;ab=i;i=i+8|0;$a=i;i=i+8|0;_a=i;i=i+8|0;Za=i;i=i+8|0;Ac=i;i=i+8|0;zc=i;i=i+8|0;yc=i;i=i+8|0;xc=i;i=i+8|0;wc=i;i=i+8|0;Ba=i;i=i+8|0;Aa=i;i=i+8|0;za=i;i=i+8|0;ya=i;i=i+8|0;vc=i;i=i+8|0;uc=i;i=i+8|0;E=i;i=i+8|0;D=i;i=i+8|0;Ra=i;i=i+8|0;Qa=i;i=i+8|0;Pa=i;i=i+8|0;Oa=i;i=i+8|0;Na=i;i=i+8|0;pc=i;i=i+8|0;rc=i;i=i+8|0;qc=i;i=i+8|0;tc=i;i=i+8|0;sc=i;i=i+8|0;Ma=i;i=i+8|0;La=i;i=i+8|0;Ka=i;i=i+8|0;Ja=i;i=i+8|0;Ia=i;i=i+8|0;Ha=i;i=i+8|0;Ga=i;i=i+8|0;Fa=i;i=i+8|0;x=i;i=i+8|0;w=i;i=i+8|0;C=i;i=i+8|0;B=i;i=i+8|0;A=i;i=i+8|0;z=i;i=i+8|0;y=i;i=i+8|0;oc=i;i=i+8|0;nc=i;i=i+8|0;k=i;i=i+8|0;mc=i;i=i+8|0;lc=i;i=i+8|0;F=i;i=i+8|0;Ea=i;i=i+8|0;Da=i;i=i+8|0;Ca=i;i=i+8|0;v=i;i=i+8|0;u=i;i=i+8|0;t=i;i=i+8|0;s=i;i=i+8|0;kc=i;i=i+8|0;jc=i;i=i+8|0;X=i;i=i+8|0;Q=i;i=i+8|0;P=i;i=i+8|0;O=i;i=i+8|0;N=i;i=i+8|0;M=i;i=i+8|0;L=i;i=i+8|0;K=i;i=i+8|0;r=i;i=i+8|0;q=i;i=i+8|0;p=i;i=i+8|0;o=i;i=i+8|0;n=i;i=i+8|0;ec=i;i=i+8|0;gc=i;i=i+8|0;fc=i;i=i+8|0;ic=i;i=i+8|0;hc=i;i=i+8|0;eb=i;i=i+8|0;db=i;i=i+8|0;cb=i;i=i+8|0;bb=i;i=i+8|0;dc=i;i=i+8|0;cc=i;i=i+8|0;bc=i;i=i+8|0;ac=i;i=i+8|0;$b=i;i=i+8|0;J=i;i=i+8|0;I=i;i=i+8|0;H=i;i=i+8|0;G=i;i=i+8|0;_b=i;i=i+8|0;Zb=i;i=i+8|0;m=i;i=i+8|0;l=i;i=i+8|0;Wb=i;i=i+8|0;Yb=i;i=i+8|0;Sc=i;i=i+16|0;j=b+1048|0;vd=d+1600|0;a:while(1){zd=c[j>>2]|0;xd=c[zd+(e<<4)>>2]|0;if((xd|0)==3){xd=e+1|0;switch(c[zd+(e<<4)+8>>2]|0){case 9:{e=c[vd>>2]|0;do{if((e|0)<100){if((c[d+(e<<4)>>2]|0)==2){e=xd;continue a}else{wd=191}}else{if((e|0)!=100){wd=191;break}Qe(-1,203744,k);wd=197}}while(0);do{if((wd|0)==191){wd=0;zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,nc);wd=197;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==197){wd=0;e=c[vd>>2]|0;yd=0.0}if((e|0)<1){Qe(-1,205192,oc);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=yd;e=xd;continue a}break};case 0:{e=c[vd>>2]|0;do{if((e|0)<100){if((c[d+(e<<4)>>2]|0)!=1){wd=17;break}c[vd>>2]=e+1;zd=c[d+(e<<4)+8>>2]|0;if((e|0)<0){Qe(-1,205192,l);e=xd;continue a}else{c[vd>>2]=e;c[d+(e<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=(zd|0)>-1?zd:0-zd|0;e=xd;continue a}}else{if((e|0)!=100){wd=17;break}Qe(-1,203744,m);wd=23}}while(0);do{if((wd|0)==17){wd=0;zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,Zb);wd=23;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==23){wd=0;e=c[vd>>2]|0;yd=0.0}if((e|0)<1){Qe(-1,205192,_b);e=xd;continue a}else{Bd=+S(+yd);e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=Bd;e=xd;continue a}break};case 3:{e=c[vd>>2]|0;do{if((e|0)==100){Qe(-1,203744,n);wd=99}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,o);wd=99;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==99){wd=0;e=c[vd>>2]|0;yd=0.0}do{if((e|0)==100){Qe(-1,203744,p);Bd=0.0}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,q);Bd=0.0;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){Bd=+(c[Ad>>2]|0)}else{Bd=+h[Ad>>3]}c[vd>>2]=e+1}}while(0);yd=+$(+Bd,+yd)*180.0/3.141592653589793;if(yd<0.0){yd=yd+360.0}e=c[vd>>2]|0;if((e|0)<1){Qe(-1,205192,r);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=yd;e=xd;continue a}break};case 6:{e=c[vd>>2]|0;do{if((e|0)==100){Qe(-1,203744,s);e=0}else{if((c[d+(e<<4)>>2]|0)==1){c[vd>>2]=e+1;e=c[d+(e<<4)+8>>2]|0;break}else{Qe(-1,204688,t);e=0;break}}}while(0);zd=c[vd>>2]|0;Ad=zd+e|0;if((Ad|0)>100){Qe(-1,203744,u);e=xd;continue a}if((zd-e|0)<0){Qe(-1,205192,v);e=xd;continue a}if((e|0)>0){while(1){Ad=Ad+ -1|0;$W(d+(Ad-e<<4)|0,d+(Ad<<4)|0,16)|0;zd=c[vd>>2]|0;if((Ad|0)>(zd|0)){}else{break}}}c[vd>>2]=zd-e;e=xd;continue a};case 11:{e=c[vd>>2]|0;if((e|0)>99){Qe(-1,203744,w);e=xd;continue a}if((e|0)<1){Qe(-1,205192,x);e=xd;continue a}zd=e+1|0;while(1){e=zd+ -1|0;$W(d+(zd+ -2<<4)|0,d+(e<<4)|0,16)|0;zd=c[vd>>2]|0;if((e|0)>(zd|0)){zd=e}else{break}}c[vd>>2]=zd+ -1;e=xd;continue a};case 10:{e=c[vd>>2]|0;do{if((e|0)==100){Qe(-1,203744,y);wd=209}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,z);wd=209;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==209){wd=0;e=c[vd>>2]|0;yd=0.0}do{if((e|0)==100){Qe(-1,203744,A);wd=218}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,B);wd=218;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){Bd=+(c[Ad>>2]|0)}else{Bd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==218){wd=0;e=c[vd>>2]|0;Bd=0.0}if((e|0)<1){Qe(-1,205192,C);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=Bd/yd;e=xd;continue a}break};case 15:{e=c[vd>>2]|0;if((e|0)<1){Qe(-1,205192,D);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=0;e=xd;continue a}break};case 16:{e=c[vd>>2]|0;do{if((e|0)<100){if((c[d+(e<<4)>>2]|0)==1){e=xd;continue a}else{wd=308}}else{if((e|0)!=100){wd=308;break}Qe(-1,203744,E);wd=314}}while(0);do{if((wd|0)==308){wd=0;zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,uc);wd=314;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==314){wd=0;e=c[vd>>2]|0;yd=0.0}if((e|0)<1){Qe(-1,205192,vc);e=xd;continue a}else{Bd=+R(+yd);e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=Bd;e=xd;continue a}break};case 8:{e=c[vd>>2]|0;do{if((e|0)<100){if((c[d+(e<<4)>>2]|0)==1){e=xd;continue a}else{wd=177}}else{if((e|0)!=100){wd=177;break}Qe(-1,203744,F);wd=183}}while(0);do{if((wd|0)==177){wd=0;zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,lc);wd=183;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==183){wd=0;e=c[vd>>2]|0;yd=0.0}if((e|0)<1){Qe(-1,205192,mc);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=~~yd;e=xd;continue a}break};case 13:{zd=c[vd>>2]|0;$W(Sc|0,d+(zd<<4)|0,16)|0;if((zd|0)==2147483647){zd=zd+1|0}else{while(1){e=zd+1|0;$W(d+(zd<<4)|0,d+(e<<4)|0,16)|0;zd=(c[vd>>2]|0)+1|0;if((e|0)<(zd|0)){zd=e}else{break}}}$W(d+(zd<<4)|0,Sc|0,16)|0;e=xd;continue a};case 1:{e=c[vd>>2]|0;do{if((e|0)<99){if((c[d+(e<<4)>>2]|0)!=1){wd=44;break}zd=e+1|0;if((c[d+(zd<<4)>>2]|0)!=1){wd=42;break}if((e|0)==100){Qe(-1,203744,G);zd=c[vd>>2]|0;e=0}else{c[vd>>2]=zd;e=c[d+(e<<4)+8>>2]|0}do{if((zd|0)==100){Qe(-1,203744,H);wd=38}else{if((c[d+(zd<<4)>>2]|0)==1){Ad=zd+1|0;c[vd>>2]=Ad;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,I);wd=38;break}}}while(0);if((wd|0)==38){wd=0;Ad=c[vd>>2]|0;zd=0}if((Ad|0)<1){Qe(-1,205192,J);e=xd;continue a}else{Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=zd+e;e=xd;continue a}}else{wd=42}}while(0);do{if((wd|0)==42){if((e|0)!=100){wd=44;break}Qe(-1,203744,$b);wd=50}}while(0);do{if((wd|0)==44){wd=0;zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,ac);wd=50;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==50){wd=0;e=c[vd>>2]|0;yd=0.0}do{if((e|0)==100){Qe(-1,203744,bc);wd=59}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,cc);wd=59;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){Bd=+(c[Ad>>2]|0)}else{Bd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==59){wd=0;e=c[vd>>2]|0;Bd=0.0}if((e|0)<1){Qe(-1,205192,dc);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=yd+Bd;e=xd;continue a}break};case 4:{e=c[vd>>2]|0;do{if((e|0)==100){Qe(-1,203744,K);wd=118}else{if((c[d+(e<<4)>>2]|0)==1){zd=e+1|0;c[vd>>2]=zd;e=c[d+(e<<4)+8>>2]|0;break}else{Qe(-1,204688,L);wd=118;break}}}while(0);if((wd|0)==118){wd=0;zd=c[vd>>2]|0;e=0}do{if((zd|0)==100){Qe(-1,203744,M);zd=0}else{if((c[d+(zd<<4)>>2]|0)==1){c[vd>>2]=zd+1;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,N);zd=0;break}}}while(0);if((e|0)>0){Ad=c[vd>>2]|0;if((Ad|0)<1){Qe(-1,205192,O);e=xd;continue a}else{Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=zd<<e;e=xd;continue a}}Ad=c[vd>>2]|0;Cd=(Ad|0)<1;if((e|0)<0){if(Cd){Qe(-1,205192,P);e=xd;continue a}else{Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=zd>>>e;e=xd;continue a}}else{if(Cd){Qe(-1,205192,Q);e=xd;continue a}else{e=Ad+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=zd;e=xd;continue a}}break};case 5:{e=c[vd>>2]|0;do{if((e|0)<100){if((c[d+(e<<4)>>2]|0)==1){e=xd;continue a}else{wd=139}}else{if((e|0)!=100){wd=139;break}Qe(-1,203744,X);wd=145}}while(0);do{if((wd|0)==139){wd=0;zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,jc);wd=145;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==145){wd=0;e=c[vd>>2]|0;yd=0.0}if((e|0)<1){Qe(-1,205192,kc);e=xd;continue a}else{Bd=+ca(+yd);e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=Bd;e=xd;continue a}break};case 19:{e=c[vd>>2]|0;do{if((e|0)==100){Qe(-1,203744,Y);wd=395}else{if((c[d+(e<<4)>>2]|0)==1){zd=e+1|0;c[vd>>2]=zd;e=c[d+(e<<4)+8>>2]|0;break}else{Qe(-1,204688,Z);wd=395;break}}}while(0);if((wd|0)==395){wd=0;zd=c[vd>>2]|0;e=0}do{if((zd|0)==100){Qe(-1,203744,_);wd=401}else{if((c[d+(zd<<4)>>2]|0)==1){Ad=zd+1|0;c[vd>>2]=Ad;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,aa);wd=401;break}}}while(0);if((wd|0)==401){wd=0;Ad=c[vd>>2]|0;zd=0}if((Ad|0)<1){Qe(-1,205192,ea);e=xd;continue a}else{Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=(zd|0)/(e|0)|0;e=xd;continue a}break};case 22:{e=c[vd>>2]|0;do{if((e|0)==100){Qe(-1,203744,fa);wd=458}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,ga);wd=458;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==458){wd=0;e=c[vd>>2]|0;yd=0.0}if((e|0)<1){Qe(-1,205192,ha);e=xd;continue a}else{Bd=+ba(+yd);e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=Bd;e=xd;continue a}break};case 23:{e=c[vd>>2]|0;do{if((e|0)==100){Qe(-1,203744,ia);yd=0.0}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,ja);yd=0.0;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}c[vd>>2]=e+1}}while(0);yd=+Lc(+yd);e=c[vd>>2]|0;if((e|0)<1){Qe(-1,205192,ka);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=yd;e=xd;continue a}break};case 24:{e=c[vd>>2]|0;do{if((e|0)<99){if((c[d+(e<<4)>>2]|0)!=1){wd=490;break}zd=e+1|0;if((c[d+(zd<<4)>>2]|0)!=1){wd=488;break}if((e|0)==100){Qe(-1,203744,la);zd=c[vd>>2]|0;e=0}else{c[vd>>2]=zd;e=c[d+(e<<4)+8>>2]|0}do{if((zd|0)==100){Qe(-1,203744,ma);wd=484}else{if((c[d+(zd<<4)>>2]|0)==1){Ad=zd+1|0;c[vd>>2]=Ad;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,na);wd=484;break}}}while(0);if((wd|0)==484){wd=0;Ad=c[vd>>2]|0;zd=0}if((Ad|0)<1){Qe(-1,205192,oa);e=xd;continue a}else{Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=(zd|0)<(e|0)|0;e=xd;continue a}}else{wd=488}}while(0);do{if((wd|0)==488){if((e|0)!=100){wd=490;break}Qe(-1,203744,Mc);wd=496}}while(0);do{if((wd|0)==490){wd=0;zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,Nc);wd=496;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==496){wd=0;e=c[vd>>2]|0;yd=0.0}do{if((e|0)==100){Qe(-1,203744,Oc);wd=505}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,Pc);wd=505;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){Bd=+(c[Ad>>2]|0)}else{Bd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==505){wd=0;e=c[vd>>2]|0;Bd=0.0}if((e|0)<1){Qe(-1,205192,Qc);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=Bd<yd|0;e=xd;continue a}break};case 25:{e=c[vd>>2]|0;do{if((e|0)==100){Qe(-1,203744,pa);wd=514}else{if((c[d+(e<<4)>>2]|0)==1){zd=e+1|0;c[vd>>2]=zd;e=c[d+(e<<4)+8>>2]|0;break}else{Qe(-1,204688,qa);wd=514;break}}}while(0);if((wd|0)==514){wd=0;zd=c[vd>>2]|0;e=0}do{if((zd|0)==100){Qe(-1,203744,ra);wd=520}else{if((c[d+(zd<<4)>>2]|0)==1){Ad=zd+1|0;c[vd>>2]=Ad;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,sa);wd=520;break}}}while(0);if((wd|0)==520){wd=0;Ad=c[vd>>2]|0;zd=0}if((Ad|0)<1){Qe(-1,205192,ta);e=xd;continue a}else{Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=(zd|0)%(e|0)|0;e=xd;continue a}break};case 26:{e=c[vd>>2]|0;do{if((e|0)<99){if((c[d+(e<<4)>>2]|0)!=1){wd=541;break}zd=e+1|0;if((c[d+(zd<<4)>>2]|0)!=1){wd=539;break}if((e|0)==100){Qe(-1,203744,ua);zd=c[vd>>2]|0;e=0}else{c[vd>>2]=zd;e=c[d+(e<<4)+8>>2]|0}do{if((zd|0)==100){Qe(-1,203744,va);wd=535}else{if((c[d+(zd<<4)>>2]|0)==1){Ad=zd+1|0;c[vd>>2]=Ad;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,wa);wd=535;break}}}while(0);if((wd|0)==535){wd=0;Ad=c[vd>>2]|0;zd=0}if((Ad|0)<1){Qe(-1,205192,xa);e=xd;continue a}else{e=da(zd,e)|0;Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=e;e=xd;continue a}}else{wd=539}}while(0);do{if((wd|0)==539){if((e|0)!=100){wd=541;break}Qe(-1,203744,Rc);wd=547}}while(0);do{if((wd|0)==541){wd=0;zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,f);wd=547;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==547){wd=0;e=c[vd>>2]|0;yd=0.0}do{if((e|0)==100){Qe(-1,203744,Tc);wd=556}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,Uc);wd=556;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){Bd=+(c[Ad>>2]|0)}else{Bd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==556){wd=0;e=c[vd>>2]|0;Bd=0.0}if((e|0)<1){Qe(-1,205192,Vc);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=yd*Bd;e=xd;continue a}break};case 17:{e=c[vd>>2]|0;do{if((e|0)<99){if((c[d+(e<<4)>>2]|0)!=1){wd=335;break}zd=e+1|0;if((c[d+(zd<<4)>>2]|0)!=1){wd=333;break}if((e|0)==100){Qe(-1,203744,ya);zd=c[vd>>2]|0;e=0}else{c[vd>>2]=zd;e=c[d+(e<<4)+8>>2]|0}do{if((zd|0)==100){Qe(-1,203744,za);wd=329}else{if((c[d+(zd<<4)>>2]|0)==1){Ad=zd+1|0;c[vd>>2]=Ad;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,Aa);wd=329;break}}}while(0);if((wd|0)==329){wd=0;Ad=c[vd>>2]|0;zd=0}if((Ad|0)<1){Qe(-1,205192,Ba);e=xd;continue a}else{Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=(zd|0)>=(e|0)|0;e=xd;continue a}}else{wd=333}}while(0);do{if((wd|0)==333){if((e|0)!=100){wd=335;break}Qe(-1,203744,wc);wd=341}}while(0);do{if((wd|0)==335){wd=0;zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,xc);wd=341;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==341){wd=0;e=c[vd>>2]|0;yd=0.0}do{if((e|0)==100){Qe(-1,203744,yc);wd=350}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,zc);wd=350;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){Bd=+(c[Ad>>2]|0)}else{Bd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==350){wd=0;e=c[vd>>2]|0;Bd=0.0}if((e|0)<1){Qe(-1,205192,Ac);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=Bd>=yd|0;e=xd;continue a}break};case 7:{e=c[vd>>2]|0;do{if((e|0)==100){Qe(-1,203744,Ca);wd=169}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,Da);wd=169;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==169){wd=0;e=c[vd>>2]|0;yd=0.0}if((e|0)<1){Qe(-1,205192,Ea);e=xd;continue a}else{Bd=+V(+(yd*3.141592653589793/180.0));e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=Bd;e=xd;continue a}break};case 12:{e=c[vd>>2]|0;b:do{if((e|0)<99){Ad=c[d+(e<<4)>>2]|0;zd=(Ad|0)==1;do{if(zd){Ad=e+1|0;if((c[d+(Ad<<4)>>2]|0)!=1){break}if((e|0)==100){Qe(-1,203744,Fa);zd=c[vd>>2]|0;e=0}else{c[vd>>2]=Ad;zd=Ad;e=c[d+(e<<4)+8>>2]|0}do{if((zd|0)==100){Qe(-1,203744,Ga);wd=240}else{if((c[d+(zd<<4)>>2]|0)==1){Ad=zd+1|0;c[vd>>2]=Ad;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,Ha);wd=240;break}}}while(0);if((wd|0)==240){wd=0;Ad=c[vd>>2]|0;zd=0}if((Ad|0)<1){Qe(-1,205192,Ia);e=xd;continue a}else{Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=(zd|0)==(e|0)|0;e=xd;continue a}}else{if((Ad+ -1|0)>>>0>=2){wd=266;break b}}}while(0);Ad=e+1|0;if(((c[d+(Ad<<4)>>2]|0)+ -1|0)>>>0>=2){wd=264;break}if((e|0)==100){Qe(-1,203744,Ja);e=c[vd>>2]|0;yd=0.0}else{e=d+(e<<4)+8|0;if(zd){yd=+(c[e>>2]|0)}else{yd=+h[e>>3]}c[vd>>2]=Ad;e=Ad}do{if((e|0)==100){Qe(-1,203744,Ka);wd=260}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,La);wd=260;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){Bd=+(c[Ad>>2]|0)}else{Bd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==260){wd=0;e=c[vd>>2]|0;Bd=0.0}if((e|0)<1){Qe(-1,205192,Ma);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=Bd==yd|0;e=xd;continue a}}else{wd=264}}while(0);do{if((wd|0)==264){wd=0;if((e|0)!=100){wd=266;break}Qe(-1,203744,sc);e=0}}while(0);do{if((wd|0)==266){wd=0;if((c[d+(e<<4)>>2]|0)==0){c[vd>>2]=e+1;e=(a[d+(e<<4)+8|0]&1)!=0;break}else{Qe(-1,204688,tc);e=0;break}}}while(0);zd=c[vd>>2]|0;do{if((zd|0)==100){Qe(-1,203744,qc);Ad=0}else{if((c[d+(zd<<4)>>2]|0)==0){c[vd>>2]=zd+1;Ad=(a[d+(zd<<4)+8|0]&1)!=0;break}else{Qe(-1,204688,rc);Ad=0;break}}}while(0);zd=c[vd>>2]|0;if((zd|0)<1){Qe(-1,205192,pc);e=xd;continue a}else{Cd=zd+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=(Ad^e)&1^1;e=xd;continue a}break};case 14:{e=c[vd>>2]|0;do{if((e|0)==100){Qe(-1,203744,Na);wd=288}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,Oa);wd=288;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==288){wd=0;e=c[vd>>2]|0;yd=0.0}do{if((e|0)==100){Qe(-1,203744,Pa);wd=297}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,Qa);wd=297;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){Bd=+(c[Ad>>2]|0)}else{Bd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==297){wd=0;e=c[vd>>2]|0;Bd=0.0}if((e|0)<1){Qe(-1,205192,Ra);e=xd;continue a}else{Bd=+U(+Bd,+yd);e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=Bd;e=xd;continue a}break};case 20:{zd=c[vd>>2]|0;do{if((zd|0)==100){Qe(-1,203744,Sa);wd=410}else{if((c[d+(zd<<4)>>2]|0)==1){e=zd+1|0;c[vd>>2]=e;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,Ta);wd=410;break}}}while(0);if((wd|0)==410){wd=0;e=c[vd>>2]|0;zd=0}if((e|0)<1){Qe(-1,205192,Ua);e=xd;continue a}else{Cd=e+ -1|0;c[vd>>2]=Cd;$W(d+(Cd<<4)|0,d+(zd+e<<4)|0,16)|0;e=xd;continue a}break};case 21:{e=c[vd>>2]|0;do{if((e|0)<99){if((c[d+(e<<4)>>2]|0)!=1){wd=431;break}zd=e+1|0;if((c[d+(zd<<4)>>2]|0)!=1){wd=429;break}if((e|0)==100){Qe(-1,203744,Va);zd=c[vd>>2]|0;e=0}else{c[vd>>2]=zd;e=c[d+(e<<4)+8>>2]|0}do{if((zd|0)==100){Qe(-1,203744,Wa);wd=425}else{if((c[d+(zd<<4)>>2]|0)==1){Ad=zd+1|0;c[vd>>2]=Ad;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,Xa);wd=425;break}}}while(0);if((wd|0)==425){wd=0;Ad=c[vd>>2]|0;zd=0}if((Ad|0)<1){Qe(-1,205192,Ya);e=xd;continue a}else{Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=(zd|0)<=(e|0)|0;e=xd;continue a}}else{wd=429}}while(0);do{if((wd|0)==429){if((e|0)!=100){wd=431;break}Qe(-1,203744,Gc);wd=437}}while(0);do{if((wd|0)==431){wd=0;zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,Hc);wd=437;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==437){wd=0;e=c[vd>>2]|0;yd=0.0}do{if((e|0)==100){Qe(-1,203744,Ic);wd=446}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,Jc);wd=446;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){Bd=+(c[Ad>>2]|0)}else{Bd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==446){wd=0;e=c[vd>>2]|0;Bd=0.0}if((e|0)<1){Qe(-1,205192,Kc);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=Bd<=yd|0;e=xd;continue a}break};case 18:{e=c[vd>>2]|0;do{if((e|0)<99){if((c[d+(e<<4)>>2]|0)!=1){wd=371;break}zd=e+1|0;if((c[d+(zd<<4)>>2]|0)!=1){wd=369;break}if((e|0)==100){Qe(-1,203744,Za);zd=c[vd>>2]|0;e=0}else{c[vd>>2]=zd;e=c[d+(e<<4)+8>>2]|0}do{if((zd|0)==100){Qe(-1,203744,_a);wd=365}else{if((c[d+(zd<<4)>>2]|0)==1){Ad=zd+1|0;c[vd>>2]=Ad;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,$a);wd=365;break}}}while(0);if((wd|0)==365){wd=0;Ad=c[vd>>2]|0;zd=0}if((Ad|0)<1){Qe(-1,205192,ab);e=xd;continue a}else{Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=(zd|0)>(e|0)|0;e=xd;continue a}}else{wd=369}}while(0);do{if((wd|0)==369){if((e|0)!=100){wd=371;break}Qe(-1,203744,Bc);wd=377}}while(0);do{if((wd|0)==371){wd=0;zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,Cc);wd=377;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==377){wd=0;e=c[vd>>2]|0;yd=0.0}do{if((e|0)==100){Qe(-1,203744,Dc);wd=386}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,Ec);wd=386;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){Bd=+(c[Ad>>2]|0)}else{Bd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==386){wd=0;e=c[vd>>2]|0;Bd=0.0}if((e|0)<1){Qe(-1,205192,Fc);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=Bd>yd|0;e=xd;continue a}break};case 2:{e=c[vd>>2]|0;do{if((e|0)<99){if((c[d+(e<<4)>>2]|0)!=1){wd=80;break}zd=e+1|0;if((c[d+(zd<<4)>>2]|0)!=1){wd=78;break}if((e|0)==100){Qe(-1,203744,bb);zd=c[vd>>2]|0;e=0}else{c[vd>>2]=zd;e=c[d+(e<<4)+8>>2]|0}do{if((zd|0)==100){Qe(-1,203744,cb);wd=74}else{if((c[d+(zd<<4)>>2]|0)==1){Ad=zd+1|0;c[vd>>2]=Ad;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,db);wd=74;break}}}while(0);if((wd|0)==74){wd=0;Ad=c[vd>>2]|0;zd=0}if((Ad|0)<1){Qe(-1,205192,eb);e=xd;continue a}else{Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=zd&e;e=xd;continue a}}else{wd=78}}while(0);do{if((wd|0)==78){wd=0;if((e|0)!=100){wd=80;break}Qe(-1,203744,hc);e=0}}while(0);do{if((wd|0)==80){wd=0;if((c[d+(e<<4)>>2]|0)==0){c[vd>>2]=e+1;e=(a[d+(e<<4)+8|0]&1)!=0;break}else{Qe(-1,204688,ic);e=0;break}}}while(0);zd=c[vd>>2]|0;do{if((zd|0)==100){Qe(-1,203744,fc);Ad=0}else{if((c[d+(zd<<4)>>2]|0)==0){c[vd>>2]=zd+1;Ad=(a[d+(zd<<4)+8|0]&1)!=0;break}else{Qe(-1,204688,gc);Ad=0;break}}}while(0);zd=c[vd>>2]|0;if((zd|0)<1){Qe(-1,205192,ec);e=xd;continue a}else{Cd=zd+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=Ad&e&1;e=xd;continue a}break};case 27:{e=c[vd>>2]|0;c:do{if((e|0)<99){Ad=c[d+(e<<4)>>2]|0;zd=(Ad|0)==1;do{if(zd){Ad=e+1|0;if((c[d+(Ad<<4)>>2]|0)!=1){break}if((e|0)==100){Qe(-1,203744,fb);zd=c[vd>>2]|0;e=0}else{c[vd>>2]=Ad;zd=Ad;e=c[d+(e<<4)+8>>2]|0}do{if((zd|0)==100){Qe(-1,203744,gb);wd=571}else{if((c[d+(zd<<4)>>2]|0)==1){Ad=zd+1|0;c[vd>>2]=Ad;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,hb);wd=571;break}}}while(0);if((wd|0)==571){wd=0;Ad=c[vd>>2]|0;zd=0}if((Ad|0)<1){Qe(-1,205192,ib);e=xd;continue a}else{Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=(zd|0)!=(e|0)|0;e=xd;continue a}}else{if((Ad+ -1|0)>>>0>=2){wd=597;break c}}}while(0);Ad=e+1|0;if(((c[d+(Ad<<4)>>2]|0)+ -1|0)>>>0>=2){wd=595;break}if((e|0)==100){Qe(-1,203744,jb);e=c[vd>>2]|0;yd=0.0}else{e=d+(e<<4)+8|0;if(zd){yd=+(c[e>>2]|0)}else{yd=+h[e>>3]}c[vd>>2]=Ad;e=Ad}do{if((e|0)==100){Qe(-1,203744,kb);wd=591}else{zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,lb);wd=591;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){Bd=+(c[Ad>>2]|0)}else{Bd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==591){wd=0;e=c[vd>>2]|0;Bd=0.0}if((e|0)<1){Qe(-1,205192,mb);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=Bd!=yd|0;e=xd;continue a}}else{wd=595}}while(0);do{if((wd|0)==595){wd=0;if((e|0)!=100){wd=597;break}Qe(-1,203744,Zc);e=0}}while(0);do{if((wd|0)==597){wd=0;if((c[d+(e<<4)>>2]|0)==0){c[vd>>2]=e+1;e=(a[d+(e<<4)+8|0]&1)!=0;break}else{Qe(-1,204688,_c);e=0;break}}}while(0);zd=c[vd>>2]|0;do{if((zd|0)==100){Qe(-1,203744,Xc);Ad=0}else{if((c[d+(zd<<4)>>2]|0)==0){c[vd>>2]=zd+1;Ad=(a[d+(zd<<4)+8|0]&1)!=0;break}else{Qe(-1,204688,Yc);Ad=0;break}}}while(0);zd=c[vd>>2]|0;if((zd|0)<1){Qe(-1,205192,Wc);e=xd;continue a}else{Cd=zd+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=(Ad^e)&1;e=xd;continue a}break};case 28:{e=c[vd>>2]|0;do{if((e|0)<100){if((c[d+(e<<4)>>2]|0)!=1){wd=615;break}c[vd>>2]=e+1;if((e|0)<0){Qe(-1,205192,nb);e=xd;continue a}else{Cd=0-(c[d+(e<<4)+8>>2]|0)|0;c[vd>>2]=e;c[d+(e<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=Cd;e=xd;continue a}}else{if((e|0)!=100){wd=615;break}Qe(-1,203744,ob);wd=621}}while(0);do{if((wd|0)==615){wd=0;Ad=c[d+(e<<4)>>2]|0;if((Ad+ -1|0)>>>0>=2){Qe(-1,204688,$c);wd=621;break}zd=d+(e<<4)+8|0;if((Ad|0)==1){yd=+(c[zd>>2]|0)}else{yd=+h[zd>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==621){wd=0;e=c[vd>>2]|0;yd=0.0}if((e|0)<1){Qe(-1,205192,ad);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=-0.0-yd;e=xd;continue a}break};case 29:{e=c[vd>>2]|0;do{if((e|0)<100){if((c[d+(e<<4)>>2]|0)!=1){wd=632;break}c[vd>>2]=e+1;if((e|0)<0){Qe(-1,205192,pb);e=xd;continue a}else{Cd=~c[d+(e<<4)+8>>2];c[vd>>2]=e;c[d+(e<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=Cd;e=xd;continue a}}else{if((e|0)!=100){wd=632;break}Qe(-1,203744,qb);e=1}}while(0);do{if((wd|0)==632){wd=0;if((c[d+(e<<4)>>2]|0)==0){c[vd>>2]=e+1;e=a[d+(e<<4)+8|0]&1^1;break}else{Qe(-1,204688,bd);e=1;break}}}while(0);zd=c[vd>>2]|0;if((zd|0)<1){Qe(-1,205192,rb);e=xd;continue a}else{Cd=zd+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=e;e=xd;continue a}break};case 30:{e=c[vd>>2]|0;do{if((e|0)<99){if((c[d+(e<<4)>>2]|0)!=1){wd=655;break}zd=e+1|0;if((c[d+(zd<<4)>>2]|0)!=1){wd=653;break}if((e|0)==100){Qe(-1,203744,sb);zd=c[vd>>2]|0;Ad=0}else{c[vd>>2]=zd;Ad=c[d+(e<<4)+8>>2]|0}do{if((zd|0)==100){Qe(-1,203744,tb);wd=649}else{if((c[d+(zd<<4)>>2]|0)==1){e=zd+1|0;c[vd>>2]=e;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,ub);wd=649;break}}}while(0);if((wd|0)==649){wd=0;e=c[vd>>2]|0;zd=0}if((e|0)<1){Qe(-1,205192,vb);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=zd|Ad;e=xd;continue a}}else{wd=653}}while(0);do{if((wd|0)==653){wd=0;if((e|0)!=100){wd=655;break}Qe(-1,203744,fd);e=0}}while(0);do{if((wd|0)==655){wd=0;if((c[d+(e<<4)>>2]|0)==0){c[vd>>2]=e+1;e=(a[d+(e<<4)+8|0]&1)!=0;break}else{Qe(-1,204688,gd);e=0;break}}}while(0);zd=c[vd>>2]|0;do{if((zd|0)==100){Qe(-1,203744,dd);zd=0}else{if((c[d+(zd<<4)>>2]|0)==0){c[vd>>2]=zd+1;zd=(a[d+(zd<<4)+8|0]&1)!=0;break}else{Qe(-1,204688,ed);zd=0;break}}}while(0);Ad=c[vd>>2]|0;if((Ad|0)<1){Qe(-1,205192,cd);e=xd;continue a}else{Cd=Ad+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=(zd|e)&1;e=xd;continue a}break};case 32:{zd=c[vd>>2]|0;do{if((zd|0)==100){Qe(-1,203744,wb);wd=674}else{if((c[d+(zd<<4)>>2]|0)==1){e=zd+1|0;c[vd>>2]=e;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,xb);wd=674;break}}}while(0);if((wd|0)==674){wd=0;e=c[vd>>2]|0;zd=0}do{if((e|0)==100){Qe(-1,203744,yb);e=0}else{if((c[d+(e<<4)>>2]|0)==1){c[vd>>2]=e+1;e=c[d+(e<<4)+8>>2]|0;break}else{Qe(-1,204688,zb);e=0;break}}}while(0);VH(d,e,zd);e=xd;continue a};case 31:{e=c[vd>>2]|0;if((e|0)==100){Qe(-1,203744,Ab);e=xd;continue a}else{c[vd>>2]=e+1;e=xd;continue a}break};case 33:{e=c[vd>>2]|0;do{if((e|0)<100){if((c[d+(e<<4)>>2]|0)==1){e=xd;continue a}else{wd=685}}else{if((e|0)!=100){wd=685;break}Qe(-1,203744,Bb);yd=0.0;wd=691}}while(0);do{if((wd|0)==685){wd=0;Ad=c[d+(e<<4)>>2]|0;if((Ad+ -1|0)>>>0>=2){Qe(-1,204688,hd);yd=0.0;wd=691;break}zd=d+(e<<4)+8|0;if((Ad|0)==1){yd=+(c[zd>>2]|0)}else{yd=+h[zd>>3]}e=e+1|0;c[vd>>2]=e;if(yd>=0.0){wd=691;break}yd=+ca(+(yd+-.5))}}while(0);if((wd|0)==691){wd=0;yd=+R(+(yd+.5));e=c[vd>>2]|0}if((e|0)<1){Qe(-1,205192,id);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=yd;e=xd;continue a}break};case 34:{e=c[vd>>2]|0;do{if((e|0)==100){Qe(-1,203744,Cb);wd=704}else{Ad=c[d+(e<<4)>>2]|0;if((Ad+ -1|0)>>>0>=2){Qe(-1,204688,Db);wd=704;break}zd=d+(e<<4)+8|0;if((Ad|0)==1){yd=+(c[zd>>2]|0)}else{yd=+h[zd>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==704){wd=0;e=c[vd>>2]|0;yd=0.0}if((e|0)<1){Qe(-1,205192,Eb);e=xd;continue a}else{Bd=+W(+(yd*3.141592653589793/180.0));e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=Bd;e=xd;continue a}break};case 36:{e=c[vd>>2]|0;do{if((e|0)<99){if((c[d+(e<<4)>>2]|0)!=1){wd=737;break}zd=e+1|0;if((c[d+(zd<<4)>>2]|0)!=1){wd=735;break}if((e|0)==100){Qe(-1,203744,Fb);zd=c[vd>>2]|0;Ad=0}else{c[vd>>2]=zd;Ad=c[d+(e<<4)+8>>2]|0}do{if((zd|0)==100){Qe(-1,203744,Gb);wd=731}else{if((c[d+(zd<<4)>>2]|0)==1){e=zd+1|0;c[vd>>2]=e;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,Hb);wd=731;break}}}while(0);if((wd|0)==731){wd=0;e=c[vd>>2]|0;zd=0}if((e|0)<1){Qe(-1,205192,Ib);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=zd-Ad;e=xd;continue a}}else{wd=735}}while(0);do{if((wd|0)==735){if((e|0)!=100){wd=737;break}Qe(-1,203744,jd);wd=743}}while(0);do{if((wd|0)==737){wd=0;zd=c[d+(e<<4)>>2]|0;if((zd+ -1|0)>>>0>=2){Qe(-1,204688,kd);wd=743;break}Ad=d+(e<<4)+8|0;if((zd|0)==1){yd=+(c[Ad>>2]|0)}else{yd=+h[Ad>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==743){wd=0;e=c[vd>>2]|0;yd=0.0}do{if((e|0)==100){Qe(-1,203744,ld);wd=752}else{Ad=c[d+(e<<4)>>2]|0;if((Ad+ -1|0)>>>0>=2){Qe(-1,204688,md);wd=752;break}zd=d+(e<<4)+8|0;if((Ad|0)==1){Bd=+(c[zd>>2]|0)}else{Bd=+h[zd>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==752){wd=0;e=c[vd>>2]|0;Bd=0.0}if((e|0)<1){Qe(-1,205192,nd);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=Bd-yd;e=xd;continue a}break};case 35:{e=c[vd>>2]|0;do{if((e|0)==100){Qe(-1,203744,Jb);wd=716}else{Ad=c[d+(e<<4)>>2]|0;if((Ad+ -1|0)>>>0>=2){Qe(-1,204688,Kb);wd=716;break}zd=d+(e<<4)+8|0;if((Ad|0)==1){yd=+(c[zd>>2]|0)}else{yd=+h[zd>>3]}e=e+1|0;c[vd>>2]=e}}while(0);if((wd|0)==716){wd=0;e=c[vd>>2]|0;yd=0.0}if((e|0)<1){Qe(-1,205192,Lb);e=xd;continue a}else{Bd=+T(+yd);e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=Bd;e=xd;continue a}break};case 37:{e=c[vd>>2]|0;if((e|0)<1){Qe(-1,205192,Mb);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=1;e=xd;continue a}break};case 38:{e=c[vd>>2]|0;do{if((e|0)<100){if((c[d+(e<<4)>>2]|0)==1){e=xd;continue a}else{wd=763}}else{if((e|0)!=100){wd=763;break}Qe(-1,203744,Nb);yd=0.0;wd=769}}while(0);do{if((wd|0)==763){wd=0;Ad=c[d+(e<<4)>>2]|0;if((Ad+ -1|0)>>>0>=2){Qe(-1,204688,od);yd=0.0;wd=769;break}zd=d+(e<<4)+8|0;if((Ad|0)==1){yd=+(c[zd>>2]|0)}else{yd=+h[zd>>3]}e=e+1|0;c[vd>>2]=e;if(yd>=0.0){wd=769;break}yd=+ca(+yd)}}while(0);if((wd|0)==769){wd=0;yd=+R(+yd);e=c[vd>>2]|0}if((e|0)<1){Qe(-1,205192,pd);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=yd;e=xd;continue a}break};case 39:{e=c[vd>>2]|0;do{if((e|0)<99){if((c[d+(e<<4)>>2]|0)!=1){wd=791;break}zd=e+1|0;if((c[d+(zd<<4)>>2]|0)!=1){wd=789;break}if((e|0)==100){Qe(-1,203744,Ob);zd=c[vd>>2]|0;Ad=0}else{c[vd>>2]=zd;Ad=c[d+(e<<4)+8>>2]|0}do{if((zd|0)==100){Qe(-1,203744,Pb);wd=785}else{if((c[d+(zd<<4)>>2]|0)==1){e=zd+1|0;c[vd>>2]=e;zd=c[d+(zd<<4)+8>>2]|0;break}else{Qe(-1,204688,Qb);wd=785;break}}}while(0);if((wd|0)==785){wd=0;e=c[vd>>2]|0;zd=0}if((e|0)<1){Qe(-1,205192,Rb);e=xd;continue a}else{e=e+ -1|0;c[vd>>2]=e;c[d+(e<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=zd^Ad;e=xd;continue a}}else{wd=789}}while(0);do{if((wd|0)==789){wd=0;if((e|0)!=100){wd=791;break}Qe(-1,203744,td);e=0}}while(0);do{if((wd|0)==791){wd=0;if((c[d+(e<<4)>>2]|0)==0){c[vd>>2]=e+1;e=(a[d+(e<<4)+8|0]&1)!=0;break}else{Qe(-1,204688,ud);e=0;break}}}while(0);zd=c[vd>>2]|0;do{if((zd|0)==100){Qe(-1,203744,rd);Ad=0}else{if((c[d+(zd<<4)>>2]|0)==0){c[vd>>2]=zd+1;Ad=(a[d+(zd<<4)+8|0]&1)!=0;break}else{Qe(-1,204688,sd);Ad=0;break}}}while(0);zd=c[vd>>2]|0;if((zd|0)<1){Qe(-1,205192,qd);e=xd;continue a}else{Cd=zd+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=0;a[d+(c[vd>>2]<<4)+8|0]=(Ad^e)&1;e=xd;continue a}break};case 41:{zd=c[vd>>2]|0;do{if((zd|0)==100){Qe(-1,203744,Sb);wd=815}else{if((c[d+(zd<<4)>>2]|0)!=0){Qe(-1,204688,Tb);wd=815;break}c[vd>>2]=zd+1;if((a[d+(zd<<4)+8|0]&1)==0){wd=815;break}bI(b,d,e+3|0)}}while(0);if((wd|0)==815){wd=0;bI(b,d,c[(c[j>>2]|0)+(xd<<4)+8>>2]|0)}e=c[(c[j>>2]|0)+(e+2<<4)+8>>2]|0;continue a};case 40:{xd=c[vd>>2]|0;do{if((xd|0)==100){Qe(-1,203744,Ub)}else{if((c[d+(xd<<4)>>2]|0)!=0){Qe(-1,204688,Vb);break}c[vd>>2]=xd+1;if((a[d+(xd<<4)+8|0]&1)==0){break}bI(b,d,e+3|0)}}while(0);e=c[(c[j>>2]|0)+(e+2<<4)+8>>2]|0;continue a};case 42:{break a};default:{e=xd;continue a}}}else if((xd|0)==2){Ad=e+1|0;xd=c[vd>>2]|0;if((xd|0)<1){Qe(-1,205192,Wb);e=Ad;continue}else{Bd=+h[zd+(e<<4)+8>>3];Cd=xd+ -1|0;c[vd>>2]=Cd;c[d+(Cd<<4)>>2]=2;h[d+(c[vd>>2]<<4)+8>>3]=Bd;e=Ad;continue}}else if((xd|0)==1){Ad=e+1|0;xd=c[vd>>2]|0;if((xd|0)<1){Qe(-1,205192,Yb);e=Ad;continue}else{Cd=c[zd+(e<<4)+8>>2]|0;zd=xd+ -1|0;c[vd>>2]=zd;c[d+(zd<<4)>>2]=1;c[d+(c[vd>>2]<<4)+8>>2]=Cd;e=Ad;continue}}else{Qe(-1,204408,Xb);continue}}i=g;return}function cI(b){b=b|0;var d=0;d=i;c[b>>2]=205072;if((a[b+4|0]&1)==0){i=d;return}b=c[b+12>>2]|0;if((b|0)==0){i=d;return}IW(b);i=d;return}function dI(b){b=b|0;var d=0,e=0;d=i;b=FW(1048)|0;c[b>>2]=202568;c[b+4>>2]=32;c[b+8>>2]=32;e=0;do{h[b+16+(e<<4)>>3]=0.0;h[b+16+(e<<4)+8>>3]=1.0;e=e+1|0;}while((e|0)<32);a[b+1040|0]=0;i=d;return b|0}function eI(a){a=a|0;i=i;return-1}function fI(a){a=a|0;i=i;return-1}function gI(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;b=FW(2600)|0;$W(b|0,a|0,2600)|0;e=c[b+2588>>2]|0;f=ye(e,8)|0;c[b+2584>>2]=f;$W(f|0,c[a+2584>>2]|0,e<<3|0)|0;c[b+2592>>2]=ye(1<<c[b+4>>2],8)|0;i=d;return b|0}function hI(a){a=a|0;i=i;return 0}function iI(b){b=b|0;i=i;return(a[b+2596|0]&1)!=0|0}function jI(a){a=a|0;var b=0,c=0;c=i;b=FW(1576)|0;$W(b|0,a|0,1576)|0;i=c;return b|0}function kI(a){a=a|0;i=i;return 2}function lI(b){b=b|0;i=i;return(a[b+1569|0]&1)!=0|0}function mI(a){a=a|0;var b=0,c=0;c=i;b=FW(1072)|0;RH(b,a);i=c;return b|0}function nI(a){a=a|0;i=i;return 3}function oI(b){b=b|0;i=i;return(a[b+1064|0]&1)!=0|0}function pI(a){a=a|0;var b=0,c=0;c=i;b=FW(1072)|0;ZH(b,a);i=c;return b|0}function qI(a){a=a|0;i=i;return 4}function rI(b){b=b|0;i=i;return(a[b+1060|0]&1)!=0|0}function sI(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=205072;do{if((a[b+4|0]&1)!=0){e=c[b+12>>2]|0;if((e|0)==0){break}IW(e)}}while(0);HW(b);i=d;return}function tI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=c[a+8>>2]|0;if((e|0)!=(c[b+8>>2]|0)){f=0;i=d;return f|0}a=a+12|0;b=b+12|0;f=0;while(1){if((f|0)>=(e|0)){a=1;e=5;break}if(+h[(c[a>>2]|0)+(f<<3)>>3]==+h[(c[b>>2]|0)+(f<<3)>>3]){f=f+1|0}else{a=0;e=5;break}}if((e|0)==5){i=d;return a|0}return 0}function uI(a){a=a|0;var b=0;b=i;c[a>>2]=205136;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}IW(a);i=b;return}function vI(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=205136;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}IW(d);HW(a);i=b;return}function wI(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=a+4|0;c[e>>2]=b;b=ye(b,1)|0;c[a>>2]=b;bX(b|0,0,c[e>>2]|0)|0;i=d;return}function xI(a){a=a|0;var b=0;b=i;bX(c[a>>2]|0,0,c[a+4>>2]|0)|0;i=b;return}function yI(a){a=a|0;var b=0;b=i;Fe(c[a>>2]|0);i=b;return}function zI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;b=FW(8)|0;e=a+4|0;g=c[e>>2]|0;c[b+4>>2]=g;f=ye(g,1)|0;c[b>>2]=f;bX(f|0,0,g|0)|0;$W(f|0,c[a>>2]|0,c[e>>2]|0)|0;i=d;return b|0}function AI(a,b){a=a|0;b=b|0;var d=0;d=i;$W(c[a>>2]|0,c[b>>2]|0,c[a+4>>2]|0)|0;i=d;return}function BI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;a[(c[b>>2]|0)+d|0]=(e<<1)+f;i=i;return}function CI(b){b=b|0;c[b+24>>2]=0;c[b+28>>2]=0;a[b+32|0]=0;i=i;return}function DI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;f=b+32|0;k=a[f]|0;if((k&1)==0){i=j;return}h=b+28|0;l=c[h>>2]|0;if((l|0)<=0){i=j;return}d=b+4|0;g=b+24|0;m=c[d>>2]|0;while(1){c[b>>2]=m;if((k&1)==0){e=6}else{k=l+ -1|0;c[h>>2]=k;if((l|0)<1){l=k;m=255}else{e=6}}if((e|0)==6){e=0;m=c[g>>2]|0;m=(jd[c[(c[m>>2]|0)+20>>2]&511](m)|0)&255;l=c[h>>2]|0}c[d>>2]=m;if((l|0)<=0){break}k=a[f]|0}i=j;return}function EI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;j=i;f=b+32|0;k=a[f]|0;if((k&1)==0){i=j;return}h=b+28|0;l=c[h>>2]|0;if((l|0)<=0){i=j;return}d=b+4|0;g=b+24|0;m=c[d>>2]|0;while(1){c[b>>2]=m;if((k&1)==0){e=6}else{k=l+ -1|0;c[h>>2]=k;if((l|0)<1){l=k;m=255}else{e=6}}if((e|0)==6){e=0;m=c[g>>2]|0;m=(jd[c[(c[m>>2]|0)+20>>2]&511](m)|0)&255;l=c[h>>2]|0}c[d>>2]=m;if((l|0)<=0){break}k=a[f]|0}i=j;return}function FI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;f=b+32|0;g=a[f]|0;if((g&1)==0){e=3}else{j=b+28|0;h=c[j>>2]|0;c[j>>2]=h+ -1;if((h|0)<1){f=255}else{e=3}}if((e|0)==3){j=c[b+24>>2]|0;j=(jd[c[(c[j>>2]|0)+20>>2]&511](j)|0)&255;g=a[f]|0;f=j}c[b>>2]=f;if((g&1)==0){e=6}else{h=b+28|0;j=c[h>>2]|0;c[h>>2]=j+ -1;if((j|0)<1){g=255}else{e=6}}if((e|0)==6){g=c[b+24>>2]|0;g=(jd[c[(c[g>>2]|0)+20>>2]&511](g)|0)&255;f=c[b>>2]|0}c[b+4>>2]=g;j=b+8|0;c[j>>2]=f<<16^16711680;GI(b);c[j>>2]=c[j>>2]<<7;j=b+16|0;c[j>>2]=(c[j>>2]|0)+ -7;c[b+12>>2]=-2147483648;i=d;return}function GI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;d=b+4|0;h=c[d>>2]|0;if((c[b>>2]|0)!=255){c[b>>2]=h;if((a[b+32|0]&1)==0){f=10}else{j=b+28|0;g=c[j>>2]|0;c[j>>2]=g+ -1;if((g|0)<1){g=255}else{f=10}}if((f|0)==10){g=c[b+24>>2]|0;g=(jd[c[(c[g>>2]|0)+20>>2]&511](g)|0)&255;h=c[b>>2]|0}c[d>>2]=g;j=b+8|0;c[j>>2]=(c[j>>2]|0)+65280-(h<<8);c[b+16>>2]=8;i=e;return}if(h>>>0>143){c[b+16>>2]=8;i=e;return}c[b>>2]=h;if((a[b+32|0]&1)==0){f=6}else{g=b+28|0;j=c[g>>2]|0;c[g>>2]=j+ -1;if((j|0)<1){g=255}else{f=6}}if((f|0)==6){g=c[b+24>>2]|0;g=(jd[c[(c[g>>2]|0)+20>>2]&511](g)|0)&255;h=c[b>>2]|0}c[d>>2]=g;j=b+8|0;c[j>>2]=(c[j>>2]|0)+65024-(h<<9);c[b+16>>2]=7;i=e;return}function HI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;g=b+28|0;h=c[g>>2]|0;c[g>>2]=d;if((h|0)==-1){if((a[b+32|0]&1)==0){e=4}else{c[g>>2]=d+ -1;if((d|0)<1){g=255}else{e=4}}if((e|0)==4){g=c[b+24>>2]|0;g=(jd[c[(c[g>>2]|0)+20>>2]&511](g)|0)&255}c[b+4>>2]=g;i=f;return}if((h|0)>=-1){i=f;return}h=b+32|0;j=a[h]|0;if((j&1)==0){e=9}else{c[g>>2]=d+ -1;if((d|0)<1){d=255}else{e=9}}if((e|0)==9){d=c[b+24>>2]|0;d=(jd[c[(c[d>>2]|0)+20>>2]&511](d)|0)&255;j=a[h]|0}c[b>>2]=d;if((j&1)==0){e=12}else{j=c[g>>2]|0;c[g>>2]=j+ -1;if((j|0)<1){g=255}else{e=12}}if((e|0)==12){g=c[b+24>>2]|0;g=(jd[c[(c[g>>2]|0)+20>>2]&511](g)|0)&255}c[b+4>>2]=g;i=f;return}function II(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;m=d[(c[f>>2]|0)+e|0]|0;l=m>>>1;m=m&1;k=c[205384+(l<<2)>>2]|0;h=b+12|0;o=(c[h>>2]|0)-k|0;c[h>>2]=o;j=b+8|0;n=c[j>>2]|0;if(n>>>0>=o>>>0){c[j>>2]=n-o;do{if(o>>>0<k>>>0){a[(c[f>>2]|0)+e|0]=c[205576+(l<<2)>>2]<<1|m}else{n=m^1;o=c[205768+(l<<2)>>2]<<1;if((c[205960+(l<<2)>>2]|0)==0){a[(c[f>>2]|0)+e|0]=o|m;m=n;break}else{a[(c[f>>2]|0)+e|0]=o|n;m=n;break}}}while(0);c[h>>2]=k;l=b+16|0;f=c[l>>2]|0;do{if((f|0)==0){GI(b);f=c[l>>2]|0;k=c[h>>2]|0}k=k<<1;c[h>>2]=k;c[j>>2]=c[j>>2]<<1;f=f+ -1|0;c[l>>2]=f;}while((k|0)>-1);i=g;return m|0}if((o|0)<0){o=m;i=g;return o|0}do{if(o>>>0<k>>>0){n=m^1;k=c[205768+(l<<2)>>2]<<1;if((c[205960+(l<<2)>>2]|0)==0){a[(c[f>>2]|0)+e|0]=k|m;m=n;break}else{a[(c[f>>2]|0)+e|0]=k|n;m=n;break}}else{a[(c[f>>2]|0)+e|0]=c[205576+(l<<2)>>2]<<1|m}}while(0);k=b+16|0;l=c[k>>2]|0;do{if((l|0)==0){GI(b);l=c[k>>2]|0}o=c[h>>2]<<1;c[h>>2]=o;c[j>>2]=c[j>>2]<<1;l=l+ -1|0;c[k>>2]=l;}while((o|0)>-1);i=g;return m|0}function JI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;g=a+20|0;c[g>>2]=1;f=II(a,1,d)|0;n=c[g>>2]|0;h=n<<1|f;if(n>>>0>=256){h=h&255|256}c[g>>2]=h;j=II(a,h,d)|0;n=c[g>>2]|0;h=n<<1|j;if(n>>>0>=256){h=h&255|256}c[g>>2]=h;h=II(a,h,d)|0;n=c[g>>2]|0;k=n<<1|h;if(n>>>0>=256){k=k&255|256}c[g>>2]=k;do{if((j|0)==0){a=II(a,k,d)|0;n=c[g>>2]|0;d=n<<1|a;if(n>>>0>=256){d=d&255|256}c[g>>2]=d;g=a|h<<1}else{j=II(a,k,d)|0;n=c[g>>2]|0;k=n<<1|j;if(n>>>0>=256){k=k&255|256}c[g>>2]=k;if((h|0)==0){h=II(a,k,d)|0;n=c[g>>2]|0;k=n<<1|h;if(n>>>0>=256){k=k&255|256}c[g>>2]=k;k=II(a,k,d)|0;n=c[g>>2]|0;l=n<<1|k;if(n>>>0>=256){l=l&255|256}c[g>>2]=l;a=II(a,l,d)|0;n=c[g>>2]|0;d=n<<1|a;if(n>>>0>=256){d=d&255|256}c[g>>2]=d;g=(a|(k|(h|j<<1)<<1)<<1)+4|0;break}h=II(a,k,d)|0;k=c[g>>2]|0;l=k>>>0<256;k=k<<1|h;if((j|0)==0){if(!l){k=k&255|256}c[g>>2]=k;j=II(a,k,d)|0;n=c[g>>2]|0;k=n<<1|j;if(n>>>0>=256){k=k&255|256}c[g>>2]=k;k=II(a,k,d)|0;n=c[g>>2]|0;l=n<<1|k;if(n>>>0>=256){l=l&255|256}c[g>>2]=l;l=II(a,l,d)|0;n=c[g>>2]|0;m=n<<1|l;if(n>>>0>=256){m=m&255|256}c[g>>2]=m;m=II(a,m,d)|0;o=c[g>>2]|0;n=o<<1|m;if(o>>>0>=256){n=n&255|256}c[g>>2]=n;a=II(a,n,d)|0;o=c[g>>2]|0;d=o<<1|a;if(o>>>0>=256){d=d&255|256}c[g>>2]=d;g=(a|(m|(l|(k|(j|h<<1)<<1)<<1)<<1)<<1)+20|0;break}if(l){j=k}else{j=k&255|256}c[g>>2]=j;if((h|0)==0){h=0;k=0;do{l=II(a,j,d)|0;o=c[g>>2]|0;j=o<<1|l;if(o>>>0>=256){j=j&255|256}c[g>>2]=j;k=l|k<<1;h=h+1|0;}while((h|0)<8);g=k+84|0;break}h=II(a,j,d)|0;o=c[g>>2]|0;j=o<<1|h;if(o>>>0>=256){j=j&255|256}c[g>>2]=j;if((h|0)==0){h=0;k=0;do{l=II(a,j,d)|0;o=c[g>>2]|0;j=o<<1|l;if(o>>>0>=256){j=j&255|256}c[g>>2]=j;k=l|k<<1;h=h+1|0;}while((h|0)<12);g=k+340|0;break}else{h=0;k=0;do{l=II(a,j,d)|0;o=c[g>>2]|0;j=o<<1|l;if(o>>>0>=256){j=j&255|256}c[g>>2]=j;k=l|k<<1;h=h+1|0;}while((h|0)<32);g=k+4436|0;break}}}while(0);do{if((f|0)!=0){if((g|0)==0){o=0;i=e;return o|0}else{g=0-g|0;break}}}while(0);c[b>>2]=g;o=1;i=e;return o|0}function KI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;f=a+20|0;c[f>>2]=1;if((b|0)==0){g=1;h=1<<b;h=g-h|0;i=e;return h|0}else{h=1;g=0}while(1){h=II(a,h,d)|0;h=c[f>>2]<<1|h;c[f>>2]=h;g=g+1|0;if(g>>>0<b>>>0){}else{break}}g=1<<b;h=h-g|0;i=e;return h|0}function LI(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;j=i;w=d+20|0;tH(b,d,f,g,(a[c[w>>2]|0]&1)!=0);c[b>>2]=206160;a[b+176|0]=a[(c[w>>2]|0)+1|0]&1;w=c[d+24>>2]|0;d=b+120|0;if((RJ(w,d)|0)!=0){i=j;return}c[w+88>>2]=c[d>>2];d=b+24|0;u=+h[d>>3];f=b+32|0;k=+h[f>>3];k=+T(+(u*u+k*k));g=b+168|0;u=(~~k|0)<1?1.0:k;h[g>>3]=u;if((bK(w,0,~~u)|0)!=0){i=j;return}l=+h[b+56>>3];k=+h[b+64>>3];n=+T(+(l*l+k*k));o=+h[g>>3];n=n/o;h[b+160>>3]=n;t=w+60|0;u=(c[t>>2]|0)>2e4?65536.0:1.0;m=+h[b+8>>3];z=w+52|0;p=+h[d>>3];x=w+56|0;v=w+68|0;A=~~((m*+(c[z>>2]|0)+p*+(c[x>>2]|0))/(u*+(e[v>>1]|0|0)));d=b+84|0;c[d>>2]=A;g=b+76|0;c[g>>2]=A;q=+h[b+16>>3];s=+h[f>>3];B=~~((q*+(c[z>>2]|0)+s*+(c[x>>2]|0))/(u*+(e[v>>1]|0|0)));r=b+88|0;c[r>>2]=B;f=b+80|0;c[f>>2]=B;w=w+64|0;C=~~((m*+(c[z>>2]|0)+p*+(c[w>>2]|0))/(u*+(e[v>>1]|0|0)));do{if((C|0)<(A|0)){c[g>>2]=C;y=A}else{if((C|0)<=(A|0)){y=A;C=A;break}c[d>>2]=C;y=C;C=A}}while(0);A=~~((q*+(c[z>>2]|0)+s*+(c[w>>2]|0))/(u*+(e[v>>1]|0|0)));do{if((A|0)<(B|0)){c[f>>2]=A;z=B}else{if((A|0)<=(B|0)){z=B;A=B;break}c[r>>2]=A;z=A;A=B}}while(0);B=~~((m*+(c[t>>2]|0)+p*+(c[x>>2]|0))/(u*+(e[v>>1]|0|0)));do{if((B|0)<(C|0)){c[g>>2]=B;C=B}else{if((B|0)<=(y|0)){break}c[d>>2]=B;y=B}}while(0);B=~~((q*+(c[t>>2]|0)+s*+(c[x>>2]|0))/(u*+(e[v>>1]|0|0)));do{if((B|0)<(A|0)){c[f>>2]=B;x=z;A=B}else{if((B|0)<=(z|0)){x=z;break}c[r>>2]=B;x=B}}while(0);z=~~((m*+(c[t>>2]|0)+p*+(c[w>>2]|0))/(u*+(e[v>>1]|0|0)));do{if((z|0)<(C|0)){c[g>>2]=z;C=z}else{if((z|0)<=(y|0)){break}c[d>>2]=z;y=z}}while(0);t=~~((q*+(c[t>>2]|0)+s*+(c[w>>2]|0))/(u*+(e[v>>1]|0|0)));do{if((t|0)<(A|0)){c[f>>2]=t;A=t}else{if((t|0)<=(x|0)){break}c[r>>2]=t;x=t}}while(0);if((y|0)==(C|0)){c[g>>2]=0;c[d>>2]=~~o}if((x|0)==(A|0)){c[f>>2]=0;c[r>>2]=~~(o*1.2)}c[b+124>>2]=~~(m/o*65536.0);c[b+132>>2]=~~(q/o*65536.0);c[b+128>>2]=~~(p/o*65536.0);c[b+136>>2]=~~(s/o*65536.0);u=o*n;c[b+140>>2]=~~(+h[b+40>>3]/u*65536.0);c[b+148>>2]=~~(+h[b+48>>3]/u*65536.0);c[b+144>>2]=~~(l/u*65536.0);c[b+152>>2]=~~(k/u*65536.0);i=j;return}function MI(a){a=a|0;var b=0;b=i;wH(a);HW(a);i=b;return}function NI(a){a=a|0;var b=0;b=i;wH(a);i=b;return}function OI(a,b,c,d,e,f,g,h,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0;k=i;d=xH(a,b,c,0,e,f,g,h,j)|0;i=k;return d|0}function PI(b,d,f,g,h,j,k,l,m){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=i;s=i;i=i+8|0;r=s;q=i;i=i+16|0;n=q;o=c[b+4>>2]|0;p=o+24|0;c[(c[p>>2]|0)+88>>2]=c[b+120>>2];c[s>>2]=~~(+(f|0)*.25*64.0);c[r+4>>2]=0;FJ(c[p>>2]|0,b+124|0,r);r=c[p>>2]|0;f=c[r+84>>2]|0;s=c[o+28>>2]|0;do{if((s|0)!=0){if((c[o+32>>2]|0)<=(d|0)){break}d=e[s+(d<<1)>>1]|0}}while(0);o=b+72|0;s=(a[o]&1)!=0;u=(a[b+176|0]&1)!=0;t=s^1;b=u^1;do{if(t|b){if(!(u|t)){b=10;break}b=s|b?2:0}else{b=8}}while(0);if((YI(r,d,b)|0)!=0){u=0;i=g;return u|0}zK((c[(c[p>>2]|0)+84>>2]|0)+108|0,n);d=c[q>>2]|0;s=((d|0)/-64|0)+2|0;c[h>>2]=s;u=c[n+12>>2]|0;t=((u|0)/64|0)+2|0;q=h+4|0;c[q>>2]=t;d=(((c[n+8>>2]|0)-d|0)/64|0)+4|0;p=h+8|0;c[p>>2]=d;u=((u-(c[n+4>>2]|0)|0)/64|0)+4|0;n=h+12|0;c[n>>2]=u;s=j-s|0;t=k-t|0;u=Jp(l,s,t,d+s|0,t+u|0)|0;c[m>>2]=u;if((u|0)==1){a[h+24|0]=0;u=1;i=g;return u|0}if((JJ(f,(a[o]&1)!=0?0:2)|0)!=0){u=0;i=g;return u|0}c[h>>2]=0-(c[f+100>>2]|0);c[q>>2]=c[f+104>>2];m=c[f+80>>2]|0;c[p>>2]=m;l=c[f+76>>2]|0;c[n>>2]=l;a[h+16|0]=a[o]&1;if((a[o]&1)==0){m=m+7>>3}l=ze(m,l)|0;c[h+20>>2]=l;if((l|0)==0){u=0;i=g;return u|0}a[h+24|0]=1;if((c[n>>2]|0)<=0){u=1;i=g;return u|0}h=f+84|0;k=0;f=c[f+88>>2]|0;while(1){$W(l|0,f|0,m|0)|0;k=k+1|0;if((k|0)<(c[n>>2]|0)){f=f+(c[h>>2]|0)|0;l=l+m|0}else{f=1;break}}i=g;return f|0}function QI(b,d){b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0.0;g=i;f=i;i=i+8|0;k=f;m=i;i=i+16|0;n=m;j=c[b+4>>2]|0;c[m>>2]=65536;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=65536;c[f>>2]=0;c[k+4>>2]=0;f=j+24|0;c[(c[f>>2]|0)+88>>2]=c[b+120>>2];FJ(c[f>>2]|0,n,k);k=c[j+28>>2]|0;do{if((k|0)!=0){if((c[j+32>>2]|0)<=(d|0)){break}d=e[k+(d<<1)>>1]|0}}while(0);if((a[j+36|0]&1)!=0&(d|0)==0){o=-1.0;i=g;return+o}j=c[f>>2]|0;k=(a[b+72|0]&1)!=0;n=(a[b+176|0]&1)!=0;m=k^1;l=n^1;do{if(m|l){if(!(n|m)){k=10;break}k=k|l?2:0}else{k=8}}while(0);if((YI(j,d,k)|0)!=0){o=-1.0;i=g;return+o}o=+(c[(c[(c[f>>2]|0)+84>>2]|0)+40>>2]|0)*.015625/+h[b+168>>3];i=g;return+o}function RI(b,d){b=b|0;d=d|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;n=i;k=i;i=i+24|0;l=k;f=i;i=i+8|0;g=f;o=c[b+4>>2]|0;j=o+24|0;c[(c[j>>2]|0)+88>>2]=c[b+120>>2];FJ(c[j>>2]|0,b+140|0,0);j=c[j>>2]|0;m=c[j+84>>2]|0;p=c[o+28>>2]|0;do{if((p|0)!=0){if((c[o+32>>2]|0)<=(d|0)){break}d=e[p+(d<<1)>>1]|0}}while(0);if((a[o+36|0]&1)!=0&(d|0)==0){r=0;i=n;return r|0}q=(a[b+72|0]&1)!=0;o=(a[b+176|0]&1)!=0;p=q^1;r=o^1;do{if(p|r){if(!(o|p)){o=10;break}o=q|r?2:0}else{o=8}}while(0);if((YI(j,d,o)|0)!=0){r=0;i=n;return r|0}if((DL(m,g)|0)!=0){r=0;i=n;return r|0}r=FW(32)|0;gq(r);c[k>>2]=r;h[l+8>>3]=+h[b+160>>3];r=l+16|0;a[r]=0;uK((c[f>>2]|0)+20|0,206184,l)|0;if((a[r]&1)!=0){mq(c[k>>2]|0)|0}CL(c[f>>2]|0);r=c[k>>2]|0;i=n;return r|0}function SI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0;e=i;f=d+16|0;if((a[f]&1)!=0){mq(c[d>>2]|0)|0;a[f]=0}g=+h[d+8>>3];jq(c[d>>2]|0,+(c[b>>2]|0)*g*.015625,g*+(c[b+4>>2]|0)*.015625)|0;i=e;return 0}function TI(b,d){b=b|0;d=d|0;var e=0,f=0.0;e=i;f=+h[d+8>>3];kq(c[d>>2]|0,+(c[b>>2]|0)*f*.015625,f*+(c[b+4>>2]|0)*.015625)|0;a[d+16|0]=1;i=e;return 0}function UI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0;f=i;g=i;i=i+8|0;j=i;i=i+8|0;if(!(pq(c[e>>2]|0,g,j)|0)){i=f;return 0}m=+h[e+8>>3];l=m*+(c[d>>2]|0)*.015625;k=m*+(c[d+4>>2]|0)*.015625;n=+(c[b>>2]|0)*m*.015625*2.0;m=m*+(c[b+4>>2]|0)*.015625*2.0;lq(c[e>>2]|0,(n+ +h[g>>3])*.3333333333333333,(+h[j>>3]+m)*.3333333333333333,(n+l)*.3333333333333333,(m+k)*.3333333333333333,l,k)|0;a[e+16|0]=1;i=f;return 0}function VI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0;g=i;j=+h[f+8>>3];lq(c[f>>2]|0,+(c[b>>2]|0)*j*.015625,j*+(c[b+4>>2]|0)*.015625,j*+(c[d>>2]|0)*.015625,j*+(c[d+4>>2]|0)*.015625,j*+(c[e>>2]|0)*.015625,j*+(c[e+4>>2]|0)*.015625)|0;a[f+16|0]=1;i=g;return 0}function WI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;if((a|0)==0){g=35;i=f;return g|0}if((c[a+16>>2]|0)>>>0<=b>>>0){g=16;i=f;return g|0}g=c[(c[(c[a+96>>2]|0)+20>>2]|0)+92>>2]|0;do{if((g|0)!=0){if(!((d&3|0)!=0|(d&983040|0)==65536)){break}g=Cd[g&63](a,b,1,d,e)|0;if((g|0)==7){break}else if((g|0)!=0){i=f;return g|0}if((d&1|0)!=0){g=0;i=f;return g|0}a=c[a+88>>2]|0;if((a|0)==0){g=36;i=f;return g|0}c[e>>2]=_I(c[e>>2]|0,c[((d&16|0)==0?a+16|0:a+20|0)>>2]|0,64)|0;g=0;i=f;return g|0}}while(0);g=XI(a,b,1,d,e)|0;i=f;return g|0}function XI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;if((a|0)==0){k=35;i=g;return k|0}k=c[a+16>>2]|0;h=d+b|0;if(k>>>0<=b>>>0|h>>>0<b>>>0|h>>>0>k>>>0){k=16;i=g;return k|0}if((d|0)==0){k=0;i=g;return k|0}h=c[(c[(c[a+96>>2]|0)+20>>2]|0)+92>>2]|0;do{if((h|0)==0){j=7}else{if(!((e&3|0)!=0|(e&983040|0)==65536)){j=7;break}k=Cd[h&63](a,b,d,e,f)|0;if((k|0)==0){h=e;break}else if((k|0)==7){j=7;break}i=g;return k|0}}while(0);a:do{if((j|0)==7){if((e&536870912|0)!=0){k=7;i=g;return k|0}h=e|256;j=a+84|0;if((e&16|0)==0){e=0;while(1){k=YI(a,e+b|0,h)|0;if((k|0)!=0){break}c[f+(e<<2)>>2]=c[(c[j>>2]|0)+64>>2];e=e+1|0;if(e>>>0>=d>>>0){break a}}i=g;return k|0}else{e=0;while(1){k=YI(a,e+b|0,h)|0;if((k|0)!=0){break}c[f+(e<<2)>>2]=c[(c[j>>2]|0)+68>>2];e=e+1|0;if(e>>>0>=d>>>0){break a}}i=g;return k|0}}}while(0);if((h&1|0)!=0){k=0;i=g;return k|0}a=c[a+88>>2]|0;if((a|0)==0){k=36;i=g;return k|0}a=c[((h&16|0)==0?a+16|0:a+20|0)>>2]|0;b=0;while(1){k=f+(b<<2)|0;c[k>>2]=_I(c[k>>2]|0,a,64)|0;b=b+1|0;if(b>>>0<d>>>0){}else{k=0;break}}i=g;return k|0}function YI(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;if((d|0)==0){t=35;i=g;return t|0}l=d+88|0;if((c[l>>2]|0)==0){t=35;i=g;return t|0}h=c[d+84>>2]|0;if((h|0)==0){t=35;i=g;return t|0}p=h+156|0;n=c[p>>2]|0;do{if((n|0)==0){k=9}else{if((c[n+4>>2]&1|0)==0){k=9;break}m=c[(c[h+4>>2]|0)+100>>2]|0;j=h+88|0;o=c[j>>2]|0;if((o|0)!=0){hd[c[m+8>>2]&127](m,o);n=c[p>>2]|0}c[j>>2]=0;t=n+4|0;c[t>>2]=c[t>>2]&-2}}while(0);if((k|0)==9){c[h+88>>2]=0}m=h+24|0;a[h+94|0]=0;j=h+72|0;bX(m|0,0,40)|0;bX(j|0,0,16)|0;bX(h+100|0,0,56)|0;n=c[d+96>>2]|0;o=c[(c[n+4>>2]|0)+168>>2]|0;f=(f&1024|0)==0?f:f|2049;if((f&1|0)!=0){f=f&-15|10}a:do{if((o|0)==0){k=28}else{if((f&32770|0)!=0){k=28;break}p=c[c[n>>2]>>2]|0;if((p&768|0)!=256){k=28;break}q=c[d+8>>2]|0;if((q&8192|0)!=0){k=28;break}r=d+128|0;s=c[r>>2]|0;t=(c[s+4>>2]|0)==0;if((c[s+12>>2]|0)==0){if(t){k=28;break}}else{if(!t){k=28;break}}do{if((f&32|0)==0){if((p&1024|0)==0){break}if((f&983040|0)==65536){break}if((a[s+56|0]|0)==0){k=28;break a}}}while(0);do{if((q&2|0)!=0){if((f&8|0)!=0){break}if((pd[c[(c[n+20>>2]|0)+80>>2]&63](h,c[l>>2]|0,e,f|16384)|0)!=0){break}if((c[j>>2]|0)==1651078259){m=0;break a}}}while(0);t=(c[r>>2]|0)+28|0;s=c[t>>2]|0;c[t>>2]=0;m=Cd[c[(c[(c[o>>2]|0)+20>>2]|0)+12>>2]&63](o,h,c[l>>2]|0,e,f)|0;c[t>>2]=s}}while(0);do{if((k|0)==28){k=pd[c[(c[n+20>>2]|0)+80>>2]&63](h,c[l>>2]|0,e,f)|0;if((k|0)!=0){t=k;i=g;return t|0}if((c[j>>2]|0)!=1869968492){m=0;break}n=b[h+110>>1]|0;k=n<<16>>16;o=b[h+108>>1]|0;e=o<<16>>16;do{if((o|n)<<16>>16!=0){if(n<<16>>16<1|o<<16>>16<1){t=6;i=g;return t|0}b:do{if(o<<16>>16>0){q=c[h+120>>2]|0;o=-1;r=0;while(1){t=b[q+(r<<1)>>1]|0;p=t<<16>>16;r=r+1|0;if(!((p|0)>(o|0)&t<<16>>16<n<<16>>16)){h=6;break}if((r|0)<(e|0)){o=p}else{break b}}i=g;return h|0}else{p=-1}}while(0);if((p|0)==(k+ -1|0)){break}else{h=6}i=g;return h|0}}while(0);if((f&2|0)!=0){m=0;break}if((f&16|0)==0){n=h+44|0;c[n>>2]=c[n>>2]&-64;n=h+48|0;c[n>>2]=c[n>>2]&-64;n=h+32|0;q=c[n>>2]|0;p=q+63+(c[m>>2]|0)&-64;o=h+36|0;r=c[o>>2]|0;t=h+28|0;s=r-(c[t>>2]|0)&-64;q=q&-64;c[n>>2]=q;r=r+63&-64;c[o>>2]=r;c[m>>2]=p-q;c[t>>2]=r-s}else{n=h+32|0;c[n>>2]=c[n>>2]&-64;n=h+36|0;c[n>>2]=(c[n>>2]|0)+63&-64;n=h+44|0;q=c[n>>2]|0;p=q+63+(c[m>>2]|0)&-64;o=h+48|0;s=c[o>>2]|0;t=h+28|0;r=s+63+(c[t>>2]|0)&-64;q=q&-64;c[n>>2]=q;s=s&-64;c[o>>2]=s;c[m>>2]=p-q;c[t>>2]=r-s}m=h+40|0;c[m>>2]=(c[m>>2]|0)+32&-64;m=h+52|0;c[m>>2]=(c[m>>2]|0)+32&-64;m=0}}while(0);if((f&16|0)==0){c[h+64>>2]=c[h+40>>2];c[h+68>>2]=0}else{c[h+64>>2]=0;c[h+68>>2]=c[h+52>>2]}do{if((f&8192|0)==0){if((c[d+8>>2]&1|0)==0){break}s=c[l>>2]|0;t=h+56|0;c[t>>2]=_I(c[t>>2]|0,c[s+16>>2]|0,64)|0;t=h+60|0;c[t>>2]=_I(c[t>>2]|0,c[s+20>>2]|0,64)|0}}while(0);do{if((f&2048|0)==0){d=c[d+128>>2]|0;if((c[d+28>>2]|0)==0){break}l=c[(c[(c[h+4>>2]|0)+96>>2]|0)+4>>2]|0;k=c[l+164>>2]|0;if((k|0)==0){e=c[j>>2]|0;k=53}else{e=c[j>>2]|0;if((c[k+24>>2]|0)==(e|0)){m=k;k=58}else{k=53}}c:do{if((k|0)==53){d:do{if((l|0)!=0){n=c[l+156>>2]|0;if((n|0)==0){break}while(1){l=c[n+8>>2]|0;if((c[l+24>>2]|0)==(e|0)){break}n=c[n+4>>2]|0;if((n|0)==0){break d}}if((l|0)!=0){m=l;k=58;break c}}}while(0);l=d+4|0;if((e|0)!=1869968492){break}n=h+112|0;p=c[n>>2]|0;e=h+110|0;t=b[e>>1]|0;o=p+(t<<16>>16<<3)|0;if(t<<16>>16<=0){break}do{IJ(p,l);p=p+8|0;}while(p>>>0<o>>>0);o=c[d+20>>2]|0;d=c[d+24>>2]|0;if((b[e>>1]|0)<=0){break}p=0;n=c[n>>2]|0;while(1){c[n>>2]=(c[n>>2]|0)+o;t=n+4|0;c[t>>2]=(c[t>>2]|0)+d;p=p+1<<16>>16;if((p&65535|0)<(b[e>>1]|0)){n=n+8|0}else{break}}}}while(0);if((k|0)==58){t=d+4|0;l=t;m=pd[c[(c[m+20>>2]|0)+44>>2]&63](m,h,t,d+20|0)|0}IJ(h+64|0,l)}}while(0);if((m|0)!=0){t=m;i=g;return t|0}t=c[j>>2]|0;if((t|0)==1668246896|(t|0)==1651078259){t=0;i=g;return t|0}if((f&4|0)==0){t=0;i=g;return t|0}j=f>>>16&15;k=c[h+4>>2]|0;if((k|0)==0){t=6;i=g;return t|0}t=jK(c[(c[k+96>>2]|0)+4>>2]|0,h,(j|0)!=0|(f&4096|0)==0?j:2)|0;i=g;return t|0}function ZI(a){a=a|0;var b=0;b=i;if((a|0)>-1){a=a+32768&-65536;i=b;return a|0}else{a=0-(32768-a&-65536)|0;i=b;return a|0}return 0}function _I(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;if((a|0)==0|(b|0)==(c|0)){i=d;return a|0}g=(a|0)<0?0-a|0:a;f=(b|0)<0?0-b|0:b;b=b^a^c;c=(c|0)<0?0-c|0:c;do{if((g|0)<46341&(f|0)<46341){if((c+ -1|0)>>>0>=176095){e=5;break}g=((c>>1)+(da(f,g)|0)|0)/(c|0)|0}else{e=5}}while(0);do{if((e|0)==5){if((c|0)<=0){g=2147483647;break}a=g&65535;j=g>>>16;e=f&65535;k=f>>>16;f=da(e,j)|0;h=(da(k,a)|0)+f|0;g=h<<16;a=g+(da(e,a)|0)|0;e=a+(c>>1)|0;a=(h>>>16)+(da(k,j)|0)+((h>>>0<f>>>0)<<16)+(a>>>0<g>>>0)+(e>>>0<a>>>0)|0;if(a>>>0<c>>>0){f=32;g=0}else{g=2147483647;break}while(1){g=g<<1;a=a<<1|e>>>31;if(a>>>0>=c>>>0){g=g|1;a=a-c|0}f=f+ -1|0;if((f|0)==0){break}else{e=e<<1}}}}while(0);k=(b|0)<0?0-g|0:g;i=d;return k|0}function $I(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;if((a|0)==0|(b|0)==(c|0)){g=a;i=d;return g|0}f=(a|0)<0?0-a|0:a;e=(b|0)<0?0-b|0:b;b=b^a^c;c=(c|0)<0?0-c|0:c;a=(c|0)>0;do{if((f|0)<46341&(e|0)<46341&a){a=(da(e,f)|0)/(c|0)|0}else{if(!a){a=2147483647;break}k=f&65535;h=f>>>16;l=e&65535;j=e>>>16;a=da(l,h)|0;f=(da(j,k)|0)+a|0;g=f<<16;e=g+(da(l,k)|0)|0;g=(f>>>16)+(da(j,h)|0)+((f>>>0<a>>>0)<<16)+(e>>>0<g>>>0)|0;if(g>>>0<c>>>0){f=32;a=0}else{a=2147483647;break}while(1){a=a<<1;g=g<<1|e>>>31;if(g>>>0>=c>>>0){a=a|1;g=g-c|0}f=f+ -1|0;if((f|0)==0){break}else{e=e<<1}}}}while(0);l=(b|0)<0?0-a|0:a;i=d;return l|0}function aJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=i;if((a|0)==0|(b|0)==65536){e=a;i=c;return e|0}d=(a|0)<0?0-a|0:a;e=(b|0)<0?0-b|0:b;if(d>>>0<2049&e>>>0<1048577){d=((da(e,d)|0)+32768|0)>>>16}else{f=d&65535;d=(da(e>>>16,f)|0)+(da(d>>>16,e)|0)+(((da(e&65535,f)|0)+32768|0)>>>16)|0}f=(b^a|0)<0?0-d|0:d;i=c;return f|0}function bJ(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=i;d=(a|0)<0?0-a|0:a;a=b^a;b=(b|0)<0?0-b|0:b;do{if((b|0)==0){f=2147483647}else{e=d>>16;f=d<<16;d=(b>>1)+f|0;if((e|0)==0){f=(d>>>0)/(b>>>0)|0;break}g=(d>>>0<f>>>0)+e|0;if(g>>>0<b>>>0){e=32;f=0}else{f=2147483647;break}while(1){f=f<<1;g=g<<1|d>>>31;if(g>>>0>=b>>>0){f=f|1;g=g-b|0}e=e+ -1|0;if((e|0)==0){break}else{d=d<<1}}}}while(0);i=c;return((a|0)<0?0-f|0:f)|0}function cJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=i;if((a|0)==0){r=6;i=b;return r|0}f=c[a>>2]|0;d=a+12|0;j=c[d>>2]|0;if((f|0)==0|(j|0)==65536){h=f}else{e=(f|0)<0?0-f|0:f;g=(j|0)<0?0-j|0:j;if(e>>>0<2049&g>>>0<1048577){e=((da(g,e)|0)+32768|0)>>>16}else{r=e&65535;e=(da(g>>>16,r)|0)+(da(e>>>16,g)|0)+(((da(g&65535,r)|0)+32768|0)>>>16)|0}h=(j^f|0)<0?0-e|0:e}m=a+4|0;e=c[m>>2]|0;k=a+8|0;l=c[k>>2]|0;if((e|0)==0|(l|0)==65536){n=e}else{n=(e|0)<0?0-e|0:e;g=(l|0)<0?0-l|0:l;if(n>>>0<2049&g>>>0<1048577){g=((da(g,n)|0)+32768|0)>>>16}else{r=n&65535;g=(da(g>>>16,r)|0)+(da(n>>>16,g)|0)+(((da(g&65535,r)|0)+32768|0)>>>16)|0}n=(l^e|0)<0?0-g|0:g}g=h-n|0;if((h|0)==(n|0)){r=6;i=b;return r|0}o=(e|0)<0?0-e|0:e;n=e^g;e=(g|0)<0?0-g|0:g;h=(e|0)==0;do{if(h){q=2147483647}else{p=o>>16;q=o<<16;o=q+(e>>1)|0;if((p|0)==0){q=(o>>>0)/(e>>>0)|0;break}r=(o>>>0<q>>>0)+p|0;if(r>>>0<e>>>0){p=32;q=0}else{q=2147483647;break}while(1){q=q<<1;r=r<<1|o>>>31;if(r>>>0>=e>>>0){q=q|1;r=r-e|0}p=p+ -1|0;if((p|0)==0){break}else{o=o<<1}}}}while(0);c[m>>2]=0-((n|0)<0?0-q|0:q);m=(l|0)<0?0-l|0:l;l=l^g;do{if(h){o=2147483647}else{n=m>>16;o=m<<16;m=o+(e>>1)|0;if((n|0)==0){o=(m>>>0)/(e>>>0)|0;break}p=(m>>>0<o>>>0)+n|0;if(p>>>0<e>>>0){n=32;o=0}else{o=2147483647;break}while(1){o=o<<1;p=p<<1|m>>>31;if(p>>>0>=e>>>0){o=o|1;p=p-e|0}n=n+ -1|0;if((n|0)==0){break}else{m=m<<1}}}}while(0);c[k>>2]=0-((l|0)<0?0-o|0:o);k=(j|0)<0?0-j|0:j;j=j^g;do{if(h){n=2147483647}else{l=k>>16;m=k<<16;k=m+(e>>1)|0;if((l|0)==0){n=(k>>>0)/(e>>>0)|0;break}m=(k>>>0<m>>>0)+l|0;if(m>>>0<e>>>0){l=32;n=0}else{n=2147483647;break}while(1){n=n<<1;m=m<<1|k>>>31;if(m>>>0>=e>>>0){n=n|1;m=m-e|0}l=l+ -1|0;if((l|0)==0){break}else{k=k<<1}}}}while(0);c[a>>2]=(j|0)<0?0-n|0:n;a=(f|0)<0?0-f|0:f;f=f^g;do{if(h){j=2147483647}else{g=a>>16;h=a<<16;a=h+(e>>1)|0;if((g|0)==0){j=(a>>>0)/(e>>>0)|0;break}h=(a>>>0<h>>>0)+g|0;if(h>>>0<e>>>0){g=32;j=0}else{j=2147483647;break}while(1){j=j<<1;h=h<<1|a>>>31;if(h>>>0>=e>>>0){j=j|1;h=h-e|0}g=g+ -1|0;if((g|0)==0){break}else{a=a<<1}}}}while(0);c[d>>2]=(f|0)<0?0-j|0:j;r=0;i=b;return r|0}function dJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;d=d<<16;if((a|0)==0|(b|0)==0){i=e;return}j=c[a>>2]|0;p=c[b>>2]|0;k=_I(j,p,d)|0;o=c[a+4>>2]|0;g=b+8|0;q=c[g>>2]|0;k=(_I(o,q,d)|0)+k|0;h=b+4|0;l=c[h>>2]|0;j=_I(j,l,d)|0;f=b+12|0;m=c[f>>2]|0;j=(_I(o,m,d)|0)+j|0;o=c[a+8>>2]|0;p=_I(o,p,d)|0;n=c[a+12>>2]|0;a=(_I(n,q,d)|0)+p|0;l=_I(o,l,d)|0;d=(_I(n,m,d)|0)+l|0;c[b>>2]=k;c[h>>2]=j;c[g>>2]=a;c[f>>2]=d;i=e;return}function eJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;d=d<<16;if((a|0)==0|(b|0)==0){i=e;return}h=c[a>>2]|0;g=_I(h,c[b>>2]|0,d)|0;f=a+4|0;j=c[f>>2]|0;g=(_I(j,c[b+4>>2]|0,d)|0)+g|0;h=_I(h,c[b+8>>2]|0,d)|0;d=(_I(j,c[b+12>>2]|0,d)|0)+h|0;c[a>>2]=g;c[f>>2]=d;i=e;return}function fJ(a){a=a|0;var b=0,c=0,d=0,e=0,f=0;b=i;if((a|0)>0){c=24;e=0;f=0}else{f=0;i=b;return f|0}while(1){e=a>>>30|e<<2;d=f<<1;f=f<<2|1;if(e>>>0>=f>>>0){e=e-f|0;d=d|1}c=c+ -1|0;if((c|0)==0){break}else{f=d;a=a<<2}}i=b;return d|0}function gJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;if((b|0)==0){i=e;return((a|0)>-1?d:0-d|0)|0}if((a|0)==0){a=(b|0)>-1?0-c|0:c;i=e;return a|0}if((d|0)==0){a=(c|0)>-1?b:0-b|0;i=e;return a|0}if((c|0)==0){a=(d|0)>-1?0-a|0:a;i=e;return a|0}f=a&65535;l=a>>>16;g=d&65535;j=d>>>16;k=da(g,l)|0;h=(da(j,f)|0)+k|0;a=h<<16;d=a+(da(g,f)|0)|0;a=(h>>>16)+(da(j,l)|0)+((h>>>0<k>>>0)<<16)+(d>>>0<a>>>0)|0;k=b&65535;h=b>>>16;l=c&65535;j=c>>>16;f=da(l,h)|0;g=(da(j,k)|0)+f|0;b=g<<16;c=b+(da(l,k)|0)|0;b=(g>>>16)+(da(j,h)|0)+((g>>>0<f>>>0)<<16)+(c>>>0<b>>>0)|0;if(a>>>0>b>>>0){l=1;i=e;return l|0}if(a>>>0<b>>>0){l=-1;i=e;return l|0}if(d>>>0>c>>>0){l=1;i=e;return l|0}l=(d>>>0<c>>>0)<<31>>31;i=e;return l|0}function hJ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=c+a|0;f=d+b|0;e=((f|0)<0?0-f|0:f)+((e|0)<0?0-e|0:e)|0;i=i;return(((b|0)<0?0-b|0:b)+((a|0)<0?0-a|0:a)+((c|0)<0?0-c|0:c)+((d|0)<0?0-d|0:d)-e|0)<(e>>4|0)|0}function iJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;e=Bd[c[a+4>>2]&255](a,96)|0;f=(e|0)==0;g=f?64:0;if(f){i=d;return g|0}bX(e|0,0,96)|0;c[e>>2]=a;c[b>>2]=e;i=d;return g|0}function jJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;do{if((b|0)>0){f=Bd[c[a+4>>2]&255](a,b)|0;g=(f|0)==0;a=g?64:0;if(g){f=0;break}bX(f|0,0,b|0)|0}else{f=0;a=b>>31&6}}while(0);c[d>>2]=a;i=e;return f|0}function kJ(a){a=a|0;var d=0,e=0;d=i;e=a+20|0;b[a+22>>1]=0;b[e>>1]=0;c[a+48>>2]=0;$W(a+56|0,e|0,36)|0;i=d;return}function lJ(a,b){a=a|0;b=b|0;var d=0;d=i;if((b|0)==0){i=d;return}hd[c[a+8>>2]&127](a,b);i=d;return}function mJ(a){a=a|0;var d=0,e=0,f=0,g=0;e=i;if((a|0)==0){i=e;return}d=c[a>>2]|0;f=a+24|0;g=c[f>>2]|0;if((g|0)!=0){hd[c[d+8>>2]&127](d,g)}c[f>>2]=0;f=a+28|0;g=c[f>>2]|0;if((g|0)!=0){hd[c[d+8>>2]&127](d,g)}c[f>>2]=0;f=a+32|0;g=c[f>>2]|0;if((g|0)!=0){hd[c[d+8>>2]&127](d,g)}c[f>>2]=0;f=a+40|0;g=c[f>>2]|0;if((g|0)!=0){hd[c[d+8>>2]&127](d,g)}c[f>>2]=0;g=a+52|0;f=c[g>>2]|0;if((f|0)!=0){hd[c[d+8>>2]&127](d,f)}c[g>>2]=0;c[a+44>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;g=a+20|0;b[a+22>>1]=0;b[g>>1]=0;c[a+48>>2]=0;$W(a+56|0,g|0,36)|0;hd[c[d+8>>2]&127](d,a);i=e;return}function nJ(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;k=c[d>>2]|0;f=d+4|0;j=c[f>>2]|0;h=j<<1;a:do{if((h|0)<0){f=6}else{do{if((h|0)==0){k=0;g=10}else{if((h|0)>268435455){f=10;break a}j=j<<4;do{if((j|0)>0){k=Bd[c[k+4>>2]&255](k,j)|0;l=(k|0)==0;m=l?64:0;if(l){k=0;break}bX(k|0,0,j|0)|0}else{k=0;m=j>>31&6}}while(0);l=(m|0)==0;if(l&(h|0)>0){bX(k|0,0,j|0)|0;g=10;break}h=d+40|0;c[h>>2]=k;if(l){break}i=e;return m|0}}while(0);if((g|0)==10){h=d+40|0;c[h>>2]=k}a[d+16|0]=1;k=c[h>>2]|0;l=c[f>>2]|0;c[d+44>>2]=k+(l<<3);m=b[d+22>>1]|0;c[d+60>>2]=(c[d+24>>2]|0)+(m<<3);c[d+64>>2]=(c[d+28>>2]|0)+m;c[d+68>>2]=(c[d+32>>2]|0)+(b[d+20>>1]<<1);c[d+76>>2]=(c[h>>2]|0)+(m<<3);c[d+80>>2]=k+(l+m<<3);m=0;i=e;return m|0}}while(0);c[d+40>>2]=0;m=f;i=e;return m|0}function oJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;a:do{if((d|b|e|0)<0){a=6}else{do{if((e|0)==0|(b|0)==0){if((f|0)==0){f=0;a=0;break}hd[c[a+8>>2]&127](a,f);f=0;a=0}else{if((2147483647/(b|0)|0|0)<(e|0)){a=10;break a}if((d|0)!=0){k=da(d,b)|0;j=da(e,b)|0;a=pd[c[a+12>>2]&63](a,k,j,f)|0;j=(a|0)==0;f=j?f:a;a=j?64:0;break}j=da(e,b)|0;if((j|0)<=0){f=0;a=j>>31&6;break}f=Bd[c[a+4>>2]&255](a,j)|0;k=(f|0)==0;a=k?64:0;if(k){f=0;break}bX(f|0,0,j|0)|0}}while(0);if(!((a|0)==0&(e|0)>(d|0))){break}bX(f+(da(d,b)|0)|0,0,da(e-d|0,b)|0)|0;a=0}}while(0);c[g>>2]=a;i=h;return f|0}function pJ(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;j=c[d>>2]|0;h=d+22|0;l=(b[h>>1]|0)+e+(b[d+58>>1]|0)|0;e=d+4|0;k=c[e>>2]|0;a:do{if(l>>>0>k>>>0){m=l+7|0;l=m&-8;if(l>>>0>32767){s=10;i=g;return s|0}p=d+24|0;q=c[p>>2]|0;b:do{if((m|k|0)<0){d=6}else{o=(l|0)==0;do{if(o){if((q|0)==0){q=0;r=0;break}hd[c[j+8>>2]&127](j,q);q=0;r=0}else{if((l|0)>268435455){d=10;break b}if((k|0)!=0){r=pd[c[j+12>>2]&63](j,k<<3,l<<3,q)|0;n=(r|0)==0;q=n?q:r;r=n?64:0;break}s=l<<3;if((l|0)<=0){q=0;r=m>>>28&6;break}q=Bd[c[j+4>>2]&255](j,s)|0;r=(q|0)==0;n=r?64:0;if(r){q=0;r=n;break}bX(q|0,0,s|0)|0;r=n}}while(0);s=(r|0)==0;n=(l|0)>(k|0);do{if(s&n){bX(q+(k<<3)|0,0,l-k<<3|0)|0;c[p>>2]=q}else{c[p>>2]=q;if(s){break}else{q=r}i=g;return q|0}}while(0);p=d+28|0;q=c[p>>2]|0;do{if(o){if((q|0)==0){o=0;q=0;break}hd[c[j+8>>2]&127](j,q);o=0;q=0}else{if((k|0)!=0){o=pd[c[j+12>>2]&63](j,k,l,q)|0;m=(o|0)==0;o=m?q:o;q=m?64:0;break}if((l|0)<=0){o=0;q=m>>31&6;break}o=Bd[c[j+4>>2]&255](j,l)|0;m=(o|0)==0;q=m?64:0;if(m){o=0;break}bX(o|0,0,l|0)|0}}while(0);m=(q|0)==0;do{if(m&n){bX(o+k|0,0,l-k|0)|0;c[p>>2]=o}else{c[p>>2]=o;if(m){break}i=g;return q|0}}while(0);c:do{if((a[d+16|0]|0)!=0){o=k<<1;n=l<<1;m=d+40|0;p=c[m>>2]|0;d:do{if((n|o|0)<0){d=6}else{do{if((n|0)==0){if((p|0)==0){p=0;q=0;break}hd[c[j+8>>2]&127](j,p);p=0;q=0}else{if((n|0)>268435455){d=10;break d}if((o|0)!=0){r=pd[c[j+12>>2]&63](j,k<<4,l<<4,p)|0;q=(r|0)==0;p=q?p:r;q=q?64:0;break}r=l<<4;if((r|0)<=0){p=0;q=r>>31&6;break}p=Bd[c[j+4>>2]&255](j,r)|0;s=(p|0)==0;q=s?64:0;if(s){p=0;break}bX(p|0,0,r|0)|0}}while(0);r=(q|0)==0;do{if(r&(n|0)>(o|0)){bX(p+(k<<4)|0,0,n-o<<3|0)|0;c[m>>2]=p}else{c[m>>2]=p;if(r){break}i=g;return q|0}}while(0);aX(p+(l<<3)|0,p+(k<<3)|0,k<<3|0)|0;c[d+44>>2]=(c[m>>2]|0)+(l<<3);break c}}while(0);c[m>>2]=p;s=d;i=g;return s|0}}while(0);c[e>>2]=l;n=1;break a}}while(0);c[p>>2]=q;s=d;i=g;return s|0}else{n=0}}while(0);k=d+8|0;l=c[k>>2]|0;e=d+20|0;m=b[e>>1]|0;f=(m<<16>>16)+f+(b[d+56>>1]|0)|0;e:do{if(f>>>0>l>>>0){o=f+3|0;f=o&-4;if(f>>>0>32767){s=10;i=g;return s|0}m=d+32|0;n=c[m>>2]|0;f:do{if((o|l|0)<0){d=6}else{do{if((f|0)==0){if((n|0)==0){j=0;q=0;break}hd[c[j+8>>2]&127](j,n);j=0;q=0}else{if((f|0)>1073741823){d=10;break f}if((l|0)!=0){j=pd[c[j+12>>2]&63](j,l<<1,f<<1,n)|0;o=(j|0)==0;j=o?n:j;q=o?64:0;break}n=f<<1;if((f|0)<=0){j=0;q=o>>30&6;break}j=Bd[c[j+4>>2]&255](j,n)|0;o=(j|0)==0;q=o?64:0;if(o){j=0;break}bX(j|0,0,n|0)|0}}while(0);n=(q|0)==0;do{if(n&(f|0)>(l|0)){bX(j+(l<<1)|0,0,f-l<<1|0)|0;c[m>>2]=j}else{c[m>>2]=j;if(n){break}i=g;return q|0}}while(0);c[k>>2]=f;m=b[e>>1]|0;break e}}while(0);c[m>>2]=n;s=d;i=g;return s|0}else{if(n<<24>>24==0){s=0;i=g;return s|0}else{j=c[d+32>>2]|0;break}}}while(0);h=b[h>>1]|0;c[d+60>>2]=(c[d+24>>2]|0)+(h<<3);c[d+64>>2]=(c[d+28>>2]|0)+h;c[d+68>>2]=j+(m<<16>>16<<1);if((a[d+16|0]|0)==0){s=0;i=g;return s|0}c[d+76>>2]=(c[d+40>>2]|0)+(h<<3);c[d+80>>2]=(c[d+44>>2]|0)+(h<<3);s=0;i=g;return s|0}function qJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;k=c[a>>2]|0;e=a+48|0;f=(c[e>>2]|0)+b+(c[a+84>>2]|0)|0;b=a+12|0;h=c[b>>2]|0;if(f>>>0<=h>>>0){m=0;i=d;return m|0}l=f+1|0;g=l&-2;f=a+52|0;j=c[f>>2]|0;a:do{if((l|h|0)<0){a=6}else{do{if((g|0)==0){if((j|0)==0){j=0;k=0;break}hd[c[k+8>>2]&127](k,j);j=0;k=0}else{if((g|0)>67108863){a=10;break a}if((h|0)!=0){l=pd[c[k+12>>2]&63](k,h<<5,g<<5,j)|0;k=(l|0)==0;j=k?j:l;k=k?64:0;break}j=g<<5;if((g|0)<=0){j=0;k=l>>>26&6;break}m=Bd[c[k+4>>2]&255](k,j)|0;l=(m|0)==0;k=l?64:0;if(l){j=0;break}bX(m|0,0,j|0)|0;j=m}}while(0);l=(k|0)==0;do{if(l&(g|0)>(h|0)){bX(j+(h<<5)|0,0,g-h<<5|0)|0;c[f>>2]=j}else{c[f>>2]=j;if(l){break}i=d;return k|0}}while(0);c[b>>2]=g;c[a+88>>2]=j+(c[e>>2]<<5);m=0;i=d;return m|0}}while(0);c[f>>2]=j;m=a;i=d;return m|0}function rJ(d){d=d|0;var e=0,f=0,g=0;e=i;b[d+58>>1]=0;b[d+56>>1]=0;c[d+84>>2]=0;f=b[d+22>>1]|0;c[d+60>>2]=(c[d+24>>2]|0)+(f<<3);c[d+64>>2]=(c[d+28>>2]|0)+f;c[d+68>>2]=(c[d+32>>2]|0)+(b[d+20>>1]<<1);if((a[d+16|0]|0)==0){f=d+52|0;f=c[f>>2]|0;g=d+48|0;g=c[g>>2]|0;g=g<<5;g=f+g|0;f=d+88|0;c[f>>2]=g;i=e;return}c[d+76>>2]=(c[d+40>>2]|0)+(f<<3);c[d+80>>2]=(c[d+44>>2]|0)+(f<<3);g=d+52|0;g=c[g>>2]|0;f=d+48|0;f=c[f>>2]|0;f=f<<5;f=g+f|0;g=d+88|0;c[g>>2]=f;i=e;return}function sJ(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;if((d|0)==0){i=g;return}j=d+56|0;r=b[j>>1]|0;n=r<<16>>16;l=d+22|0;o=b[l>>1]|0;h=d+58|0;p=(b[h>>1]|0)+o<<16>>16;b[l>>1]=p;m=d+20|0;q=r+(b[m>>1]|0)<<16>>16;b[m>>1]=q;k=d+84|0;f=d+48|0;c[f>>2]=(c[f>>2]|0)+(c[k>>2]|0);e=d+68|0;if(r<<16>>16!=0){p=0;do{r=(c[e>>2]|0)+(p<<1)|0;b[r>>1]=(b[r>>1]|0)+o<<16>>16;p=p+1|0;}while(p>>>0<n>>>0);q=b[m>>1]|0;p=b[l>>1]|0}b[h>>1]=0;b[j>>1]=0;c[k>>2]=0;h=p<<16>>16;c[d+60>>2]=(c[d+24>>2]|0)+(h<<3);c[d+64>>2]=(c[d+28>>2]|0)+h;c[e>>2]=(c[d+32>>2]|0)+(q<<16>>16<<1);if((a[d+16|0]|0)!=0){c[d+76>>2]=(c[d+40>>2]|0)+(h<<3);c[d+80>>2]=(c[d+44>>2]|0)+(h<<3)}c[d+88>>2]=(c[d+52>>2]|0)+(c[f>>2]<<5);i=g;return}function tJ(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;g=b[e+22>>1]|0;j=g<<16>>16;h=b[e+20>>1]|0;k=h<<16>>16;l=pJ(d,j,k)|0;if((l|0)!=0){i=f;return l|0}m=d+24|0;q=j<<3;$W(c[m>>2]|0,c[e+24>>2]|0,q|0)|0;n=d+28|0;$W(c[n>>2]|0,c[e+28>>2]|0,j|0)|0;o=d+32|0;$W(c[o>>2]|0,c[e+32>>2]|0,k<<1|0)|0;r=d+16|0;p=a[r]|0;do{if(p<<24>>24==0){p=0}else{if((a[e+16|0]|0)==0){break}$W(c[d+40>>2]|0,c[e+40>>2]|0,q|0)|0;$W(c[d+44>>2]|0,c[e+44>>2]|0,q|0)|0;p=a[r]|0}}while(0);b[d+22>>1]=g;b[d+20>>1]=h;c[d+60>>2]=(c[m>>2]|0)+(j<<3);c[d+64>>2]=(c[n>>2]|0)+j;c[d+68>>2]=(c[o>>2]|0)+(k<<1);if(p<<24>>24==0){i=f;return l|0}c[d+76>>2]=(c[d+40>>2]|0)+(j<<3);c[d+80>>2]=(c[d+44>>2]|0)+(j<<3);i=f;return l|0}function uJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;a:do{if((a|0)==0|(b|0)==0){b=0}else{e=c[a>>2]|0;if((e|0)==0){b=0;break}else{f=a}while(1){a=f+8|0;if((Qc(e|0,b|0)|0)==0){break}e=c[a>>2]|0;if((e|0)==0){b=0;break a}else{f=a}}b=c[f+4>>2]|0}}while(0);i=d;return b|0}function vJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+12>>2]=0;i=i;return}function wJ(a,b){a=a|0;b=b|0;c[a+12>>2]=b;_a(a+16|0,1)}function xJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;c[d>>2]=0;if((a|0)==0){h=33;i=e;return h|0}if((b|0)==0){h=6;i=e;return h|0}a=c[a>>2]|0;f=Bd[c[a+4>>2]&255](a,40)|0;h=(f|0)==0;g=h?64:0;if(h){h=64;i=e;return h|0}bX(f|0,0,40)|0;c[f+28>>2]=a;h=c[b>>2]|0;do{if((h&1|0)==0){if((h&4|0)!=0){b=b+12|0;g=HL(f,c[b>>2]|0)|0;c[f+16>>2]=c[b>>2];b=12;break}if((h&2|0)==0){g=6;b=13;break}h=b+16|0;b=c[h>>2]|0;if((b|0)==0){g=6;b=13;break}if((f|0)==0){f=b;b=12;break}hd[c[a+8>>2]&127](a,f);f=c[h>>2]|0;b=12}else{h=c[b+8>>2]|0;c[f>>2]=c[b+4>>2];c[f+4>>2]=h;c[f+8>>2]=0;c[f+32>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;b=12}}while(0);do{if((b|0)==12){if((g|0)!=0){b=13;break}c[f+28>>2]=a;g=0}}while(0);do{if((b|0)==13){if((f|0)==0){f=0;break}hd[c[a+8>>2]&127](a,f);f=0}}while(0);c[d>>2]=f;h=g;i=e;return h|0}function yJ(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=0;c[a+32>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;i=i;return}function zJ(a){a=a|0;var b=0,d=0;b=i;do{if((a|0)!=0){d=c[a+24>>2]|0;if((d|0)==0){break}fd[d&511](a)}}while(0);i=b;return}function AJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;e=a+156|0;d=c[e>>2]|0;do{if((d|0)!=0){if((c[d+4>>2]&1|0)==0){break}f=c[(c[a+4>>2]|0)+100>>2]|0;a=a+88|0;g=c[a>>2]|0;if((g|0)!=0){hd[c[f+8>>2]&127](f,g);d=c[e>>2]|0}c[a>>2]=0;g=d+4|0;c[g>>2]=c[g>>2]&-2;i=b;return}}while(0);c[a+88>>2]=0;i=b;return}function BJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;g=a+156|0;f=c[g>>2]|0;do{if((f|0)!=0){if((c[f+4>>2]&1|0)==0){break}j=c[(c[a+4>>2]|0)+100>>2]|0;e=a+88|0;h=c[e>>2]|0;if((h|0)!=0){hd[c[j+8>>2]&127](j,h);f=c[g>>2]|0}c[e>>2]=0;j=f+4|0;c[j>>2]=c[j>>2]&-2;j=a+88|0;c[j>>2]=b;i=d;return}}while(0);c[a+88>>2]=0;j=a+88|0;c[j>>2]=b;i=d;return}function CJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;e=c[(c[a+4>>2]|0)+100>>2]|0;g=(c[a+156>>2]|0)+4|0;f=c[g>>2]|0;if((f&1|0)==0){c[g>>2]=f|1}else{g=a+88|0;f=c[g>>2]|0;if((f|0)!=0){hd[c[e+8>>2]&127](e,f)}c[g>>2]=0}do{if((b|0)>0){f=Bd[c[e+4>>2]&255](e,b)|0;g=(f|0)==0;e=g?64:0;if(g){f=0;break}bX(f|0,0,b|0)|0}else{f=0;e=b>>31&6}}while(0);c[a+88>>2]=f;i=d;return e|0}function DJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;if((a|0)==0){n=6;i=f;return n|0}j=a+96|0;g=c[j>>2]|0;if((g|0)==0){n=6;i=f;return n|0}e=c[g+8>>2]|0;k=c[(c[g+20>>2]|0)+44>>2]|0;do{if((k|0)>0){g=Bd[c[e+4>>2]&255](e,k)|0;l=(g|0)==0;h=l?64:0;if(l){g=0;break}bX(g|0,0,k|0)|0}else{g=0;h=k>>31&6}}while(0);if((h|0)!=0){if((b|0)==0){n=h;i=f;return n|0}c[b>>2]=0;n=h;i=f;return n|0}h=g+4|0;c[h>>2]=a;m=c[j>>2]|0;j=c[m+20>>2]|0;k=c[m+8>>2]|0;c[g>>2]=c[m+4>>2];n=k+4|0;l=Bd[c[n>>2]&255](k,40)|0;do{if((l|0)==0){b=64}else{bX(l|0,0,40)|0;c[g+156>>2]=l;if((c[c[m>>2]>>2]&512|0)==0){m=Bd[c[n>>2]&255](k,96)|0;if((m|0)==0){b=64;break}bX(m|0,0,96)|0;c[m>>2]=k;c[l>>2]=m}j=c[j+64>>2]|0;if((j|0)!=0){j=jd[j&511](g)|0;if((j|0)!=0){b=j;break}}n=a+84|0;c[g+8>>2]=c[n>>2];c[n>>2]=g;if((b|0)==0){n=0;i=f;return n|0}c[b>>2]=g;n=0;i=f;return n|0}}while(0);k=c[(c[h>>2]|0)+96>>2]|0;a=c[k+8>>2]|0;j=c[(c[k+20>>2]|0)+68>>2]|0;if((j|0)!=0){fd[j&511](g)}j=g+156|0;l=c[j>>2]|0;do{if((l|0)==0){d=21}else{if((c[l+4>>2]&1|0)==0){d=21;break}m=c[(c[h>>2]|0)+100>>2]|0;h=g+88|0;n=c[h>>2]|0;if((n|0)!=0){hd[c[m+8>>2]&127](m,n);l=c[j>>2]|0}c[h>>2]=0;l=l+4|0;c[l>>2]=c[l>>2]&-2;l=c[j>>2]|0}}while(0);if((d|0)==21){c[g+88>>2]=0}if((l|0)!=0){if((c[c[k>>2]>>2]&512|0)==0){mJ(c[l>>2]|0);c[c[j>>2]>>2]=0;l=c[j>>2]|0;if((l|0)!=0){d=25}}else{d=25}if((d|0)==25){hd[c[a+8>>2]&127](a,l)}c[j>>2]=0}if((g|0)==0){n=b;i=f;return n|0}hd[c[e+8>>2]&127](e,g);n=b;i=f;return n|0}function EJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;if((a|0)==0){i=e;return}g=a+4|0;f=c[g>>2]|0;d=c[(c[f+96>>2]|0)+8>>2]|0;f=f+84|0;j=c[f>>2]|0;if((j|0)==0){i=e;return}else{h=0}while(1){if((j|0)==(a|0)){break}h=c[j+8>>2]|0;if((h|0)==0){b=22;break}else{m=j;j=h;h=m}}if((b|0)==22){i=e;return}j=c[a+8>>2]|0;if((h|0)==0){c[f>>2]=j}else{c[h+8>>2]=j}j=c[(c[g>>2]|0)+96>>2]|0;f=c[j+8>>2]|0;h=c[(c[j+20>>2]|0)+68>>2]|0;if((h|0)!=0){fd[h&511](a)}h=a+156|0;k=c[h>>2]|0;do{if((k|0)==0){b=15}else{if((c[k+4>>2]&1|0)==0){b=15;break}l=c[(c[g>>2]|0)+100>>2]|0;g=a+88|0;m=c[g>>2]|0;if((m|0)!=0){hd[c[l+8>>2]&127](l,m);k=c[h>>2]|0}c[g>>2]=0;k=k+4|0;c[k>>2]=c[k>>2]&-2;k=c[h>>2]|0}}while(0);if((b|0)==15){c[a+88>>2]=0}if((k|0)!=0){if((c[c[j>>2]>>2]&512|0)==0){mJ(c[k>>2]|0);c[c[h>>2]>>2]=0;k=c[h>>2]|0;if((k|0)!=0){b=19}}else{b=19}if((b|0)==19){hd[c[f+8>>2]&127](f,k)}c[h>>2]=0}hd[c[d+8>>2]&127](d,a);i=e;return}function FJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;if((a|0)==0){i=e;return}f=c[a+128>>2]|0;a=f+28|0;c[a>>2]=0;h=f+4|0;if((b|0)==0){c[h>>2]=65536;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=65536;b=h}else{$W(h|0,b|0,16)|0}do{if((c[b+8>>2]|c[b+4>>2]|0)==0){if((c[b>>2]|0)!=65536){g=8;break}if((c[b+12>>2]|0)==65536){b=2}else{g=8}}else{g=8}}while(0);if((g|0)==8){c[a>>2]=1;b=3}g=f+20|0;if((d|0)==0){c[g>>2]=0;c[f+24>>2]=0;f=0;d=g}else{j=d;h=c[j+4>>2]|0;f=g;c[f>>2]=c[j>>2];c[f+4>>2]=h;f=c[d>>2]|0}if((c[d+4>>2]|f|0)==0){i=e;return}c[a>>2]=b;i=e;return}function GJ(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;e=i;if((a|0)==0|(d|0)==0){i=e;return}f=c[a+4>>2]|0;g=b[a+2>>1]|0;a=f+(g<<16>>16<<3)|0;if(g<<16>>16<=0){i=e;return}do{IJ(f,d);f=f+8|0;}while(f>>>0<a>>>0);i=e;return}function HJ(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;if((a|0)==0){i=f;return}g=a+2|0;if((b[g>>1]|0)<=0){i=f;return}h=0;a=c[a+4>>2]|0;while(1){c[a>>2]=(c[a>>2]|0)+d;j=a+4|0;c[j>>2]=(c[j>>2]|0)+e;h=h+1<<16>>16;if((h&65535|0)<(b[g>>1]|0)){a=a+8|0}else{break}}i=f;return}function IJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;if((a|0)==0|(b|0)==0){i=d;return}g=c[a>>2]|0;e=c[b>>2]|0;j=(g|0)==0;if(j|(e|0)==65536){k=g}else{h=(g|0)<0?0-g|0:g;f=(e|0)<0?0-e|0:e;if(h>>>0<2049&f>>>0<1048577){f=((da(f,h)|0)+32768|0)>>>16}else{n=h&65535;f=(da(f>>>16,n)|0)+(da(h>>>16,f)|0)+(((da(f&65535,n)|0)+32768|0)>>>16)|0}k=(e^g|0)<0?0-f|0:f}e=a+4|0;f=c[e>>2]|0;l=c[b+4>>2]|0;h=(f|0)==0;if(h|(l|0)==65536){l=f}else{m=(f|0)<0?0-f|0:f;n=(l|0)<0?0-l|0:l;if(m>>>0<2049&n>>>0<1048577){m=((da(n,m)|0)+32768|0)>>>16}else{o=m&65535;m=(da(n>>>16,o)|0)+(da(m>>>16,n)|0)+(((da(n&65535,o)|0)+32768|0)>>>16)|0}l=(l^f|0)<0?0-m|0:m}k=l+k|0;l=c[b+8>>2]|0;if(!(j|(l|0)==65536)){j=(g|0)<0?0-g|0:g;m=(l|0)<0?0-l|0:l;if(j>>>0<2049&m>>>0<1048577){j=((da(m,j)|0)+32768|0)>>>16}else{o=j&65535;j=(da(m>>>16,o)|0)+(da(j>>>16,m)|0)+(((da(m&65535,o)|0)+32768|0)>>>16)|0}g=(l^g|0)<0?0-j|0:j}b=c[b+12>>2]|0;if(!(h|(b|0)==65536)){h=(f|0)<0?0-f|0:f;j=(b|0)<0?0-b|0:b;if(h>>>0<2049&j>>>0<1048577){h=((da(j,h)|0)+32768|0)>>>16}else{o=h&65535;h=(da(j>>>16,o)|0)+(da(h>>>16,j)|0)+(((da(j&65535,o)|0)+32768|0)>>>16)|0}f=(b^f|0)<0?0-h|0:h}c[a>>2]=k;c[e>>2]=f+g;i=d;return}function JJ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;if((a|0)==0){e=6;i=d;return e|0}e=c[a+4>>2]|0;if((e|0)==0){e=6;i=d;return e|0}e=jK(c[(c[e+96>>2]|0)+4>>2]|0,a,b)|0;i=d;return e|0}function KJ(a,b){a=a|0;b=b|0;var d=0;d=i;if((a|0)==0){a=0;i=d;return a|0}a=c[a+92>>2]|0;if((a|0)==0){a=0;i=d;return a|0}a=Bd[c[(c[a+12>>2]|0)+12>>2]&255](a,b)|0;i=d;return a|0}function LJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;g=i;i=i+32|0;h=g;if((b|0)==0){e=6;i=f;return e|0}c[g>>2]=4;c[h+12>>2]=b;c[h+16>>2]=0;e=MJ(a,h,d,e)|0;i=f;return e|0}function MJ(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;h=i;r=i;i=i+40|0;o=r;v=i;i=i+40|0;w=i;i=i+40|0;s=i;i=i+32|0;t=s;u=i;i=i+8|0;x=u;m=i;i=i+8|0;l=i;i=i+8|0;F=l;C=i;i=i+8|0;D=C;c[m>>2]=0;c[l>>2]=0;y=(g|0)!=0;E=(f|0)>-1;if(E&(y^1)|(e|0)==0){O=6;i=h;return O|0}if((c[e>>2]&2|0)==0){k=0}else{k=(c[e+16>>2]|0)!=0|0}G=xJ(d,e,m)|0;a:do{if((G|0)==0){G=c[d>>2]|0;I=c[e>>2]|0;do{if((I&8|0)==0){q=17}else{H=c[e+20>>2]|0;if((H|0)==0){q=17;break}if((c[c[H>>2]>>2]&1|0)==0){I=c[m>>2]|0;p=32}else{if((I&16|0)==0){J=0;K=0}else{J=c[e+24>>2]|0;K=c[e+28>>2]|0}I=c[m>>2]|0;H=OJ(H,I,f,J,K,F)|0;if((H|0)==0){break}else{p=H}}if((I|0)==0){break a}C=c[I+28>>2]|0;y=c[I+24>>2]|0;if((y|0)!=0){fd[y&511](I)}if(k<<24>>24!=0){break a}hd[c[C+8>>2]&127](C,I);break a}}while(0);b:do{if((q|0)==17){O=c[d+24>>2]|0;H=d+28+(O<<2)|0;if((O|0)<=0){n=0;q=36;break a}I=e+24|0;J=e+28|0;L=0;K=d+28|0;c:while(1){M=c[K>>2]|0;if((c[c[M>>2]>>2]&1|0)==0){M=L}else{if((c[e>>2]&16|0)==0){O=0;N=0}else{O=c[I>>2]|0;N=c[J>>2]|0}L=c[m>>2]|0;M=OJ(M,L,f,O,N,F)|0;if((M|0)==0){break b}do{if((Qc(c[(c[c[K>>2]>>2]|0)+8>>2]|0,206240)|0)==0){if((M&255|0)!=142){break}N=c[L+20>>2]|0;if((N|0)!=0){if((pd[N&63](L,0,0,0)|0)!=0){B=M;q=35;break a}}c[L+8>>2]=0;M=QJ(d,L,f,g)|0;if((M|0)==0){break c}}}while(0);if((M&255|0)!=2){B=M;q=35;break a}}K=K+4|0;if(K>>>0<H>>>0){L=M}else{B=M;q=35;break a}}if((L|0)==0){O=0;i=h;return O|0}j=c[L+28>>2]|0;l=c[L+24>>2]|0;if((l|0)!=0){fd[l&511](L)}if(k<<24>>24!=0){O=0;i=h;return O|0}hd[c[j+8>>2]&127](j,L);O=0;i=h;return O|0}}while(0);if(k<<24>>24!=0){O=(c[l>>2]|0)+8|0;c[O>>2]=c[O>>2]|1024}H=Bd[c[G+4>>2]&255](G,12)|0;F=(H|0)==0;p=F?64:0;if(F){p=64;break}F=H;G=F;F=F+4|0;a[G]=0;a[G+1|0]=0;a[G+2|0]=0;a[G+3|0]=0;a[F]=0;a[F+1|0]=0;a[F+2|0]=0;a[F+3|0]=0;F=c[l>>2]|0;c[H+8>>2]=F;G=F+96|0;I=c[G>>2]|0;K=I+28|0;J=c[K>>2]|0;c[H+4>>2]=0;c[H>>2]=J;if((J|0)==0){c[I+24>>2]=H}else{c[J+4>>2]=H}c[K>>2]=H;if(E){p=DJ(F,0)|0;if((p|0)!=0){break}p=RJ(F,D)|0;if((p|0)!=0){break}c[F+88>>2]=c[C>>2];p=0}k=c[F+8>>2]|0;do{if((k&1|0)!=0){m=F+74|0;l=b[m>>1]|0;if(l<<16>>16<0){l=0-l<<16>>16;b[m>>1]=l}if((k&32|0)!=0){break}b[F+78>>1]=l}}while(0);do{if((k&2|0)!=0){k=F+28|0;if((c[k>>2]|0)>0){l=0}else{break}do{m=c[F+32>>2]|0;n=m+(l<<4)|0;o=b[n>>1]|0;if(o<<16>>16<0){b[n>>1]=0-o<<16>>16}o=m+(l<<4)+8|0;n=c[o>>2]|0;if((n|0)<0){c[o>>2]=0-n<<16>>16}n=m+(l<<4)+12|0;m=c[n>>2]|0;if((m|0)<0){c[n>>2]=0-m}l=l+1|0;}while((l|0)<(c[k>>2]|0))}}while(0);k=F+128|0;O=c[k>>2]|0;c[O+4>>2]=65536;c[O+8>>2]=0;c[O+12>>2]=0;c[O+16>>2]=65536;c[O+20>>2]=0;c[O+24>>2]=0;c[O+60>>2]=1;if(y){c[g>>2]=F;O=p;i=h;return O|0}if((F|0)==0){O=p;i=h;return O|0}if((c[G>>2]|0)==0){O=p;i=h;return O|0}O=(c[k>>2]|0)+60|0;c[O>>2]=(c[O>>2]|0)+ -1;if((c[(c[k>>2]|0)+60>>2]|0)!=0){O=p;i=h;return O|0}l=c[G>>2]|0;k=c[l+8>>2]|0;m=l+24|0;n=c[m>>2]|0;if((n|0)==0){O=p;i=h;return O|0}while(1){if((c[n+8>>2]|0)==(F|0)){break}o=c[n+4>>2]|0;if((o|0)==0){j=p;q=134;break}else{n=o}}if((q|0)==134){i=h;return j|0}o=c[n>>2]|0;j=c[n+4>>2]|0;if((o|0)==0){c[m>>2]=j}else{c[o+4>>2]=j}if((j|0)==0){c[l+28>>2]=o}else{c[j>>2]=o}if((n|0)!=0){hd[c[k+8>>2]&127](k,n)}UJ(k,F,l);O=p;i=h;return O|0}else{B=G;q=35}}while(0);do{if((q|0)==35){O=B&255;if(!((O|0)==85|(O|0)==2|(O|0)==81)){n=B;q=36;break}y=c[m>>2]|0;z=oL(d,y,f,g)|0;if((z&255|0)==2){z=pL(d,y,0,f,g)|0}O=z&255;do{if((O|0)==85|(O|0)==2){if((c[e>>2]&4|0)==0){o=z;break}z=c[d>>2]|0;c[u>>2]=0;e=e+12|0;B=c[e>>2]|0;E=(y|0)==0;D=y+20|0;C=y+8|0;F=0;do{G=o+(F<<2)|0;c[G>>2]=0;d:do{if(E){c[w+(F<<2)>>2]=0;q=48}else{A=c[D>>2]|0;do{if((A|0)!=0){if((pd[A&63](y,0,0,0)|0)==0){break}c[w+(F<<2)>>2]=85;break d}}while(0);c[C>>2]=0;c[w+(F<<2)>>2]=0;q=48}}while(0);if((q|0)==48){q=0;c[w+(F<<2)>>2]=Cd[c[206320+(F<<3)>>2]&63](d,y,B,G,v+(F<<2)|0)|0}F=F+1|0;}while((F|0)<9);q=t+12|0;D=2;A=0;C=0;e:while(1){B=((c[206324+(A<<3)>>2]|0)+ -3|0)>>>0<2;do{if(C<<24>>24==0|B^1){if((c[w+(A<<2)>>2]|0)!=0){break}c[s>>2]=4;D=c[o+(A<<2)>>2]|0;if((D|0)==0){D=c[e>>2]|0}c[q>>2]=D;D=xJ(d,t,x)|0;C=B&(D|0)==81?1:C;if((D|0)!=0){break}F=c[u>>2]|0;G=pL(d,F,c[v+(A<<2)>>2]|0,f,g)|0;if((F|0)!=0){E=c[F+28>>2]|0;D=c[F+24>>2]|0;if((D|0)!=0){fd[D&511](F)}hd[c[E+8>>2]&127](E,F)}if((G|0)==0){g=0;break e}D=G;C=B?1:C}}while(0);A=A+1|0;if((A|0)>=9){g=D;break}}q=z+8|0;s=c[r>>2]|0;if((s|0)!=0){hd[c[q>>2]&127](z,s);c[r>>2]=0}r=o+4|0;s=c[r>>2]|0;if((s|0)!=0){hd[c[q>>2]&127](z,s);c[r>>2]=0}r=o+8|0;s=c[r>>2]|0;if((s|0)!=0){hd[c[q>>2]&127](z,s);c[r>>2]=0}r=o+12|0;s=c[r>>2]|0;if((s|0)!=0){hd[c[q>>2]&127](z,s);c[r>>2]=0}s=o+16|0;r=c[s>>2]|0;if((r|0)!=0){hd[c[q>>2]&127](z,r);c[s>>2]=0}s=o+20|0;r=c[s>>2]|0;if((r|0)!=0){hd[c[q>>2]&127](z,r);c[s>>2]=0}r=o+24|0;s=c[r>>2]|0;if((s|0)!=0){hd[c[q>>2]&127](z,s);c[r>>2]=0}s=o+28|0;r=c[s>>2]|0;if((r|0)!=0){hd[c[q>>2]&127](z,r);c[s>>2]=0}o=o+32|0;r=c[o>>2]|0;if((r|0)!=0){hd[c[q>>2]&127](z,r);c[o>>2]=0}o=(g|0)==0?0:2}else{o=z}}while(0);if((o|0)!=0){z=y;A=(o&255|0)==2?2:o;q=73;break}if((y|0)==0){O=0;i=h;return O|0}j=c[y+28>>2]|0;l=c[y+24>>2]|0;if((l|0)!=0){fd[l&511](y)}if(k<<24>>24!=0){O=0;i=h;return O|0}hd[c[j+8>>2]&127](j,y);O=0;i=h;return O|0}}while(0);if((q|0)==36){z=c[m>>2]|0;A=n;q=73}do{if((q|0)==73){if((z|0)==0){p=A;break}m=c[z+28>>2]|0;n=c[z+24>>2]|0;if((n|0)!=0){fd[n&511](z)}if(k<<24>>24!=0){p=A;break}hd[c[m+8>>2]&127](m,z);p=A}}while(0);k=c[l>>2]|0;if((k|0)==0){O=p;i=h;return O|0}l=k+96|0;if((c[l>>2]|0)==0){O=p;i=h;return O|0}O=k+128|0;N=(c[O>>2]|0)+60|0;c[N>>2]=(c[N>>2]|0)+ -1;if((c[(c[O>>2]|0)+60>>2]|0)!=0){O=p;i=h;return O|0}n=c[l>>2]|0;m=c[n+8>>2]|0;l=n+24|0;o=c[l>>2]|0;if((o|0)==0){O=p;i=h;return O|0}while(1){if((c[o+8>>2]|0)==(k|0)){break}g=c[o+4>>2]|0;if((g|0)==0){j=p;q=134;break}else{o=g}}if((q|0)==134){i=h;return j|0}j=c[o>>2]|0;q=c[o+4>>2]|0;if((j|0)==0){c[l>>2]=q}else{c[j+4>>2]=q}if((q|0)==0){c[n+28>>2]=j}else{c[q>>2]=j}if((o|0)!=0){hd[c[m+8>>2]&127](m,o)}UJ(m,k,n);O=p;i=h;return O|0}function NJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;h=i;i=i+32|0;j=h;if((b|0)==0){f=6;i=g;return f|0}c[h>>2]=1;c[j+4>>2]=b;c[j+8>>2]=d;c[j+16>>2]=0;f=MJ(a,j,e,f)|0;i=g;return f|0}function OJ(a,d,e,f,g,h){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;m=c[a+20>>2]|0;l=c[a+8>>2]|0;p=c[m+36>>2]|0;do{if((p|0)>0){k=Bd[c[l+4>>2]&255](l,p)|0;q=(k|0)==0;o=q?64:0;if(q){k=0;break}bX(k|0,0,p|0)|0}else{k=0;o=p>>31&6}}while(0);do{if((o|0)==0){o=Bd[c[l+4>>2]&255](l,64)|0;q=(o|0)==0;p=q?64:0;if(q){n=64;f=0;break}bX(o|0,0,64)|0;q=k+128|0;c[q>>2]=o;c[k+96>>2]=a;c[k+100>>2]=l;c[k+104>>2]=d;c[o+52>>2]=0;a:do{if((f|0)>0){r=0;do{a=(c[q>>2]|0)+52|0;if((c[a>>2]|0)!=0){break a}if((c[g+(r<<3)>>2]|0)==1768842098){c[a>>2]=c[g+(r<<3)+4>>2]}r=r+1|0;}while((r|0)<(f|0))}}while(0);a=c[m+48>>2]|0;if((a|0)!=0){p=Cd[a&63](d,k,e,f,g)|0}if((p|0)!=0){n=p;f=o;break}l=c[k+40>>2]|0;if((l|0)==0){c[h>>2]=k;r=0;i=j;return r|0}m=(c[k+36>>2]|0)+ -1|0;b:do{if((m|0)>=0){m=l+(m<<2)|0;g=m;c:do{f=c[g>>2]|0;do{if((c[f+4>>2]|0)==1970170211){e=b[f+8>>1]|0;if(e<<16>>16==3){if((b[f+10>>1]|0)!=10){break}}else if(e<<16>>16==0){if((b[f+10>>1]|0)!=4){break}}else{break}if((g-l|0)<=60){n=25;break c}}}while(0);g=g+ -4|0;}while(g>>>0>=l>>>0);if((n|0)==25){c[k+92>>2]=f;break}while(1){n=c[m>>2]|0;if((c[n+4>>2]|0)==1970170211){if((m-l|0)<=60){break}}m=m+ -4|0;if(m>>>0<l>>>0){break b}}c[k+92>>2]=n}}while(0);c[h>>2]=k;r=0;i=j;return r|0}else{n=o;f=0}}while(0);e=(k|0)==0;if(!e){g=k+36|0;d=k+40|0;o=c[d>>2]|0;if((c[g>>2]|0)>0){a=0;do{p=c[o+(a<<2)>>2]|0;q=c[(c[p>>2]|0)+100>>2]|0;o=c[(c[p+12>>2]|0)+8>>2]|0;if((o|0)!=0){fd[o&511](p)}hd[c[q+8>>2]&127](q,p);c[(c[d>>2]|0)+(a<<2)>>2]=0;a=a+1|0;o=c[d>>2]|0}while((a|0)<(c[g>>2]|0))}if((o|0)!=0){hd[c[l+8>>2]&127](l,o)}c[d>>2]=0;c[g>>2]=0}m=c[m+52>>2]|0;if((m|0)!=0){fd[m&511](k)}if((f|0)!=0){hd[c[l+8>>2]&127](l,f)}if(!e){hd[c[l+8>>2]&127](l,k)}c[h>>2]=0;r=n;i=j;return r|0}function PJ(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[a+20>>2]|0;if((e|0)==0){e=(c[a+4>>2]|0)>>>0<b>>>0?85:0}else{e=(pd[e&63](a,b,0,0)|0)==0;e=e?0:85}if((e|0)!=0){i=d;return e|0}c[a+8>>2]=b;i=d;return e|0}function QJ(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=i;o=i;i=i+8|0;n=i;i=i+8|0;m=c[a>>2]|0;j=b+8|0;h=c[j>>2]|0;k=b+4|0;if((h+3|0)>>>0>=(c[k>>2]|0)>>>0){z=85;i=g;return z|0}l=b+20|0;q=c[l>>2]|0;do{if((q|0)==0){r=(c[b>>2]|0)+h|0;if((r|0)!=0){q=h;p=7;break}c[j>>2]=h+4}else{if((pd[q&63](b,h,n,4)|0)==4){q=c[j>>2]|0;r=n;p=7;break}else{z=85;i=g;return z|0}}}while(0);do{if((p|0)==7){z=(d[r+1|0]|0)<<16|(d[r]|0)<<24|(d[r+2|0]|0)<<8|(d[r+3|0]|0);p=q+4|0;c[j>>2]=p;if((z|0)!=1954115633){break}r=c[k>>2]|0;if((q+5|0)>>>0>=r>>>0){z=85;i=g;return z|0}s=c[l>>2]|0;do{if((s|0)==0){o=(c[b>>2]|0)+p|0;if((o|0)!=0){r=0;s=p;p=14;break}c[j>>2]=q+6;o=r;r=q+12|0;q=0;p=17}else{if((pd[s&63](b,p,o,2)|0)==2){r=c[l>>2]|0;s=c[j>>2]|0;p=14;break}else{z=85;i=g;return z|0}}}while(0);do{if((p|0)==14){q=((d[o]|0)<<8&65535|(d[o+1|0]|0))&65535;c[j>>2]=s+2;s=s+8|0;if((r|0)==0){o=c[k>>2]|0;r=s;p=17;break}else{z=(pd[r&63](b,s,0,0)|0)==0;o=z?0:85;break}}}while(0);if((p|0)==17){s=r;o=o>>>0<r>>>0?85:0}if((o|0)!=0){z=o;i=g;return z|0}c[j>>2]=s;if((q|0)==0){z=142;i=g;return z|0}r=(e|0)>-1;o=(e|0)<0;p=s;u=0;s=1;t=-1;a:while(1){x=c[k>>2]|0;if((p+3|0)>>>0>=x>>>0){x=85;p=71;break}v=c[l>>2]|0;do{if((v|0)==0){v=(c[b>>2]|0)+p|0;if((v|0)!=0){x=0;z=p;p=29;break}c[j>>2]=p+4;y=p+8|0;z=p;v=0;p=32}else{if((pd[v&63](b,p,n,4)|0)!=4){x=85;p=71;break a}x=c[l>>2]|0;z=c[j>>2]|0;v=n;p=29}}while(0);do{if((p|0)==29){p=0;v=(d[v+1|0]|0)<<16|(d[v]|0)<<24|(d[v+2|0]|0)<<8|(d[v+3|0]|0);c[j>>2]=z+4;w=z+8|0;if((x|0)==0){x=c[k>>2]|0;y=w;p=32;break}else{y=(pd[x&63](b,w,0,0)|0)==0;x=y?0:85;break}}}while(0);if((p|0)==32){p=0;w=y;x=x>>>0<y>>>0?85:0}if((x|0)!=0){p=71;break}c[j>>2]=w;y=c[k>>2]|0;if((z+11|0)>>>0>=y>>>0){x=85;p=71;break}x=c[l>>2]|0;if((x|0)==0){x=(c[b>>2]|0)+w|0;if((x|0)==0){x=0}else{p=39}}else{if((pd[x&63](b,w,n,4)|0)!=4){x=85;p=71;break}y=c[k>>2]|0;w=c[j>>2]|0;x=n;p=39}if((p|0)==39){p=0;x=(d[x+1|0]|0)<<16|(d[x]|0)<<24|(d[x+2|0]|0)<<8|(d[x+3|0]|0)}z=w+4|0;c[j>>2]=z;if((w+7|0)>>>0>=y>>>0){x=85;p=71;break}w=c[l>>2]|0;if((w|0)==0){w=(c[b>>2]|0)+z|0;if((w|0)==0){w=0}else{p=45}}else{if((pd[w&63](b,z,n,4)|0)!=4){x=85;p=71;break}z=c[j>>2]|0;w=n;p=45}if((p|0)==45){w=(d[w+1|0]|0)<<16|(d[w]|0)<<24|(d[w+2|0]|0)<<8|(d[w+3|0]|0)}p=z+4|0;c[j>>2]=p;if((v|0)==1415139377){x=x+24|0;w=w+ -24|0;if(o){n=w;u=0;p=50;break}else{u=0;t=t+1|0}}else if((v|0)==1128875040){x=x+22|0;w=w+ -22|0;if(o){n=w;u=1;p=50;break}else{u=1;t=t+1|0}}if(r&(t|0)==(e|0)){n=w;p=50;break}if((s|0)>=(q|0)){x=142;p=71;break}s=s+1|0}if((p|0)==50){p=x+h|0;q=c[l>>2]|0;if((q|0)==0){q=(c[k>>2]|0)>>>0<p>>>0?85:0}else{z=(pd[q&63](b,p,0,0)|0)==0;q=z?0:85}if((q|0)!=0){z=0;i=g;return z|0}c[j>>2]=p;do{if((n|0)>0){m=Bd[c[m+4>>2]&255](m,n)|0;p=(m|0)==0;x=p?64:0;if(p){m=0;break}bX(m|0,0,n|0)|0}else{m=0;x=n>>31&6}}while(0);do{if((x|0)==0){p=c[j>>2]|0;r=c[k>>2]|0;if(r>>>0<=p>>>0){z=85;i=g;return z|0}q=c[l>>2]|0;if((q|0)==0){q=r-p|0;q=q>>>0>n>>>0?n:q;$W(m|0,(c[b>>2]|0)+p|0,q|0)|0}else{q=pd[q&63](b,p,m,n)|0}c[j>>2]=q+p;if(q>>>0<n>>>0){z=85;i=g;return z|0}else{x=qL(a,m,n,o?e:0,u<<24>>24!=0?206512:206504,f)|0;break}}}while(0);if((x|0)==2){break}i=g;return x|0}else if((p|0)==71){i=g;return x|0}}}while(0);l=c[l>>2]|0;if((l|0)==0){b=(c[k>>2]|0)>>>0<h>>>0?85:0}else{z=(pd[l&63](b,h,0,0)|0)==0;b=z?0:85}if((b|0)!=0){z=b;i=g;return z|0}c[j>>2]=h;z=2;i=g;return z|0}function RJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;if((a|0)==0){k=35;i=d;return k|0}if((b|0)==0){k=36;i=d;return k|0}e=a+96|0;if((c[e>>2]|0)==0){k=34;i=d;return k|0}c[b>>2]=0;g=c[(c[e>>2]|0)+20>>2]|0;e=c[a+100>>2]|0;h=c[g+40>>2]|0;do{if((h|0)>0){f=Bd[c[e+4>>2]&255](e,h)|0;k=(f|0)==0;j=k?64:0;if(k){f=0;break}bX(f|0,0,h|0)|0}else{f=0;j=h>>31&6}}while(0);a:do{if((j|0)==0){h=Bd[c[e+4>>2]&255](e,12)|0;if((h|0)==0){j=64;break}bX(h|0,0,12)|0;c[f>>2]=a;c[f+40>>2]=0;g=c[g+56>>2]|0;do{if((g|0)!=0){j=jd[g&511](f)|0;if((j|0)==0){break}if((h|0)==0){break a}hd[c[e+8>>2]&127](e,h);break a}}while(0);c[b>>2]=f;c[h+8>>2]=f;b=a+112|0;e=c[b>>2]|0;c[h+4>>2]=0;c[h>>2]=e;if((e|0)==0){c[a+108>>2]=h}else{c[e+4>>2]=h}c[b>>2]=h;k=0;i=d;return k|0}}while(0);if((f|0)==0){k=j;i=d;return k|0}hd[c[e+8>>2]&127](e,f);k=j;i=d;return k|0}function SJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;if((a|0)==0){j=35;i=b;return j|0}d=a+96|0;if((c[d>>2]|0)==0){j=35;i=b;return j|0}j=a+128|0;h=(c[j>>2]|0)+60|0;c[h>>2]=(c[h>>2]|0)+ -1;if((c[(c[j>>2]|0)+60>>2]|0)!=0){j=0;i=b;return j|0}g=c[d>>2]|0;f=c[g+8>>2]|0;d=g+24|0;h=c[d>>2]|0;if((h|0)==0){j=35;i=b;return j|0}while(1){if((c[h+8>>2]|0)==(a|0)){break}h=c[h+4>>2]|0;if((h|0)==0){a=35;e=16;break}}if((e|0)==16){i=b;return a|0}e=c[h>>2]|0;j=c[h+4>>2]|0;if((e|0)==0){c[d>>2]=j}else{c[e+4>>2]=j}if((j|0)==0){c[g+28>>2]=e}else{c[j>>2]=e}if((h|0)!=0){hd[c[f+8>>2]&127](f,h)}UJ(f,a,g);j=0;i=b;return j|0}function TJ(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a>>2]|0;if((a|0)==0){a=0;i=d;return a|0}while(1){if((c[a+8>>2]|0)==(b|0)){b=4;break}a=c[a+4>>2]|0;if((a|0)==0){a=0;b=4;break}}if((b|0)==4){i=d;return a|0}return 0}function UJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;f=d+20|0;d=c[f>>2]|0;g=c[b+120>>2]|0;if((g|0)!=0){fd[g&511](c[b+116>>2]|0)}g=b+84|0;h=c[g>>2]|0;if((h|0)!=0){do{EJ(h);h=c[g>>2]|0;}while((h|0)!=0)}h=b+108|0;l=c[h>>2]|0;if((l|0)!=0){g=a+8|0;while(1){j=c[l+4>>2]|0;k=c[l+8>>2]|0;m=c[k+8>>2]|0;if((m|0)!=0){fd[m&511](k)}m=c[(c[f>>2]|0)+60>>2]|0;if((m|0)!=0){fd[m&511](k)}m=k+40|0;n=c[m>>2]|0;if((n|0)!=0){hd[c[g>>2]&127](a,n)}c[m>>2]=0;if((k|0)!=0){hd[c[g>>2]&127](a,k)}if((l|0)!=0){hd[c[g>>2]&127](a,l)}if((j|0)==0){break}else{l=j}}}c[h>>2]=0;c[b+112>>2]=0;c[b+88>>2]=0;f=c[b+48>>2]|0;if((f|0)!=0){fd[f&511](b)}f=(b|0)==0;if(!f){h=b+36|0;g=b+40|0;k=c[g>>2]|0;if((c[h>>2]|0)>0){j=0;do{m=c[k+(j<<2)>>2]|0;k=c[(c[m>>2]|0)+100>>2]|0;l=c[(c[m+12>>2]|0)+8>>2]|0;if((l|0)!=0){fd[l&511](m)}hd[c[k+8>>2]&127](k,m);c[(c[g>>2]|0)+(j<<2)>>2]=0;j=j+1|0;k=c[g>>2]|0}while((j|0)<(c[h>>2]|0))}if((k|0)!=0){hd[c[a+8>>2]&127](a,k)}c[g>>2]=0;c[h>>2]=0}d=c[d+52>>2]|0;if((d|0)!=0){fd[d&511](b)}j=b+104|0;h=c[j>>2]|0;g=c[b+8>>2]&1024;do{if((h|0)!=0){k=c[h+28>>2]|0;d=c[h+24>>2]|0;if((d|0)!=0){fd[d&511](h)}if((g|0)!=0){break}hd[c[k+8>>2]&127](k,h)}}while(0);c[j>>2]=0;d=b+128|0;g=c[d>>2]|0;if((g|0)!=0){hd[c[a+8>>2]&127](a,g);c[d>>2]=0}if(f){i=e;return}hd[c[a+8>>2]&127](a,b);i=e;return}function VJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;if((a|0)==0){k=36;i=b;return k|0}g=c[a>>2]|0;if((g|0)==0){k=35;i=b;return k|0}e=c[g+96>>2]|0;if((e|0)==0){k=34;i=b;return k|0}d=c[e+8>>2]|0;f=g+108|0;j=c[f>>2]|0;if((j|0)==0){k=36;i=b;return k|0}while(1){if((c[j+8>>2]|0)==(a|0)){break}j=c[j+4>>2]|0;if((j|0)==0){a=36;h=25;break}}if((h|0)==25){i=b;return a|0}k=c[j>>2]|0;h=c[j+4>>2]|0;if((k|0)==0){c[f>>2]=h}else{c[k+4>>2]=h}if((h|0)==0){c[g+112>>2]=k}else{c[h>>2]=k}if((j|0)!=0){hd[c[d+8>>2]&127](d,j)}g=g+88|0;do{if((c[g>>2]|0)==(a|0)){c[g>>2]=0;f=c[f>>2]|0;if((f|0)==0){break}c[g>>2]=c[f+8>>2]}}while(0);f=c[a+8>>2]|0;if((f|0)!=0){fd[f&511](a)}e=c[(c[e+20>>2]|0)+60>>2]|0;if((e|0)!=0){fd[e&511](a)}e=a+40|0;f=c[e>>2]|0;if((f|0)!=0){hd[c[d+8>>2]&127](d,f)}c[e>>2]=0;hd[c[d+8>>2]&127](d,a);k=0;i=b;return k|0}function WJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;if((c[a+8>>2]&2|0)==0){l=35;i=g;return l|0}if((c[b>>2]|0)!=0){l=7;i=g;return l|0}h=c[b+12>>2]|0;j=c[b+4>>2]|0;if((h|0)==0){h=j}else{h=((da(j,h)|0)+36|0)/72|0}l=c[b+16>>2]|0;k=c[b+8>>2]|0;if((l|0)==0){b=k}else{b=((da(k,l)|0)+36|0)/72|0}j=(j|0)==0;k=(k|0)==0?h:b;h=(j?k:h)+32|0;j=(j?b:k)+32|0;b=c[a+28>>2]|0;if((b|0)<=0){l=23;i=g;return l|0}a=c[a+32>>2]|0;d=d<<24>>24==0;k=0;while(1){if(((c[a+(k<<4)+12>>2]|0)+32^j)>>>0<=63){if(!(((c[a+(k<<4)+8>>2]|0)+32^h)>>>0>63&d)){break}}k=k+1|0;if((k|0)>=(b|0)){e=23;f=14;break}}if((f|0)==14){i=g;return e|0}if((e|0)==0){l=0;i=g;return l|0}c[e>>2]=k;l=0;i=g;return l|0}function XJ(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+4>>2]|0;d=c[a+12>>2]|0;if((d|0)<0){d=(e|0)<(d|0)?d:e}else{d=e-((d|0)>0?d:0)|0}if((b|0)==0){b=(d*12|0)/10|0}c[a+20>>2]=(c[a+8>>2]|0)-((c[a+16>>2]|0)/2|0);c[a+24>>2]=(b-d|0)/2|0;c[a+28>>2]=b;i=i;return}function YJ(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;e=c[a+88>>2]|0;f=e+12|0;j=c[a+32>>2]|0;k=j+(d<<4)+8|0;b[f>>1]=((c[k>>2]|0)+32|0)>>>6;h=j+(d<<4)+12|0;b[e+14>>1]=((c[h>>2]|0)+32|0)>>>6;if((c[a+8>>2]&1|0)==0){c[e+16>>2]=65536;c[e+20>>2]=65536;c[e+24>>2]=c[h>>2];c[e+28>>2]=0;c[e+32>>2]=b[j+(d<<4)>>1]<<6;c[e+36>>2]=c[k>>2];i=g;return}l=c[k>>2]|0;j=a+68|0;m=b[j>>1]|0;d=m&65535;k=(l|0)<0;l=k?0-l|0:l;do{if(m<<16>>16==0){o=2147483647}else{m=l>>16;n=l<<16;l=d>>>1|n;if((m|0)==0){o=(l>>>0)/(d>>>0)|0;break}n=(l>>>0<n>>>0)+m|0;if(n>>>0<d>>>0){m=32;o=0}else{o=2147483647;break}while(1){o=o<<1;n=n<<1|l>>>31;if(n>>>0>=d>>>0){o=o|1;n=n-d|0}m=m+ -1|0;if((m|0)==0){break}else{l=l<<1}}}}while(0);c[e+16>>2]=k?0-o|0:o;k=c[h>>2]|0;d=b[j>>1]|0;j=d&65535;h=(k|0)<0;k=h?0-k|0:k;do{if(d<<16>>16==0){l=2147483647}else{d=k>>16;l=k<<16;k=j>>>1|l;if((d|0)==0){l=(k>>>0)/(j>>>0)|0;break}m=(k>>>0<l>>>0)+d|0;if(m>>>0<j>>>0){d=32;l=0}else{l=2147483647;break}while(1){l=l<<1;m=m<<1|k>>>31;if(m>>>0>=j>>>0){l=l|1;m=m-j|0}d=d+ -1|0;if((d|0)==0){break}else{k=k<<1}}}}while(0);c[e+20>>2]=h?0-l|0:l;ZJ(a,f);i=g;return}function ZJ(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;j=b[a+70>>1]|0;h=j<<16>>16;f=c[d+8>>2]|0;g=(f|0)==65536;if(!(j<<16>>16==0|g)){k=j<<16>>16<0?0-h|0:h;j=(f|0)<0?0-f|0:f;if(k>>>0<2049&j>>>0<1048577){j=((da(j,k)|0)+32768|0)>>>16}else{l=k&65535;j=(da(j>>>16,l)|0)+(da(k>>>16,j)|0)+(((da(j&65535,l)|0)+32768|0)>>>16)|0}h=(f^h|0)<0?0-j|0:j}c[d+12>>2]=h+63&-64;j=b[a+72>>1]|0;h=j<<16>>16;if(!(j<<16>>16==0|g)){j=j<<16>>16<0?0-h|0:h;k=(f|0)<0?0-f|0:f;if(j>>>0<2049&k>>>0<1048577){j=((da(k,j)|0)+32768|0)>>>16}else{l=j&65535;j=(da(k>>>16,l)|0)+(da(j>>>16,k)|0)+(((da(k&65535,l)|0)+32768|0)>>>16)|0}h=(f^h|0)<0?0-j|0:j}c[d+16>>2]=h&-64;j=b[a+74>>1]|0;h=j<<16>>16;if(!(j<<16>>16==0|g)){g=j<<16>>16<0?0-h|0:h;j=(f|0)<0?0-f|0:f;if(g>>>0<2049&j>>>0<1048577){g=((da(j,g)|0)+32768|0)>>>16}else{l=g&65535;g=(da(j>>>16,l)|0)+(da(g>>>16,j)|0)+(((da(j&65535,l)|0)+32768|0)>>>16)|0}h=(f^h|0)<0?0-g|0:g}c[d+20>>2]=h+32&-64;g=b[a+76>>1]|0;a=g<<16>>16;f=c[d+4>>2]|0;if(g<<16>>16==0|(f|0)==65536){k=a;k=k+32|0;k=k&-64;l=d+24|0;c[l>>2]=k;i=e;return}g=g<<16>>16<0?0-a|0:a;h=(f|0)<0?0-f|0:f;if(g>>>0<2049&h>>>0<1048577){g=((da(h,g)|0)+32768|0)>>>16}else{l=g&65535;g=(da(h>>>16,l)|0)+(da(g>>>16,h)|0)+(((da(h&65535,l)|0)+32768|0)>>>16)|0}k=(f^a|0)<0?0-g|0:g;k=k+32|0;k=k&-64;l=d+24|0;c[l>>2]=k;i=e;return}function _J(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;h=c[a+88>>2]|0;g=h+12|0;if((c[a+8>>2]&1|0)==0){bX(g|0,0,28)|0;c[h+16>>2]=65536;c[h+20>>2]=65536;i=f;return}a:do{switch(c[d>>2]|0){case 2:{j=(c[a+64>>2]|0)-(c[a+56>>2]|0)|0;l=(c[a+60>>2]|0)-(c[a+52>>2]|0)|0;k=11;break};case 4:{o=c[d+4>>2]|0;k=h+16|0;c[k>>2]=o;j=c[d+8>>2]|0;l=h+20|0;c[l>>2]=j;if((o|0)==0){c[k>>2]=j;p=j;o=j;q=0;l=0;k=44;break a}if((j|0)!=0){p=j;q=0;l=0;k=44;break a}c[l>>2]=o;p=o;q=0;l=0;k=44;break};case 1:{l=(b[a+70>>1]|0)-(b[a+72>>1]|0)|0;j=l;k=11;break};case 0:{l=e[a+68>>1]|0;j=l;k=11;break};case 3:{j=(b[a+70>>1]|0)-(b[a+72>>1]|0)|0;l=b[a+76>>1]|0;k=11;break};default:{j=0;l=0;k=11}}}while(0);do{if((k|0)==11){n=(l|0)<0?0-l|0:l;m=(j|0)<0?0-j|0:j;j=c[d+12>>2]|0;o=c[d+4>>2]|0;if((j|0)==0){l=o}else{l=((da(o,j)|0)+36|0)/72|0}p=c[d+16>>2]|0;q=d+8|0;j=c[q>>2]|0;if((p|0)!=0){j=((da(j,p)|0)+36|0)/72|0}if((o|0)==0){o=(j|0)<0?0-j|0:j;k=j^m;l=(m|0)<0?0-m|0:m;do{if((l|0)==0){r=2147483647}else{p=o>>16;q=o<<16;o=q+(l>>1)|0;if((p|0)==0){r=(o>>>0)/(l>>>0)|0;break}q=(o>>>0<q>>>0)+p|0;if(q>>>0<l>>>0){p=32;r=0}else{r=2147483647;break}while(1){r=r<<1;q=q<<1|o>>>31;if(q>>>0>=l>>>0){r=r|1;q=q-l|0}p=p+ -1|0;if((p|0)==0){break}else{o=o<<1}}}}while(0);o=(k|0)<0?0-r|0:r;c[h+20>>2]=o;c[h+16>>2]=o;p=o;q=j;l=_I(j,n,m)|0;k=44;break}r=(l|0)<0?0-l|0:l;o=l^n;p=(n|0)<0?0-n|0:n;do{if((p|0)==0){t=2147483647}else{s=r>>16;t=r<<16;r=t+(p>>1)|0;if((s|0)==0){t=(r>>>0)/(p>>>0)|0;break}u=(r>>>0<t>>>0)+s|0;if(u>>>0<p>>>0){s=32;t=0}else{t=2147483647;break}while(1){t=t<<1;u=u<<1|r>>>31;if(u>>>0>=p>>>0){t=t|1;u=u-p|0}s=s+ -1|0;if((s|0)==0){break}else{r=r<<1}}}}while(0);o=(o|0)<0?0-t|0:t;p=h+16|0;c[p>>2]=o;if((c[q>>2]|0)==0){c[h+20>>2]=o;p=o;q=_I(l,m,n)|0;k=44;break}q=(j|0)<0?0-j|0:j;n=j^m;m=(m|0)<0?0-m|0:m;do{if((m|0)==0){s=2147483647}else{r=q>>16;s=q<<16;q=s+(m>>1)|0;if((r|0)==0){s=(q>>>0)/(m>>>0)|0;break}t=(q>>>0<s>>>0)+r|0;if(t>>>0<m>>>0){r=32;s=0}else{s=2147483647;break}while(1){s=s<<1;t=t<<1|q>>>31;if(t>>>0>=m>>>0){s=s|1;t=t-m|0}r=r+ -1|0;if((r|0)==0){break}else{q=q<<1}}}}while(0);m=(n|0)<0?0-s|0:s;q=h+20|0;c[q>>2]=m;n=c[d>>2]|0;if((n|0)!=3){break}if((m|0)>(o|0)){c[q>>2]=o;p=o;q=j;k=44;break}else{c[p>>2]=m;p=m;o=m;q=j;k=44;break}}}while(0);if((k|0)==44){m=p;n=c[d>>2]|0;j=q}do{if((n|0)!=0){d=b[a+68>>1]|0;j=d&65535;k=d<<16>>16==0;if(k|(o|0)==65536){l=j}else{l=(o|0)<0;n=l?0-o|0:o;if((d&65535)<2049&n>>>0<1048577){n=((da(n,j)|0)+32768|0)>>>16}else{n=(((da(n&65535,j)|0)+32768|0)>>>16)+(da(n>>>16,j)|0)|0}l=l?0-n|0:n}if(k|(m|0)==65536){break}k=(m|0)<0;m=k?0-m|0:m;if((d&65535)<2049&m>>>0<1048577){d=((da(m,j)|0)+32768|0)>>>16}else{d=(((da(m&65535,j)|0)+32768|0)>>>16)+(da(m>>>16,j)|0)|0}j=k?0-d|0:d}}while(0);b[g>>1]=(l+32|0)>>>6;b[h+14>>1]=(j+32|0)>>>6;ZJ(a,g);i=f;return}function $J(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;if((a|0)==0){e=35;i=d;return e|0}if((c[a+8>>2]&2|0)==0){e=35;i=d;return e|0}if((b|0)<0){e=6;i=d;return e|0}if((c[a+28>>2]|0)<=(b|0)){e=6;i=d;return e|0}e=c[(c[(c[a+96>>2]|0)+20>>2]|0)+100>>2]|0;if((e|0)==0){YJ(a,b);e=0;i=d;return e|0}else{e=Bd[e&255](c[a+88>>2]|0,b)|0;i=d;return e|0}return 0}function aK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;if((a|0)==0){k=35;i=d;return k|0}if((b|0)==0){k=6;i=d;return k|0}h=c[b+4>>2]|0;if((h|0)<0){k=6;i=d;return k|0}g=c[b+8>>2]|0;if((g|0)<0){k=6;i=d;return k|0}j=c[b>>2]|0;if(j>>>0>4){k=6;i=d;return k|0}f=c[(c[a+96>>2]|0)+20>>2]|0;k=c[f+96>>2]|0;if((k|0)!=0){k=Bd[k&255](c[a+88>>2]|0,b)|0;i=d;return k|0}k=c[a+8>>2]|0;if((k&3|0)!=2){_J(a,b);k=0;i=d;return k|0}if((k&2|0)==0){k=35;i=d;return k|0}if((j|0)!=0){k=7;i=d;return k|0}j=c[b+12>>2]|0;if((j|0)==0){j=h}else{j=((da(j,h)|0)+36|0)/72|0}b=c[b+16>>2]|0;if((b|0)==0){b=g}else{b=((da(g,b)|0)+36|0)/72|0}h=(h|0)==0;k=(g|0)==0?j:b;g=(h?k:j)+32|0;b=(h?b:k)+32|0;h=c[a+28>>2]|0;if((h|0)<=0){k=23;i=d;return k|0}k=c[a+32>>2]|0;j=0;while(1){if(((c[k+(j<<4)+12>>2]|0)+32^b)>>>0<=63){if(((c[k+(j<<4)+8>>2]|0)+32^g)>>>0<=63){break}}j=j+1|0;if((j|0)>=(h|0)){a=23;e=25;break}}if((e|0)==25){i=d;return a|0}if(!((j|0)>-1&(h|0)>(j|0))){k=6;i=d;return k|0}e=c[f+100>>2]|0;if((e|0)==0){YJ(a,j);k=0;i=d;return k|0}else{k=Bd[e&255](c[a+88>>2]|0,j)|0;i=d;return k|0}return 0}function bK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;g=i;i=i+24|0;e=g;if((b|0)==0){h=d;b=d}else{h=(d|0)==0?b:d}d=(b|0)==0?1:b;h=(h|0)==0?1:h;c[g>>2]=0;c[e+4>>2]=d>>>0<65535?d<<6:4194240;c[e+8>>2]=h>>>0<65535?h<<6:4194240;c[e+12>>2]=0;c[e+16>>2]=0;b=aK(a,e)|0;i=f;return b|0}function cK(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;g=i;if((a|0)==0){m=35;i=g;return m|0}if((d|0)==0){m=6;i=g;return m|0}else if((d|0)==1970170211){d=c[a+40>>2]|0;if((d|0)==0){m=38;i=g;return m|0}j=(c[a+36>>2]|0)+ -1|0;if((j|0)<0){m=38;i=g;return m|0}j=d+(j<<2)|0;l=j;a:while(1){k=c[l>>2]|0;do{if((c[k+4>>2]|0)==1970170211){m=b[k+8>>1]|0;if(m<<16>>16==3){if((b[k+10>>1]|0)!=10){break}}else if(m<<16>>16==0){if((b[k+10>>1]|0)!=4){break}}else{break}if((l-d|0)<=60){e=12;break a}}}while(0);l=l+ -4|0;if(l>>>0<d>>>0){h=j;break}}if((e|0)==12){c[a+92>>2]=k;m=0;i=g;return m|0}while(1){j=c[h>>2]|0;if((c[j+4>>2]|0)==1970170211){if((h-d|0)<=60){break}}h=h+ -4|0;if(h>>>0<d>>>0){f=38;e=23;break}}if((e|0)==23){i=g;return f|0}c[a+92>>2]=j;m=0;i=g;return m|0}else{h=c[a+40>>2]|0;if((h|0)==0){m=38;i=g;return m|0}m=c[a+36>>2]|0;k=h+(m<<2)|0;if((m|0)>0){l=h}else{m=6;i=g;return m|0}while(1){j=c[l>>2]|0;if((c[j+4>>2]|0)==(d|0)){if((l-h|0)<=60){break}}l=l+4|0;if(l>>>0>=k>>>0){f=6;e=23;break}}if((e|0)==23){i=g;return f|0}c[a+92>>2]=j;m=0;i=g;return m|0}return 0}function dK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;e=i;h=i;i=i+8|0;if((a|0)==0){k=35;i=e;return k|0}f=a+40|0;g=c[f>>2]|0;if((g|0)==0){k=38;i=e;return k|0}do{if((b|0)!=0){j=c[b>>2]|0;if((j|0)==0){break}j=c[j+96>>2]|0;k=c[(c[j>>2]|0)+32>>2]|0;if((k|0)==0){break}j=Bd[k&255](j,206272)|0;if((j|0)==0){break}if((Bd[c[j>>2]&255](b,h)|0)!=0){break}if((c[h+4>>2]|0)==14){b=6}else{break}i=e;return b|0}}while(0);k=c[a+36>>2]|0;h=g+(k<<2)|0;if((k|0)<=0){k=6;i=e;return k|0}while(1){if((c[g>>2]|0)==(b|0)){if((g-(c[f>>2]|0)|0)<=60){break}}g=g+4|0;if(g>>>0>=h>>>0){b=6;d=14;break}}if((d|0)==14){i=e;return b|0}c[a+92>>2]=b;k=0;i=e;return k|0}function eK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;if((b|0)==0|(e|0)==0){o=6;i=g;return o|0}k=c[e>>2]|0;if((k|0)==0){o=6;i=g;return o|0}j=c[k+100>>2]|0;n=c[b>>2]|0;do{if((n|0)>0){h=Bd[c[j+4>>2]&255](j,n)|0;o=(h|0)==0;m=o?64:0;if(o){h=0;break}bX(h|0,0,n|0)|0}else{h=0;m=n>>31&6}}while(0);a:do{if((m|0)==0){$W(h|0,e|0,12)|0;e=h+12|0;c[e>>2]=b;b=c[b+4>>2]|0;if((b|0)==0){l=10}else{m=Bd[b&255](h,d)|0;if((m|0)==0){l=10}}if((l|0)==10){l=k+36|0;d=c[l>>2]|0;m=d+1|0;k=k+40|0;b=c[k>>2]|0;b:do{if((m|d|0)<0){m=6}else{do{if((m|0)==0){if((b|0)==0){b=0;break}hd[c[j+8>>2]&127](j,b);b=0}else{if((d|0)>536870910){m=10;break b}do{if((d|0)==0){b=m<<2;n=Bd[c[j+4>>2]&255](j,b)|0;j=(n|0)==0;m=j?64:0;if(j){b=0;break}bX(n|0,0,b|0)|0;b=n}else{m=pd[c[j+12>>2]&63](j,d<<2,m<<2,b)|0;j=(m|0)==0;b=j?b:m;m=j?64:0}}while(0);if((m|0)!=0){break b}}}while(0);m=b+(d<<2)|0;a[m]=0;a[m+1|0]=0;a[m+2|0]=0;a[m+3|0]=0;c[k>>2]=b;m=c[l>>2]|0;c[l>>2]=m+1;c[b+(m<<2)>>2]=h;m=0;break a}}while(0);c[k>>2]=b}j=c[(c[h>>2]|0)+100>>2]|0;e=c[(c[e>>2]|0)+8>>2]|0;if((e|0)!=0){fd[e&511](h)}hd[c[j+8>>2]&127](j,h);h=0}}while(0);if((f|0)==0){o=m;i=g;return o|0}c[f>>2]=h;o=m;i=g;return o|0}function fK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;f=i;i=i+8|0;g=f;do{if((a|0)==0){g=0;f=0}else{h=c[a+92>>2]|0;if((h|0)==0){g=0;f=0;break}a=a+16|0;if((c[a>>2]|0)==0){g=0;f=0;break}c[f>>2]=b;j=h+12|0;do{b=Bd[c[(c[j>>2]|0)+16>>2]&255](h,g)|0;}while(b>>>0>=(c[a>>2]|0)>>>0);g=b;f=(b|0)==0?0:c[f>>2]|0}}while(0);if((d|0)==0){i=e;return f|0}c[d>>2]=g;i=e;return f|0}function gK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;if((a|0)==0){h=0;i=d;return h|0}if((c[a+8>>2]&512|0)==0){h=0;i=d;return h|0}e=a+128|0;f=(c[e>>2]|0)+40|0;h=c[f>>2]|0;if((h|0)==-2){h=0;i=d;return h|0}else if((h|0)==0){g=4}do{if((g|0)==4){h=c[a+96>>2]|0;g=c[(c[h>>2]|0)+32>>2]|0;if((g|0)==0){c[f>>2]=-2;h=0;i=d;return h|0}else{h=Bd[g&255](h,206256)|0;c[(c[e>>2]|0)+40>>2]=(h|0)!=0?h:-2;if((h|0)==0){a=0}else{break}i=d;return a|0}}}while(0);e=c[h+4>>2]|0;if((e|0)==0){h=0;i=d;return h|0}h=Bd[e&255](a,b)|0;i=d;return h|0}function hK(a){a=a|0;var b=0,d=0;b=i;do{if((a|0)==0){a=6}else{d=c[a>>2]|0;if((d|0)==0){a=6;break}if((c[d+96>>2]|0)==0){a=6;break}c[d+88>>2]=a;a=0}}while(0);i=b;return a|0}function iK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;if((a|0)==0){h=0;i=f;return h|0}h=c[a+156>>2]|0;a=(d|0)!=0;if(a){g=c[d>>2]|0;if((g|0)!=0){h=c[g+4>>2]|0}c[d>>2]=0}if((h|0)==0){h=0;i=f;return h|0}while(1){g=c[h+8>>2]|0;if((c[g+24>>2]|0)==(b|0)){break}h=c[h+4>>2]|0;if((h|0)==0){b=0;e=11;break}}if((e|0)==11){i=f;return b|0}if(!a){h=g;i=f;return h|0}c[d>>2]=h;h=g;i=f;return h|0}function jK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;g=b+72|0;j=c[g>>2]|0;a:do{if((j|0)==1869968492){m=a+156|0;h=m;m=c[m>>2]|0;l=c[a+164>>2]|0;f=8}else if((j|0)==1651078259){m=0;i=e;return m|0}else{h=a+156|0;if((a|0)==0){j=7;l=0;k=0}else{m=c[h>>2]|0;if((m|0)==0){m=0;l=0;f=8;break}while(1){l=c[m+8>>2]|0;if((c[l+24>>2]|0)==(j|0)){break}m=c[m+4>>2]|0;if((m|0)==0){m=0;l=0;break}}if((a|0)==0){j=7;k=0}else{f=8;break}}while(1){if((l|0)==0){break}j=pd[c[l+68>>2]&63](l,b,d,0)|0;if((j|0)!=0&(j&255|0)==19){l=0;k=1}else{d=1;b=l;break a}}i=e;return j|0}}while(0);b:do{if((f|0)==8){j=7;k=0;c:while(1){if((l|0)==0){break}j=pd[c[l+68>>2]&63](l,b,d,0)|0;if(!((j|0)!=0&(j&255|0)==19)){d=0;b=l;break b}k=c[g>>2]|0;m=c[((m|0)==0?h:m+4|0)>>2]|0;if((m|0)==0){m=0;l=0;k=1;continue}while(1){l=c[m+8>>2]|0;if((c[l+24>>2]|0)==(k|0)){k=1;continue c}m=c[m+4>>2]|0;if((m|0)==0){m=0;l=0;k=1;continue c}}}i=e;return j|0}}while(0);if((j|0)!=0|(k|0)==0|d|(b|0)==0){m=j;i=e;return m|0}d=c[h>>2]|0;if((d|0)==0){m=0;i=e;return m|0}while(1){if((c[d+8>>2]|0)==(b|0)){break}d=c[d+4>>2]|0;if((d|0)==0){j=0;f=27;break}}if((f|0)==27){i=e;return j|0}j=c[d>>2]|0;g=d+4|0;f=c[g>>2]|0;if((j|0)!=0){c[j+4>>2]=f;if((f|0)==0){c[a+160>>2]=j}else{c[f>>2]=j}c[d>>2]=0;c[g>>2]=c[h>>2];c[c[h>>2]>>2]=d;c[h>>2]=d}if((c[b+24>>2]|0)!=1869968492){m=0;i=e;return m|0}c[a+164>>2]=b;m=0;i=e;return m|0}function kK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;if((a|0)==0){n=33;i=d;return n|0}if((b|0)==0){n=6;i=d;return n|0}if((c[b+16>>2]|0)>131076){n=4;i=d;return n|0}e=a+24|0;k=c[e>>2]|0;do{if((k|0)==0){j=a}else{j=c[b+8>>2]|0;l=0;while(1){g=c[a+28+(l<<2)>>2]|0;f=c[g>>2]|0;l=l+1|0;if((Qc(c[f+8>>2]|0,j|0)|0)==0){h=9;break}if(l>>>0<k>>>0){}else{break}}do{if((h|0)==9){if((c[b+12>>2]|0)>(c[f+12>>2]|0)){lK(a,g)|0;k=c[e>>2]|0;break}else{n=5;i=d;return n|0}}}while(0);if(k>>>0>31){e=48}else{j=a;break}i=d;return e|0}}while(0);f=c[j>>2]|0;k=c[b+4>>2]|0;do{if((k|0)>0){g=Bd[c[f+4>>2]&255](f,k)|0;m=(g|0)==0;l=m?64:0;if(m){g=0;break}bX(g|0,0,k|0)|0}else{g=0;l=k>>31&6}}while(0);if((l|0)!=0){n=l;i=d;return n|0}c[g+4>>2]=a;c[g+8>>2]=f;c[g>>2]=b;k=c[b>>2]|0;a:do{if((k&2|0)==0){j=b;h=31}else{k=c[j>>2]|0;j=Bd[c[k+4>>2]&255](k,12)|0;if((j|0)==0){n=64;break}bX(j|0,0,12)|0;m=c[g>>2]|0;c[g+20>>2]=m;n=m+36|0;c[g+24>>2]=c[n>>2];do{if((c[n>>2]|0)==1869968492){l=m+56|0;n=c[(c[l>>2]|0)+4>>2]|0;if((n|0)==0){break}n=Bd[n&255](k,g+60|0)|0;if((n|0)==0){c[g+64>>2]=c[(c[l>>2]|0)+16>>2];c[g+68>>2]=c[m+40>>2];break}else{hd[c[k+8>>2]&127](k,j);break a}}}while(0);c[j+8>>2]=g;h=a+160|0;k=c[h>>2]|0;c[j+4>>2]=0;c[j>>2]=k;if((k|0)==0){c[a+156>>2]=j;c[h>>2]=j}else{c[k+4>>2]=j;c[h>>2]=j;j=c[a+156>>2]|0}b:do{if((j|0)==0){h=0}else{while(1){h=c[j+8>>2]|0;if((c[h+24>>2]|0)==1869968492){break b}j=c[j+4>>2]|0;if((j|0)==0){h=0;break}}}}while(0);c[a+164>>2]=h;j=c[g>>2]|0;k=c[j>>2]|0;h=31}}while(0);c:do{if((h|0)==31){if((k&4|0)==0){h=k}else{c[a+168>>2]=g;j=c[g>>2]|0;h=c[j>>2]|0}do{if((h&1|0)!=0){c[g+20>>2]=j;if((c[j>>2]&512|0)!=0){break}h=Bd[c[f+4>>2]&255](f,96)|0;if((h|0)==0){n=64;break c}bX(h|0,0,96)|0;c[h>>2]=f;c[g+36>>2]=h}}while(0);b=c[b+24>>2]|0;if((b|0)!=0){n=jd[b&511](g)|0;if((n|0)!=0){break}}n=c[e>>2]|0;c[e>>2]=n+1;c[a+28+(n<<2)>>2]=g;n=0;i=d;return n|0}}while(0);e=c[c[g>>2]>>2]|0;if((e&513|0)==1){mJ(c[g+36>>2]|0);e=c[c[g>>2]>>2]|0}do{if((e&2|0)!=0){a=c[g+20>>2]|0;if((c[a+36>>2]|0)!=1869968492){break}e=c[g+60>>2]|0;if((e|0)==0){break}fd[c[(c[a+56>>2]|0)+20>>2]&511](e)}}while(0);if((g|0)==0){i=d;return n|0}hd[c[f+8>>2]&127](f,g);i=d;return n|0}function lK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;if((a|0)==0){m=33;i=d;return m|0}if((b|0)==0){m=34;i=d;return m|0}j=a+24|0;h=c[j>>2]|0;k=a+28+(h<<2)|0;if((h|0)<=0){m=34;i=d;return m|0}e=a+28|0;while(1){g=e+4|0;if((c[e>>2]|0)==(b|0)){break}if(g>>>0<k>>>0){e=g}else{b=34;f=46;break}}if((f|0)==46){i=d;return b|0}f=h+ -1|0;c[j>>2]=f;f=a+28+(f<<2)|0;if(e>>>0<f>>>0){while(1){g=e+4|0;c[e>>2]=c[g>>2];if(g>>>0<f>>>0){e=g}else{break}}}c[f>>2]=0;g=b+8|0;e=c[g>>2]|0;f=c[b>>2]|0;a=b+4|0;j=c[a>>2]|0;h=c[b+16>>2]|0;if((h|0)!=0){fd[h&511](b)}do{if((j|0)!=0){h=j+168|0;if((c[h>>2]|0)!=(b|0)){break}c[h>>2]=0}}while(0);l=c[b>>2]|0;m=c[l>>2]|0;a:do{if((m&2|0)!=0){a=c[a>>2]|0;h=c[a>>2]|0;j=a+156|0;k=c[j>>2]|0;if((k|0)==0){break}while(1){if((c[k+8>>2]|0)==(b|0)){break}k=c[k+4>>2]|0;if((k|0)==0){break a}}l=c[b+20>>2]|0;do{if((c[l+36>>2]|0)==1869968492){m=c[b+60>>2]|0;if((m|0)==0){break}fd[c[(c[l+56>>2]|0)+20>>2]&511](m)}}while(0);m=c[k>>2]|0;l=c[k+4>>2]|0;if((m|0)==0){c[j>>2]=l}else{c[m+4>>2]=l}if((l|0)==0){c[a+160>>2]=m}else{c[l>>2]=m}if((k|0)!=0){hd[c[h+8>>2]&127](h,k)}b:do{if((a|0)==0){j=0}else{h=c[j>>2]|0;if((h|0)==0){j=0;break}while(1){j=c[h+8>>2]|0;if((c[j+24>>2]|0)==1869968492){break b}h=c[h+4>>2]|0;if((h|0)==0){j=0;break}}}}while(0);c[a+164>>2]=j;l=c[b>>2]|0;m=c[l>>2]|0}}while(0);do{if((m&1|0)!=0){a=c[g>>2]|0;g=b+24|0;j=c[g>>2]|0;if((j|0)!=0){h=a+8|0;while(1){k=c[j+4>>2]|0;UJ(a,c[j+8>>2]|0,b);if((j|0)!=0){hd[c[h>>2]&127](a,j)}if((k|0)==0){break}else{j=k}}l=c[b>>2]|0}c[g>>2]=0;c[b+28>>2]=0;if((c[l>>2]&512|0)!=0){break}mJ(c[b+36>>2]|0)}}while(0);f=c[f+28>>2]|0;if((f|0)!=0){fd[f&511](b)}hd[c[e+8>>2]&127](e,b);m=0;i=d;return m|0}function mK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;if((a|0)==0|(b|0)==0){f=0;i=d;return f|0}f=c[a+24>>2]|0;e=a+28+(f<<2)|0;if((f|0)<=0){f=0;i=d;return f|0}f=a+28|0;while(1){a=c[f>>2]|0;f=f+4|0;if((Qc(c[(c[a>>2]|0)+8>>2]|0,b|0)|0)==0){b=6;break}if(f>>>0<e>>>0){}else{a=0;b=6;break}}if((b|0)==6){i=d;return a|0}return 0}function nK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;if((a|0)==0|(b|0)==0){h=0;i=e;return h|0}h=c[a+24>>2]|0;f=a+28+(h<<2)|0;if((h|0)<=0){h=0;i=e;return h|0}h=a+28|0;while(1){g=c[h>>2]|0;a=c[g>>2]|0;h=h+4|0;if((Qc(c[a+8>>2]|0,b|0)|0)==0){break}if(h>>>0<f>>>0){}else{b=0;d=8;break}}if((d|0)==8){i=e;return b|0}if((g|0)==0){h=0;i=e;return h|0}h=c[a+20>>2]|0;i=e;return h|0}function oK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;if((a|0)==0){h=0;i=d;return h|0}e=c[(c[a>>2]|0)+32>>2]|0;do{if((e|0)!=0){g=Bd[e&255](a,b)|0;if((g|0)==0){break}i=d;return g|0}}while(0);f=c[a+4>>2]|0;h=c[f+24>>2]|0;e=f+28+(h<<2)|0;if((h|0)<=0){h=0;i=d;return h|0}f=f+28|0;a:while(1){h=c[f>>2]|0;do{if((h|0)!=(a|0)){g=c[(c[h>>2]|0)+32>>2]|0;if((g|0)==0){break}g=Bd[g&255](h,b)|0;if((g|0)!=0){a=10;break a}}}while(0);f=f+4|0;if(f>>>0>=e>>>0){g=0;a=10;break}}if((a|0)==10){i=d;return g|0}return 0}function pK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;if((a|0)==0){g=6;i=d;return g|0}f=a+4|0;e=Bd[c[f>>2]&255](a,200)|0;if((e|0)==0){g=64;i=d;return g|0}bX(e|0,0,200)|0;c[e>>2]=a;c[e+176>>2]=16384;g=Bd[c[f>>2]&255](a,16384)|0;f=(g|0)==0;if(f){c[e+172>>2]=0;hd[c[a+8>>2]&127](a,e);g=f?64:0;i=d;return g|0}else{bX(g|0,0,16384)|0;c[e+172>>2]=g;c[e+12>>2]=2;c[e+16>>2]=4;c[e+20>>2]=4;c[e+196>>2]=1;c[b>>2]=e;g=0;i=d;return g|0}return 0}function qK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;if((a|0)==0){h=0;g=0;a=0}else{h=c[a+12>>2]|0;g=c[a+16>>2]|0;a=c[a+20>>2]|0}if((b|0)!=0){c[b>>2]=h}if((d|0)!=0){c[d>>2]=g}if((e|0)==0){i=f;return}c[e>>2]=a;i=f;return}function rK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=i;if((a|0)==0){s=33;i=d;return s|0}r=a+196|0;s=(c[r>>2]|0)+ -1|0;c[r>>2]=s;if((s|0)!=0){s=0;i=d;return s|0}b=c[a>>2]|0;f=c[a+8>>2]|0;if((f|0)!=0){fd[f&511](a)}f=a+24|0;h=c[f>>2]|0;m=h;g=0;do{if((h|0)==0){h=0}else{h=(g|0)==0;j=206296+(g<<2)|0;k=0;while(1){l=c[a+28+(k<<2)>>2]|0;n=c[l>>2]|0;if(h){if((Qc(c[n+8>>2]|0,c[j>>2]|0)|0)==0){e=11}else{l=m}}else{e=11}do{if((e|0)==11){e=0;if((c[n>>2]&1|0)==0){l=m;break}l=l+24|0;n=c[l>>2]|0;if((n|0)==0){l=m;break}do{m=c[n+8>>2]|0;a:do{if((m|0)!=0){n=m+96|0;if((c[n>>2]|0)==0){break}s=m+128|0;r=(c[s>>2]|0)+60|0;c[r>>2]=(c[r>>2]|0)+ -1;if((c[(c[s>>2]|0)+60>>2]|0)!=0){break}o=c[n>>2]|0;n=c[o+8>>2]|0;p=o+24|0;s=c[p>>2]|0;if((s|0)==0){break}while(1){if((c[s+8>>2]|0)==(m|0)){break}s=c[s+4>>2]|0;if((s|0)==0){break a}}q=c[s>>2]|0;r=c[s+4>>2]|0;if((q|0)==0){c[p>>2]=r}else{c[q+4>>2]=r}if((r|0)==0){c[o+28>>2]=q}else{c[r>>2]=q}if((s|0)!=0){hd[c[n+8>>2]&127](n,s)}UJ(n,m,o)}}while(0);n=c[l>>2]|0;}while((n|0)!=0);l=c[f>>2]|0}}while(0);k=k+1|0;if(k>>>0<l>>>0){m=l}else{m=l;h=l;break}}}g=g+1|0;}while(g>>>0<2);if((m|0)!=0){do{lK(a,c[a+28+(m+ -1<<2)>>2]|0)|0;m=c[f>>2]|0;}while((m|0)!=0)}e=a+172|0;f=c[e>>2]|0;if((f|0)!=0){hd[c[b+8>>2]&127](b,f)}c[e>>2]=0;c[a+176>>2]=0;hd[c[b+8>>2]&127](b,a);s=0;i=d;return s|0}function sK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;j=i;k=i;i=i+24|0;g=k;h=(c[(c[a>>2]|0)+96>>2]|0)+20|0;if((c[(c[h>>2]|0)+96>>2]|0)==0){d=0;i=j;return d|0}c[k>>2]=0;c[g+4>>2]=b;c[g+8>>2]=d;k=(e|0)==0?f:e;e=(k|0)==0;c[g+12>>2]=e?72:k;c[g+16>>2]=e?72:(f|0)==0?k:f;d=Bd[c[(c[h>>2]|0)+96>>2]&255](a,g)|0;i=j;return d|0}function tK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;f=i;i=i+24|0;g=f;h=(c[(c[a>>2]|0)+96>>2]|0)+20|0;if((c[(c[h>>2]|0)+96>>2]|0)==0){a=0;i=e;return a|0}c[f>>2]=0;c[g+4>>2]=b<<6;c[g+8>>2]=d<<6;c[g+12>>2]=0;c[g+16>>2]=0;a=Bd[c[(c[h>>2]|0)+96>>2]&255](a,g)|0;i=e;return a|0}function uK(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;g=i;l=i;i=i+8|0;y=l;t=i;i=i+8|0;s=t;o=i;i=i+8|0;p=o;k=i;i=i+8|0;j=k;m=i;i=i+8|0;n=m;q=i;i=i+8|0;v=q;r=i;i=i+8|0;w=r;u=i;i=i+8|0;x=u;if((d|0)==0|(e|0)==0){Z=6;i=g;return Z|0}h=c[e+16>>2]|0;z=c[e+20>>2]|0;if((b[d>>1]|0)<=0){Z=0;i=g;return Z|0}N=d+12|0;L=d+4|0;K=s+4|0;M=d+8|0;F=e+4|0;I=v+4|0;J=w+4|0;G=x+4|0;H=e+12|0;E=p+4|0;D=y+4|0;C=j+4|0;B=n+4|0;A=e+8|0;U=0;P=0;a:while(1){Z=b[(c[N>>2]|0)+(P<<1)>>1]|0;O=Z<<16>>16;if(Z<<16>>16<0){S=20;Q=29;break}R=c[L>>2]|0;Q=R+(O<<3)|0;V=R+(U<<3)|0;Z=c[V>>2]|0;V=c[V+4>>2]|0;X=t;c[X>>2]=Z;c[X+4>>2]=V;c[t>>2]=(Z<<h)-z;V=(V<<h)-z|0;c[K>>2]=V;Z=(c[R+(O<<3)>>2]<<h)-z|0;X=(c[R+(O<<3)+4>>2]<<h)-z|0;T=t;Y=c[T>>2]|0;T=c[T+4>>2]|0;S=l;c[S>>2]=Y;c[S+4>>2]=T;S=c[M>>2]|0;T=S+U|0;W=a[T]&3;if((W|0)==2){S=20;Q=29;break}else if((W|0)==0){if((a[S+O|0]&3)==1){c[t>>2]=Z;c[K>>2]=X;Q=R+(O+ -1<<3)|0}else{c[t>>2]=(Y+Z|0)/2|0;c[K>>2]=(V+X|0)/2|0}T=U+ -1|0;U=T;T=S+T|0}S=R+(U<<3)|0;R=Bd[c[e>>2]&255](s,f)|0;if((R|0)!=0){S=R;Q=29;break}b:do{if(S>>>0<Q>>>0){U=T;c:while(1){R=S+8|0;T=U+1|0;V=a[T]&3;if((V|0)==0){U=(c[R>>2]<<h)-z|0;c[l>>2]=U;S=(c[S+12>>2]<<h)-z|0;c[D>>2]=S;if(R>>>0<Q>>>0){V=R}else{Q=20;break}while(1){R=V+8|0;T=T+1|0;X=a[T]&3;W=(c[R>>2]<<h)-z|0;c[k>>2]=W;V=(c[V+12>>2]<<h)-z|0;c[C>>2]=V;if((X|0)==1){break}else if((X|0)!=0){S=20;Q=29;break a}c[m>>2]=(W+U|0)/2|0;c[B>>2]=(V+S|0)/2|0;S=sd[c[A>>2]&127](y,n,f)|0;if((S|0)!=0){Q=29;break a}S=k;U=c[S>>2]|0;S=c[S+4>>2]|0;Z=l;c[Z>>2]=U;c[Z+4>>2]=S;if(R>>>0<Q>>>0){S=S|0;V=R}else{Q=20;break c}}S=sd[c[A>>2]&127](y,j,f)|0;if((S|0)!=0){Q=29;break a}}else if((V|0)==1){c[o>>2]=(c[R>>2]<<h)-z;c[E>>2]=(c[S+12>>2]<<h)-z;S=Bd[c[F>>2]&255](p,f)|0;if((S|0)!=0){Q=29;break a}}else{if((S+16|0)>>>0>Q>>>0){S=20;Q=29;break a}if((a[U+2|0]&3)!=2){S=20;Q=29;break a}R=S+24|0;c[q>>2]=(c[S+8>>2]<<h)-z;c[I>>2]=(c[S+12>>2]<<h)-z;c[r>>2]=(c[S+16>>2]<<h)-z;c[J>>2]=(c[S+20>>2]<<h)-z;if(R>>>0>Q>>>0){Q=25;break}c[u>>2]=(c[R>>2]<<h)-z;c[G>>2]=(c[S+28>>2]<<h)-z;S=pd[c[H>>2]&63](v,w,x,f)|0;if((S|0)==0){T=U+3|0}else{Q=29;break a}}if(R>>>0<Q>>>0){S=R;U=T}else{Q=26;break b}}if((Q|0)==20){Q=0;S=sd[c[A>>2]&127](y,s,f)|0;break}else if((Q|0)==25){Q=0;S=pd[c[H>>2]&63](v,w,s,f)|0;break}}else{Q=26}}while(0);if((Q|0)==26){S=Bd[c[F>>2]&255](s,f)|0}if((S|0)!=0){Q=29;break}P=P+1|0;if((P|0)<(b[d>>1]|0)){U=O+1|0}else{S=0;Q=29;break}}if((Q|0)==29){i=g;return S|0}return 0}function vK(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;if((f|0)==0|(a|0)==0){m=6;i=g;return m|0}bX(f|0,0,20)|0;a:do{if((d|0)<0){e=6;h=10}else{k=(d|0)==0;do{if(k){m=0}else{if((d|0)>268435455){e=10;h=10;break a}j=d<<3;m=Bd[c[a+4>>2]&255](a,j)|0;l=(m|0)==0;if(l){m=0}else{bX(m|0,0,j|0)|0}if(l){j=f+4|0;c[j>>2]=m;e=64;break a}else{bX(m|0,0,j|0)|0;break}}}while(0);j=f+4|0;c[j>>2]=m;do{if(k){m=0;h=18}else{l=(d|0)>0;if(!l){k=d>>31&6;c[f+8>>2]=0;if((k|0)==0){break}else{e=k;break a}}m=Bd[c[a+4>>2]&255](a,d)|0;k=(m|0)==0;if(k){m=0}else{bX(m|0,0,d|0)|0}if(l&(k^1)){bX(m|0,0,d|0)|0;h=18;break}else{c[f+8>>2]=m;if(k){e=64;break a}else{break}}}}while(0);if((h|0)==18){c[f+8>>2]=m}b:do{if((e|0)<0){e=6}else{do{if((e|0)==0){m=0}else{if((e|0)>1073741823){e=10;break b}k=e<<1;m=Bd[c[a+4>>2]&255](a,k)|0;l=(m|0)==0;if(l){m=0}else{bX(m|0,0,k|0)|0}if(l){c[f+12>>2]=m;e=64;break a}else{bX(m|0,0,k|0)|0;break}}}while(0);c[f+12>>2]=m;b[f+2>>1]=d;b[f>>1]=e;m=f+16|0;c[m>>2]=c[m>>2]|1;m=0;i=g;return m|0}}while(0);c[f+12>>2]=0}}while(0);if((h|0)==10){j=f+4|0;c[j>>2]=0}h=f+16|0;c[h>>2]=c[h>>2]|1;h=c[j>>2]|0;if((h|0)!=0){hd[c[a+8>>2]&127](a,h)}c[j>>2]=0;h=f+8|0;d=c[h>>2]|0;if((d|0)!=0){hd[c[a+8>>2]&127](a,d)}c[h>>2]=0;h=c[f+12>>2]|0;if((h|0)!=0){hd[c[a+8>>2]&127](a,h)}bX(f|0,0,20)|0;m=e;i=g;return m|0}function wK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;if((a|0)==0){e=33;i=f;return e|0}e=vK(c[a>>2]|0,b,d,e)|0;i=f;return e|0}function xK(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;e=i;if((a|0)==0|(d|0)==0){g=6;i=e;return g|0}g=a+2|0;f=b[g>>1]|0;if(f<<16>>16!=(b[d+2>>1]|0)){g=6;i=e;return g|0}if((b[a>>1]|0)!=(b[d>>1]|0)){g=6;i=e;return g|0}if((a|0)==(d|0)){g=0;i=e;return g|0}$W(c[d+4>>2]|0,c[a+4>>2]|0,f<<16>>16<<3|0)|0;$W(c[d+8>>2]|0,c[a+8>>2]|0,b[g>>1]|0)|0;$W(c[d+12>>2]|0,c[a+12>>2]|0,b[a>>1]<<1|0)|0;g=d+16|0;c[g>>2]=c[a+16>>2]&-2|c[g>>2]&1;g=0;i=e;return g|0}function yK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;if((a|0)==0){f=33;i=d;return f|0}a=c[a>>2]|0;if((a|0)==0|(b|0)==0){f=6;i=d;return f|0}if((c[b+16>>2]&1|0)!=0){e=b+4|0;f=c[e>>2]|0;if((f|0)!=0){hd[c[a+8>>2]&127](a,f)}c[e>>2]=0;e=b+8|0;f=c[e>>2]|0;if((f|0)!=0){hd[c[a+8>>2]&127](a,f)}c[e>>2]=0;e=b+12|0;f=c[e>>2]|0;if((f|0)!=0){hd[c[a+8>>2]&127](a,f)}c[e>>2]=0}bX(b|0,0,20)|0;f=0;i=d;return f|0}function zK(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;if((a|0)==0|(d|0)==0){i=e;return}h=b[a+2>>1]|0;do{if(h<<16>>16==0){l=0;g=0;h=0;j=0}else{f=c[a+4>>2]|0;a=f+(h<<16>>16<<3)|0;g=c[f>>2]|0;j=c[f+4>>2]|0;if(h<<16>>16<=1){l=g;h=j;break}k=f;f=f+8|0;l=g;h=j;while(1){m=c[f>>2]|0;g=(m|0)<(g|0)?m:g;l=(m|0)>(l|0)?m:l;k=c[k+12>>2]|0;j=(k|0)<(j|0)?k:j;h=(k|0)>(h|0)?k:h;k=f+8|0;if(k>>>0<a>>>0){m=f;f=k;k=m}else{break}}}}while(0);c[d>>2]=g;c[d+8>>2]=l;c[d+4>>2]=j;c[d+12>>2]=h;i=e;return}function AK(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=i;k=i;i=i+16|0;h=k;g=i;i=i+16|0;e=g;$W(g|0,206304,12)|0;if((a|0)==0){z=0;i=d;return z|0}if((b[a+2>>1]|0)<1){z=0;i=d;return z|0}j=b[a>>1]|0;if(j<<16>>16<=0){z=0;i=d;return z|0}p=c[a+12>>2]|0;l=c[a+4>>2]|0;n=p+(j<<16>>16<<1)|0;o=l;r=32768;j=0;a=0;s=-32768;q=32768;while(1){m=b[p>>1]|0;t=l+(m<<3)|0;if(t>>>0>=(o+16|0)>>>0){if(o>>>0>t>>>0){y=-32768;u=32768;x=-32768;v=32768}else{y=-32768;u=32768;x=-32768;v=32768;w=o;while(1){z=c[w>>2]|0;u=(z|0)<(u|0)?z:u;y=(z|0)>(y|0)?z:y;z=c[w+4>>2]|0;v=(z|0)<(v|0)?z:v;x=(z|0)>(x|0)?z:x;w=w+8|0;if(w>>>0>t>>>0){break}else{}}}w=(u|0)>=(r|0)|(u|0)==(y|0)|(v|0)==(x|0);r=w?r:u;j=w?j:o;a=w?a:t;s=w?s:x;q=w?q:v}p=p+2|0;if(p>>>0<n>>>0){o=l+(m+1<<3)|0}else{break}}if((r|0)==32768){z=0;i=d;return z|0}c[k>>2]=(q*3|0)+s>>2;c[h+4>>2]=s+q>>1;c[h+8>>2]=(s*3|0)+q>>2;l=j>>>0>a>>>0;k=0;do{a:do{if(!l){m=h+(k<<2)|0;o=c[m>>2]|0;p=0;r=0;q=32768;n=j;s=a;u=0;t=0;v=-32768;while(1){x=c[n+4>>2]|0;do{if((x|0)==(o|0)){f=16}else{w=c[s+4>>2]|0;if((w|0)==(o|0)){f=16;break}do{if(!((x|0)<(o|0)&(w|0)<(o|0))){if((x|0)>(o|0)&(w|0)>(o|0)){break}y=c[s>>2]|0;w=(_I((c[n>>2]|0)-y|0,o-w|0,x-w|0)|0)+y|0;y=(w|0)<(q|0);x=(w|0)>(v|0);p=y?s:p;r=y?n:r;q=y?w:q;u=x?s:u;t=x?n:t;v=x?w:v}}while(0);w=n+8|0;s=n}}while(0);if((f|0)==16){f=0;o=o+1|0;c[m>>2]=o;p=0;r=0;q=32768;w=j;s=a;u=0;t=0;v=-32768}if(w>>>0>a>>>0){break}else{n=w}}if((p|0)==0|(u|0)==0){break}m=c[p+4>>2]|0;n=c[r+4>>2]|0;do{if((m|0)<(n|0)){if((c[u+4>>2]|0)<=(c[t+4>>2]|0)){break}c[e+(k<<2)>>2]=0;break a}}while(0);do{if((m|0)>(n|0)){if((c[u+4>>2]|0)>=(c[t+4>>2]|0)){break}c[e+(k<<2)>>2]=1;break a}}while(0);c[e+(k<<2)>>2]=2}}while(0);k=k+1|0;}while((k|0)<3);g=c[g>>2]|0;f=e+4|0;do{if((g|0)!=2){if((g|0)==(c[f>>2]|0)){z=g;i=d;return z|0}if((g|0)!=(c[e+8>>2]|0)){break}i=d;return g|0}}while(0);g=c[f>>2]|0;do{if((g|0)!=2){if((g|0)!=(c[e+8>>2]|0)){break}i=d;return g|0}}while(0);z=0;i=d;return z|0}function BK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=i;l=i;i=i+8|0;q=i;i=i+16|0;o=q;p=i;i=i+16|0;n=p;m=e+20|0;j=c[m>>2]|0;if((j|0)==0){j=(c[e+4>>2]|0)>>>0<f>>>0?85:0}else{s=(pd[j&63](e,f,0,0)|0)==0;j=s?0:85}if((j|0)!=0){s=j;i=b;return s|0}j=e+8|0;c[j>>2]=f;k=e+4|0;r=c[k>>2]|0;if(r>>>0<=f>>>0){s=85;i=b;return s|0}s=c[m>>2]|0;if((s|0)==0){r=r-f|0;r=r>>>0>16?16:r;$W(q|0,(c[e>>2]|0)+f|0,r|0)|0}else{r=pd[s&63](e,f,o,16)|0}c[j>>2]=r+f;if(r>>>0<=15){s=85;i=b;return s|0}r=(d[o+1|0]<<16|d[q]<<24|d[o+2|0]<<8|d[o+3|0])+f|0;c[h>>2]=r;s=d[o+5|0]<<16|d[o+4|0]<<24|d[o+6|0]<<8|d[o+7|0];h=s+f|0;if(((d[o+9|0]<<16|d[o+8|0]<<24|d[o+10|0]<<8|d[o+11|0])+r|0)!=(h|0)|(s|0)==0){s=2;i=b;return s|0}f=c[m>>2]|0;if((f|0)==0){f=(c[k>>2]|0)>>>0<h>>>0?85:0}else{s=(pd[f&63](e,h,0,0)|0)==0;f=s?0:85}if((f|0)!=0){s=f;i=b;return s|0}c[j>>2]=h;a[n+15|0]=(a[o+15|0]|0)+1<<24>>24;f=c[k>>2]|0;if(f>>>0<=h>>>0){s=85;i=b;return s|0}q=c[m>>2]|0;if((q|0)==0){f=f-h|0;f=f>>>0>16?16:f;$W(p|0,(c[e>>2]|0)+h|0,f|0)|0}else{f=pd[q&63](e,h,n,16)|0}p=f+h|0;c[j>>2]=p;if(f>>>0>15){q=1;f=1;r=0}else{s=85;i=b;return s|0}do{s=a[n+r|0]|0;f=s<<24>>24==0?f:0;q=s<<24>>24==(a[o+r|0]|0)?q:0;r=r+1|0;}while((r|0)<16);if((q|f|0)==0){s=2;i=b;return s|0}o=p+8|0;n=c[m>>2]|0;if((n|0)==0){n=(c[k>>2]|0)>>>0<o>>>0?85:0}else{s=(pd[n&63](e,o,0,0)|0)==0;n=s?0:85}if((n|0)==0){c[j>>2]=o}else{o=c[j>>2]|0}if((o+1|0)>>>0>=(c[k>>2]|0)>>>0){s=85;i=b;return s|0}n=c[m>>2]|0;do{if((n|0)==0){l=(c[e>>2]|0)+o|0;if((l|0)!=0){n=0;m=34;break}c[j>>2]=o+2;m=36}else{if((pd[n&63](e,o,l,2)|0)==2){n=c[m>>2]|0;o=c[j>>2]|0;m=34;break}else{s=85;i=b;return s|0}}}while(0);do{if((m|0)==34){s=(d[l]<<8&65535|d[l+1|0])&65535;c[j>>2]=o+2;h=s+h|0;if((n|0)==0){m=36;break}s=(pd[n&63](e,h,0,0)|0)==0;e=h;k=s?0:85}}while(0);if((m|0)==36){e=h;k=(c[k>>2]|0)>>>0<h>>>0?85:0}if((k|0)!=0){s=k;i=b;return s|0}c[j>>2]=e;c[g>>2]=e;s=0;i=b;return s|0}function CK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;g=a+8|0;f=c[g>>2]|0;h=c[a+4>>2]|0;if(h>>>0<=f>>>0){j=85;i=e;return j|0}j=c[a+20>>2]|0;if((j|0)==0){h=h-f|0;j=h>>>0>d>>>0?d:h;$W(b|0,(c[a>>2]|0)+f|0,j|0)|0;b=j}else{b=pd[j&63](a,f,b,d)|0}c[g>>2]=b+f;j=b>>>0<d>>>0?85:0;i=e;return j|0}function DK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;if((b|0)<0){f=85;i=d;return f|0}e=a+8|0;b=(c[e>>2]|0)+b|0;f=c[a+20>>2]|0;if((f|0)==0){a=(c[a+4>>2]|0)>>>0<b>>>0?85:0}else{f=(pd[f&63](a,b,0,0)|0)==0;a=f?0:85}if((a|0)!=0){f=a;i=d;return f|0}c[e>>2]=b;f=0;i=d;return f|0}function EK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;j=i;i=i+8|0;c[b>>2]=0;g=a+8|0;h=c[g>>2]|0;do{if((h+1|0)>>>0<(c[a+4>>2]|0)>>>0){k=c[a+20>>2]|0;if((k|0)==0){j=(c[a>>2]|0)+h|0;if((j|0)==0){j=0}else{e=6}}else{if((pd[k&63](a,h,j,2)|0)!=2){break}h=c[g>>2]|0;e=6}if((e|0)==6){j=(d[j]|0)<<8&65535|(d[j+1|0]|0)}c[g>>2]=h+2;k=j;i=f;return k|0}}while(0);c[b>>2]=85;k=0;i=f;return k|0}function FK(a,e,f,g,h,j,k){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;l=i;o=i;i=i+8|0;n=i;i=i+8|0;a=c[a>>2]|0;p=e+20|0;q=c[p>>2]|0;if((q|0)==0){q=(c[e+4>>2]|0)>>>0<f>>>0?85:0}else{y=(pd[q&63](e,f,0,0)|0)==0;q=y?0:85}if((q|0)!=0){y=q;i=l;return y|0}q=e+8|0;c[q>>2]=f;r=e+4|0;if((f+1|0)>>>0>=(c[r>>2]|0)>>>0){y=85;i=l;return y|0}s=c[p>>2]|0;do{if((s|0)==0){t=(c[e>>2]|0)+f|0;if((t|0)!=0){s=f;m=11;break}u=f+2|0;c[q>>2]=u;s=1}else{if((pd[s&63](e,f,n,2)|0)==2){s=c[q>>2]|0;t=n;m=11;break}else{y=85;i=l;return y|0}}}while(0);if((m|0)==11){y=(((d[t]|0)<<8&65535|(d[t+1|0]|0))&65535)+1|0;u=s+2|0;c[q>>2]=u;s=y}t=1;while(1){v=c[r>>2]|0;if((u+3|0)>>>0>=v>>>0){j=85;m=80;break}w=c[p>>2]|0;if((w|0)==0){w=(c[e>>2]|0)+u|0;if((w|0)==0){x=u;u=0}else{m=20}}else{if((pd[w&63](e,u,o,4)|0)!=4){j=85;m=80;break}v=c[r>>2]|0;u=c[q>>2]|0;w=o;m=20}if((m|0)==20){m=0;x=u;u=(d[w+1|0]|0)<<16|(d[w]|0)<<24|(d[w+2|0]|0)<<8|(d[w+3|0]|0)}w=x+4|0;c[q>>2]=w;if((x+5|0)>>>0>=v>>>0){j=85;m=80;break}x=c[p>>2]|0;if((x|0)==0){x=(c[e>>2]|0)+w|0;if((x|0)==0){x=v;v=1}else{y=x;m=26}}else{if((pd[x&63](e,w,n,2)|0)!=2){j=85;m=80;break}v=c[r>>2]|0;w=c[q>>2]|0;y=n;m=26}if((m|0)==26){m=0;x=v;v=(((d[y]|0)<<8&65535|(d[y+1|0]|0))&65535)+1|0}y=w+2|0;c[q>>2]=y;if((w+3|0)>>>0>=x>>>0){j=85;m=80;break}w=c[p>>2]|0;if((w|0)==0){w=(c[e>>2]|0)+y|0;if((w|0)==0){w=0}else{m=32}}else{if((pd[w&63](e,y,n,2)|0)!=2){j=85;m=80;break}y=c[q>>2]|0;w=n;m=32}if((m|0)==32){m=0;w=((d[w]|0)<<8&65535|(d[w+1|0]|0))&65535}x=y+2|0;c[q>>2]=x;if((u|0)==(h|0)){m=34;break}if((t|0)>=(s|0)){j=1;m=80;break}u=x;t=t+1|0}if((m|0)==34){c[k>>2]=v;h=w+f|0;f=c[p>>2]|0;if((f|0)==0){f=(c[r>>2]|0)>>>0<h>>>0?85:0}else{y=(pd[f&63](e,h,0,0)|0)==0;f=y?0:85}if((f|0)!=0){y=f;i=l;return y|0}c[q>>2]=h;h=c[k>>2]|0;if((h|0)<0){y=6;i=l;return y|0}do{if((h|0)==0){h=0}else{if((h|0)>268435455){y=10;i=l;return y|0}s=h<<3;h=Bd[c[a+4>>2]&255](a,s)|0;f=(h|0)==0;if(f){h=0}else{bX(h|0,0,s|0)|0}if(f){y=64;i=l;return y|0}else{bX(h|0,0,s|0)|0;break}}}while(0);s=c[k>>2]|0;a:do{if((s|0)>0){f=0;while(1){s=c[q>>2]|0;if((s+1|0)>>>0>=(c[r>>2]|0)>>>0){break}t=c[p>>2]|0;if((t|0)==0){t=(c[e>>2]|0)+s|0;if((t|0)==0){t=0}else{m=51}}else{if((pd[t&63](e,s,n,2)|0)!=2){break}s=c[q>>2]|0;t=n;m=51}if((m|0)==51){m=0;t=(d[t]|0)<<8&65535|(d[t+1|0]|0)}c[q>>2]=s+2;b[h+(f<<3)>>1]=t;t=c[q>>2]|0;s=t+2|0;u=c[p>>2]|0;if((u|0)==0){u=(c[r>>2]|0)>>>0<s>>>0?85:0}else{y=(pd[u&63](e,s,0,0)|0)==0;u=y?0:85}if((u|0)!=0){break a}c[q>>2]=s;if((t+5|0)>>>0>=(c[r>>2]|0)>>>0){u=85;break a}u=c[p>>2]|0;do{if((u|0)==0){m=(c[e>>2]|0)+s|0;if((m|0)!=0){t=0;u=s;s=m;m=63;break}c[q>>2]=t+6;u=t+10|0;s=0;m=65}else{if((pd[u&63](e,s,o,4)|0)!=4){u=85;break a}t=c[p>>2]|0;u=c[q>>2]|0;s=o;m=63}}while(0);do{if((m|0)==63){m=0;s=(d[s+2|0]|0)<<8|(d[s+1|0]|0)<<16|(d[s+3|0]|0);c[q>>2]=u+4;u=u+8|0;if((t|0)==0){m=65;break}y=(pd[t&63](e,u,0,0)|0)==0;t=u;u=y?0:85}}while(0);if((m|0)==65){m=0;t=u;u=(c[r>>2]|0)>>>0<u>>>0?85:0}if((u|0)!=0){break a}c[q>>2]=t;c[h+(f<<3)+4>>2]=s;f=f+1|0;s=c[k>>2]|0;if((f|0)>=(s|0)){m=68;break a}}b[h+(f<<3)>>1]=0;u=85}else{m=68}}while(0);do{if((m|0)==68){pb(h|0,s|0,8,189);m=c[k>>2]|0;if((m|0)<0){u=6;break}if((m|0)==0){o=0}else{if((m|0)>536870911){u=10;break}m=m<<2;o=Bd[c[a+4>>2]&255](a,m)|0;n=(o|0)==0;if(n){o=0}else{bX(o|0,0,m|0)|0}if(n){u=64;break}bX(o|0,0,m|0)|0}if((c[k>>2]|0)>0){m=0;do{c[o+(m<<2)>>2]=(c[h+(m<<3)+4>>2]|0)+g;m=m+1|0;}while((m|0)<(c[k>>2]|0))}c[j>>2]=o;u=0}}while(0);if((h|0)==0){y=u;i=l;return y|0}hd[c[a+8>>2]&127](a,h);y=u;i=l;return y|0}else if((m|0)==80){i=l;return j|0}return 0}function GK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;j=i;i=i+8|0;c[b>>2]=0;g=a+8|0;h=c[g>>2]|0;do{if((h+3|0)>>>0<(c[a+4>>2]|0)>>>0){k=c[a+20>>2]|0;if((k|0)==0){j=(c[a>>2]|0)+h|0;if((j|0)==0){j=0}else{e=6}}else{if((pd[k&63](a,h,j,4)|0)!=4){break}h=c[g>>2]|0;e=6}if((e|0)==6){j=(d[j+1|0]|0)<<16|(d[j]|0)<<24|(d[j+2|0]|0)<<8|(d[j+3|0]|0)}c[g>>2]=h+4;k=j;i=f;return k|0}}while(0);c[b>>2]=85;k=0;i=f;return k|0}function HK(a,c){a=a|0;c=c|0;var d=0;d=i;a=b[a>>1]|0;c=b[c>>1]|0;if((a&65535)<(c&65535)){a=-1;i=d;return a|0}a=(a&65535)>(c&65535)|0;i=d;return a|0}function IK(a){a=a|0;i=i;return c[a+8>>2]|0}function JK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;g=c[a+4>>2]|0;if(g>>>0<=b>>>0){h=85;i=f;return h|0}h=c[a+20>>2]|0;if((h|0)==0){g=g-b|0;h=g>>>0>e>>>0?e:g;$W(d|0,(c[a>>2]|0)+b|0,h|0)|0;d=h}else{d=pd[h&63](a,b,d,e)|0}c[a+8>>2]=d+b;h=d>>>0<e>>>0?85:0;i=f;return h|0}function KK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;f=a+8|0;g=c[f>>2]|0;h=c[a+4>>2]|0;if(g>>>0>=h>>>0){j=0;i=e;return j|0}j=c[a+20>>2]|0;if((j|0)==0){h=h-g|0;j=h>>>0>d>>>0?d:h;$W(b|0,(c[a>>2]|0)+g|0,j|0)|0;b=j}else{b=pd[j&63](a,g,b,d)|0}c[f>>2]=(c[f>>2]|0)+b;j=b;i=e;return j|0}function LK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;b=MK(a,b)|0;if((b|0)!=0){i=e;return b|0}f=a+32|0;c[d>>2]=c[f>>2];c[f>>2]=0;c[a+36>>2]=0;i=e;return b|0}function MK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;g=a+20|0;if((c[g>>2]|0)==0){e=a+8|0;f=c[e>>2]|0;h=c[a+4>>2]|0;if(f>>>0>=h>>>0|(h-f|0)>>>0<b>>>0){h=85;i=d;return h|0}g=c[a>>2]|0;c[a+32>>2]=g+f;h=f+b|0;c[a+36>>2]=g+h;c[e>>2]=h;h=0;i=d;return h|0}f=c[a+28>>2]|0;if((c[a+4>>2]|0)>>>0<b>>>0){h=85;i=d;return h|0}if((b|0)>0){e=Bd[c[f+4>>2]&255](f,b)|0;h=e;e=(e|0)==0?64:0}else{h=0;e=b>>31&6}c[a>>2]=h;if((e|0)!=0){h=e;i=d;return h|0}e=a+8|0;g=pd[c[g>>2]&63](a,c[e>>2]|0,h,b)|0;h=c[a>>2]|0;if(g>>>0<b>>>0){if((h|0)!=0){hd[c[f+8>>2]&127](f,h)}c[a>>2]=0;h=0;f=85}else{f=0}c[a+32>>2]=h;c[a+36>>2]=h+b;c[e>>2]=(c[e>>2]|0)+g;h=f;i=d;return h|0}function NK(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;do{if((a|0)!=0){if((c[a+20>>2]|0)==0){break}e=c[a+28>>2]|0;a=c[b>>2]|0;if((a|0)!=0){hd[c[e+8>>2]&127](e,a)}c[b>>2]=0}}while(0);c[b>>2]=0;i=d;return}function OK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;if((b|0)>0){b=Bd[c[a+4>>2]&255](a,b)|0;a=b;b=(b|0)==0?64:0}else{a=0;b=b>>31&6}c[d>>2]=b;i=e;return a|0}function PK(a){a=a|0;var b=0,d=0,e=0;b=i;if((c[a+20>>2]|0)!=0){e=c[a+28>>2]|0;d=c[a>>2]|0;if((d|0)!=0){hd[c[e+8>>2]&127](e,d)}c[a>>2]=0}c[a+32>>2]=0;c[a+36>>2]=0;i=b;return}function QK(b){b=b|0;var d=0,e=0,f=0;d=i;f=b+32|0;e=c[f>>2]|0;if(e>>>0>=(c[b+36>>2]|0)>>>0){f=0;i=d;return f|0}c[f>>2]=e+1;f=a[e]|0;i=d;return f|0}function RK(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;e=a+32|0;f=c[e>>2]|0;g=f+1|0;if(g>>>0>=(c[a+36>>2]|0)>>>0){a=f;g=0;f=e;c[f>>2]=a;i=b;return g|0}a=f+2|0;g=(d[f]|0)<<8&65535|(d[g]|0);f=e;c[f>>2]=a;i=b;return g|0}function SK(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;e=a+32|0;f=c[e>>2]|0;g=f+1|0;if(g>>>0>=(c[a+36>>2]|0)>>>0){a=f;g=0;f=e;c[f>>2]=a;i=b;return g|0}a=f+2|0;g=(d[g]|0)<<8&65535|(d[f]|0);f=e;c[f>>2]=a;i=b;return g|0}function TK(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;e=a+32|0;f=c[e>>2]|0;g=f+3|0;if(g>>>0>=(c[a+36>>2]|0)>>>0){a=f;g=0;f=e;c[f>>2]=a;i=b;return g|0}a=f+4|0;g=(d[f+1|0]|0)<<16|(d[f]|0)<<24|(d[f+2|0]|0)<<8|(d[g]|0);f=e;c[f>>2]=a;i=b;return g|0}function UK(a){a=a|0;var b=0,e=0,f=0,g=0;b=i;e=a+32|0;f=c[e>>2]|0;g=f+3|0;if(g>>>0>=(c[a+36>>2]|0)>>>0){a=f;g=0;f=e;c[f>>2]=a;i=b;return g|0}a=f+4|0;g=(d[f+2|0]|0)<<16|(d[g]|0)<<24|(d[f+1|0]|0)<<8|(d[f]|0);f=e;c[f>>2]=a;i=b;return g|0}function VK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;h=i;i=i+8|0;j=h;a[h]=0;c[d>>2]=0;k=c[b+20>>2]|0;e=b+8|0;g=c[e>>2]|0;do{if((k|0)==0){if(g>>>0>=(c[b+4>>2]|0)>>>0){h=7;break}d=a[(c[b>>2]|0)+g|0]|0;a[h]=d;h=6}else{if((pd[k&63](b,g,j,1)|0)!=1){h=7;break}d=a[h]|0;g=c[e>>2]|0;h=6}}while(0);if((h|0)==6){c[e>>2]=g+1;b=d;i=f;return b|0}else if((h|0)==7){c[d>>2]=85;b=0;i=f;return b|0}return 0}function WK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;j=i;i=i+8|0;c[b>>2]=0;g=a+8|0;h=c[g>>2]|0;do{if((h+1|0)>>>0<(c[a+4>>2]|0)>>>0){k=c[a+20>>2]|0;if((k|0)==0){j=(c[a>>2]|0)+h|0;if((j|0)==0){j=0}else{e=6}}else{if((pd[k&63](a,h,j,2)|0)!=2){break}h=c[g>>2]|0;e=6}if((e|0)==6){j=(d[j+1|0]|0)<<8&65535|(d[j]|0)}c[g>>2]=h+2;k=j;i=f;return k|0}}while(0);c[b>>2]=85;k=0;i=f;return k|0}function XK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;k=i;i=i+8|0;c[e>>2]=0;h=b+8|0;j=c[h>>2]|0;do{if((j+2|0)>>>0<(c[b+4>>2]|0)>>>0){l=c[b+20>>2]|0;if((l|0)==0){k=(c[b>>2]|0)+j|0;if((k|0)==0){k=0}else{f=6}}else{if((pd[l&63](b,j,k,3)|0)!=3){break}j=c[h>>2]|0;f=6}if((f|0)==6){k=d[k+1|0]<<8|a[k]<<16|d[k+2|0]}c[h>>2]=j+3;l=k;i=g;return l|0}}while(0);c[e>>2]=85;l=0;i=g;return l|0}function YK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;j=i;i=i+8|0;c[b>>2]=0;g=a+8|0;h=c[g>>2]|0;do{if((h+3|0)>>>0<(c[a+4>>2]|0)>>>0){k=c[a+20>>2]|0;if((k|0)==0){j=(c[a>>2]|0)+h|0;if((j|0)==0){j=0}else{e=6}}else{if((pd[k&63](a,h,j,4)|0)!=4){break}h=c[g>>2]|0;e=6}if((e|0)==6){j=(d[j+2|0]|0)<<16|(d[j+3|0]|0)<<24|(d[j+1|0]|0)<<8|(d[j]|0)}c[g>>2]=h+4;k=j;i=f;return k|0}}while(0);c[b>>2]=85;k=0;i=f;return k|0}function ZK(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;if((g|0)==0|(f|0)==0){r=6;i=l;return r|0}k=f+32|0;j=f+36|0;n=0;a:while(1){q=c[k>>2]|0;b:while(1){p=a[g]|0;c:do{switch(p&255|0){case 9:case 8:{o=q+1|0;r=24;q=d[q]|0;m=18;break};case 18:case 19:{o=q+4|0;r=0;q=(d[q+2|0]|0)<<16|(d[q+3|0]|0)<<24|(d[q+1|0]|0)<<8|(d[q]|0);m=18;break};case 25:case 24:{r=d[g+1|0]|0;o=q+r|0;if(o>>>0>(c[j>>2]|0)>>>0){h=85;break a}if(p<<24>>24!=24){break c}$W(h+(e[g+2>>1]|0)|0,q|0,r|0)|0;break};case 22:case 23:{o=q+3|0;r=8;q=(d[q+1|0]|0)<<8|(d[q+2|0]|0)<<16|(d[q]|0);m=18;break};case 12:case 13:{o=q+2|0;r=16;q=((d[q]|0)<<8&65535|(d[q+1|0]|0))&65535;m=18;break};case 16:case 17:{o=q+4|0;r=0;q=(d[q+1|0]|0)<<16|(d[q]|0)<<24|(d[q+2|0]|0)<<8|(d[q+3|0]|0);m=18;break};case 14:case 15:{o=q+2|0;r=16;q=((d[q+1|0]|0)<<8&65535|(d[q]|0))&65535;m=18;break};case 20:case 21:{o=q+3|0;r=8;q=(d[q+1|0]|0)<<8|(d[q]|0)<<16|(d[q+2|0]|0);m=18;break};case 4:{break b};default:{m=17;break a}}}while(0);do{if((m|0)==18){m=0;if((p&1)!=0){q=q<<r>>r}r=h+(e[g+2>>1]|0)|0;p=d[g+1|0]|0;if((p|0)==1){a[r]=q;break}else if((p|0)==2){b[r>>1]=q;break}else if((p|0)==4){c[r>>2]=q;break}else{c[r>>2]=q;break}}}while(0);g=g+4|0;q=o}o=MK(f,e[g+2>>1]|0)|0;if((o|0)!=0){h=o;break}g=g+4|0;n=1}if((m|0)==17){c[k>>2]=q;h=0}if(n<<24>>24==0){r=h;i=l;return r|0}if((c[f+20>>2]|0)!=0){n=c[f+28>>2]|0;m=c[f>>2]|0;if((m|0)!=0){hd[c[n+8>>2]&127](n,m)}c[f>>2]=0}c[k>>2]=0;c[j>>2]=0;r=h;i=l;return r|0}function _K(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;d=a;a=c[d>>2]|0;d=c[d+4>>2]|0;if((a|0)==0){g=(d|0)>-1?d:0-d|0;i=b;return g|0}e=(a|0)>-1?a:0-a|0;if((d|0)==0){g=e;i=b;return g|0}e=((d|0)>-1?d:0-d|0)|e;f=(e|0)>65535;e=f?e>>16:e;f=f?16:0;if((e|0)>255){f=f|8;e=e>>8}if((e|0)>15){f=f+4|0;e=e>>4}if((e|0)>3){f=f+2|0;e=e>>2}f=((e|0)>1)+f|0;if((f|0)<28){g=27-f|0;d=d<<g;e=a<<g;a=g}else{e=f+ -27|0;d=d>>e;e=a>>e;a=27-f|0}if((e|0)<0){e=0-e|0;g=0-d|0}else{g=d}f=e<<1;if((g|0)<0){d=0;e=e-(g<<1)|0;f=g+f|0}else{d=0;e=(g<<1)+e|0;f=g-f|0}do{g=e>>d;if((f|0)<0){e=e-(f>>d)|0;f=f+g|0}else{e=(f>>d)+e|0;f=f-g|0}d=d+1|0;}while((d|0)<23);d=(e|0)>-1;e=d?e:0-e|0;f=e>>>16;e=e&65535;g=(e*17797|0)+(f*47593|0)|0;e=(e*47593|0)>>>16;h=g+e|0;f=(h>>>16)+(f*17797|0)|0;e=h>>>0<(g>>>0>=e>>>0?g:e)>>>0?f+65536|0:f;d=d?e:0-e|0;if((a|0)>0){h=d+(1<<a+ -1)>>a;i=b;return h|0}else{h=d<<0-a;i=b;return h|0}return 0}
function wx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;e=i;l=i;i=i+8|0;m=l;k=i;i=i+8|0;n=i;i=i+8|0;p=i;i=i+8|0;o=i;i=i+8|0;w=o;u=i;i=i+16|0;v=u;j=i;i=i+528|0;t=i;i=i+24|0;c[u>>2]=13;q=v+8|0;c[q>>2]=0;c[q+4>>2]=0;f=j+528|0;g=j;do{c[g>>2]=13;J=g+8|0;c[J>>2]=0;c[J+4>>2]=0;g=g+16|0;}while((g|0)!=(f|0));g=b+32|0;f=b+40|0;h=c[f>>2]|0;if((h|0)==(c[b+44>>2]|0)){eu(b+36|0,g)}else{if((h|0)==0){h=0}else{c[h>>2]=c[g>>2];h=c[f>>2]|0}c[f>>2]=h+4}h=b+24|0;c[h>>2]=0;A=b+120|0;cG(c[A>>2]|0,v,0,0,0,0,0)|0;H=c[u>>2]|0;a:do{if((H|0)==12){Of(v)}else{C=b+18|0;y=b+13|0;x=b+14|0;B=b+8|0;D=b+124|0;E=b+128|0;z=c[r>>2]|0;F=0;G=0;b:while(1){a[C]=0;do{if((H|0)==10){if((a[y]&1)!=0){Qf(v,z);if((G|0)>0){H=0;do{Hb(32)|0;Qf(j+(H<<4)|0,z);H=H+1|0;}while((H|0)<(G|0))}Hb(10)|0;Fc(z|0)|0}dH(t);xx(b,v,j,G);do{if((a[x]&1)!=0){I=c[B>>2]|0;I=jd[c[(c[I>>2]|0)+372>>2]&511](I)|0;if((I|0)==0){break}H=FW(32)|0;J=c[u>>2]|0;if((J|0)!=10){s=19;break b}fe(H,c[q>>2]|0);J=oo(I,H)|0;if((J|0)==0){J=FW(32)|0;AG(J);lo(I,H,J)}BG(J,+eH(t))}}while(0);Of(v);if((G|0)>0){H=0;do{Of(j+(H<<4)|0);H=H+1|0;}while((H|0)<(G|0))}J=c[h>>2]|0;H=J+1|0;c[h>>2]=H;if((J|0)>19998){H=c[B>>2]|0;fd[c[(c[H>>2]|0)+68>>2]&511](H);c[h>>2]=0;H=0}if((a[C]&1)!=0){s=28;break b}G=c[D>>2]|0;if((G|0)==0){G=0;break}if((H-F|0)<=10){G=0;break}if(jd[G&511](c[E>>2]|0)|0){break b}F=c[h>>2]|0;G=0}else{if((G|0)<33){$W(j+(G<<4)|0,u|0,16)|0;G=G+1|0;break}H=c[A>>2]|0;do{if((H|0)==0){H=-1}else{H=c[H+4>>2]|0;if((c[H+16>>2]|0)!=8){H=-1;break}H=c[H+24>>2]|0;H=jd[c[(c[H>>2]|0)+48>>2]&511](H)|0}}while(0);Qe(H,159504,p);if((a[y]&1)!=0){Kb(159536,n|0)|0;Qf(v,z);Hb(10)|0;Fc(z|0)|0}Of(v)}}while(0);cG(c[A>>2]|0,v,0,0,0,0,0)|0;H=c[u>>2]|0;if((H|0)==12){s=43;break}}if((s|0)==19){c[o>>2]=J;c[w+4>>2]=10;Qe(0,162256,w);tc()}else if((s|0)==28){a[C]=0}else if((s|0)==43){Of(v);if((G|0)<=0){break}n=c[A>>2]|0;do{if((n|0)==0){n=-1}else{n=c[n+4>>2]|0;if((c[n+16>>2]|0)!=8){n=-1;break}n=c[n+24>>2]|0;n=jd[c[(c[n>>2]|0)+48>>2]&511](n)|0}}while(0);Qe(n,159560,k);if((a[b+13|0]&1)==0){k=0}else{c[l>>2]=G;Kb(159592,m|0)|0;l=c[r>>2]|0;k=0;do{Hb(32)|0;Qf(j+(k<<4)|0,l);k=k+1|0;}while((k|0)<(G|0));Hb(10)|0;Fc(c[r>>2]|0)|0;k=0}while(1){Of(j+(k<<4)|0);k=k+1|0;if((k|0)>=(G|0)){break a}}}Of(v)}}while(0);k=b+28|0;n=c[f>>2]|0;j=b+36|0;J=c[j>>2]|0;c:do{if((c[g>>2]|0)>(c[J+((n-J>>2)+ -1<<2)>>2]|0)){l=b+8|0;do{m=c[k>>2]|0;if((c[m+656>>2]|0)==0){break c}I=YB(m)|0;c[k>>2]=I;n=c[l>>2]|0;hd[c[(c[n>>2]|0)+84>>2]&127](n,I);I=(c[g>>2]|0)+ -1|0;c[g>>2]=I;n=c[f>>2]|0;J=c[j>>2]|0;}while((I|0)>(c[J+((n-J>>2)+ -1<<2)>>2]|0))}}while(0);c[f>>2]=n+ -4;if(!d){i=e;return}if((c[h>>2]|0)<=0){i=e;return}J=c[b+8>>2]|0;fd[c[(c[J>>2]|0)+68>>2]&511](J);i=e;return}function xx(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=i;k=i;i=i+16|0;l=k;n=i;i=i+8|0;o=n;p=i;i=i+8|0;m=p;r=i;i=i+8|0;q=r;j=i;i=i+8|0;s=j;t=c[e>>2]|0;if((t|0)!=10){c[j>>2]=t;c[s+4>>2]=10;Qe(0,162256,s);tc()}j=c[e+8>>2]|0;s=-1;t=73;u=0;a:while(1){while(1){if((t-s|0)<=1){break a}e=(s+t|0)/2|0;u=Qc(148384+(e*148|0)|0,j|0)|0;if((u|0)<0){s=e}else{break}}s=(u|0)>0?s:e;t=e}do{if((u|0)==0){if((148384+(s*148|0)|0)==0){break}q=c[148388+(s*148|0)>>2]|0;do{if((q|0)>-1){if((q|0)<=(g|0)){if((q|0)>=(g|0)){m=g;break}m=q;f=f+(g-q<<4)|0;break}k=c[b+120>>2]|0;do{if((k|0)==0){k=-1}else{k=c[k+4>>2]|0;if((c[k+16>>2]|0)!=8){k=-1;break}k=c[k+24>>2]|0;k=jd[c[(c[k>>2]|0)+48>>2]&511](k)|0}}while(0);c[p>>2]=g;c[m+4>>2]=j;Qe(k,159632,m);a[b+18|0]=1;i=h;return}else{if((g|0)<=(0-q|0)){m=g;break}b=c[b+120>>2]|0;do{if((b|0)==0){b=-1}else{b=c[b+4>>2]|0;if((c[b+16>>2]|0)!=8){b=-1;break}b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}}while(0);c[n>>2]=g;c[o+4>>2]=j;Qe(b,159672,o);i=h;return}}while(0);b:do{if((m|0)>0){g=0;c:while(1){n=f+(g<<4)|0;switch(c[148392+(s*148|0)+(g<<2)>>2]|0){case 2:{if(((c[n>>2]|0)+ -1|0)>>>0>=2){break c}break};case 1:{if((c[n>>2]|0)!=1){break c}break};case 6:{u=c[n>>2]|0;if(!((u|0)==4|(u|0)==7)){break c}break};case 0:{if((c[n>>2]|0)!=0){break c}break};case 3:{if((c[n>>2]|0)!=3){break c}break};case 5:{if((c[n>>2]|0)!=6){break c}break};case 7:{u=c[n>>2]|0;if(!((u+ -1|0)>>>0<2|(u|0)==4)){break c}break};case 4:{if((c[n>>2]|0)!=4){break c}break};default:{break c}}g=g+1|0;if((g|0)>=(m|0)){break b}}b=c[b+120>>2]|0;do{if((b|0)==0){b=-1}else{b=c[b+4>>2]|0;if((c[b+16>>2]|0)!=8){b=-1;break}b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}}while(0);u=Pf(n)|0;c[k>>2]=g;c[l+4>>2]=j;c[l+8>>2]=u;Qe(b,159712,l);i=h;return}}while(0);u=148524+(s*148|0)|0;k=u;k=d[k]|d[k+1|0]<<8|d[k+2|0]<<16|d[k+3|0]<<24;u=u+4|0;u=d[u]|d[u+1|0]<<8|d[u+2|0]<<16|d[u+3|0]<<24;j=b+(u>>1)|0;if((u&1|0)!=0){k=c[(c[j>>2]|0)+k>>2]|0}Gd[k&255](j,f,m);i=h;return}}while(0);if((c[b+56>>2]|0)!=0){i=h;return}b=c[b+120>>2]|0;do{if((b|0)==0){b=-1}else{b=c[b+4>>2]|0;if((c[b+16>>2]|0)!=8){b=-1;break}b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}}while(0);c[r>>2]=j;Qe(b,159608,q);i=h;return}function yx(a){a=a|0;var b=0,d=0,e=0;b=i;e=c[a+8>>2]|0;d=a+28|0;hd[c[(c[e>>2]|0)+80>>2]&127](e,c[d>>2]|0);c[d>>2]=XB(c[d>>2]|0)|0;a=a+32|0;c[a>>2]=(c[a>>2]|0)+1;i=b;return}function zx(a,b,d,e,f,g,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0;l=i;t=i;i=i+8|0;r=t;x=i;i=i+8|0;A=i;i=i+8|0;B=A;C=i;i=i+8|0;D=i;i=i+8|0;G=i;i=i+8|0;F=G;z=i;i=i+48|0;o=z;n=i;i=i+32|0;s=i;i=i+16|0;m=s;w=i;i=i+16|0;q=w;c[s>>2]=13;u=m+8|0;c[u>>2]=0;c[u+4>>2]=0;c[w>>2]=13;v=q+8|0;c[v>>2]=0;c[v+4>>2]=0;p=a+112|0;if((c[p>>2]|0)>20){i=l;return}y=c[b>>2]|0;if((y|0)!=8){c[G>>2]=y;c[F+4>>2]=8;Qe(0,162256,F);tc()}y=c[b+8>>2]|0;y=jd[c[(c[y>>2]|0)+72>>2]&511](y)|0;Yu(y,160360,m,0)|0;F=c[s>>2]|0;if((F|0)==1){if((c[u>>2]|0)!=1){E=6}}else if((F|0)!=5){E=6}if((E|0)==6){E=c[a+120>>2]|0;do{if((E|0)==0){E=-1}else{E=c[E+4>>2]|0;if((c[E+16>>2]|0)!=8){E=-1;break}E=c[E+24>>2]|0;E=jd[c[(c[E>>2]|0)+48>>2]&511](E)|0}}while(0);Qe(E,160376,D)}Of(m);Yu(y,160400,m,0)|0;if((c[s>>2]|0)!=6){Of(m);d=c[a+120>>2]|0;do{if((d|0)==0){d=-1}else{d=c[d+4>>2]|0;if((c[d+16>>2]|0)!=8){d=-1;break}d=c[d+24>>2]|0;d=jd[c[(c[d>>2]|0)+48>>2]&511](d)|0}}while(0);Qe(d,160408,C);i=l;return}D=6;C=0;while(1){if((D|0)!=6){E=17;break}ut(c[u>>2]|0,C,q)|0;D=c[w>>2]|0;if((D+ -1|0)>>>0>=2){E=24;break}if((D|0)==1){H=+(c[v>>2]|0)}else{H=+h[v>>3]}h[n+(C<<3)>>3]=H;Of(q);C=C+1|0;if((C|0)>=4){E=28;break}D=c[s>>2]|0}if((E|0)==17){c[A>>2]=D;c[B+4>>2]=6;Qe(0,162256,B);tc()}else if((E|0)==24){Of(q);Of(m);d=c[a+120>>2]|0;do{if((d|0)==0){d=-1}else{d=c[d+4>>2]|0;if((c[d+16>>2]|0)!=8){d=-1;break}d=c[d+24>>2]|0;d=jd[c[(c[d>>2]|0)+48>>2]&511](d)|0}}while(0);Qe(d,160432,x);i=l;return}else if((E|0)==28){Of(m);Yu(y,160472,m,0)|0;a:do{if((c[s>>2]|0)==6){z=6;x=0;while(1){if((z|0)!=6){break}ut(c[u>>2]|0,x,q)|0;z=c[w>>2]|0;if((z+ -1|0)>>>0<2){if((z|0)==1){H=+(c[v>>2]|0)}else{H=+h[v>>3]}h[o+(x<<3)>>3]=H}else{h[o+(x<<3)>>3]=0.0}Of(q);x=x+1|0;if((x|0)>=6){break a}z=c[s>>2]|0}c[t>>2]=z;c[r+4>>2]=6;Qe(0,162256,r);tc()}else{h[z>>3]=1.0;bX(o+8|0,0,16)|0;h[o+24>>3]=1.0;bX(o+32|0,0,16)|0}}while(0);Of(m);Yu(y,160480,m,0)|0;if((c[s>>2]|0)==7){q=c[u>>2]|0}else{q=0}c[p>>2]=(c[p>>2]|0)+1;Ax(a,b,q,o,n,1,1,e,f,g,d,j,k);c[p>>2]=(c[p>>2]|0)+ -1;if((e|0)!=0){fd[c[(c[e>>2]|0)+4>>2]&511](e)}Of(m);i=l;return}}function Ax(b,d,e,f,g,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0,K=0,L=0;r=i;u=i;i=i+8|0;C=i;i=i+8|0;w=i;i=i+8|0;B=i;i=i+8|0;x=i;i=i+48|0;D=x;A=FW(120)|0;s=b+20|0;mx(A,c[b>>2]|0,e,c[s>>2]|0);c[s>>2]=A;e=b+8|0;A=c[e>>2]|0;t=b+28|0;hd[c[(c[A>>2]|0)+80>>2]&127](A,c[t>>2]|0);A=XB(c[t>>2]|0)|0;c[t>>2]=A;y=b+32|0;c[y>>2]=(c[y>>2]|0)+1;SB(A);A=b+120|0;z=c[A>>2]|0;K=f+8|0;J=f+16|0;G=f+24|0;E=f+32|0;F=f+40|0;JB(c[t>>2]|0,+h[f>>3],+h[K>>3],+h[J>>3],+h[G>>3],+h[E>>3],+h[F>>3]);L=c[e>>2]|0;Ed[c[(c[L>>2]|0)+92>>2]&3](L,c[t>>2]|0,+h[f>>3],+h[K>>3],+h[J>>3],+h[G>>3],+h[E>>3],+h[F>>3]);f=c[t>>2]|0;H=+h[g>>3];F=g+8|0;I=+h[F>>3];E=c[f+588>>2]|0;h[f+592>>3]=H;h[f+600>>3]=I;uB(E,H,I);E=c[t>>2]|0;f=g+16|0;I=+h[f>>3];H=+h[F>>3];F=c[E+588>>2]|0;h[E+592>>3]=I;h[E+600>>3]=H;vB(F,I,H);F=c[t>>2]|0;H=+h[f>>3];f=g+24|0;I=+h[f>>3];E=c[F+588>>2]|0;h[F+592>>3]=H;h[F+600>>3]=I;vB(E,H,I);E=c[t>>2]|0;I=+h[g>>3];H=+h[f>>3];f=c[E+588>>2]|0;h[E+592>>3]=I;h[E+600>>3]=H;vB(f,I,H);f=c[t>>2]|0;E=f+588|0;xB(c[E>>2]|0);E=c[E>>2]|0;F=E+28|0;E=E+24|0;G=c[(c[E>>2]|0)+((c[F>>2]|0)+ -1<<2)>>2]|0;h[f+592>>3]=+h[(c[G>>2]|0)+((c[G+12>>2]|0)+ -1<<3)>>3];F=c[(c[E>>2]|0)+((c[F>>2]|0)+ -1<<2)>>2]|0;h[f+600>>3]=+h[(c[F+4>>2]|0)+((c[F+12>>2]|0)+ -1<<3)>>3];TB(c[t>>2]|0);f=c[e>>2]|0;hd[c[(c[f>>2]|0)+256>>2]&127](f,c[t>>2]|0);SB(c[t>>2]|0);f=k|j;if(f){F=c[t>>2]|0;E=F+388|0;if((c[E>>2]|0)==0){E=F}else{c[E>>2]=0;E=c[e>>2]|0;hd[c[(c[E>>2]|0)+148>>2]&127](E,c[t>>2]|0);E=c[t>>2]|0}F=E+392|0;if(+h[F>>3]!=1.0){h[F>>3]=1.0;E=c[e>>2]|0;hd[c[(c[E>>2]|0)+152>>2]&127](E,c[t>>2]|0);E=c[t>>2]|0}F=E+400|0;if(+h[F>>3]!=1.0){h[F>>3]=1.0;E=c[e>>2]|0;hd[c[(c[E>>2]|0)+156>>2]&127](E,c[t>>2]|0);E=c[t>>2]|0}L=c[e>>2]|0;hd[c[(c[L>>2]|0)+396>>2]&127](L,E);L=c[e>>2]|0;yd[c[(c[L>>2]|0)+380>>2]&1](L,c[t>>2]|0,g,l,m,n,k)}l=b+64|0;h[x>>3]=+h[l>>3];m=c[t>>2]|0;h[l>>3]=+h[m+16>>3];L=b+72|0;h[D+8>>3]=+h[L>>3];h[L>>3]=+h[m+24>>3];L=b+80|0;h[D+16>>3]=+h[L>>3];h[L>>3]=+h[m+32>>3];L=b+88|0;h[D+24>>3]=+h[L>>3];h[L>>3]=+h[m+40>>3];L=b+96|0;h[D+32>>3]=+h[L>>3];h[L>>3]=+h[m+48>>3];L=b+104|0;h[D+40>>3]=+h[L>>3];h[L>>3]=+h[m+56>>3];vx(b,d,0);D=c[t>>2]|0;do{if((m|0)!=(D|0)){while(1){D=c[D+656>>2]|0;if((D|0)==(m|0)){break}if((D|0)==0){v=19;break}else{}}if((v|0)==19){Qe(-1,161872,C);break}Qe(-1,161816,B);d=c[t>>2]|0;if((m|0)==(d|0)){break}C=b+40|0;B=b+36|0;D=b+18|0;do{L=c[B>>2]|0;do{if((c[y>>2]|0)>(c[L+(((c[C>>2]|0)-L>>2)+ -1<<2)>>2]|0)){if((c[d+656>>2]|0)==0){v=16;break}L=YB(d)|0;c[t>>2]=L;K=c[e>>2]|0;hd[c[(c[K>>2]|0)+84>>2]&127](K,L);c[y>>2]=(c[y>>2]|0)+ -1}else{v=16}}while(0);if((v|0)==16){v=0;Qe(-1,162208,w);a[D]=1}d=c[t>>2]|0;}while((m|0)!=(d|0))}}while(0);if(f){L=c[e>>2]|0;hd[c[(c[L>>2]|0)+384>>2]&127](L,c[t>>2]|0)}$W(l|0,x|0,48)|0;c[A>>2]=z;L=c[b+36>>2]|0;do{if((c[y>>2]|0)>(c[L+(((c[b+40>>2]|0)-L>>2)+ -1<<2)>>2]|0)){w=c[t>>2]|0;if((c[w+656>>2]|0)==0){v=24;break}L=YB(w)|0;c[t>>2]=L;K=c[e>>2]|0;hd[c[(c[K>>2]|0)+84>>2]&127](K,L);c[y>>2]=(c[y>>2]|0)+ -1}else{v=24}}while(0);if((v|0)==24){Qe(-1,162208,u);a[b+18|0]=1}b=c[s>>2]|0;u=c[b+112>>2]|0;if((b|0)!=0){nx(b);HW(b)}c[s>>2]=u;if(k){L=c[e>>2]|0;ud[c[(c[L>>2]|0)+392>>2]&7](L,c[t>>2]|0,g,o,p,q);i=r;return}if(!j){i=r;return}L=c[e>>2]|0;Gd[c[(c[L>>2]|0)+388>>2]&255](L,c[t>>2]|0,g);i=r;return}function Bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;f=i;d=i;i=i+8|0;e=d;j=c[a+8>>2]|0;if(!(jd[c[(c[j>>2]|0)+36>>2]&511](j)|0)){i=f;return}j=c[(c[a+28>>2]|0)+380>>2]|0;if((j|0)==0){i=f;return}h=j+4|0;g=c[h>>2]|0;if((g|0)==1){Dx(a,j,0,b);i=f;return}else if((g|0)==2){Ex(a,j,0,b);i=f;return}else{j=c[a+120>>2]|0;do{if((j|0)==0){h=-1}else{j=c[j+4>>2]|0;if((c[j+16>>2]|0)!=8){h=-1;break}b=c[j+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0;g=c[h>>2]|0;h=b}}while(0);c[d>>2]=g;Qe(h,160904,e);i=f;return}}function Cx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;e=i;b=i;i=i+8|0;d=b;h=c[a+8>>2]|0;if(!(jd[c[(c[h>>2]|0)+36>>2]&511](h)|0)){i=e;return}h=c[(c[a+28>>2]|0)+384>>2]|0;if((h|0)==0){i=e;return}g=h+4|0;f=c[g>>2]|0;if((f|0)==2){Ex(a,h,1,0);i=e;return}else if((f|0)==1){Dx(a,h,1,0);i=e;return}else{a=c[a+120>>2]|0;do{if((a|0)==0){g=-1}else{a=c[a+4>>2]|0;if((c[a+16>>2]|0)!=8){g=-1;break}h=c[a+24>>2]|0;h=jd[c[(c[h>>2]|0)+48>>2]&511](h)|0;f=c[g>>2]|0;g=h}}while(0);c[b>>2]=f;Qe(g,160944,d);i=e;return}}function Dx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0,P=0,Q=0,T=0,U=0,V=0.0;j=i;g=i;i=i+8|0;Q=i;i=i+128|0;P=Q;z=i;i=i+48|0;m=z;y=i;i=i+48|0;l=y;k=b+28|0;o=c[k>>2]|0;T=c[(e?o+120|0:o+116|0)>>2]|0;C=+h[o+16>>3];G=+h[o+40>>3];F=+h[o+24>>3];V=+h[o+32>>3];I=1.0/(C*G-F*V);H=G*I;K=-0.0-F*I;s=-0.0-V*I;p=C*I;D=+h[o+56>>3];E=+h[o+48>>3];v=+h[d+80>>3];t=+h[b+64>>3];L=+h[d+88>>3];M=+h[b+80>>3];N=v*t+L*M;h[y>>3]=N;r=+h[b+72>>3];A=+h[b+88>>3];L=v*r+L*A;h[l+8>>3]=L;v=+h[d+96>>3];B=+h[d+104>>3];J=v*t+B*M;h[l+16>>3]=J;B=v*r+B*A;h[l+24>>3]=B;v=+h[d+112>>3];n=+h[d+120>>3];M=+h[b+96>>3]+(v*t+n*M);q=l+32|0;h[q>>3]=M;A=+h[b+104>>3]+(v*r+n*A);o=l+40|0;h[o>>3]=A;n=H*N+L*s;h[z>>3]=n;r=N*K+p*L;h[m+8>>3]=r;v=H*J+B*s;h[m+16>>3]=v;t=J*K+p*B;h[m+24>>3]=t;s=I*(V*D-G*E)+(H*M+A*s);h[m+32>>3]=s;p=I*(F*E-C*D)+(M*K+p*A);h[m+40>>3]=p;K=1.0/(N*B-L*J);D=B*K;C=-0.0-L*K;E=-0.0-J*K;F=N*K;B=K*(J*A-B*M);A=K*(L*M-N*A);w=c[(c[k>>2]|0)+588>>2]|0;m=FW(40)|0;tB(m,(a[w]&1)!=0,+h[w+8>>3],+h[w+16>>3],c[w+24>>2]|0,c[w+28>>2]|0,c[w+32>>2]|0);w=b+8|0;U=c[w>>2]|0;hd[c[(c[U>>2]|0)+80>>2]&127](U,c[k>>2]|0);U=XB(c[k>>2]|0)|0;c[k>>2]=U;u=b+32|0;c[u>>2]=(c[u>>2]|0)+1;x=d+8|0;do{if((c[x>>2]|0)==2){T=c[T+4>>2]|0;if((T|0)==0){O=6;break}LB(U,jd[c[(c[T>>2]|0)+8>>2]&511](T)|0);P=c[w>>2]|0;hd[c[(c[P>>2]|0)+132>>2]&127](P,c[k>>2]|0);P=c[k>>2]|0;MB(P,jd[c[(c[T>>2]|0)+8>>2]&511](T)|0);P=c[w>>2]|0;hd[c[(c[P>>2]|0)+136>>2]&127](P,c[k>>2]|0);P=c[k>>2]|0;if(e){$W(P+124|0,P+252|0,128)|0;break}else{$W(P+252|0,P+124|0,128)|0;break}}else{O=6}}while(0);if((O|0)==6){T=FW(4)|0;Ty(T);LB(c[k>>2]|0,T);hd[c[(c[T>>2]|0)+48>>2]&127](T,P);$W((c[k>>2]|0)+124|0,Q|0,128)|0;T=c[w>>2]|0;hd[c[(c[T>>2]|0)+132>>2]&127](T,c[k>>2]|0);T=c[k>>2]|0;U=FW(4)|0;Ty(U);MB(T,U);$W((c[k>>2]|0)+252|0,Q|0,128)|0;U=c[w>>2]|0;hd[c[(c[U>>2]|0)+136>>2]&127](U,c[k>>2]|0)}NB(c[k>>2]|0,0);U=c[w>>2]|0;hd[c[(c[U>>2]|0)+140>>2]&127](U,c[k>>2]|0);OB(c[k>>2]|0,0);U=c[w>>2]|0;hd[c[(c[U>>2]|0)+144>>2]&127](U,c[k>>2]|0);do{if(e){UB(c[k>>2]|0);U=c[w>>2]|0;hd[c[(c[U>>2]|0)+264>>2]&127](U,c[k>>2]|0)}else{if((a[b+15|0]&1)!=0){break}if((a[b+17|0]&1)!=0){break}TB(c[k>>2]|0);e=c[w>>2]|0;O=c[e>>2]|0;if(f){hd[c[O+260>>2]&127](e,c[k>>2]|0);break}else{hd[c[O+256>>2]&127](e,c[k>>2]|0);break}}}while(0);SB(c[k>>2]|0);h[(c[k>>2]|0)+432>>3]=0.0;U=c[w>>2]|0;hd[c[(c[U>>2]|0)+116>>2]&127](U,c[k>>2]|0);U=c[k>>2]|0;H=+h[U+624>>3];L=+h[U+632>>3];G=+h[U+640>>3];J=+h[U+648>>3];a:do{if(!(H>G|L>J)){M=D*H;I=L*E;K=B+(M+I);V=H*C;H=F*L;N=A+(V+H);E=J*E;M=B+(M+E);F=F*J;L=A+(V+F);do{if(M<K){J=K}else{if(M<=K){J=K;M=K;break}J=M;M=K}}while(0);do{if(L<N){K=N}else{if(L<=N){K=N;L=N;break}K=L;L=N}}while(0);D=D*G;I=B+(I+D);C=G*C;G=A+(H+C);do{if(I<M){M=I}else{if(I<=J){break}J=I}}while(0);do{if(G<L){L=G}else{if(G<=K){break}K=G}}while(0);B=B+(D+E);A=A+(C+F);do{if(B<M){M=B}else{if(B<=J){break}J=B}}while(0);do{if(A<L){L=A}else{if(A<=K){break}K=A}}while(0);B=+S(+(+h[d+48>>3]));A=+S(+(+h[d+56>>3]));f=d+16|0;N=+ca(+((M- +h[d+32>>3])/B));Q=~~+R(+((J- +h[f>>3])/B));V=+ca(+((L- +h[d+40>>3])/A));e=~~+R(+((K- +h[d+24>>3])/A));$W(y|0,z|0,32)|0;O=~~N;z=Q+1|0;Q=~~V;y=e+1|0;e=c[b+116>>2]|0;b:do{if((e|0)!=0){if((a[e]&1)!=0){break a}while(1){e=c[e+4>>2]|0;if((e|0)==0){break b}if((a[e]&1)!=0){break a}}}}while(0);h[q>>3]=s;h[o>>3]=p;U=c[w>>2]|0;if(jd[c[(c[U>>2]|0)+16>>2]&511](U)|0){e=c[w>>2]|0;if((c[d+64>>2]|0)==7){P=c[d+72>>2]|0}else{P=0}if(!((Q|0)<(y|0)&((nd[c[(c[e>>2]|0)+224>>2]&1](e,c[k>>2]|0,d+128|0,c[x>>2]|0,P,l,f,O,Q,z,y,B,A)|0)^1))){break}}else{if((Q|0)>=(y|0)){break}}P=(O|0)<(z|0);x=d+128|0;e=d+64|0;d=d+72|0;do{if(P){D=A*+(Q|0);C=D*v;D=D*t;T=O;do{V=B*+(T|0);h[q>>3]=s+(V*n+C);h[o>>3]=p+(V*r+D);if((c[e>>2]|0)==7){U=c[d>>2]|0}else{U=0}Ax(b,x,U,l,f,0,0,0,0,0,0,0,0);T=T+1|0;}while((T|0)<(z|0))}Q=Q+1|0;}while((Q|0)<(y|0))}}while(0);U=c[b+36>>2]|0;do{if((c[u>>2]|0)>(c[U+(((c[b+40>>2]|0)-U>>2)+ -1<<2)>>2]|0)){l=c[k>>2]|0;if((c[l+656>>2]|0)==0){break}U=YB(l)|0;c[k>>2]=U;T=c[w>>2]|0;hd[c[(c[T>>2]|0)+84>>2]&127](T,U);c[u>>2]=(c[u>>2]|0)+ -1;U=k;U=c[U>>2]|0;GB(U,m);i=j;return}}while(0);Qe(-1,162208,g);a[b+18|0]=1;U=k;U=c[U>>2]|0;GB(U,m);i=j;return}function Ex(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0;n=i;l=i;i=i+8|0;o=c[d+8>>2]|0;k=b+28|0;j=c[(c[k>>2]|0)+588>>2]|0;m=FW(40)|0;tB(m,(a[j]&1)!=0,+h[j+8>>3],+h[j+16>>3],c[j+24>>2]|0,c[j+28>>2]|0,c[j+32>>2]|0);j=b+8|0;p=c[j>>2]|0;hd[c[(c[p>>2]|0)+80>>2]&127](p,c[k>>2]|0);p=XB(c[k>>2]|0)|0;c[k>>2]=p;g=b+32|0;c[g>>2]=(c[g>>2]|0)+1;if((a[o+176|0]&1)!=0){u=+h[o+144>>3];w=+h[o+152>>3];v=+h[o+160>>3];s=+h[o+168>>3];q=c[p+588>>2]|0;h[p+592>>3]=u;h[p+600>>3]=w;uB(q,u,w);q=c[k>>2]|0;t=c[q+588>>2]|0;h[q+592>>3]=v;h[q+600>>3]=w;vB(t,v,w);t=c[k>>2]|0;q=c[t+588>>2]|0;h[t+592>>3]=v;h[t+600>>3]=s;vB(q,v,s);q=c[k>>2]|0;t=c[q+588>>2]|0;h[q+592>>3]=u;h[q+600>>3]=s;vB(t,u,s);t=c[k>>2]|0;q=t+588|0;xB(c[q>>2]|0);q=c[q>>2]|0;r=q+28|0;q=q+24|0;p=c[(c[q>>2]|0)+((c[r>>2]|0)+ -1<<2)>>2]|0;h[t+592>>3]=+h[(c[p>>2]|0)+((c[p+12>>2]|0)+ -1<<3)>>3];r=c[(c[q>>2]|0)+((c[r>>2]|0)+ -1<<2)>>2]|0;h[t+600>>3]=+h[(c[r+4>>2]|0)+((c[r+12>>2]|0)+ -1<<3)>>3];TB(c[k>>2]|0);do{if((a[b+15|0]&1)==0){if((a[b+17|0]&1)!=0){break}t=c[j>>2]|0;hd[c[(c[t>>2]|0)+256>>2]&127](t,c[k>>2]|0)}}while(0);r=c[k>>2]|0;t=FW(40)|0;tB(t,(a[m]&1)!=0,+h[m+8>>3],+h[m+16>>3],c[m+24>>2]|0,c[m+28>>2]|0,c[m+32>>2]|0);GB(r,t)}do{if(e){UB(c[k>>2]|0);t=c[j>>2]|0;hd[c[(c[t>>2]|0)+264>>2]&127](t,c[k>>2]|0)}else{if((a[b+15|0]&1)!=0){break}if((a[b+17|0]&1)!=0){break}TB(c[k>>2]|0);p=c[j>>2]|0;e=c[p>>2]|0;if(f){hd[c[e+260>>2]&127](p,c[k>>2]|0);break}else{hd[c[e+256>>2]&127](p,c[k>>2]|0);break}}}while(0);r=c[k>>2]|0;p=o+8|0;t=c[p>>2]|0;LB(r,jd[c[(c[t>>2]|0)+8>>2]&511](t)|0);t=c[j>>2]|0;hd[c[(c[t>>2]|0)+132>>2]&127](t,c[k>>2]|0);a:do{if((a[o+140|0]&1)!=0){$W((c[k>>2]|0)+124|0,o+12|0,128)|0;f=c[j>>2]|0;hd[c[(c[f>>2]|0)+140>>2]&127](f,c[k>>2]|0);f=c[b+116>>2]|0;b:do{if((f|0)!=0){if((a[f]&1)!=0){break a}while(1){f=c[f+4>>2]|0;if((f|0)==0){break b}if((a[f]&1)!=0){break a}}}}while(0);t=c[j>>2]|0;hd[c[(c[t>>2]|0)+216>>2]&127](t,c[k>>2]|0)}}while(0);SB(c[k>>2]|0);t=c[k>>2]|0;D=+h[t+16>>3];I=+h[t+40>>3];F=+h[t+24>>3];J=+h[t+32>>3];G=1.0/(D*I-F*J);H=I*G;A=-0.0-F*G;v=-0.0-J*G;z=D*G;C=+h[t+56>>3];E=+h[t+48>>3];L=+h[d+16>>3];N=+h[b+64>>3];x=+h[d+24>>3];B=+h[b+80>>3];s=L*N+x*B;M=+h[b+72>>3];y=+h[b+88>>3];x=L*M+x*y;L=+h[d+32>>3];u=+h[d+40>>3];K=N*L+B*u;u=M*L+y*u;L=+h[d+48>>3];w=+h[d+56>>3];B=+h[b+96>>3]+(N*L+B*w);w=M*L+y*w+ +h[b+104>>3];y=H*s+x*v;x=s*A+z*x;s=H*K+u*v;u=K*A+z*u;v=G*(J*C-I*E)+(H*B+w*v);w=G*(F*E-D*C)+(B*A+z*w);JB(t,y,x,s,u,v,w);d=c[j>>2]|0;Ed[c[(c[d>>2]|0)+92>>2]&3](d,c[k>>2]|0,y,x,s,u,v,w);d=c[j>>2]|0;d=jd[c[(c[d>>2]|0)+404>>2]&511](d)|0;if(d){t=c[j>>2]|0;hd[c[(c[t>>2]|0)+408>>2]&127](t,0)}c:do{switch(c[o+4>>2]|0){case 3:{Hx(b,o);break};case 5:case 4:{Ix(b,o);break};case 1:{Fx(b,o);break};case 2:{Gx(b,o);break};case 7:case 6:{f=o+184|0;e=c[f>>2]|0;do{if((e|0)>128){e=3}else{if((e|0)>64){e=2;break}e=(e|0)>16|0}}while(0);r=c[p>>2]|0;r=jd[c[(c[r>>2]|0)+44>>2]&511](r)|0;q=o+316|0;t=(c[q>>2]|0)>0;if(t){p=c[o+188>>2]|0;s=(+h[p+24>>3]- +h[p+16>>3])*.005}else{s=768.0}if((c[f>>2]|0)<=0){break c}p=o+180|0;Nx(b,c[p>>2]|0,r,t?1:r,s,e,o);if((c[f>>2]|0)>1){t=1}else{break c}do{Nx(b,(c[p>>2]|0)+(t*1280|0)|0,r,(c[q>>2]|0)>0?1:r,s,e,o);t=t+1|0;}while((t|0)<(c[f>>2]|0));break};default:{}}}while(0);if(d){t=c[j>>2]|0;hd[c[(c[t>>2]|0)+408>>2]&127](t,1)}t=c[b+36>>2]|0;do{if((c[g>>2]|0)>(c[t+(((c[b+40>>2]|0)-t>>2)+ -1<<2)>>2]|0)){o=c[k>>2]|0;if((c[o+656>>2]|0)==0){break}t=YB(o)|0;c[k>>2]=t;r=c[j>>2]|0;hd[c[(c[r>>2]|0)+84>>2]&127](r,t);c[g>>2]=(c[g>>2]|0)+ -1;t=k;t=c[t>>2]|0;GB(t,m);i=n;return}}while(0);Qe(-1,162208,l);a[b+18|0]=1;t=k;t=c[t>>2]|0;GB(t,m);i=n;return}function Fx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0.0,k=0.0,l=0.0,m=0.0;e=i;d=i;i=i+512|0;f=a+8|0;g=c[f>>2]|0;do{if(Bd[c[(c[g>>2]|0)+20>>2]&255](g,c[b+4>>2]|0)|0){g=c[f>>2]|0;if(!(sd[c[(c[g>>2]|0)+228>>2]&127](g,c[a+28>>2]|0,b)|0)){break}i=e;return}}while(0);m=+h[b+184>>3];l=+h[b+192>>3];k=+h[b+200>>3];j=+h[b+208>>3];RA(b,m,l,d);RA(b,m,j,d+128|0);RA(b,k,l,d+256|0);RA(b,k,j,d+384|0);Jx(a,b,m,l,k,j,d,0);i=e;return}function Gx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0.0,C=0,D=0.0,E=0.0,F=0.0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0,O=0,P=0,Q=0.0,R=0,T=0.0,U=0.0,V=0,W=0.0,X=0.0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0,ga=0.0,ha=0.0,ia=0,ja=0,ka=0.0;f=i;y=i;i=i+8|0;n=i;i=i+8|0;A=i;i=i+8|0;m=i;i=i+8|0;G=i;i=i+32|0;I=G;l=i;i=i+32|0;k=l;H=i;i=i+2056|0;q=H;J=i;i=i+1032|0;w=J;u=i;i=i+128|0;j=u;z=i;i=i+128|0;v=z;e=b+28|0;HB(c[e>>2]|0,y,n,A,m);r=+h[d+184>>3];s=+h[d+192>>3];B=+h[d+200>>3]-r;x=+h[d+208>>3]-s;p=+S(+B)<.01;o=+S(+x)<.01;t=p&o;do{if(t){L=0.0;E=0.0}else{da=1.0/(B*B+x*x);ga=B*(+h[y>>3]-r);ha=x*(+h[n>>3]-s);E=da*(ga+ha);h[G>>3]=E;D=x*(+h[m>>3]-s);ga=da*(ga+D);N=I+8|0;h[N>>3]=ga;ea=B*(+h[A>>3]-r);ha=da*(ea+ha);K=I+16|0;h[K>>3]=ha;D=da*(ea+D);C=I+24|0;h[C>>3]=D;O=ga<E|0;O=ha<+h[I+(O<<3)>>3]?2:O;ja=I+((D<+h[I+(O<<3)>>3]?3:O)<<3)|0;h[G>>3]=+h[ja>>3];h[ja>>3]=E;D=+h[N>>3];O=+h[K>>3]<D?2:1;ja=I+((+h[C>>3]<+h[I+(O<<3)>>3]?3:O)<<3)|0;h[N>>3]=+h[ja>>3];h[ja>>3]=D;D=+h[K>>3];ja=I+((+h[C>>3]<D?3:2)<<3)|0;h[K>>3]=+h[ja>>3];h[ja>>3]=D;E=+h[G>>3];L=+h[C>>3];if(E<0.0){E=(a[d+364|0]&1)!=0?E:0.0}if(L<=1.0){break}L=(a[d+365|0]&1)!=0?L:1.0}}while(0);C=b+8|0;ja=c[C>>2]|0;do{if(Bd[c[(c[ja>>2]|0)+20>>2]&255](ja,c[d+4>>2]|0)|0){ja=c[C>>2]|0;if(!(gd[c[(c[ja>>2]|0)+232>>2]&3](ja,c[e>>2]|0,d,E,L)|0)){break}i=f;return}}while(0);F=+h[d+216>>3];D=+h[d+224>>3];G=c[d+8>>2]|0;G=jd[c[(c[G>>2]|0)+44>>2]&511](G)|0;h[H>>3]=E;c[J>>2]=128;h[q+1024>>3]=(L+E)*.5;c[w+512>>2]=256;h[q+2048>>3]=L;do{if(E<0.0){M=F}else{if(E>1.0){M=D;break}M=F+E*(D-F)}}while(0);WA(d,M,j);ja=c[C>>2]|0;if(jd[c[(c[ja>>2]|0)+24>>2]&511](ja)|0){$W((c[e>>2]|0)+124|0,u|0,128)|0;ja=c[C>>2]|0;Id[c[(c[ja>>2]|0)+172>>2]&3](ja,c[e>>2]|0,0.0)}W=r+B*E;X=s+x*E;do{if(t){aa=0.0;U=0.0}else{if(p){M=-0.0-x;U=(+h[y>>3]-W)/M;M=(+h[A>>3]-W)/M;if(U<=M){aa=M;break}aa=U;U=M;break}U=(+h[n>>3]-X)/B;if(!o){h[l>>3]=U;ga=(+h[m>>3]-X)/B;H=k+8|0;h[H>>3]=ga;M=-0.0-x;ha=(+h[y>>3]-W)/M;J=k+16|0;h[J>>3]=ha;M=(+h[A>>3]-W)/M;K=k+24|0;h[K>>3]=M;N=ga<U|0;N=ha<+h[k+(N<<3)>>3]?2:N;ja=k+((M<+h[k+(N<<3)>>3]?3:N)<<3)|0;h[l>>3]=+h[ja>>3];h[ja>>3]=U;M=+h[H>>3];N=+h[J>>3]<M?2:1;ja=k+((+h[K>>3]<+h[k+(N<<3)>>3]?3:N)<<3)|0;h[H>>3]=+h[ja>>3];h[ja>>3]=M;M=+h[J>>3];ja=k+((+h[K>>3]<M?3:2)<<3)|0;h[J>>3]=+h[ja>>3];h[ja>>3]=M;aa=+h[J>>3];U=+h[H>>3];break}M=(+h[m>>3]-X)/B;if(U<=M){aa=M;break}aa=U;U=M}}while(0);if(t){H=I+16|0;J=I+8|0;Y=1;Z=1}else{Y=I+8|0;Z=I+16|0;H=Z;J=Y;Y=+h[Y>>3]<E;Z=+h[Z>>3]>L}I=c[C>>2]|0;I=sd[c[(c[I>>2]|0)+236>>2]&127](I,c[e>>2]|0,d)|0;K=(G|0)>0;L=L-E;N=b+116|0;Q=-0.0-x;O=k+8|0;b=k+16|0;P=k+24|0;R=(G|0)==0;M=D-F;_=0;T=W-x*U;U=X+B*U;W=W-x*aa;X=X+B*aa;while(1){V=w+(_<<2)|0;fa=c[V>>2]|0;$=_+1|0;a:do{if((fa|0)>($|0)){ba=q+(_<<3)|0;aa=+h[q+(fa<<3)>>3];b:while(1){do{if(aa<0.0){ca=F}else{if(aa>1.0){ca=D;break}ca=F+M*aa}}while(0);WA(d,ca,v);if(R){break}else{ia=0}while(1){ja=(c[v+(ia<<2)>>2]|0)-(c[j+(ia<<2)>>2]|0)|0;ia=ia+1|0;if((((ja|0)>-1?ja:0-ja|0)|0)>256){break}if(ia>>>0>=G>>>0){break b}}ia=(fa+_|0)/2|0;aa=(+h[ba>>3]+aa)*.5;h[q+(ia<<3)>>3]=aa;c[V>>2]=ia;c[w+(ia<<2)>>2]=fa;if((ia|0)>($|0)){fa=ia}else{fa=ia;break a}}do{if(Y){Y=1}else{ca=+h[J>>3];if(!(+h[ba>>3]<ca&aa>ca)){Y=0;break}Y=~~((ca-E)*256.0/L);Y=(Y|0)>(_|0)?Y:$;if((Y|0)<(fa|0)){c[V>>2]=Y;c[w+(Y<<2)>>2]=fa;fa=Y}h[q+(fa<<3)>>3]=ca;aa=ca;Y=1}}while(0);if(Z){Z=1;break}ca=+h[H>>3];if(!(+h[ba>>3]<ca&aa>ca)){Z=0;break}Z=~~((ca-E)*256.0/L);Z=(Z|0)>(_|0)?Z:$;if((Z|0)<(fa|0)){c[V>>2]=Z;c[w+(Z<<2)>>2]=fa;fa=Z}h[q+(fa<<3)>>3]=ca;Z=1}}while(0);if(K){_=0;do{ja=j+(_<<2)|0;c[ja>>2]=((c[v+(_<<2)>>2]|0)+(c[ja>>2]|0)|0)/2|0;_=_+1|0;}while((_|0)<(G|0))}aa=+h[q+(fa<<3)>>3];da=r+B*aa;ca=s+x*aa;do{if(t){ha=0.0;ga=0.0}else{if(p){ga=(+h[y>>3]-da)/Q;ea=(+h[A>>3]-da)/Q;if(ga<=ea){ha=ea;break}ha=ga;ga=ea;break}ea=(+h[n>>3]-ca)/B;if(!o){h[l>>3]=ea;ka=(+h[m>>3]-ca)/B;h[O>>3]=ka;ha=(+h[y>>3]-da)/Q;h[b>>3]=ha;ga=(+h[A>>3]-da)/Q;h[P>>3]=ga;_=ka<ea|0;_=ha<+h[k+(_<<3)>>3]?2:_;ja=k+((ga<+h[k+(_<<3)>>3]?3:_)<<3)|0;h[l>>3]=+h[ja>>3];h[ja>>3]=ea;ea=+h[O>>3];_=+h[b>>3]<ea?2:1;ja=k+((+h[P>>3]<+h[k+(_<<3)>>3]?3:_)<<3)|0;h[O>>3]=+h[ja>>3];h[ja>>3]=ea;ea=+h[b>>3];ja=k+((+h[P>>3]<ea?3:2)<<3)|0;h[b>>3]=+h[ja>>3];h[ja>>3]=ea;ha=+h[b>>3];ga=+h[O>>3];break}ga=(+h[m>>3]-ca)/B;if(ea<=ga){ha=ga;ga=ea;break}ha=ea}}while(0);ea=da-x*ga;ga=ca+B*ga;da=da-x*ha;ca=ca+B*ha;$W((c[e>>2]|0)+124|0,u|0,128)|0;ja=c[C>>2]|0;ja=jd[c[(c[ja>>2]|0)+24>>2]&511](ja)|0;_=c[C>>2]|0;if(ja){Id[c[(c[_>>2]|0)+172>>2]&3](_,c[e>>2]|0,(aa-E)/L)}else{hd[c[(c[_>>2]|0)+140>>2]&127](_,c[e>>2]|0)}if(!I){ja=c[e>>2]|0;fa=c[ja+588>>2]|0;h[ja+592>>3]=T;h[ja+600>>3]=U;uB(fa,T,U);fa=c[e>>2]|0;ja=c[fa+588>>2]|0;h[fa+592>>3]=W;h[fa+600>>3]=X;vB(ja,W,X);ja=c[e>>2]|0;fa=c[ja+588>>2]|0;h[ja+592>>3]=da;h[ja+600>>3]=ca;vB(fa,da,ca);fa=c[e>>2]|0;ja=c[fa+588>>2]|0;h[fa+592>>3]=ea;h[fa+600>>3]=ga;vB(ja,ea,ga);ja=c[e>>2]|0;fa=ja+588|0;xB(c[fa>>2]|0);fa=c[fa>>2]|0;ia=fa+28|0;fa=fa+24|0;ba=c[(c[fa>>2]|0)+((c[ia>>2]|0)+ -1<<2)>>2]|0;h[ja+592>>3]=+h[(c[ba>>2]|0)+((c[ba+12>>2]|0)+ -1<<3)>>3];ia=c[(c[fa>>2]|0)+((c[ia>>2]|0)+ -1<<2)>>2]|0;h[ja+600>>3]=+h[(c[ia+4>>2]|0)+((c[ia+12>>2]|0)+ -1<<3)>>3]}ja=c[C>>2]|0;if(!(jd[c[(c[ja>>2]|0)+24>>2]&511](ja)|0)){_=c[N>>2]|0;c:do{if((_|0)==0){g=64}else{if((a[_]&1)!=0){break}do{_=c[_+4>>2]|0;if((_|0)==0){g=64;break c}}while((a[_]&1)==0)}}while(0);if((g|0)==64){g=0;ja=c[C>>2]|0;hd[c[(c[ja>>2]|0)+216>>2]&127](ja,c[e>>2]|0)}SB(c[e>>2]|0)}$W(u|0,z|0,128)|0;_=c[V>>2]|0;if((_|0)<256){T=ea;U=ga;W=da;X=ca}else{break}}ja=c[C>>2]|0;if(!(jd[c[(c[ja>>2]|0)+24>>2]&511](ja)|0)){i=f;return}if(I){ja=c[e>>2]|0;ka=+h[y>>3];ha=+h[n>>3];fa=c[ja+588>>2]|0;h[ja+592>>3]=ka;h[ja+600>>3]=ha;uB(fa,ka,ha);fa=c[e>>2]|0;ha=+h[y>>3];ka=+h[m>>3];ja=c[fa+588>>2]|0;h[fa+592>>3]=ha;h[fa+600>>3]=ka;vB(ja,ha,ka);ja=c[e>>2]|0;ka=+h[A>>3];ha=+h[m>>3];fa=c[ja+588>>2]|0;h[ja+592>>3]=ka;h[ja+600>>3]=ha;vB(fa,ka,ha);fa=c[e>>2]|0;ha=+h[A>>3];ka=+h[n>>3];ja=c[fa+588>>2]|0;h[fa+592>>3]=ha;h[fa+600>>3]=ka;vB(ja,ha,ka);ja=c[e>>2]|0;fa=ja+588|0;xB(c[fa>>2]|0);fa=c[fa>>2]|0;ia=fa+28|0;fa=fa+24|0;ba=c[(c[fa>>2]|0)+((c[ia>>2]|0)+ -1<<2)>>2]|0;h[ja+592>>3]=+h[(c[ba>>2]|0)+((c[ba+12>>2]|0)+ -1<<3)>>3];ia=c[(c[fa>>2]|0)+((c[ia>>2]|0)+ -1<<2)>>2]|0;h[ja+600>>3]=+h[(c[ia+4>>2]|0)+((c[ia+12>>2]|0)+ -1<<3)>>3]}j=c[N>>2]|0;d:do{if((j|0)==0){g=74}else{if((a[j]&1)!=0){break}do{j=c[j+4>>2]|0;if((j|0)==0){g=74;break d}}while((a[j]&1)==0)}}while(0);if((g|0)==74){ja=c[C>>2]|0;hd[c[(c[ja>>2]|0)+216>>2]&127](ja,c[e>>2]|0)}SB(c[e>>2]|0);i=f;return}function Hx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0,F=0.0,G=0,H=0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0.0,R=0.0,U=0,X=0.0,_=0.0,aa=0.0,ba=0.0,ca=0.0,da=0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0,ka=0.0,la=0.0,ma=0,na=0,oa=0.0,pa=0,qa=0,ra=0,sa=0.0,ta=0.0;f=i;p=i;i=i+8|0;G=p;o=i;i=i+8|0;E=o;k=i;i=i+8|0;D=k;n=i;i=i+8|0;B=n;j=i;i=i+128|0;g=j;x=i;i=i+128|0;y=x;w=i;i=i+128|0;t=+h[d+184>>3];q=+h[d+192>>3];u=+h[d+200>>3];s=+h[d+208>>3];r=+h[d+216>>3];v=+h[d+224>>3];l=+h[d+232>>3];m=+h[d+240>>3];z=c[d+8>>2]|0;z=jd[c[(c[z>>2]|0)+44>>2]&511](z)|0;a:do{if(t==s&q==r){C=0.0;e=10}else{do{if(u==v){I=r-q;J=s-t;F=0.0;C=0.0}else{if(v>u){F=(-0.0-u)/(v-u)}else{F=(-0.0-v)/(u-v)}J=s-t;oa=t+J*F;I=r-q;C=q+I*F;ka=oa-t;la=C-q;A=ka*ka+la*la<=u*u;oa=t-oa;C=q-C;C=+Z(+(u/+T(+(oa*oa+C*C))));if(u>v){C=-0.0-C;if(A){e=10;break a}else{break}}else{if(A){e=10;break a}else{break}}}}while(0);_=+$(+I,+J);A=b+28|0;HB(c[A>>2]|0,G,E,D,B);J=t+u;I=s+v-J;do{if(I!=0.0){J=(+h[p>>3]-J)/I;if(J<1.0){I=0.0;break}if(J<=0.0){I=0.0;J=1.0;break}I=J;J=1.0}else{I=0.0;J=1.0}}while(0);L=t-u;M=s-v-L;do{if(M!=0.0){L=(+h[k>>3]-L)/M;if(L<J){J=L;break}if(L<=I){break}I=L}}while(0);L=q+u;M=r+v-L;do{if(M!=0.0){L=(+h[o>>3]-L)/M;if(L<J){J=L;break}if(L<=I){break}I=L}}while(0);L=q-u;M=r-v-L;do{if(M!=0.0){L=(+h[n>>3]-L)/M;if(L<J){J=L;break}if(L<=I){break}I=L}}while(0);do{if(u<v){if(J>=F){F=J;break}}else{I=u>v&I>F?F:I;F=J}}while(0);G=0;I=(a[d+381|0]&1)==0&I>1.0?1.0:I;J=(a[d+380|0]&1)==0&F<0.0?0.0:F;ba=C}}while(0);if((e|0)==10){A=b+28|0;HB(c[A>>2]|0,G,E,D,B);_=0.0;G=1;I=1.0;J=0.0;ba=C}B=b+8|0;ra=c[B>>2]|0;do{if(Bd[c[(c[ra>>2]|0)+20>>2]&255](ra,c[d+4>>2]|0)|0){ra=c[B>>2]|0;if(!(gd[c[(c[ra>>2]|0)+240>>2]&3](ra,c[A>>2]|0,d,J,I)|0)){break}i=f;return}}while(0);D=c[A>>2]|0;F=+S(+(+h[D+16>>3]));C=+S(+(+h[D+24>>3]));C=C>F?C:F;F=+S(+(+h[D+32>>3]));F=F>C?F:C;L=+S(+(+h[D+40>>3]));D=u>v;C=D?u:v;F=C*(L>F?L:F);do{if(F<1.0){E=3}else{E=~~(3.141592653589793/+Y(+(1.0-.1/F)));if((E|0)<3){E=3;break}E=(E|0)>200?200:E}}while(0);M=m-l;R=s-t;L=r-q;Q=v-u;Kx(l,m,l+M*J,d,g);K=c[B>>2]|0;K=sd[c[(c[K>>2]|0)+244>>2]&127](K,c[A>>2]|0,d)|0;O=l+M*I;P=(z|0)>0;N=I-J;b=b+116|0;H=(E|0)>1;F=+(E|0);X=_+ba+1.5707963267948966;U=(E|0)>0;aa=_-ba+-1.5707963267948966;ea=ba*2.0;_=ea+3.141592653589793;ca=ba*-2.0+3.141592653589793;ba=ea+-3.141592653589793;da=(z|0)==0;na=0;ea=u+Q*J;la=J;ga=t+R*J;fa=q+L*J;while(1){Kx(l,m,O,d,y);b:do{if((256-na|0)>1){ma=256;c:while(1){if(da){break}else{pa=0}while(1){qa=(c[y+(pa<<2)>>2]|0)-(c[g+(pa<<2)>>2]|0)|0;pa=pa+1|0;if((((qa|0)>-1?qa:0-qa|0)|0)>256){break}if(pa>>>0>=z>>>0){break c}}ma=(ma+na|0)/2|0;ha=J+N*+(ma|0)*.00390625;Kx(l,m,l+M*ha,d,y);if((ma-na|0)<=1){break b}}pa=na+1|0;d:do{if((na|0)<(ma|0)){na=pa;while(1){Kx(l,m,l+M*(J+N*+(na|0)*.00390625),d,w);if(!da){ra=0;do{qa=(c[w+(ra<<2)>>2]|0)-(c[g+(ra<<2)>>2]|0)|0;ra=ra+1|0;if((((qa|0)>-1?qa:0-qa|0)|0)>256){break d}}while(ra>>>0<z>>>0)}qa=na+1|0;if((na|0)<(ma|0)){na=qa}else{na=qa;break}}}else{na=pa}}while(0);ma=(na|0)>(pa|0)?na+ -1|0:pa;ha=J+N*+(ma|0)*.00390625;Kx(l,m,l+M*ha,d,y)}else{ma=256;ha=I}}while(0);ja=t+R*ha;ka=q+L*ha;ia=u+Q*ha;if(P){na=0;do{ra=g+(na<<2)|0;c[ra>>2]=((c[y+(na<<2)>>2]|0)+(c[ra>>2]|0)|0)/2|0;na=na+1|0;}while((na|0)<(z|0))}$W((c[A>>2]|0)+124|0,j|0,128)|0;ra=c[B>>2]|0;ra=jd[c[(c[ra>>2]|0)+24>>2]&511](ra)|0;na=c[B>>2]|0;if(ra){Id[c[(c[na>>2]|0)+172>>2]&3](na,c[A>>2]|0,(la-J)/N)}else{hd[c[(c[na>>2]|0)+140>>2]&127](na,c[A>>2]|0)}do{if(!K){na=c[A>>2]|0;if(G){oa=ea+ga;ra=c[na+588>>2]|0;h[na+592>>3]=oa;h[na+600>>3]=fa;uB(ra,oa,fa);if(H){na=1;do{oa=+(na|0)/F*2.0*3.141592653589793;qa=c[A>>2]|0;la=ga+ea*+V(+oa);oa=fa+ea*+W(+oa);ra=c[qa+588>>2]|0;h[qa+592>>3]=la;h[qa+600>>3]=oa;vB(ra,la,oa);na=na+1|0;}while((na|0)<(E|0))}qa=c[A>>2]|0;pa=qa+588|0;xB(c[pa>>2]|0);pa=c[pa>>2]|0;ra=pa+28|0;pa=pa+24|0;na=c[(c[pa>>2]|0)+((c[ra>>2]|0)+ -1<<2)>>2]|0;h[qa+592>>3]=+h[(c[na>>2]|0)+((c[na+12>>2]|0)+ -1<<3)>>3];ra=c[(c[pa>>2]|0)+((c[ra>>2]|0)+ -1<<2)>>2]|0;h[qa+600>>3]=+h[(c[ra+4>>2]|0)+((c[ra+12>>2]|0)+ -1<<3)>>3];qa=c[A>>2]|0;oa=ja+ia;ra=c[qa+588>>2]|0;h[qa+592>>3]=oa;h[qa+600>>3]=ka;uB(ra,oa,ka);if(H){na=1;do{oa=+(na|0)/F*-2.0*3.141592653589793;qa=c[A>>2]|0;la=ja+ia*+V(+oa);oa=ka+ia*+W(+oa);ra=c[qa+588>>2]|0;h[qa+592>>3]=la;h[qa+600>>3]=oa;vB(ra,la,oa);na=na+1|0;}while((na|0)<(E|0))}ra=c[A>>2]|0;pa=ra+588|0;xB(c[pa>>2]|0);pa=c[pa>>2]|0;qa=pa+28|0;pa=pa+24|0;na=c[(c[pa>>2]|0)+((c[qa>>2]|0)+ -1<<2)>>2]|0;h[ra+592>>3]=+h[(c[na>>2]|0)+((c[na+12>>2]|0)+ -1<<3)>>3];qa=c[(c[pa>>2]|0)+((c[qa>>2]|0)+ -1<<2)>>2]|0;h[ra+600>>3]=+h[(c[qa+4>>2]|0)+((c[qa+12>>2]|0)+ -1<<3)>>3];break}oa=ga+ea*+V(+X);la=fa+ea*+W(+X);ra=c[na+588>>2]|0;h[na+592>>3]=oa;h[na+600>>3]=la;uB(ra,oa,la);do{if(U){na=0;do{sa=X-_*(+(na|0)/F);qa=c[A>>2]|0;ta=ja+ia*+V(+sa);sa=ka+ia*+W(+sa);ra=c[qa+588>>2]|0;h[qa+592>>3]=ta;h[qa+600>>3]=sa;vB(ra,ta,sa);na=na+1|0;}while((na|0)<(E|0));if(U){na=0}else{break}do{ta=aa+ba*(+(na|0)/F);qa=c[A>>2]|0;sa=ga+ea*+V(+ta);ta=fa+ea*+W(+ta);ra=c[qa+588>>2]|0;h[qa+592>>3]=sa;h[qa+600>>3]=ta;vB(ra,sa,ta);na=na+1|0;}while((na|0)<(E|0))}}while(0);qa=c[A>>2]|0;pa=qa+588|0;xB(c[pa>>2]|0);pa=c[pa>>2]|0;ra=pa+28|0;pa=pa+24|0;na=c[(c[pa>>2]|0)+((c[ra>>2]|0)+ -1<<2)>>2]|0;h[qa+592>>3]=+h[(c[na>>2]|0)+((c[na+12>>2]|0)+ -1<<3)>>3];ra=c[(c[pa>>2]|0)+((c[ra>>2]|0)+ -1<<2)>>2]|0;h[qa+600>>3]=+h[(c[ra+4>>2]|0)+((c[ra+12>>2]|0)+ -1<<3)>>3];qa=c[A>>2]|0;ra=c[qa+588>>2]|0;h[qa+592>>3]=oa;h[qa+600>>3]=la;uB(ra,oa,la);do{if(U){na=0;do{ta=X+ca*(+(na|0)/F);qa=c[A>>2]|0;sa=ja+ia*+V(+ta);ta=ka+ia*+W(+ta);ra=c[qa+588>>2]|0;h[qa+592>>3]=sa;h[qa+600>>3]=ta;vB(ra,sa,ta);na=na+1|0;}while((na|0)<(E|0));if(U){na=0}else{break}do{ta=aa+_*(+(na|0)/F);qa=c[A>>2]|0;sa=ga+ea*+V(+ta);ta=fa+ea*+W(+ta);ra=c[qa+588>>2]|0;h[qa+592>>3]=sa;h[qa+600>>3]=ta;vB(ra,sa,ta);na=na+1|0;}while((na|0)<(E|0))}}while(0);ra=c[A>>2]|0;pa=ra+588|0;xB(c[pa>>2]|0);pa=c[pa>>2]|0;qa=pa+28|0;pa=pa+24|0;na=c[(c[pa>>2]|0)+((c[qa>>2]|0)+ -1<<2)>>2]|0;h[ra+592>>3]=+h[(c[na>>2]|0)+((c[na+12>>2]|0)+ -1<<3)>>3];qa=c[(c[pa>>2]|0)+((c[qa>>2]|0)+ -1<<2)>>2]|0;h[ra+600>>3]=+h[(c[qa+4>>2]|0)+((c[qa+12>>2]|0)+ -1<<3)>>3]}}while(0);ra=c[B>>2]|0;if(!(jd[c[(c[ra>>2]|0)+24>>2]&511](ra)|0)){na=c[b>>2]|0;e:do{if((na|0)==0){e=75}else{if((a[na]&1)!=0){break}do{na=c[na+4>>2]|0;if((na|0)==0){e=75;break e}}while((a[na]&1)==0)}}while(0);if((e|0)==75){e=0;ra=c[B>>2]|0;hd[c[(c[ra>>2]|0)+216>>2]&127](ra,c[A>>2]|0)}SB(c[A>>2]|0)}$W(j|0,x|0,128)|0;if((ma|0)<256){na=ma;ea=ia;la=ha;ga=ja;fa=ka}else{break}}ra=c[B>>2]|0;if(jd[c[(c[ra>>2]|0)+24>>2]&511](ra)|0){$W((c[A>>2]|0)+124|0,j|0,128)|0;w=c[B>>2]|0;Id[c[(c[w>>2]|0)+172>>2]&3](w,c[A>>2]|0,(ha-J)/N);w=c[A>>2]|0;ta=+h[p>>3];sa=+h[o>>3];qa=c[w+588>>2]|0;h[w+592>>3]=ta;h[w+600>>3]=sa;uB(qa,ta,sa);qa=c[A>>2]|0;sa=+h[p>>3];ta=+h[n>>3];w=c[qa+588>>2]|0;h[qa+592>>3]=sa;h[qa+600>>3]=ta;vB(w,sa,ta);w=c[A>>2]|0;ta=+h[k>>3];sa=+h[n>>3];qa=c[w+588>>2]|0;h[w+592>>3]=ta;h[w+600>>3]=sa;vB(qa,ta,sa);qa=c[A>>2]|0;sa=+h[k>>3];ta=+h[o>>3];w=c[qa+588>>2]|0;h[qa+592>>3]=sa;h[qa+600>>3]=ta;vB(w,sa,ta);w=c[A>>2]|0;qa=w+588|0;xB(c[qa>>2]|0);qa=c[qa>>2]|0;ra=qa+28|0;qa=qa+24|0;pa=c[(c[qa>>2]|0)+((c[ra>>2]|0)+ -1<<2)>>2]|0;h[w+592>>3]=+h[(c[pa>>2]|0)+((c[pa+12>>2]|0)+ -1<<3)>>3];ra=c[(c[qa>>2]|0)+((c[ra>>2]|0)+ -1<<2)>>2]|0;h[w+600>>3]=+h[(c[ra+4>>2]|0)+((c[ra+12>>2]|0)+ -1<<3)>>3];w=c[b>>2]|0;f:do{if((w|0)==0){e=83}else{if((a[w]&1)!=0){break}do{w=c[w+4>>2]|0;if((w|0)==0){e=83;break f}}while((a[w]&1)==0)}}while(0);if((e|0)==83){ra=c[B>>2]|0;hd[c[(c[ra>>2]|0)+216>>2]&127](ra,c[A>>2]|0)}SB(c[A>>2]|0)}if(K|G^1){i=f;return}x=d+380|0;z=a[x]|0;w=u>v;if((z&1)==0|w){y=D^1;if(!((a[d+381|0]&1)==0|y)){e=88}}else{e=88}if((e|0)==88){I=w?v:u;u=w?s:t;v=w?r:q;$A(d,w?m:l,g);$W((c[A>>2]|0)+124|0,j|0,128)|0;qa=c[B>>2]|0;hd[c[(c[qa>>2]|0)+140>>2]&127](qa,c[A>>2]|0);qa=c[A>>2]|0;ta=u+I;ra=c[qa+588>>2]|0;h[qa+592>>3]=ta;h[qa+600>>3]=v;uB(ra,ta,v);if(H){y=1;do{ta=+(y|0)/F*2.0*3.141592653589793;qa=c[A>>2]|0;sa=u+I*+V(+ta);ta=v+I*+W(+ta);ra=c[qa+588>>2]|0;h[qa+592>>3]=sa;h[qa+600>>3]=ta;vB(ra,sa,ta);y=y+1|0;}while((y|0)<(E|0))}y=c[A>>2]|0;qa=y+588|0;xB(c[qa>>2]|0);qa=c[qa>>2]|0;ra=qa+28|0;qa=qa+24|0;pa=c[(c[qa>>2]|0)+((c[ra>>2]|0)+ -1<<2)>>2]|0;h[y+592>>3]=+h[(c[pa>>2]|0)+((c[pa+12>>2]|0)+ -1<<3)>>3];ra=c[(c[qa>>2]|0)+((c[ra>>2]|0)+ -1<<2)>>2]|0;h[y+600>>3]=+h[(c[ra+4>>2]|0)+((c[ra+12>>2]|0)+ -1<<3)>>3];y=c[b>>2]|0;g:do{if((y|0)==0){e=94}else{if((a[y]&1)!=0){break}do{y=c[y+4>>2]|0;if((y|0)==0){e=94;break g}}while((a[y]&1)==0)}}while(0);if((e|0)==94){ra=c[B>>2]|0;hd[c[(c[ra>>2]|0)+216>>2]&127](ra,c[A>>2]|0)}SB(c[A>>2]|0);z=a[x]|0;y=D^1}do{if((z&1)==0|y){if(!((a[d+381|0]&1)==0|w)){break}i=f;return}}while(0);s=D?t:s;q=D?q:r;$A(d,D?l:m,g);$W((c[A>>2]|0)+124|0,j|0,128)|0;qa=c[B>>2]|0;hd[c[(c[qa>>2]|0)+140>>2]&127](qa,c[A>>2]|0);qa=c[A>>2]|0;ta=+h[p>>3];sa=+h[o>>3];pa=c[qa+588>>2]|0;h[qa+592>>3]=ta;h[qa+600>>3]=sa;uB(pa,ta,sa);pa=c[A>>2]|0;sa=+h[p>>3];ta=+h[n>>3];qa=c[pa+588>>2]|0;h[pa+592>>3]=sa;h[pa+600>>3]=ta;vB(qa,sa,ta);qa=c[A>>2]|0;ta=+h[k>>3];sa=+h[n>>3];pa=c[qa+588>>2]|0;h[qa+592>>3]=ta;h[qa+600>>3]=sa;vB(pa,ta,sa);pa=c[A>>2]|0;sa=+h[k>>3];ta=+h[o>>3];qa=c[pa+588>>2]|0;h[pa+592>>3]=sa;h[pa+600>>3]=ta;vB(qa,sa,ta);qa=c[A>>2]|0;pa=qa+588|0;xB(c[pa>>2]|0);pa=c[pa>>2]|0;ra=pa+28|0;pa=pa+24|0;na=c[(c[pa>>2]|0)+((c[ra>>2]|0)+ -1<<2)>>2]|0;h[qa+592>>3]=+h[(c[na>>2]|0)+((c[na+12>>2]|0)+ -1<<3)>>3];ra=c[(c[pa>>2]|0)+((c[ra>>2]|0)+ -1<<2)>>2]|0;h[qa+600>>3]=+h[(c[ra+4>>2]|0)+((c[ra+12>>2]|0)+ -1<<3)>>3];qa=c[A>>2]|0;ta=s+C;ra=c[qa+588>>2]|0;h[qa+592>>3]=ta;h[qa+600>>3]=q;uB(ra,ta,q);if(H){g=1;do{ta=+(g|0)/F*2.0*3.141592653589793;qa=c[A>>2]|0;sa=s+C*+V(+ta);ta=q+C*+W(+ta);ra=c[qa+588>>2]|0;h[qa+592>>3]=sa;h[qa+600>>3]=ta;vB(ra,sa,ta);g=g+1|0;}while((g|0)<(E|0))}g=c[A>>2]|0;qa=g+588|0;xB(c[qa>>2]|0);qa=c[qa>>2]|0;ra=qa+28|0;qa=qa+24|0;pa=c[(c[qa>>2]|0)+((c[ra>>2]|0)+ -1<<2)>>2]|0;h[g+592>>3]=+h[(c[pa>>2]|0)+((c[pa+12>>2]|0)+ -1<<3)>>3];ra=c[(c[qa>>2]|0)+((c[ra>>2]|0)+ -1<<2)>>2]|0;h[g+600>>3]=+h[(c[ra+4>>2]|0)+((c[ra+12>>2]|0)+ -1<<3)>>3];g=c[b>>2]|0;h:do{if((g|0)==0){e=104}else{if((a[g]&1)!=0){break}do{g=c[g+4>>2]|0;if((g|0)==0){e=104;break h}}while((a[g]&1)==0)}}while(0);if((e|0)==104){ra=c[B>>2]|0;hd[c[(c[ra>>2]|0)+216>>2]&127](ra,c[A>>2]|0)}SB(c[A>>2]|0);i=f;return}function Ix(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0;j=i;n=i;i=i+8|0;m=n;o=i;i=i+8|0;e=o;q=i;i=i+8|0;f=q;r=i;i=i+8|0;g=r;p=i;i=i+8|0;k=p;d=i;i=i+8|0;l=d;B=i;i=i+8|0;s=B;t=i;i=i+8|0;w=t;v=i;i=i+8|0;u=v;x=i;i=i+128|0;y=i;i=i+128|0;z=i;i=i+128|0;A=a+8|0;D=c[A>>2]|0;do{if(Bd[c[(c[D>>2]|0)+20>>2]&255](D,c[b+4>>2]|0)|0){D=c[A>>2]|0;A=a+28|0;if(!(sd[c[(c[D>>2]|0)+248>>2]&127](D,c[A>>2]|0,b)|0)){break}i=j;return}else{A=a+28|0}}while(0);F=c[A>>2]|0;D=c[F+588>>2]|0;bX(F+592|0,0,16)|0;uB(D,0.0,0.0);D=c[A>>2]|0;F=c[D+588>>2]|0;h[D+592>>3]=1.0;h[D+600>>3]=0.0;vB(F,1.0,0.0);F=c[A>>2]|0;D=c[F+588>>2]|0;h[F+592>>3]=0.0;h[F+600>>3]=1.0;vB(D,0.0,1.0);D=c[A>>2]|0;F=D+588|0;xB(c[F>>2]|0);F=c[F>>2]|0;E=F+28|0;F=F+24|0;G=c[(c[F>>2]|0)+((c[E>>2]|0)+ -1<<2)>>2]|0;h[D+592>>3]=+h[(c[G>>2]|0)+((c[G+12>>2]|0)+ -1<<3)>>3];E=c[(c[F>>2]|0)+((c[E>>2]|0)+ -1<<2)>>2]|0;h[D+600>>3]=+h[(c[E+4>>2]|0)+((c[E+12>>2]|0)+ -1<<3)>>3];D=c[A>>2]|0;A=FW(20)|0;yB(A,c[D+588>>2]|0);do{if((c[b+324>>2]|0)>0){x=c[b+196>>2]|0;C=(+h[x+24>>3]- +h[x+16>>3])*.005;x=b+192|0;if((c[x>>2]|0)>0){y=0}else{break}do{gB(b,y,m,e,s,f,g,w,k,l,u);Lx(a,+h[n>>3],+h[o>>3],+h[B>>3],+h[q>>3],+h[r>>3],+h[t>>3],+h[p>>3],+h[d>>3],+h[v>>3],C,0,b,A);y=y+1|0;}while((y|0)<(c[x>>2]|0))}else{s=b+192|0;if((c[s>>2]|0)<=0){break}t=b+8|0;u=0;do{eB(b,u,m,e,x,f,g,y,k,l,z);L=+h[n>>3];K=+h[o>>3];J=+h[q>>3];I=+h[r>>3];H=+h[p>>3];C=+h[d>>3];G=c[t>>2]|0;Mx(a,L,K,x,J,I,y,H,C,z,jd[c[(c[G>>2]|0)+44>>2]&511](G)|0,0,A);u=u+1|0;}while((u|0)<(c[s>>2]|0))}}while(0);if((A|0)==0){i=j;return}HW(A);i=j;return}function Jx(b,d,e,f,g,j,k,l){b=b|0;d=d|0;e=+e;f=+f;g=+g;j=+j;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0.0;m=i;p=i;i=i+128|0;s=p;r=i;i=i+128|0;w=r;v=i;i=i+128|0;x=v;C=i;i=i+128|0;y=C;u=i;i=i+128|0;z=u;t=i;i=i+128|0;A=t;B=i;i=i+512|0;q=B;F=c[d+8>>2]|0;F=jd[c[(c[F>>2]|0)+44>>2]&511](F)|0;o=d+216|0;D=(F|0)>0;E=0;a:while(1){G=E+1|0;if(D){J=G&3;I=0;do{H=(c[k+(E<<7)+(I<<2)>>2]|0)-(c[k+(J<<7)+(I<<2)>>2]|0)|0;I=I+1|0;if((((H|0)>-1?H:0-H|0)|0)>256){break a}}while((I|0)<(F|0))}if((G|0)<4){E=G}else{E=G;break}}K=(e+g)*.5;L=(f+j)*.5;if((E|0)==4){if((l|0)<=0){n=16}}else{if((l|0)!=6){n=16}}if((n|0)==16){RA(d,e,L,w);RA(d,g,L,x);RA(d,K,f,y);RA(d,K,j,z);RA(d,K,L,A);$W(B|0,k|0,128)|0;G=q+128|0;$W(G|0,r|0,128)|0;H=q+256|0;$W(H|0,C|0,128)|0;I=q+384|0;$W(I|0,t|0,128)|0;J=l+1|0;Jx(b,d,e,f,K,L,q,J);$W(B|0,r|0,128)|0;$W(G|0,k+128|0,128)|0;$W(H|0,t|0,128)|0;$W(I|0,u|0,128)|0;Jx(b,d,e,L,K,j,q,J);$W(B|0,C|0,128)|0;$W(G|0,t|0,128)|0;$W(H|0,k+256|0,128)|0;$W(I|0,v|0,128)|0;Jx(b,d,K,f,g,L,q,J);$W(B|0,t|0,128)|0;$W(G|0,u|0,128)|0;$W(H|0,v|0,128)|0;$W(I|0,k+384|0,128)|0;Jx(b,d,K,L,g,j,q,J);i=m;return}RA(d,K,L,s);q=b+28|0;$W((c[q>>2]|0)+124|0,p|0,128)|0;p=b+8|0;E=c[p>>2]|0;hd[c[(c[E>>2]|0)+140>>2]&127](E,c[q>>2]|0);E=c[q>>2]|0;G=d+232|0;F=d+248|0;L=+h[F>>3]+(+h[o>>3]*e+ +h[G>>3]*f);H=d+224|0;J=d+240|0;d=d+256|0;K=+h[d>>3]+(+h[H>>3]*e+ +h[J>>3]*f);I=c[E+588>>2]|0;h[E+592>>3]=L;h[E+600>>3]=K;uB(I,L,K);I=c[q>>2]|0;K=+h[F>>3]+(+h[o>>3]*g+ +h[G>>3]*f);L=+h[d>>3]+(+h[H>>3]*g+ +h[J>>3]*f);E=c[I+588>>2]|0;h[I+592>>3]=K;h[I+600>>3]=L;vB(E,K,L);E=c[q>>2]|0;L=+h[F>>3]+(+h[o>>3]*g+ +h[G>>3]*j);K=+h[d>>3]+(+h[H>>3]*g+ +h[J>>3]*j);I=c[E+588>>2]|0;h[E+592>>3]=L;h[E+600>>3]=K;vB(I,L,K);I=c[q>>2]|0;K=+h[F>>3]+(+h[o>>3]*e+ +h[G>>3]*j);L=+h[d>>3]+(+h[H>>3]*e+ +h[J>>3]*j);d=c[I+588>>2]|0;h[I+592>>3]=K;h[I+600>>3]=L;vB(d,K,L);d=c[q>>2]|0;I=d+588|0;xB(c[I>>2]|0);I=c[I>>2]|0;J=I+28|0;I=I+24|0;H=c[(c[I>>2]|0)+((c[J>>2]|0)+ -1<<2)>>2]|0;h[d+592>>3]=+h[(c[H>>2]|0)+((c[H+12>>2]|0)+ -1<<3)>>3];J=c[(c[I>>2]|0)+((c[J>>2]|0)+ -1<<2)>>2]|0;h[d+600>>3]=+h[(c[J+4>>2]|0)+((c[J+12>>2]|0)+ -1<<3)>>3];d=c[b+116>>2]|0;b:do{if((d|0)==0){n=14}else{if((a[d]&1)!=0){break}do{d=c[d+4>>2]|0;if((d|0)==0){n=14;break b}}while((a[d]&1)==0)}}while(0);if((n|0)==14){J=c[p>>2]|0;hd[c[(c[J>>2]|0)+216>>2]&127](J,c[q>>2]|0)}SB(c[q>>2]|0);i=m;return}function Kx(a,b,c,d,e){a=+a;b=+b;c=+c;d=d|0;e=e|0;var f=0;f=i;do{if(a<b){if(c<a){$A(d,a,e);break}if(c>b){$A(d,b,e);break}else{$A(d,c,e);break}}else{if(c>a){$A(d,a,e);break}if(c<b){$A(d,b,e);break}else{$A(d,c,e);break}}}while(0);i=f;return}function Lx(b,d,e,f,g,h,j,k,l,m,n,o,p,q){b=b|0;d=+d;e=+e;f=+f;g=+g;h=+h;j=+j;k=+k;l=+l;m=+m;n=+n;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0.0,v=0.0,w=0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;r=i;s=i;i=i+128|0;t=s;u=f+j;v=(u+m)/3.0;do{if(+S(+(f-v))<n){if(+S(+(j-v))>=n){w=4;break}if(!(+S(+(m-v))<n|(o|0)==6)){w=20}}else{w=4}}while(0);if((w|0)==4){if((o|0)!=6){w=20}}if((w|0)==20){D=(d+g)*.5;C=(e+h)*.5;y=(g+k)*.5;x=(h+l)*.5;A=(d+k)*.5;z=(e+l)*.5;B=u*.5;v=(j+m)*.5;u=(f+m)*.5;w=o+1|0;Lx(b,d,e,f,D,C,B,A,z,u,n,w,p,q);Lx(b,D,C,B,g,h,j,y,x,v,n,w,p,q);Lx(b,D,C,B,y,x,v,A,z,u,n,w,p,q);Lx(b,A,z,u,y,x,v,k,l,m,n,w,p,q);i=r;return}fB(p,v,t);t=b+28|0;$W((c[t>>2]|0)+124|0,s|0,128)|0;s=b+8|0;w=c[s>>2]|0;hd[c[(c[w>>2]|0)+140>>2]&127](w,c[t>>2]|0);CB(q);if(zB(q)|0){Ya(160992,161008,3232,161016)}BB(q,d,e);AB(q);if(zB(q)|0){Ya(160992,161008,3233,161016)}BB(q,g,h);AB(q);if(zB(q)|0){Ya(160992,161008,3234,161016)}BB(q,k,l);AB(q);if(zB(q)|0){Ya(160992,161008,3235,161016)}BB(q,d,e);AB(q);if(!(zB(q)|0)){Ya(161040,161008,3236,161016)}b=c[b+116>>2]|0;a:do{if((b|0)!=0){if((a[b]&1)!=0){i=r;return}do{b=c[b+4>>2]|0;if((b|0)==0){break a}}while((a[b]&1)==0);i=r;return}}while(0);w=c[s>>2]|0;hd[c[(c[w>>2]|0)+216>>2]&127](w,c[t>>2]|0);i=r;return}function Mx(b,d,e,f,g,h,j,k,l,m,n,o,p){b=b|0;d=+d;e=+e;f=f|0;g=+g;h=+h;j=j|0;k=+k;l=+l;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0,C=0,D=0;q=i;t=i;i=i+128|0;s=i;i=i+128|0;r=i;i=i+128|0;u=(n|0)>0;a:do{if(u){B=0;while(1){C=c[j+(B<<2)>>2]|0;D=(c[f+(B<<2)>>2]|0)-C|0;if((((D|0)>-1?D:0-D|0)|0)>768){break a}D=C-(c[m+(B<<2)>>2]|0)|0;C=B+1|0;if((((D|0)>-1?D:0-D|0)|0)>768){break a}if((C|0)<(n|0)){B=C}else{B=C;break}}}else{B=0}}while(0);if(!((B|0)==(n|0)|(o|0)==6)){x=(d+g)*.5;y=(e+h)*.5;w=(g+k)*.5;v=(h+l)*.5;z=(d+k)*.5;A=(e+l)*.5;if(u){u=0;do{C=c[f+(u<<2)>>2]|0;B=c[j+(u<<2)>>2]|0;c[t+(u<<2)>>2]=(B+C|0)/2|0;D=c[m+(u<<2)>>2]|0;c[s+(u<<2)>>2]=(D+B|0)/2|0;c[r+(u<<2)>>2]=(C+D|0)/2|0;u=u+1|0;}while((u|0)<(n|0))}D=o+1|0;Mx(b,d,e,f,x,y,t,z,A,r,n,D,p);Mx(b,x,y,t,g,h,j,w,v,s,n,D,p);Mx(b,x,y,t,w,v,s,z,A,r,n,D,p);Mx(b,z,A,r,w,v,s,k,l,m,n,D,p);i=q;return}o=b+28|0;$W((c[o>>2]|0)+124|0,f|0,128)|0;f=b+8|0;D=c[f>>2]|0;hd[c[(c[D>>2]|0)+140>>2]&127](D,c[o>>2]|0);CB(p);if(zB(p)|0){Ya(160992,161008,3184,161016)}BB(p,d,e);AB(p);if(zB(p)|0){Ya(160992,161008,3185,161016)}BB(p,g,h);AB(p);if(zB(p)|0){Ya(160992,161008,3186,161016)}BB(p,k,l);AB(p);if(zB(p)|0){Ya(160992,161008,3187,161016)}BB(p,d,e);AB(p);if(!(zB(p)|0)){Ya(161040,161008,3188,161016)}p=c[b+116>>2]|0;b:do{if((p|0)!=0){if((a[p]&1)!=0){i=q;return}do{p=c[p+4>>2]|0;if((p|0)==0){break b}}while((a[p]&1)==0);i=q;return}}while(0);D=c[f>>2]|0;hd[c[(c[D>>2]|0)+216>>2]&127](D,c[o>>2]|0);i=q;return}function Nx(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0,z=0.0,A=0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0;l=i;o=i;i=i+1280|0;p=i;i=i+1280|0;m=i;i=i+1280|0;n=i;i=i+1280|0;t=i;i=i+256|0;q=i;i=i+256|0;u=i;i=i+128|0;v=u;r=(f|0)>0;a:do{if(r){w=0;while(1){x=+h[d+256+(w<<3)>>3];z=+h[d+512+(w<<3)>>3];if(+S(+(x-z))>g){break a}y=+h[d+1024+(w<<3)>>3];if(+S(+(z-y))>g){break a}z=+h[d+768+(w<<3)>>3];if(+S(+(y-z))>g){break a}A=w+1|0;if(+S(+(z-x))>g){break a}if((A|0)<(f|0)){w=A}else{w=A;break}}}else{w=0}}while(0);if(!((w|0)==(f|0)|(j|0)==6)){s=0;while(1){D=+h[d+(s<<5)>>3];h[t+(s<<6)>>3]=D;B=+h[d+128+(s<<5)>>3];h[q+(s<<6)>>3]=B;F=+h[d+(s<<5)+8>>3];D=(D+F)*.5;h[t+(s<<6)+8>>3]=D;E=+h[d+128+(s<<5)+8>>3];B=(B+E)*.5;h[q+(s<<6)+8>>3]=B;C=+h[d+(s<<5)+16>>3];F=(F+C)*.5;x=+h[d+128+(s<<5)+16>>3];E=(E+x)*.5;y=+h[d+(s<<5)+24>>3];C=(C+y)*.5;h[t+(s<<6)+48>>3]=C;z=+h[d+128+(s<<5)+24>>3];x=(x+z)*.5;h[q+(s<<6)+48>>3]=x;D=(F+D)*.5;h[t+(s<<6)+16>>3]=D;B=(E+B)*.5;h[q+(s<<6)+16>>3]=B;C=(F+C)*.5;h[t+(s<<6)+40>>3]=C;x=(E+x)*.5;h[q+(s<<6)+40>>3]=x;C=(D+C)*.5;h[t+(s<<6)+32>>3]=C;h[t+(s<<6)+24>>3]=C;x=(B+x)*.5;h[q+(s<<6)+32>>3]=x;h[q+(s<<6)+24>>3]=x;h[t+(s<<6)+56>>3]=y;h[q+(s<<6)+56>>3]=z;s=s+1|0;if((s|0)<4){}else{s=0;break}}while(1){z=+h[t+(s<<3)>>3];h[o+(s<<3)>>3]=z;B=+h[q+(s<<3)>>3];h[o+128+(s<<3)>>3]=B;x=+h[t+64+(s<<3)>>3];z=(z+x)*.5;h[o+32+(s<<3)>>3]=z;y=+h[q+64+(s<<3)>>3];B=(B+y)*.5;h[o+160+(s<<3)>>3]=B;C=+h[t+128+(s<<3)>>3];x=(x+C)*.5;D=+h[q+128+(s<<3)>>3];y=(y+D)*.5;E=+h[t+192+(s<<3)>>3];C=(C+E)*.5;h[m+64+(s<<3)>>3]=C;F=+h[q+192+(s<<3)>>3];D=(D+F)*.5;h[m+192+(s<<3)>>3]=D;z=(x+z)*.5;h[o+64+(s<<3)>>3]=z;B=(y+B)*.5;h[o+192+(s<<3)>>3]=B;C=(x+C)*.5;h[m+32+(s<<3)>>3]=C;D=(y+D)*.5;h[m+160+(s<<3)>>3]=D;C=(z+C)*.5;h[o+96+(s<<3)>>3]=C;D=(B+D)*.5;h[o+224+(s<<3)>>3]=D;h[m+(s<<3)>>3]=C;h[m+128+(s<<3)>>3]=D;h[m+96+(s<<3)>>3]=E;h[m+224+(s<<3)>>3]=F;s=s+1|0;if((s|0)<4){}else{s=4;break}}do{z=+h[t+(s<<3)>>3];A=s+ -4|0;h[p+(A<<3)>>3]=z;B=+h[q+(s<<3)>>3];h[p+128+(A<<3)>>3]=B;x=+h[t+64+(s<<3)>>3];z=(z+x)*.5;h[p+32+(A<<3)>>3]=z;y=+h[q+64+(s<<3)>>3];B=(B+y)*.5;h[p+160+(A<<3)>>3]=B;C=+h[t+128+(s<<3)>>3];x=(x+C)*.5;D=+h[q+128+(s<<3)>>3];y=(y+D)*.5;E=+h[t+192+(s<<3)>>3];C=(C+E)*.5;h[n+64+(A<<3)>>3]=C;F=+h[q+192+(s<<3)>>3];D=(D+F)*.5;h[n+192+(A<<3)>>3]=D;z=(x+z)*.5;h[p+64+(A<<3)>>3]=z;B=(y+B)*.5;h[p+192+(A<<3)>>3]=B;C=(x+C)*.5;h[n+32+(A<<3)>>3]=C;D=(y+D)*.5;h[n+160+(A<<3)>>3]=D;C=(z+C)*.5;h[p+96+(A<<3)>>3]=C;D=(B+D)*.5;h[p+224+(A<<3)>>3]=D;h[n+(A<<3)>>3]=C;h[n+128+(A<<3)>>3]=D;h[n+96+(A<<3)>>3]=E;h[n+224+(A<<3)>>3]=F;s=s+1|0;}while((s|0)<8);if(r){q=0;do{F=+h[d+256+(q<<3)>>3];h[o+256+(q<<3)>>3]=F;E=+h[d+512+(q<<3)>>3];C=(F+E)*.5;h[o+512+(q<<3)>>3]=C;h[p+256+(q<<3)>>3]=C;h[p+512+(q<<3)>>3]=E;C=+h[d+1024+(q<<3)>>3];E=(E+C)*.5;h[p+1024+(q<<3)>>3]=E;h[n+512+(q<<3)>>3]=E;h[n+1024+(q<<3)>>3]=C;D=+h[d+768+(q<<3)>>3];C=(C+D)*.5;h[n+768+(q<<3)>>3]=C;h[m+1024+(q<<3)>>3]=C;h[m+768+(q<<3)>>3]=D;F=(D+F)*.5;h[m+256+(q<<3)>>3]=F;h[o+768+(q<<3)>>3]=F;F=(E+F)*.5;h[o+1024+(q<<3)>>3]=F;h[p+768+(q<<3)>>3]=F;h[n+256+(q<<3)>>3]=F;h[m+512+(q<<3)>>3]=F;q=q+1|0;}while((q|0)<(f|0))}A=j+1|0;Nx(b,o,e,f,g,A,k);Nx(b,m,e,f,g,A,k);Nx(b,p,e,f,g,A,k);Nx(b,n,e,f,g,A,k);i=l;return}do{if((c[k+316>>2]|0)>0){kB(k,+h[d+256>>3],v)}else{if((e|0)>0){m=0}else{break}do{c[v+(m<<2)>>2]=~~+h[d+256+(m<<3)>>3];m=m+1|0;}while((m|0)<(e|0))}}while(0);e=b+28|0;$W((c[e>>2]|0)+124|0,u|0,128)|0;m=b+8|0;v=c[m>>2]|0;hd[c[(c[v>>2]|0)+140>>2]&127](v,c[e>>2]|0);v=c[e>>2]|0;E=+h[d>>3];A=d+128|0;F=+h[A>>3];w=c[v+588>>2]|0;h[v+592>>3]=E;h[v+600>>3]=F;uB(w,E,F);w=c[e>>2]|0;F=+h[d+8>>3];E=+h[d+136>>3];D=+h[d+16>>3];C=+h[d+144>>3];B=+h[d+24>>3];z=+h[d+152>>3];v=c[w+588>>2]|0;h[w+592>>3]=B;h[w+600>>3]=z;wB(v,F,E,D,C,B,z);v=c[e>>2]|0;z=+h[d+56>>3];B=+h[d+184>>3];C=+h[d+88>>3];D=+h[d+216>>3];E=+h[d+120>>3];F=+h[d+248>>3];w=c[v+588>>2]|0;h[v+592>>3]=E;h[v+600>>3]=F;wB(w,z,B,C,D,E,F);w=c[e>>2]|0;F=+h[d+112>>3];E=+h[d+240>>3];D=+h[d+104>>3];C=+h[d+232>>3];B=+h[d+96>>3];z=+h[d+224>>3];v=c[w+588>>2]|0;h[w+592>>3]=B;h[w+600>>3]=z;wB(v,F,E,D,C,B,z);v=c[e>>2]|0;z=+h[d+64>>3];B=+h[d+192>>3];C=+h[d+32>>3];D=+h[d+160>>3];E=+h[d>>3];F=+h[A>>3];A=c[v+588>>2]|0;h[v+592>>3]=E;h[v+600>>3]=F;wB(A,z,B,C,D,E,F);A=c[e>>2]|0;v=A+588|0;xB(c[v>>2]|0);v=c[v>>2]|0;w=v+28|0;v=v+24|0;u=c[(c[v>>2]|0)+((c[w>>2]|0)+ -1<<2)>>2]|0;h[A+592>>3]=+h[(c[u>>2]|0)+((c[u+12>>2]|0)+ -1<<3)>>3];w=c[(c[v>>2]|0)+((c[w>>2]|0)+ -1<<2)>>2]|0;h[A+600>>3]=+h[(c[w+4>>2]|0)+((c[w+12>>2]|0)+ -1<<3)>>3];b=c[b+116>>2]|0;b:do{if((b|0)==0){s=16}else{if((a[b]&1)!=0){break}do{b=c[b+4>>2]|0;if((b|0)==0){s=16;break b}}while((a[b]&1)==0)}}while(0);if((s|0)==16){A=c[m>>2]|0;hd[c[(c[A>>2]|0)+216>>2]&127](A,c[e>>2]|0)}SB(c[e>>2]|0);i=l;return}function Ox(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0,P=0,Q=0.0,R=0.0,S=0,T=0,U=0,V=0.0,W=0.0,X=0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0.0,ba=0;g=i;x=i;i=i+8|0;z=i;i=i+8|0;t=i;i=i+8|0;o=t;v=i;i=i+8|0;p=v;l=i;i=i+8|0;s=l;k=i;i=i+8|0;w=k;P=i;i=i+8|0;G=P;E=i;i=i+8|0;F=E;B=i;i=i+8|0;r=B;C=i;i=i+8|0;n=C;U=i;i=i+48|0;T=U;y=i;i=i+16|0;A=y;u=i;i=i+8|0;q=u;c[v>>2]=0;c[y>>2]=13;j=A+8|0;c[j>>2]=0;c[j+4>>2]=0;j=b+28|0;m=c[(c[j>>2]|0)+484>>2]|0;D=jd[c[(c[m>>2]|0)+8>>2]&511](m)|0;e=b+8|0;Y=c[e>>2]|0;if(jd[c[(c[Y>>2]|0)+12>>2]&511](Y)|0){Y=c[e>>2]|0;Gd[c[(c[Y>>2]|0)+276>>2]&255](Y,c[j>>2]|0,d)}do{if((c[m+40>>2]|0)==4){Y=c[e>>2]|0;if(!(jd[c[(c[Y>>2]|0)+32>>2]&511](Y)|0)){f=30;break}S=c[j>>2]|0;$W(U|0,S+16|0,48)|0;W=+h[S+496>>3];K=+h[U>>3];O=+h[S+504>>3];V=+h[T+16>>3];Q=+h[T+8>>3];L=+h[T+24>>3];H=+h[S+512>>3];I=+h[S+520>>3];N=K*H+V*I;M=Q*H+L*I;R=+h[m+64>>3];Z=+h[m+72>>3];V=(W*K+O*V)*R+Z*N;Z=(W*Q+O*L)*R+Z*M;R=+h[m+80>>3];L=+h[m+88>>3];Q=+h[S+488>>3];K=Z*Q;M=Q*(R*Z+M*L);Z=+h[S+560>>3];J=V*Q*Z;L=Z*Q*(R*V+N*L);N=+h[S+576>>3];H=W*0.0+N*H;I=O*0.0+N*I;N=+h[S+608>>3];O=+h[S+616>>3];F=b+120|0;P=c[F>>2]|0;U=c[d+24>>2]|0;if((U|0)>0){E=b+32|0;D=b+40|0;G=b+36|0;C=b+18|0;B=b+20|0;Q=+h[S+592>>3];R=+h[S+600>>3];S=c[d+28>>2]|0;while(1){T=xd[c[(c[m>>2]|0)+12>>2]&3](m,S,U,o,p,q,s,w,r,n)|0;X=c[j>>2]|0;Y=X+488|0;V=+h[l>>3]*+h[Y>>3]+ +h[X+544>>3];h[l>>3]=V;do{if((T|0)==1){if((a[S]|0)!=32){break}V=V+ +h[X+552>>3];h[l>>3]=V}}while(0);_=+h[X+560>>3]*V;h[l>>3]=_;V=+h[Y>>3]*+h[k>>3];h[k>>3]=V;W=_*+h[X+496>>3]+V*+h[X+512>>3];V=_*+h[X+504>>3]+V*+h[X+520>>3];_=H+Q;Z=I+R;aa=+h[X+48>>3]+(_*+h[X+16>>3]+Z*+h[X+32>>3]);$=+h[X+56>>3]+(_*+h[X+24>>3]+Z*+h[X+40>>3]);Y=c[e>>2]|0;hd[c[(c[Y>>2]|0)+80>>2]&127](Y,X);Y=XB(c[j>>2]|0)|0;c[j>>2]=Y;c[E>>2]=(c[E>>2]|0)+1;IB(Y,J,K,L,M,aa,$);Y=c[e>>2]|0;Ed[c[(c[Y>>2]|0)+92>>2]&3](Y,c[j>>2]|0,1.0,0.0,0.0,1.0,0.0,0.0);Y=c[e>>2]|0;if(!(qd[c[(c[Y>>2]|0)+292>>2]&1](Y,c[j>>2]|0,_,Z,W,V,c[t>>2]|0,c[v>>2]|0,c[u>>2]|0)|0)){iy(m,c[t>>2]|0,A)|0;Y=jy(m)|0;X=(Y|0)!=0;if(X){ba=FW(120)|0;mx(ba,c[b>>2]|0,Y,c[B>>2]|0);c[B>>2]=ba}if((c[y>>2]|0)==8){vx(b,A,0)}else{Y=c[F>>2]|0;do{if((Y|0)==0){Y=-1}else{Y=c[Y+4>>2]|0;if((c[Y+16>>2]|0)!=8){Y=-1;break}Y=c[Y+24>>2]|0;Y=jd[c[(c[Y>>2]|0)+48>>2]&511](Y)|0}}while(0);Qe(Y,161248,z)}ba=c[e>>2]|0;hd[c[(c[ba>>2]|0)+296>>2]&127](ba,c[j>>2]|0);if(X){Y=c[B>>2]|0;X=c[Y+112>>2]|0;if((Y|0)!=0){nx(Y);HW(Y)}c[B>>2]=X}Of(A)}ba=c[G>>2]|0;do{if((c[E>>2]|0)>(c[ba+(((c[D>>2]|0)-ba>>2)+ -1<<2)>>2]|0)){X=c[j>>2]|0;if((c[X+656>>2]|0)==0){f=26;break}ba=YB(X)|0;c[j>>2]=ba;Y=c[e>>2]|0;hd[c[(c[Y>>2]|0)+84>>2]&127](Y,ba);c[E>>2]=(c[E>>2]|0)+ -1}else{f=26}}while(0);if((f|0)==26){f=0;Qe(-1,162208,x);a[C]=1}Q=Q+W;R=R+V;Y=c[j>>2]|0;ba=c[Y+588>>2]|0;h[Y+592>>3]=Q;h[Y+600>>3]=R;uB(ba,Q,R);ba=c[j>>2]|0;h[ba+608>>3]=N;h[ba+616>>3]=O;U=U-T|0;if((U|0)>0){S=S+T|0}else{break}}}c[F>>2]=P}else{f=30}}while(0);do{if((f|0)==30){ba=c[e>>2]|0;if(!(jd[c[(c[ba>>2]|0)+12>>2]&511](ba)|0)){h[k>>3]=0.0;h[l>>3]=0.0;w=c[d+24>>2]|0;if((w|0)>0){v=0;s=0;t=c[d+28>>2]|0;while(1){u=xd[c[(c[m>>2]|0)+12>>2]&3](m,t,w,o,p,q,G,F,r,n)|0;H=+h[P>>3]+ +h[l>>3];h[l>>3]=H;I=+h[E>>3]+ +h[k>>3];h[k>>3]=I;if((u|0)==1){s=((a[t]|0)==32)+s|0}v=v+1|0;w=w-u|0;if((w|0)>0){t=t+u|0}else{break}}J=+(v|0)}else{I=0.0;H=0.0;J=0.0;s=0}m=c[j>>2]|0;n=m+488|0;K=+h[n>>3];if((D|0)==0){H=H*K+J*+h[m+544>>3]+ +(s|0)*+h[m+552>>3];h[l>>3]=H;H=H*+h[m+560>>3];h[l>>3]=H;J=+h[n>>3]*I}else{H=K*H;h[l>>3]=H;J=I*+h[n>>3]+J*+h[m+544>>3]+ +(s|0)*+h[m+552>>3]}h[k>>3]=J;I=H*+h[m+496>>3]+J*+h[m+512>>3];H=H*+h[m+504>>3]+J*+h[m+520>>3];k=c[b+116>>2]|0;a:do{if((k|0)==0){f=64}else{if((a[k]&1)!=0){break}while(1){k=c[k+4>>2]|0;if((k|0)==0){f=64;break a}if((a[k]&1)==0){}else{break}}}}while(0);if((f|0)==64){ba=c[e>>2]|0;Gd[c[(c[ba>>2]|0)+288>>2]&255](ba,m,d);m=c[j>>2]|0}WB(m,I,H);break}z=c[j>>2]|0;I=+h[z+576>>3];H=+h[z+496>>3]*0.0+I*+h[z+512>>3];I=+h[z+504>>3]*0.0+I*+h[z+520>>3];z=c[d+28>>2]|0;y=c[d+24>>2]|0;if((y|0)<=0){break}x=b+116|0;if((D|0)==0){while(1){A=xd[c[(c[m>>2]|0)+12>>2]&3](m,z,y,o,p,q,s,w,r,n)|0;D=c[j>>2]|0;E=D+488|0;J=+h[l>>3]*+h[E>>3]+ +h[D+544>>3];h[l>>3]=J;do{if((A|0)==1){if((a[z]|0)!=32){break}J=J+ +h[D+552>>3];h[l>>3]=J}}while(0);aa=+h[D+560>>3]*J;h[l>>3]=aa;J=+h[E>>3]*+h[k>>3];h[k>>3]=J;D=c[j>>2]|0;X=D+496|0;Y=D+512|0;K=aa*+h[X>>3]+J*+h[Y>>3];ba=D+504|0;E=D+520|0;J=aa*+h[ba>>3]+J*+h[E>>3];U=D+488|0;aa=+h[U>>3]*+h[B>>3];h[B>>3]=aa;M=+h[U>>3]*+h[C>>3];h[C>>3]=M;L=aa*+h[X>>3]+M*+h[Y>>3];M=aa*+h[ba>>3]+M*+h[E>>3];E=c[x>>2]|0;b:do{if((E|0)==0){f=40}else{if((a[E]&1)!=0){break}while(1){E=c[E+4>>2]|0;if((E|0)==0){f=40;break b}if((a[E]&1)==0){}else{break}}}}while(0);if((f|0)==40){f=0;ba=c[e>>2]|0;md[c[(c[ba>>2]|0)+284>>2]&1](ba,D,H+ +h[D+592>>3],I+ +h[D+600>>3],K,J,L,M,c[t>>2]|0,A,c[v>>2]|0,c[u>>2]|0);D=c[j>>2]|0}WB(D,K,J);y=y-A|0;if((y|0)>0){z=z+A|0}else{break}}}else{while(1){A=xd[c[(c[m>>2]|0)+12>>2]&3](m,z,y,o,p,q,s,w,r,n)|0;D=c[j>>2]|0;ba=D+488|0;K=+h[ba>>3]*+h[l>>3];h[l>>3]=K;L=+h[k>>3]*+h[ba>>3]+ +h[D+544>>3];h[k>>3]=L;do{if((A|0)==1){if((a[z]|0)!=32){break}L=L+ +h[D+552>>3];h[k>>3]=L}}while(0);X=D+496|0;Y=D+512|0;J=K*+h[X>>3]+L*+h[Y>>3];ba=D+504|0;E=D+520|0;K=K*+h[ba>>3]+L*+h[E>>3];U=D+488|0;aa=+h[U>>3]*+h[B>>3];h[B>>3]=aa;L=+h[U>>3]*+h[C>>3];h[C>>3]=L;M=aa*+h[X>>3]+L*+h[Y>>3];L=aa*+h[ba>>3]+L*+h[E>>3];E=c[x>>2]|0;c:do{if((E|0)==0){f=49}else{if((a[E]&1)!=0){break}while(1){E=c[E+4>>2]|0;if((E|0)==0){f=49;break c}if((a[E]&1)==0){}else{break}}}}while(0);if((f|0)==49){f=0;ba=c[e>>2]|0;md[c[(c[ba>>2]|0)+284>>2]&1](ba,D,H+ +h[D+592>>3],I+ +h[D+600>>3],J,K,M,L,c[t>>2]|0,A,c[v>>2]|0,c[u>>2]|0);D=c[j>>2]|0}WB(D,J,K);y=y-A|0;if((y|0)>0){z=z+A|0}else{break}}}}}while(0);ba=c[e>>2]|0;if(!(jd[c[(c[ba>>2]|0)+12>>2]&511](ba)|0)){Y=d+24|0;Y=c[Y>>2]|0;Y=Y*10|0;ba=b+24|0;X=ba;X=c[X>>2]|0;Y=X+Y|0;c[ba>>2]=Y;i=g;return}Y=c[e>>2]|0;hd[c[(c[Y>>2]|0)+280>>2]&127](Y,c[j>>2]|0);Y=d+24|0;Y=c[Y>>2]|0;Y=Y*10|0;ba=b+24|0;X=ba;X=c[X>>2]|0;Y=X+Y|0;c[ba>>2]=Y;i=g;return}function Px(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;f=FW(120)|0;e=a+20|0;mx(f,c[a>>2]|0,b,c[e>>2]|0);c[e>>2]=f;i=d;return}function Qx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0;g=i;p=i;i=i+8|0;C=i;i=i+8|0;D=C;F=i;i=i+8|0;B=F;A=i;i=i+8|0;H=i;i=i+8|0;I=H;M=i;i=i+8|0;v=i;i=i+8|0;G=i;i=i+16|0;n=G;L=i;i=i+16|0;m=L;w=i;i=i+256|0;r=i;i=i+16|0;o=r;u=i;i=i+16|0;q=u;c[G>>2]=13;E=n+8|0;c[E>>2]=0;c[E+4>>2]=0;c[L>>2]=13;K=m+8|0;c[K>>2]=0;c[K+4>>2]=0;c[r>>2]=13;s=o+8|0;c[s>>2]=0;c[s+4>>2]=0;c[u>>2]=13;t=q+8|0;c[t>>2]=0;y=t+4|0;c[y>>2]=0;c[M>>2]=0;c[v>>2]=0;Gd[c[(c[e>>2]|0)+80>>2]&255](e,M,v);J=jd[c[(c[e>>2]|0)+72>>2]&511](e)|0;Yu(J,161496,o,0)|0;j=c[r>>2]|0;if((j|0)==5){Of(o);Yu(J,161504,o,0)|0;j=c[r>>2]|0}if((j|0)==1){j=c[s>>2]|0;x=6}else if((j|0)==2){j=~~+h[o+8>>3];x=6}else{x=161}a:do{if((x|0)==6){Of(o);Yu(J,161512,o,0)|0;k=c[r>>2]|0;if((k|0)==5){Of(o);Yu(J,161520,o,0)|0;k=c[r>>2]|0}if((k|0)==1){k=c[s>>2]|0}else if((k|0)==2){k=~~+h[o+8>>3]}else{x=161;break}Of(o);if((j|0)<1|(k|0)<1){break}Yu(J,161528,o,0)|0;l=c[r>>2]|0;if((l|0)==5){Of(o);Yu(J,160112,o,0)|0;l=c[r>>2]|0}if((l|0)==0){l=(a[s]&1)!=0}else{l=0}Of(o);Yu(J,161544,o,0)|0;N=c[r>>2]|0;if((N|0)==5){Of(o);Yu(J,161560,o,0)|0;N=c[r>>2]|0}if((N|0)==0){N=(a[s]&1)!=0}else if((N|0)==5){N=0}else{x=161;break}Of(o);if((c[M>>2]|0)==0){Yu(J,161568,o,0)|0;O=c[r>>2]|0;if((O|0)==5){Of(o);Yu(J,161592,o,0)|0;O=c[r>>2]|0}if((O|0)==1){O=c[s>>2]|0}else{if(N){O=1}else{x=161;break}}c[M>>2]=O;Of(o)}b:do{if(N){if((c[M>>2]|0)!=1){break a}Yu(J,161600,o,0)|0;m=c[r>>2]|0;if((m|0)==5){Of(o);Yu(J,160288,o,0)|0;m=c[r>>2]|0}if((m|0)==5){m=0}else if((m|0)==6){ut(c[s>>2]|0,0,q)|0;m=c[u>>2]|0;do{if((m+ -1|0)>>>0<2){if((m|0)==1){P=+(c[t>>2]|0)}else{P=+h[t>>3]}if(P<.9){m=0;break}m=1}else{m=0}}while(0);Of(q)}else{x=161;break a}Of(o);n=c[b+116>>2]|0;c:do{if((n|0)!=0){if((a[n]&1)!=0){break b}while(1){n=c[n+4>>2]|0;if((n|0)==0){break c}if((a[n]&1)!=0){break b}}}}while(0);o=b+8|0;O=c[o>>2]|0;n=b+28|0;zd[c[(c[O>>2]|0)+312>>2]&1](O,c[n>>2]|0,d,e,j,k,m,l,f);O=c[o>>2]|0;if(!(Bd[c[(c[O>>2]|0)+44>>2]&255](O,c[n>>2]|0)|0)){break}O=b+17|0;a[O]=1;Bx(b,1);N=c[o>>2]|0;hd[c[(c[N>>2]|0)+48>>2]&127](N,c[n>>2]|0);a[O]=0}else{Yu(J,159208,o,0)|0;N=c[r>>2]|0;if((N|0)==5){Of(o);Yu(J,160104,o,0)|0;N=c[r>>2]|0}d:do{if((N|0)==4&f){O=c[b+20>>2]|0;N=c[s>>2]|0;e:do{if((O|0)==0){x=53}else{while(1){if((c[O+24>>2]|0)==7){if((c[(Yu(c[O+32>>2]|0,N,q,0)|0)>>2]|0)!=5){break}Of(q)}O=c[O+112>>2]|0;if((O|0)==0){x=53;break e}}if((c[u>>2]|0)==5){break}Of(o);$W(r|0,u|0,16)|0;break d}}while(0);if((x|0)==53){c[t>>2]=0;c[y>>2]=0;c[u>>2]=5}Of(q)}}while(0);do{if((c[r>>2]|0)==5){v=c[v>>2]|0;if((v|0)==3){N=FW(4)|0;vz(N);break}else if((v|0)==2){N=FW(4)|0;gz(N);break}else if((v|0)==1){N=FW(4)|0;Ty(N);break}else{Of(o);break a}}else{N=Jy(o,b)|0}}while(0);Of(o);if((N|0)==0){break a}Yu(J,161600,o,0)|0;if((c[r>>2]|0)==5){Of(o);Yu(J,160288,o,0)|0}v=FW(672)|0;mB(v,c[M>>2]|0,o,N);Of(o);if((a[v+664|0]&1)==0){if((v|0)==0){break a}nB(v);HW(v);break a}Yu(J,161608,n,0)|0;Yu(J,159992,m,0)|0;f:do{if((c[L>>2]|0)==8){if(f){break a}f=c[K>>2]|0;z=jd[c[(c[f>>2]|0)+72>>2]&511](f)|0;Yu(z,161496,o,0)|0;w=c[r>>2]|0;if((w|0)==5){Of(o);Yu(z,161504,o,0)|0;w=c[r>>2]|0}if((w|0)!=1){x=161;break a}w=c[s>>2]|0;Of(o);Yu(z,161512,o,0)|0;A=c[r>>2]|0;if((A|0)==5){Of(o);Yu(z,161520,o,0)|0;A=c[r>>2]|0}if((A|0)!=1){x=161;break a}A=c[s>>2]|0;Of(o);Yu(z,161528,o,0)|0;B=c[r>>2]|0;if((B|0)==5){Of(o);Yu(z,160112,o,0)|0;B=c[r>>2]|0}if((B|0)==0){B=(a[s]&1)!=0}else{B=0}Of(o);Yu(z,161568,o,0)|0;C=c[r>>2]|0;if((C|0)==5){Of(o);Yu(z,161592,o,0)|0;C=c[r>>2]|0}if((C|0)!=1){x=161;break a}C=c[s>>2]|0;Of(o);Yu(z,159208,o,0)|0;D=c[r>>2]|0;if((D|0)==5){Of(o);Yu(z,160104,o,0)|0;D=c[r>>2]|0}g:do{if((D|0)==4){D=c[b+20>>2]|0;s=c[s>>2]|0;h:do{if((D|0)==0){x=93}else{while(1){if((c[D+24>>2]|0)==7){if((c[(Yu(c[D+32>>2]|0,s,q,0)|0)>>2]|0)!=5){break}Of(q)}D=c[D+112>>2]|0;if((D|0)==0){x=93;break h}}if((c[u>>2]|0)==5){break}Of(o);$W(r|0,u|0,16)|0;break g}}while(0);if((x|0)==93){c[t>>2]=0;c[y>>2]=0;c[u>>2]=5}Of(q)}}while(0);s=Jy(o,b)|0;Of(o);if((s|0)==0){break a}if((jd[c[(c[s>>2]|0)+12>>2]&511](s)|0)!=0){break a}Yu(z,161600,o,0)|0;if((c[r>>2]|0)==5){Of(o);Yu(z,160288,o,0)|0}q=FW(672)|0;mB(q,C,o,s);Of(o);if((a[q+664|0]&1)==0){if((q|0)==0){break a}nB(q);HW(q);break a}o=c[b+116>>2]|0;i:do{if((o|0)==0){x=144}else{if((a[o]&1)!=0){break}do{o=c[o+4>>2]|0;if((o|0)==0){x=144;break i}}while((a[o]&1)==0)}}while(0);if((x|0)==144){O=c[b+8>>2]|0;vd[c[(c[O>>2]|0)+324>>2]&3](O,c[b+28>>2]|0,d,e,j,k,v,l,f,w,A,q,B)}if((q|0)==0){break}nB(q);HW(q)}else{y=c[G>>2]|0;j:do{if((y|0)==6){t=o+8|0;q=0;while(1){u=c[E>>2]|0;if(!((q|0)<(c[u+12>>2]|0)&(q|0)<64)){z=1;break j}ut(u,q,o)|0;u=c[r>>2]|0;if((u|0)==2){Qe(-1,161616,A);u=c[r>>2]|0;if((u|0)!=2){x=111;break}c[w+(q<<2)>>2]=~~+h[t>>3]}else if((u|0)==1){c[w+(q<<2)>>2]=c[s>>2]}else{x=113;break}Of(o);u=c[G>>2]|0;if((u|0)==6){q=q+1|0}else{x=106;break}}if((x|0)==106){c[H>>2]=u;c[I+4>>2]=6;Qe(0,162256,I);tc()}else if((x|0)==111){c[F>>2]=u;c[B+4>>2]=2;Qe(0,162256,B);tc()}else if((x|0)==113){c[C>>2]=u;Qe(-1,161688,D);Of(o);break a}}else if((y|0)==8){if(f){break a}x=c[E>>2]|0;B=jd[c[(c[x>>2]|0)+72>>2]&511](x)|0;Yu(B,161496,o,0)|0;y=c[r>>2]|0;if((y|0)==5){Of(o);Yu(B,161504,o,0)|0;y=c[r>>2]|0}if((y|0)!=1){x=161;break a}y=c[s>>2]|0;Of(o);Yu(B,161512,o,0)|0;z=c[r>>2]|0;if((z|0)==5){Of(o);Yu(B,161520,o,0)|0;z=c[r>>2]|0}if((z|0)!=1){x=161;break a}z=c[s>>2]|0;Of(o);Yu(B,161528,o,0)|0;A=c[r>>2]|0;if((A|0)==5){Of(o);Yu(B,160112,o,0)|0;A=c[r>>2]|0}if((A|0)==0){A=(a[s]&1)!=0}else{A=0}Of(o);Yu(B,161544,o,0)|0;C=c[r>>2]|0;if((C|0)==5){Of(o);Yu(B,161560,o,0)|0;C=c[r>>2]|0}if((C|0)!=0){x=161;break a}if((a[s]&1)==0){x=161;break a}Of(o);Yu(B,161600,o,0)|0;C=c[r>>2]|0;if((C|0)==5){Of(o);Yu(B,160288,o,0)|0;C=c[r>>2]|0}if((C|0)==6){ut(c[s>>2]|0,0,q)|0;p=c[u>>2]|0;do{if((p+ -1|0)>>>0<2){if((p|0)==1){P=+(c[t>>2]|0)}else{P=+h[t>>3]}if(P<.9){p=0;break}p=1}else{p=0}}while(0);Of(q)}else if((C|0)==5){p=0}else{x=161;break a}Of(o);o=c[b+116>>2]|0;k:do{if((o|0)!=0){if((a[o]&1)!=0){z=0;break j}while(1){o=c[o+4>>2]|0;if((o|0)==0){break k}if((a[o]&1)==0){}else{z=0;break j}}}}while(0);O=c[b+8>>2]|0;vd[c[(c[O>>2]|0)+320>>2]&3](O,c[b+28>>2]|0,d,e,j,k,v,l,x,y,z,p,A);break f}else{z=0}}while(0);o=c[b+116>>2]|0;l:do{if((o|0)!=0){if((a[o]&1)!=0){break f}while(1){o=c[o+4>>2]|0;if((o|0)==0){break l}if((a[o]&1)!=0){break f}}}}while(0);O=c[b+8>>2]|0;Ad[c[(c[O>>2]|0)+316>>2]&1](O,c[b+28>>2]|0,d,e,j,k,v,l,z?w:0,f)}}while(0);if((v|0)!=0){nB(v);HW(v)}Of(n);Of(m)}}while(0);e=da(k,j)|0;b=b+24|0;c[b>>2]=(c[b>>2]|0)+((e|0)>1e3?1e3:e);i=g;return}}while(0);if((x|0)==161){Of(o)}b=c[b+120>>2]|0;do{if((b|0)==0){b=-1}else{b=c[b+4>>2]|0;if((c[b+16>>2]|0)!=8){b=-1;break}b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}}while(0);Qe(b,161744,p);i=g;return}function Rx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0.0;e=i;r=i;i=i+8|0;s=r;v=i;i=i+8|0;w=v;z=i;i=i+8|0;y=z;B=i;i=i+8|0;A=B;C=i;i=i+8|0;D=C;E=i;i=i+8|0;F=E;K=i;i=i+8|0;L=K;N=i;i=i+8|0;U=i;i=i+8|0;T=U;V=i;i=i+8|0;W=i;i=i+8|0;Z=i;i=i+8|0;O=Z;I=i;i=i+16|0;H=I;Q=i;i=i+16|0;P=Q;R=i;i=i+48|0;k=R;j=i;i=i+32|0;J=i;i=i+16|0;f=J;x=i;i=i+16|0;g=x;q=i;i=i+16|0;m=q;u=i;i=i+16|0;p=u;c[I>>2]=13;M=H+8|0;c[M>>2]=0;c[M+4>>2]=0;c[Q>>2]=13;S=P+8|0;c[S>>2]=0;c[S+4>>2]=0;c[J>>2]=13;G=f+8|0;c[G>>2]=0;c[G+4>>2]=0;c[x>>2]=13;t=g+8|0;c[t>>2]=0;c[t+4>>2]=0;c[q>>2]=13;q=m+8|0;c[q>>2]=0;c[q+4>>2]=0;c[u>>2]=13;q=p+8|0;c[q>>2]=0;c[q+4>>2]=0;l=b+112|0;if((c[l>>2]|0)>20){i=e;return}Y=c[d>>2]|0;if((Y|0)!=8){c[Z>>2]=Y;c[O+4>>2]=8;Qe(0,162256,O);tc()}O=c[d+8>>2]|0;O=jd[c[(c[O>>2]|0)+72>>2]&511](O)|0;Yu(O,160360,g,0)|0;Y=c[x>>2]|0;if((Y|0)==1){if((c[t>>2]|0)!=1){X=6}}else if((Y|0)!=5){X=6}if((X|0)==6){X=c[b+120>>2]|0;do{if((X|0)==0){X=-1}else{X=c[X+4>>2]|0;if((c[X+16>>2]|0)!=8){X=-1;break}X=c[X+24>>2]|0;X=jd[c[(c[X>>2]|0)+48>>2]&511](X)|0}}while(0);Qe(X,160376,W)}Of(g);Yu(O,160400,P,0)|0;if((c[Q>>2]|0)!=6){Of(P);b=c[b+120>>2]|0;do{if((b|0)==0){b=-1}else{b=c[b+4>>2]|0;if((c[b+16>>2]|0)!=8){b=-1;break}b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}}while(0);Qe(b,160408,V);i=e;return}V=6;W=0;while(1){if((V|0)!=6){X=17;break}ut(c[S>>2]|0,W,g)|0;V=c[x>>2]|0;if((V+ -1|0)>>>0>=2){X=24;break}if((V|0)==1){_=+(c[t>>2]|0)}else{_=+h[t>>3]}h[j+(W<<3)>>3]=_;Of(g);W=W+1|0;if((W|0)>=4){X=28;break}V=c[Q>>2]|0}if((X|0)==17){c[U>>2]=V;c[T+4>>2]=6;Qe(0,162256,T);tc()}else if((X|0)==24){Of(g);b=c[b+120>>2]|0;do{if((b|0)==0){b=-1}else{b=c[b+4>>2]|0;if((c[b+16>>2]|0)!=8){b=-1;break}b=c[b+24>>2]|0;b=jd[c[(c[b>>2]|0)+48>>2]&511](b)|0}}while(0);Qe(b,161768,N);i=e;return}else if((X|0)==28){Of(P);Yu(O,160472,H,0)|0;a:do{if((c[I>>2]|0)==6){P=6;N=0;while(1){if((P|0)!=6){break}ut(c[M>>2]|0,N,g)|0;P=c[x>>2]|0;if((P+ -1|0)>>>0<2){if((P|0)==1){_=+(c[t>>2]|0)}else{_=+h[t>>3]}h[k+(N<<3)>>3]=_}else{h[k+(N<<3)>>3]=0.0}Of(g);N=N+1|0;if((N|0)>=6){break a}P=c[I>>2]|0}c[K>>2]=P;c[L+4>>2]=6;Qe(0,162256,L);tc()}else{h[R>>3]=1.0;bX(k+8|0,0,16)|0;h[k+24>>3]=1.0;bX(k+32|0,0,16)|0}}while(0);Of(H);Yu(O,160480,f,0)|0;if((c[J>>2]|0)==7){G=c[G>>2]|0}else{G=0}if((c[(Yu(O,160096,g,0)|0)>>2]|0)==7){H=c[x>>2]|0;if((H|0)!=7){c[E>>2]=H;c[F+4>>2]=7;Qe(0,162256,F);tc()}E=Yu(c[t>>2]|0,160008,m,0)|0;do{if((c[E>>2]|0)==4){if((Qc(c[E+8>>2]|0,161800)|0)!=0){C=0;o=0;n=0;p=0;break}E=c[x>>2]|0;if((E|0)!=7){c[C>>2]=E;c[D+4>>2]=7;Qe(0,162256,D);tc()}if((c[(Yu(c[t>>2]|0,160104,p,0)|0)>>2]|0)==5){C=0}else{C=Jy(p,b)|0}Of(p);D=c[x>>2]|0;if((D|0)!=7){c[B>>2]=D;c[A+4>>2]=7;Qe(0,162256,A);tc()}do{if((c[(Yu(c[t>>2]|0,160112,p,0)|0)>>2]|0)==0){A=c[u>>2]|0;if((A|0)==0){o=(a[q]&1)!=0;break}else{c[z>>2]=A;c[y+4>>2]=0;Qe(0,162256,y);tc()}}else{o=0}}while(0);Of(p);x=c[x>>2]|0;if((x|0)!=7){c[v>>2]=x;c[w+4>>2]=7;Qe(0,162256,w);tc()}do{if((c[(Yu(c[t>>2]|0,160120,p,0)|0)>>2]|0)==0){t=c[u>>2]|0;if((t|0)==0){n=(a[q]&1)!=0;break}else{c[r>>2]=t;c[s+4>>2]=0;Qe(0,162256,s);tc()}}else{n=0}}while(0);Of(p);p=1}else{C=0;o=0;n=0;p=0}}while(0);Of(m)}else{C=0;o=0;n=0;p=0}Of(g);c[l>>2]=(c[l>>2]|0)+1;Ax(b,d,G,k,j,p,0,C,o,n,0,0,0);c[l>>2]=(c[l>>2]|0)+ -1;if((C|0)!=0){fd[c[(c[C>>2]|0)+4>>2]&511](C)}Of(f);i=e;return}}function Sx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;e=i;i=i+8|0;j=i;i=i+8|0;g=j;o=i;i=i+8|0;m=i;i=i+16|0;b=m;h=i;i=i+16|0;f=h;c[m>>2]=13;l=b+8|0;c[l>>2]=0;c[l+4>>2]=0;c[h>>2]=13;n=f+8|0;c[n>>2]=0;c[n+4>>2]=0;Jf(b,c[a>>2]|0)|0;a=a+120|0;cG(c[a>>2]|0,f,0,0,0,0,0)|0;while(1){p=c[h>>2]|0;if((p|0)==4){p=Ge(c[n>>2]|0)|0;Of(f);cG(c[a>>2]|0,f,0,0,0,0,0)|0;if(((c[h>>2]|0)+ -11|0)>>>0<2){k=13;break}q=c[m>>2]|0;if((q|0)!=7){k=10;break}Tu(c[l>>2]|0,p,f)}else if((p|0)==10){if((Qc(c[n>>2]|0,161912)|0)==0){break}else{k=4}}else if((p|0)==12){k=14;break}else{k=4}if((k|0)==4){k=0;p=c[a>>2]|0;do{if((p|0)==0){p=-1}else{p=c[p+4>>2]|0;if((c[p+16>>2]|0)!=8){p=-1;break}p=c[p+24>>2]|0;p=jd[c[(c[p>>2]|0)+48>>2]&511](p)|0}}while(0);Qe(p,161920,o);Of(f)}cG(c[a>>2]|0,f,0,0,0,0,0)|0}if((k|0)==10){c[j>>2]=q;c[g+4>>2]=7;Qe(0,162256,g);tc()}else if((k|0)==13){Fe(p);if((c[h>>2]|0)==12){k=14}}if((k|0)==14){g=c[a>>2]|0;do{if((g|0)==0){g=-1}else{g=c[g+4>>2]|0;if((c[g+16>>2]|0)!=8){g=-1;break}g=c[g+24>>2]|0;g=jd[c[(c[g>>2]|0)+48>>2]&511](g)|0}}while(0);Qe(g,161976,e);Of(f);Of(b);q=0;i=d;return q|0}Of(f);f=(c[a>>2]|0)+4|0;e=c[f>>2]|0;do{if((c[e+16>>2]|0)==8){if((c[e+24>>2]|0)==0){break}e=FW(40)|0;f=c[f>>2]|0;if((c[f+16>>2]|0)==8){f=c[f+24>>2]|0}else{f=0}$j(e,f,b,0,0);q=qj(e,b)|0;i=d;return q|0}}while(0);Of(b);q=0;i=d;return q|0}function Tx(a,b,d,e,f,g,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;j=+j;k=+k;var l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0.0,D=0.0,E=0.0,F=0,G=0.0,H=0.0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0.0,ba=0,ca=0.0,da=0.0,ea=0.0,fa=0.0,ga=0.0,ha=0.0,ia=0.0,ja=0.0;l=i;L=i;i=i+16|0;K=L;N=i;i=i+8|0;J=N;V=i;i=i+8|0;Y=i;i=i+8|0;X=Y;$=i;i=i+8|0;M=i;i=i+16|0;S=M;Z=i;i=i+16|0;W=Z;z=i;i=i+16|0;x=z;R=i;i=i+16|0;U=R;B=i;i=i+48|0;w=B;O=i;i=i+32|0;y=O;v=i;i=i+120|0;c[M>>2]=13;P=S+8|0;c[P>>2]=0;c[P+4>>2]=0;c[Z>>2]=13;_=W+8|0;c[_>>2]=0;c[_+4>>2]=0;c[z>>2]=13;A=x+8|0;c[A>>2]=0;c[A+4>>2]=0;c[R>>2]=13;Q=U+8|0;c[Q>>2]=0;c[Q+4>>2]=0;m=a+28|0;q=c[m>>2]|0;ha=+h[q+16>>3];ea=+h[q+40>>3];ia=+h[q+24>>3];fa=+h[q+32>>3];ja=1.0/(ha*ea-ia*fa);u=ea*ja;s=-0.0-ia*ja;r=-0.0-fa*ja;t=ha*ja;da=+h[q+56>>3];ca=+h[q+48>>3];ea=ja*(fa*da-ea*ca);da=ja*(ia*ca-ha*da);q=a+64|0;ha=+h[q>>3];n=a+80|0;ca=+h[n>>3];ia=+h[a+96>>3];ja=ia+(ha*f+ca*g);o=a+72|0;fa=+h[o>>3];p=a+88|0;aa=+h[p>>3];ga=+h[a+104>>3];g=ga+(fa*f+aa*g);f=ea+(u*ja+g*r);g=da+(ja*s+t*g);ca=ia+(ha*j+ca*k);aa=ga+(fa*j+aa*k);j=ea+(u*ca+aa*r);aa=da+(ca*s+t*aa);F=f>j;k=F?f:j;j=F?j:f;F=g>aa;f=F?aa:g;g=F?g:aa;do{if((c[b>>2]|0)==8){F=c[b+8>>2]|0;F=jd[c[(c[F>>2]|0)+72>>2]&511](F)|0;Yu(F,160400,W,0)|0;if((c[Z>>2]|0)!=6){Of(W);m=c[a+120>>2]|0;do{if((m|0)==0){m=-1}else{m=c[m+4>>2]|0;if((c[m+16>>2]|0)!=8){m=-1;break}m=c[m+24>>2]|0;m=jd[c[(c[m>>2]|0)+48>>2]&511](m)|0}}while(0);Qe(m,160408,$);i=l;return}$=6;ba=0;while(1){if(($|0)!=6){Z=9;break}ut(c[_>>2]|0,ba,U)|0;$=c[R>>2]|0;if(($+ -1|0)>>>0>=2){Z=16;break}if(($|0)==1){aa=+(c[Q>>2]|0)}else{aa=+h[Q>>3]}h[y+(ba<<3)>>3]=aa;Of(U);ba=ba+1|0;if((ba|0)>=4){Z=20;break}$=c[Z>>2]|0}if((Z|0)==9){c[Y>>2]=$;c[X+4>>2]=6;Qe(0,162256,X);tc()}else if((Z|0)==16){Of(U);m=c[a+120>>2]|0;do{if((m|0)==0){m=-1}else{m=c[m+4>>2]|0;if((c[m+16>>2]|0)!=8){m=-1;break}m=c[m+24>>2]|0;m=jd[c[(c[m>>2]|0)+48>>2]&511](m)|0}}while(0);Qe(m,161768,V);i=l;return}else if((Z|0)==20){Of(W);Yu(F,160472,S,0)|0;do{if((c[M>>2]|0)==6){if((c[(c[P>>2]|0)+12>>2]|0)>5){W=6;V=0}else{Z=31;break}while(1){if((W|0)!=6){Z=23;break}ut(c[P>>2]|0,V,U)|0;W=c[R>>2]|0;if((W+ -1|0)>>>0>=2){Z=25;break}if((W|0)==1){aa=+(c[Q>>2]|0)}else{aa=+h[Q>>3]}h[w+(V<<3)>>3]=aa;Of(U);V=V+1|0;if((V|0)>=6){Z=32;break}W=c[M>>2]|0}if((Z|0)==23){c[N>>2]=W;c[J+4>>2]=6;Qe(0,162256,J);tc()}else if((Z|0)==25){c[L>>2]=W;c[K+4>>2]=1;c[K+8>>2]=2;Qe(0,162328,K);tc()}else if((Z|0)==32){C=+h[w+40>>3];E=+h[w+24>>3];D=+h[w+8>>3];G=+h[w+32>>3];I=+h[w+16>>3];H=+h[B>>3];break}}else{Z=31}}while(0);if((Z|0)==31){h[B>>3]=1.0;bX(w+8|0,0,16)|0;h[w+24>>3]=1.0;bX(w+32|0,0,16)|0;C=0.0;E=1.0;D=0.0;G=0.0;I=0.0;H=1.0}Of(S);ia=+h[O>>3];aa=+h[y+8>>3];N=w+16|0;J=w+32|0;ca=G+(ia*H+aa*I);M=w+8|0;K=w+24|0;L=w+40|0;aa=C+(ia*D+aa*E);ia=+h[y+16>>3];ja=+h[y+24>>3];G=G+(H*ia+I*ja);D=C+(D*ia+E*ja);O=ca>G;C=O?ca:G;E=O?G:ca;O=aa>D;G=O?aa:D;D=O?D:aa;if(C==E){C=1.0}else{C=(k-j)/(C-E)}if(G==D){G=1.0}else{G=(g-f)/(G-D)}h[B>>3]=C*+h[B>>3];h[N>>3]=C*+h[N>>3];h[J>>3]=j+C*(+h[J>>3]-E);h[M>>3]=G*+h[M>>3];h[K>>3]=G*+h[K>>3];h[L>>3]=f+G*(+h[L>>3]-D);Yu(F,160480,x,0)|0;if((c[z>>2]|0)==7){z=c[A>>2]|0}else{z=0}Ax(a,b,z,w,y,0,0,0,0,0,0,0,0);Of(x);break}}}while(0);if((d|0)==0){i=l;return}if(+wd[c[(c[d>>2]|0)+12>>2]&1](d)<=0.0){i=l;return}ba=c[(c[m>>2]|0)+120>>2]|0;if((jd[c[(c[ba>>2]|0)+12>>2]&511](ba)|0)!=2){OB(c[m>>2]|0,0);$=c[m>>2]|0;ba=FW(4)|0;gz(ba);MB($,ba);ba=c[a+8>>2]|0;hd[c[(c[ba>>2]|0)+136>>2]&127](ba,c[m>>2]|0)}do{if((e|0)==0){w=0;b=0;e=0}else{if((c[e+32>>2]|0)!=3){w=0;b=0;e=0;break}w=~~(+h[e+16>>3]*65536.0);b=~~(+h[e+8>>3]*65536.0);e=~~(+h[e>>3]*65536.0)}}while(0);ba=c[m>>2]|0;c[ba+252>>2]=e;c[ba+256>>2]=b;c[ba+260>>2]=w;$W(ba+264|0,v|0,116)|0;v=a+8|0;ba=c[v>>2]|0;hd[c[(c[ba>>2]|0)+144>>2]&127](ba,c[m>>2]|0);ha=+h[q>>3]+ +h[n>>3];ia=+h[o>>3]+ +h[p>>3];ja=u*ha+ia*r;r=ha*s+t*ia;r=+T(+((ja*ja+r*r)*.5));p=c[m>>2]|0;h[p+432>>3]=r*+wd[c[(c[d>>2]|0)+12>>2]&1](d);p=c[v>>2]|0;hd[c[(c[p>>2]|0)+116>>2]&127](p,c[m>>2]|0);p=jd[c[(c[d>>2]|0)+16>>2]&511](d)|0;q=jd[c[(c[d>>2]|0)+20>>2]&511](d)|0;if((jd[c[(c[d>>2]|0)+24>>2]&511](d)|0)==1&(p|0)>0){n=ye(p,8)|0;o=0;do{h[n+(o<<3)>>3]=r*+h[q+(o<<3)>>3];o=o+1|0;}while((o|0)<(p|0));RB(c[m>>2]|0,n,p,0.0);ba=c[v>>2]|0;hd[c[(c[ba>>2]|0)+96>>2]&127](ba,c[m>>2]|0)}SB(c[m>>2]|0);n=c[m>>2]|0;ba=c[v>>2]|0;ba=jd[c[(c[ba>>2]|0)+8>>2]&511](ba)|0;ja=ba?f:g;ba=c[n+588>>2]|0;h[n+592>>3]=j;h[n+600>>3]=ja;uB(ba,j,ja);n=c[m>>2]|0;ba=c[v>>2]|0;ba=jd[c[(c[ba>>2]|0)+8>>2]&511](ba)|0;ja=ba?f:g;ba=c[n+588>>2]|0;h[n+592>>3]=k;h[n+600>>3]=ja;vB(ba,k,ja);if((jd[c[(c[d>>2]|0)+24>>2]&511](d)|0)!=4){d=c[m>>2]|0;ba=c[v>>2]|0;ba=jd[c[(c[ba>>2]|0)+8>>2]&511](ba)|0;ja=ba?g:f;ba=c[d+588>>2]|0;h[d+592>>3]=k;h[d+600>>3]=ja;vB(ba,k,ja);d=c[m>>2]|0;ba=c[v>>2]|0;ba=jd[c[(c[ba>>2]|0)+8>>2]&511](ba)|0;ja=ba?g:f;ba=c[d+588>>2]|0;h[d+592>>3]=j;h[d+600>>3]=ja;vB(ba,j,ja);ba=c[m>>2]|0;_=ba+588|0;xB(c[_>>2]|0);_=c[_>>2]|0;$=_+28|0;_=_+24|0;Z=c[(c[_>>2]|0)+((c[$>>2]|0)+ -1<<2)>>2]|0;h[ba+592>>3]=+h[(c[Z>>2]|0)+((c[Z+12>>2]|0)+ -1<<3)>>3];$=c[(c[_>>2]|0)+((c[$>>2]|0)+ -1<<2)>>2]|0;h[ba+600>>3]=+h[(c[$+4>>2]|0)+((c[$+12>>2]|0)+ -1<<3)>>3]}ba=c[v>>2]|0;hd[c[(c[ba>>2]|0)+212>>2]&127](ba,c[m>>2]|0);i=l;return}function Ux(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;j=i;l=i;i=i+8|0;k=l;x=i;i=i+8|0;o=x;y=i;i=i+8|0;q=y;t=i;i=i+8|0;r=t;B=i;i=i+8|0;v=B;z=i;i=i+8|0;A=z;n=i;i=i+8|0;f=n;D=i;i=i+16|0;h=D;s=i;i=i+8|0;C=i;i=i+8|0;u=i;i=i+8|0;p=i;i=i+8|0;w=i;i=i+8|0;m=i;i=i+8|0;c[D>>2]=13;E=h+8|0;c[E>>2]=0;c[E+4>>2]=0;Yu(e,162408,h,0)|0;if((c[D>>2]|0)==4){g=FW(32)|0;fe(g,c[E>>2]|0)}else{g=0}Of(h);Yu(e,162424,h,0)|0;F=162512;a:do{if((c[D>>2]|0)==4){F=c[E>>2]|0;do{if((Qc(F|0,162432)|0)!=0){if((Qc(F|0,162440)|0)==0){break}if((Qc(F|0,162448)|0)==0){F=FW(3544)|0;A=d;D=c[A+4>>2]|0;E=C;c[E>>2]=c[A>>2];c[E+4>>2]=D;$W(B|0,C|0,8)|0;by(F,a,b,v,g,2,e);Of(h);i=j;return F|0}if((Qc(F|0,162456)|0)==0){F=FW(3544)|0;C=d;D=c[C+4>>2]|0;E=u;c[E>>2]=c[C>>2];c[E+4>>2]=D;$W(t|0,u|0,8)|0;by(F,a,b,r,g,4,e);Of(h);i=j;return F|0}if((Qc(F|0,162464)|0)==0){F=FW(3544)|0;C=d;D=c[C+4>>2]|0;E=p;c[E>>2]=c[C>>2];c[E+4>>2]=D;$W(y|0,p|0,8)|0;by(F,a,b,q,g,5,e);Of(h);i=j;return F|0}if((Qc(F|0,162480)|0)!=0){break a}F=FW(232)|0;C=d;D=c[C+4>>2]|0;E=w;c[E>>2]=c[C>>2];c[E+4>>2]=D;$W(x|0,w|0,8)|0;ky(F,a,b,o,g,e);Of(h);i=j;return F|0}}while(0);F=FW(3544)|0;C=d;D=c[C+4>>2]|0;E=s;c[E>>2]=c[C>>2];c[E+4>>2]=D;$W(z|0,s|0,8)|0;by(F,a,b,A,g,1,e);Of(h);i=j;return F|0}}while(0);c[n>>2]=F;Qe(-1,162488,f);F=FW(3544)|0;C=d;D=c[C+4>>2]|0;E=m;c[E>>2]=c[C>>2];c[E+4>>2]=D;$W(l|0,m|0,8)|0;by(F,a,b,k,g,0,e);Of(h);i=j;return F|0}function Vx(a){a=a|0;var b=0;b=i;Wx(a);HW(a);i=b;return}function Wx(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=162528;d=c[a+8>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+24>>2]|0;if((d|0)!=0){ke(d);HW(d)}e=c[a+36>>2]|0;d=a+20|0;do{if((e|0)!=0){if((e|0)==(c[d>>2]|0)){break}ke(e);HW(e)}}while(0);d=c[d>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+48>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+60>>2]|0;if((d|0)!=0){ke(d);HW(d)}a=c[a+4>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Xx(a){a=a|0;a=a+168|0;c[a>>2]=(c[a>>2]|0)+1;i=i;return}function Yx(a){a=a|0;var b=0,d=0,e=0;b=i;e=a+168|0;d=(c[e>>2]|0)+ -1|0;c[e>>2]=d;if((d|0)!=0|(a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+20>>2]&511](a);i=b;return}function Zx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0.0;q=i;n=i;i=i+16|0;m=n;r=i;i=i+8|0;e=r;u=i;i=i+8|0;t=u;y=i;i=i+8|0;x=y;A=i;i=i+8|0;z=A;D=i;i=i+8|0;E=D;X=i;i=i+8|0;_=X;H=i;i=i+8|0;T=i;i=i+8|0;U=T;I=i;i=i+8|0;J=i;i=i+8|0;W=i;i=i+8|0;Q=W;M=i;i=i+8|0;L=i;i=i+8|0;R=i;i=i+8|0;Y=R;O=i;i=i+8|0;P=i;i=i+8|0;S=i;i=i+8|0;$=S;N=i;i=i+8|0;K=i;i=i+8|0;V=i;i=i+8|0;Z=V;da=i;i=i+8|0;ca=da;ea=i;i=i+8|0;fa=ea;ga=i;i=i+8|0;ha=i;i=i+8|0;ia=ha;ja=i;i=i+8|0;ka=ja;ma=i;i=i+8|0;la=i;i=i+8|0;na=i;i=i+8|0;oa=na;pa=i;i=i+8|0;qa=pa;ra=i;i=i+8|0;ta=i;i=i+8|0;sa=ta;ua=i;i=i+8|0;wa=i;i=i+8|0;va=wa;ya=i;i=i+8|0;xa=ya;Ba=i;i=i+8|0;za=i;i=i+8|0;Aa=za;Da=i;i=i+8|0;Ca=Da;Ea=i;i=i+8|0;Fa=Ea;Ia=i;i=i+8|0;Ha=Ia;w=i;i=i+16|0;o=w;l=i;i=i+16|0;j=l;g=i;i=i+16|0;p=g;aa=i;i=i+16|0;F=aa;c[w>>2]=13;v=o+8|0;c[v>>2]=0;c[v+4>>2]=0;c[l>>2]=13;f=j+8|0;c[f>>2]=0;c[f+4>>2]=0;c[g>>2]=13;s=p+8|0;c[s>>2]=0;c[s+4>>2]=0;c[aa>>2]=13;ba=F+8|0;c[ba>>2]=0;c[ba+4>>2]=0;Ga=a+44|0;c[Ga>>2]=2;G=a+52|0;c[G>>2]=-1;c[a+56>>2]=-1;B=a+144|0;h[B>>3]=0.0;if((c[(Yu(d,162552,o,0)|0)>>2]|0)!=7){Of(o);i=q;return}d=c[w>>2]|0;if((d|0)!=7){c[Ia>>2]=d;c[Ha+4>>2]=7;Qe(0,166192,Ha);tc()}do{if((c[(Yu(c[v>>2]|0,162568,j,0)|0)>>2]|0)==1){Ha=c[l>>2]|0;if((Ha|0)==1){c[Ga>>2]=c[f>>2];break}else{c[Ea>>2]=Ha;c[Fa+4>>2]=1;Qe(0,166192,Fa);tc()}}}while(0);Of(j);Ea=c[w>>2]|0;if((Ea|0)!=7){c[Da>>2]=Ea;c[Ca+4>>2]=7;Qe(0,166192,Ca);tc()}Yu(c[v>>2]|0,162576,j,0)|0;if((c[l>>2]|0)==4){d=FW(32)|0;fe(d,c[f>>2]|0);Ca=a+48|0;c[Ca>>2]=d}else{Ca=a+48|0}Of(j);if((c[Ca>>2]|0)==0){Da=c[w>>2]|0;if((Da|0)!=7){c[za>>2]=Da;c[Aa+4>>2]=7;Qe(0,166192,Aa);tc()}Yu(c[v>>2]|0,162592,j,0)|0;if((c[l>>2]|0)==4){d=FW(32)|0;fe(d,c[f>>2]|0);c[Ca>>2]=d;Qe(-1,162608,Ba)}Of(j)}za=c[w>>2]|0;if((za|0)!=7){c[ya>>2]=za;c[xa+4>>2]=7;Qe(0,166192,xa);tc()}Yu(c[v>>2]|0,162704,j,0)|0;if((c[l>>2]|0)==3){d=FW(32)|0;ie(d,c[f>>2]|0);c[a+24>>2]=d}Of(j);xa=c[w>>2]|0;if((xa|0)!=7){c[wa>>2]=xa;c[va+4>>2]=7;Qe(0,166192,va);tc()}Yu(c[v>>2]|0,162720,j,0)|0;do{if((c[l>>2]|0)==4){va=c[f>>2]|0;if((Qc(va|0,162736)|0)==0){c[a+28>>2]=1;break}if((Qc(va|0,162752)|0)==0){c[a+28>>2]=2;break}if((Qc(va|0,162768)|0)==0){c[a+28>>2]=3;break}if((Qc(va|0,162784)|0)==0){c[a+28>>2]=4;break}if((Qc(va|0,162800)|0)==0){c[a+28>>2]=5;break}if((Qc(va|0,162808)|0)==0){c[a+28>>2]=6;break}if((Qc(va|0,162824)|0)==0){c[a+28>>2]=7;break}if((Qc(va|0,162840)|0)==0){c[a+28>>2]=8;break}if((Qc(va|0,162856)|0)==0){c[a+28>>2]=9;break}else{Qe(-1,162872,ua);break}}}while(0);Of(j);ua=c[w>>2]|0;if((ua|0)!=7){c[ta>>2]=ua;c[sa+4>>2]=7;Qe(0,166192,sa);tc()}Yu(c[v>>2]|0,162896,j,0)|0;sa=c[l>>2]|0;do{if((sa+ -1|0)>>>0<2){sa=(sa|0)==1;if(sa){d=c[f>>2]|0;ta=d;Ja=+(d|0)}else{Ja=+h[f>>3];h[k>>3]=Ja;ta=c[k>>2]|0}if(Ja==100.0){c[a+32>>2]=1;break}if(sa){ua=ta;Ja=+(ta|0)}else{Ja=+h[f>>3];h[k>>3]=Ja;ua=c[k>>2]|0}if(Ja==200.0){c[a+32>>2]=2;break}if(sa){ta=ua;Ja=+(ua|0)}else{Ja=+h[f>>3];h[k>>3]=Ja;ta=c[k>>2]|0}if(Ja==300.0){c[a+32>>2]=3;break}if(sa){ua=ta;Ja=+(ta|0)}else{Ja=+h[f>>3];h[k>>3]=Ja;ua=c[k>>2]|0}if(Ja==400.0){c[a+32>>2]=4;break}if(sa){ta=ua;Ja=+(ua|0)}else{Ja=+h[f>>3];h[k>>3]=Ja;ta=c[k>>2]|0}if(Ja==500.0){c[a+32>>2]=5;break}if(sa){ua=ta;Ja=+(ta|0)}else{Ja=+h[f>>3];h[k>>3]=Ja;ua=c[k>>2]|0}if(Ja==600.0){c[a+32>>2]=6;break}if(sa){ta=ua;Ja=+(ua|0)}else{Ja=+h[f>>3];h[k>>3]=Ja;ta=c[k>>2]|0}if(Ja==700.0){c[a+32>>2]=7;break}if(sa){ua=ta;Ja=+(ta|0)}else{Ja=+h[f>>3];h[k>>3]=Ja;ua=c[k>>2]|0}if(Ja==800.0){c[a+32>>2]=8;break}if(sa){Ja=+(ua|0)}else{Ja=+h[f>>3]}if(Ja==900.0){c[a+32>>2]=9;break}else{Qe(-1,162912,ra);break}}}while(0);Of(j);ra=c[w>>2]|0;if((ra|0)!=7){c[pa>>2]=ra;c[qa+4>>2]=7;Qe(0,166192,qa);tc()}do{if((c[(Zu(c[v>>2]|0,162936,j)|0)>>2]|0)==9){pa=c[l>>2]|0;if((pa|0)!=9){c[na>>2]=pa;c[oa+4>>2]=9;Qe(0,166192,oa);tc()}Ia=f;d=c[Ia+4>>2]|0;na=G;c[na>>2]=c[Ia>>2];c[na+4>>2]=d;na=a+40|0;if((c[na>>2]|0)==1){break}Qe(-1,162952,la);if(jd[c[c[a>>2]>>2]&511](a)|0){Qe(-1,163008,ma);c[na>>2]=7;break}else{c[na>>2]=1;break}}}while(0);Of(j);do{if((c[G>>2]|0)==-1){la=c[w>>2]|0;if((la|0)!=7){c[ja>>2]=la;c[ka+4>>2]=7;Qe(0,166192,ka);tc()}if((c[(Zu(c[v>>2]|0,163064,j)|0)>>2]|0)!=9){break}ja=c[l>>2]|0;if((ja|0)!=9){c[ha>>2]=ja;c[ia+4>>2]=9;Qe(0,166192,ia);tc()}Ia=f;d=c[Ia+4>>2]|0;ha=G;c[ha>>2]=c[Ia>>2];c[ha+4>>2]=d;ha=a+40|0;d=c[ha>>2]|0;if((d|0)==10|(d|0)==5){break}Qe(-1,162952,ga);d=jd[c[c[a>>2]>>2]&511](a)|0;c[ha>>2]=d?10:5}}while(0);Of(j);do{if((c[G>>2]|0)==-1){ga=c[w>>2]|0;if((ga|0)!=7){c[ea>>2]=ga;c[fa+4>>2]=7;Qe(0,166192,fa);tc()}if((c[(Zu(c[v>>2]|0,163080,j)|0)>>2]|0)!=9){break}if((c[(Nf(j,b,p,0)|0)>>2]|0)==8){ea=c[g>>2]|0;if((ea|0)!=8){c[da>>2]=ea;c[ca+4>>2]=8;Qe(0,166192,ca);tc()}ca=c[s>>2]|0;Yu(jd[c[(c[ca>>2]|0)+72>>2]&511](ca)|0,162424,F,0)|0;ca=162512;do{if((c[aa>>2]|0)==4){ca=c[ba>>2]|0;if((Qc(ca|0,162432)|0)==0){H=c[l>>2]|0;if((H|0)!=9){c[V>>2]=H;c[Z+4>>2]=9;Qe(0,166192,Z);tc()}Ia=f;d=c[Ia+4>>2]|0;c[G>>2]=c[Ia>>2];c[G+4>>2]=d;G=a+40|0;if((c[G>>2]|0)==1){break}Qe(-1,162952,K);if(jd[c[c[a>>2]>>2]&511](a)|0){Qe(-1,163096,N);c[G>>2]=7;break}else{c[G>>2]=1;break}}if((Qc(ca|0,162448)|0)==0){H=c[l>>2]|0;if((H|0)!=9){c[S>>2]=H;c[$+4>>2]=9;Qe(0,166192,$);tc()}Ia=f;d=c[Ia+4>>2]|0;c[G>>2]=c[Ia>>2];c[G+4>>2]=d;G=a+40|0;if(((c[G>>2]|0)+ -1|0)>>>0>=2){Qe(-1,162952,P)}if(jd[c[c[a>>2]>>2]&511](a)|0){Qe(-1,163152,O);c[G>>2]=8;break}else{c[G>>2]=2;break}}if((Qc(ca|0,162464)|0)==0){H=c[l>>2]|0;if((H|0)!=9){c[R>>2]=H;c[Y+4>>2]=9;Qe(0,166192,Y);tc()}Ia=f;d=c[Ia+4>>2]|0;c[G>>2]=c[Ia>>2];c[G+4>>2]=d;G=a+40|0;if((c[G>>2]|0)==5){break}Qe(-1,162952,L);if(jd[c[c[a>>2]>>2]&511](a)|0){Qe(-1,163208,M);c[G>>2]=10;break}else{c[G>>2]=5;break}}if((Qc(ca|0,163264)|0)==0){H=c[l>>2]|0;if((H|0)!=9){c[W>>2]=H;c[Q+4>>2]=9;Qe(0,166192,Q);tc()}Ia=f;d=c[Ia+4>>2]|0;c[G>>2]=c[Ia>>2];c[G+4>>2]=d;G=a+40|0;if((c[G>>2]|0)!=7){Qe(-1,162952,J)}if(jd[c[c[a>>2]>>2]&511](a)|0){c[G>>2]=8;break}else{Qe(-1,163280,I);c[G>>2]=2;break}}if((Qc(ca|0,163344)|0)!=0){C=158;break}I=c[l>>2]|0;if((I|0)!=9){c[T>>2]=I;c[U+4>>2]=9;Qe(0,166192,U);tc()}d=f;I=c[d+4>>2]|0;c[G>>2]=c[d>>2];c[G+4>>2]=I;G=a+40|0;I=c[G>>2]|0;if((I|0)==1){c[G>>2]=3;break}else if((I|0)==7){c[G>>2]=9;break}else if((I|0)==10){c[G>>2]=11;break}else if((I|0)==5){c[G>>2]=6;break}else{Qe(-1,162952,H);break}}else{C=158}}while(0);if((C|0)==158){c[X>>2]=ca;Qe(-1,163360,_)}Of(F)}Of(p)}}while(0);Of(j);C=c[w>>2]|0;if((C|0)!=7){c[D>>2]=C;c[E+4>>2]=7;Qe(0,166192,E);tc()}Yu(c[v>>2]|0,163392,j,0)|0;C=c[l>>2]|0;if((C+ -1|0)>>>0<2){if((C|0)==1){Ja=+(c[f>>2]|0)}else{Ja=+h[f>>3]}h[B>>3]=Ja}Of(j);B=c[w>>2]|0;if((B|0)!=7){c[A>>2]=B;c[z+4>>2]=7;Qe(0,166192,z);tc()}Yu(c[v>>2]|0,163408,j,0)|0;z=c[l>>2]|0;do{if((z+ -1|0)>>>0<2){if((z|0)==1){Ja=+(c[f>>2]|0)}else{Ja=+h[f>>3]}Ja=Ja*.001;if(Ja==0.0){break}h[a+152>>3]=Ja}}while(0);Of(j);z=c[w>>2]|0;if((z|0)!=7){c[y>>2]=z;c[x+4>>2]=7;Qe(0,166192,x);tc()}Yu(c[v>>2]|0,163416,j,0)|0;x=c[l>>2]|0;do{if((x+ -1|0)>>>0<2){if((x|0)==1){Ja=+(c[f>>2]|0)}else{Ja=+h[f>>3]}Ja=Ja*.001;x=a+160|0;if(Ja!=0.0){h[x>>3]=Ja}else{Ja=+h[x>>3]}if(Ja<=0.0){break}h[a+160>>3]=-0.0-Ja}}while(0);Of(j);w=c[w>>2]|0;if((w|0)!=7){c[u>>2]=w;c[t+4>>2]=7;Qe(0,166192,t);tc()}a:do{if((c[(Yu(c[v>>2]|0,163424,j,0)|0)>>2]|0)==6){t=0;while(1){u=c[l>>2]|0;if((u|0)!=6){C=192;break}u=c[f>>2]|0;if((t|0)>=(c[u+12>>2]|0)){break a}if(((c[(ut(u,t,p)|0)>>2]|0)+ -1|0)>>>0<2){u=c[g>>2]|0;if((u+ -1|0)>>>0>=2){C=196;break}if((u|0)==1){Ja=+(c[s>>2]|0)}else{Ja=+h[s>>3]}h[a+112+(t<<3)>>3]=Ja*.001}Of(p);t=t+1|0;if((t|0)>=4){break a}}if((C|0)==192){c[r>>2]=u;c[e+4>>2]=6;Qe(0,166192,e);tc()}else if((C|0)==196){c[n>>2]=u;c[m+4>>2]=1;c[m+8>>2]=2;Qe(0,167792,m);tc()}}}while(0);Of(j);Of(o);i=q;return}function _x(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;k=i;i=i+8|0;l=k;q=i;i=i+8|0;p=q;n=i;i=i+4096|0;m=i;i=i+16|0;h=m;c[m>>2]=13;j=h+8|0;c[j>>2]=0;c[j+4>>2]=0;if((c[(Yu(d,163440,h,0)|0)>>2]|0)!=8){Of(h);r=0;i=g;return r|0}d=FW(32)|0;ee(d);r=c[m>>2]|0;if((r|0)!=8){c[q>>2]=r;c[p+4>>2]=8;Qe(0,166192,p);tc()}p=c[j>>2]|0;fd[c[(c[p>>2]|0)+12>>2]&511](p);while(1){a:do{if(jd[c[(c[p>>2]|0)+88>>2]&511](p)|0){q=sd[c[(c[p>>2]|0)+92>>2]&127](p,4096,n)|0;o=10}else{q=0;while(1){r=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((r|0)==-1){o=10;break a}a[n+q|0]=r;q=q+1|0;if((q|0)>=4096){q=4096;break}}}}while(0);if((o|0)==10){o=0;if((q|0)==0){break}}ne(d,n,q)|0}m=c[m>>2]|0;if((m|0)!=8){c[k>>2]=m;c[l+4>>2]=8;Qe(0,166192,l);tc()}r=c[j>>2]|0;fd[c[(c[r>>2]|0)+16>>2]&511](r);Of(h);if((f|0)==0){f=lu(d,e)|0}else{qu(f,d,e)}a[b+173|0]=1;if((d|0)==0){r=f;i=g;return r|0}ke(d);HW(d);r=f;i=g;return r|0}function $x(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;k=i;i=i+8|0;o=i;i=i+16|0;f=o;l=i;i=i+16|0;g=l;m=f+8|0;c[l>>2]=13;h=g+8|0;c[h>>2]=0;c[h+4>>2]=0;j=a+52|0;n=c[j>>2]|0;a=c[a+56>>2]|0;c[o>>2]=9;c[m>>2]=n;c[m+4>>2]=a;Nf(f,b,g,0)|0;if((c[l>>2]|0)==8){n=c[h>>2]|0;o=ay(n,d,4096,4096)|0;fd[c[(c[n>>2]|0)+16>>2]&511](n);Of(g);Of(f);i=e;return o|0}else{Qe(-1,163544,k);Of(g);Of(f);c[j>>2]=-1;c[d>>2]=0;o=0;i=e;return o|0}return 0}function ay(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;h=i;g=we(e)|0;c[d>>2]=0;fd[c[(c[b>>2]|0)+12>>2]&511](b);j=e;while(1){k=c[d>>2]|0;l=jd[c[(c[b>>2]|0)+88>>2]&511](b)|0;if((j|0)>0){a:do{if(l){l=sd[c[(c[b>>2]|0)+92>>2]&127](b,j,g+k|0)|0}else{l=0;while(1){m=jd[c[(c[b>>2]|0)+20>>2]&511](b)|0;if((m|0)==-1){break a}a[g+(l+k)|0]=m;l=l+1|0;if((l|0)>=(j|0)){l=j;break}}}}while(0);if((l|0)==0){d=16;break}c[d>>2]=(c[d>>2]|0)+l;if((l|0)!=(j|0)){d=16;break}if((jd[c[(c[b>>2]|0)+24>>2]&511](b)|0)==-1){d=16;break}}else{if(l){k=sd[c[(c[b>>2]|0)+92>>2]&127](b,j,g+k|0)|0}else{k=j}if((k|0)==0){d=16;break}c[d>>2]=(c[d>>2]|0)+k;if((k|0)!=(j|0)){d=16;break}if((jd[c[(c[b>>2]|0)+24>>2]&511](b)|0)==-1){d=16;break}}m=e+f|0;g=xe(g,m)|0;j=f;e=m}if((d|0)==16){i=h;return g|0}return 0}function by(d,f,g,j,k,l,m){d=d|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0.0,pa=0.0;p=i;u=i;i=i+8|0;t=u;M=i;i=i+8|0;L=M;H=i;i=i+8|0;I=H;N=i;i=i+8|0;O=N;Y=i;i=i+8|0;X=i;i=i+16|0;W=X;Z=i;i=i+8|0;V=Z;ca=i;i=i+16|0;da=ca;aa=i;i=i+8|0;ba=aa;T=i;i=i+8|0;U=T;A=i;i=i+1024|0;B=A;C=i;i=i+32|0;D=C;o=i;i=i+8|0;n=o;r=i;i=i+16|0;q=r;s=i;i=i+16|0;v=s;J=i;i=i+16|0;K=J;z=i;i=i+8|0;y=z;S=j;R=c[S>>2]|0;S=c[S+4>>2]|0;c[d>>2]=162528;j=d+172|0;a[j]=0;E=FW(32)|0;fe(E,g);c[d+8>>2]=E;E=d+12|0;c[E>>2]=R;c[E+4>>2]=S;E=d+20|0;c[E>>2]=k;c[d+36>>2]=k;S=d+48|0;c[S>>2]=0;R=d+60|0;c[R>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[d+32>>2]=0;c[d+4>>2]=0;a[d+173|0]=0;c[d>>2]=163592;_=d+3512|0;c[_>>2]=13;$=d+3520|0;c[$>>2]=0;c[$+4>>2]=0;$=d+3528|0;c[$>>2]=13;g=d+3536|0;c[g>>2]=0;c[g+4>>2]=0;c[r>>2]=13;g=q+8|0;c[g>>2]=0;c[g+4>>2]=0;c[s>>2]=13;w=v+8|0;c[w>>2]=0;c[w+4>>2]=0;c[J>>2]=13;P=K+8|0;c[P>>2]=0;c[P+4>>2]=0;c[d+168>>2]=1;x=d+40|0;c[x>>2]=l;l=d+1456|0;c[l>>2]=0;a:do{if((k|0)==0){G=19}else{F=FW(32)|0;ie(F,k);k=F+24|0;fa=c[k>>2]|0;b:do{if((fa|0)>0){Q=F+28|0;ea=0;while(1){while(1){if((a[(c[Q>>2]|0)+ea|0]|0)!=32){break}re(F,ea,1)|0;fa=c[k>>2]|0;if((ea|0)>=(fa|0)){Q=0;ea=51;break b}}ea=ea+1|0;if((ea|0)>=(fa|0)){Q=0;ea=51;break}}}else{Q=0;ea=51}}while(0);do{k=(ea+Q|0)/2|0;fa=(te(F,c[163616+(k<<3)>>2]|0)|0)>-1;Q=fa?k:Q;ea=fa?ea:k;}while((ea-Q|0)>1);if((te(F,c[163616+(Q<<3)>>2]|0)|0)==0){na=FW(32)|0;fe(na,c[163620+(Q<<3)>>2]|0);c[E>>2]=na}if((F|0)!=0){ke(F);HW(F)}F=c[E>>2]|0;if((F|0)==0){G=19;break}else{la=0}while(1){k=72928+(la*24|0)|0;Q=la+1|0;if((te(F,c[k>>2]|0)|0)==0){break}if((Q|0)>=14){G=19;break a}F=c[E>>2]|0;la=Q}if((k|0)==0){G=19;break}ha=72936+(la*24|0)|0;ga=d+152|0;h[ga>>3]=+(b[ha>>1]|0)*.001;fa=72938+(la*24|0)|0;ea=d+160|0;h[ea>>3]=+(b[fa>>1]|0)*.001;Q=72940+(la*24|0)|0;ma=d+112|0;h[ma>>3]=+(b[Q>>1]|0)*.001;ia=72942+(la*24|0)|0;ka=d+120|0;h[ka>>3]=+(b[ia>>1]|0)*.001;F=72944+(la*24|0)|0;ja=d+128|0;h[ja>>3]=+(b[F>>1]|0)*.001;la=72946+(la*24|0)|0;na=d+136|0;h[na>>3]=+(b[la>>1]|0)*.001;Zx(d,f,m);if((c[d+52>>2]|0)>=0){F=1;break}h[ga>>3]=+(b[ha>>1]|0)*.001;h[ea>>3]=+(b[fa>>1]|0)*.001;h[ma>>3]=+(b[Q>>1]|0)*.001;h[ka>>3]=+(b[ia>>1]|0)*.001;h[ja>>3]=+(b[F>>1]|0)*.001;h[na>>3]=+(b[la>>1]|0)*.001;F=1}}while(0);if((G|0)==19){h[d+152>>3]=.95;h[d+160>>3]=-.35;bX(d+112|0,0,32)|0;Zx(d,f,m);F=0;k=0}ea=c[E>>2]|0;do{if((ea|0)!=0){Q=c[x>>2]|0;if((Q|0)==5){c[R>>2]=gf(c[834]|0,ea,163512)|0;break}else if((Q|0)==1){c[R>>2]=gf(c[834]|0,ea,163456)|0;break}else{break}}}while(0);h[d+88>>3]=1.0;Q=d+64|0;h[Q>>3]=1.0;bX(d+72|0,0,16)|0;bX(d+96|0,0,16)|0;c:do{if((c[(Yu(m,164024,q,0)|0)>>2]|0)==6){ea=0;while(1){fa=c[r>>2]|0;if((fa|0)!=6){G=28;break}fa=c[g>>2]|0;if((ea|0)>=(c[fa+12>>2]|0)){break c}if(((c[(ut(fa,ea,v)|0)>>2]|0)+ -1|0)>>>0<2){fa=c[s>>2]|0;if((fa+ -1|0)>>>0>=2){G=32;break}if((fa|0)==1){oa=+(c[w>>2]|0)}else{oa=+h[w>>3]}h[d+64+(ea<<3)>>3]=oa}Of(v);ea=ea+1|0;if((ea|0)>=6){break c}}if((G|0)==28){c[aa>>2]=fa;c[ba+4>>2]=6;Qe(0,166192,ba);tc()}else if((G|0)==32){c[ca>>2]=fa;c[da+4>>2]=1;c[da+8>>2]=2;Qe(0,167792,da);tc()}}}while(0);Of(q);do{if((c[x>>2]|0)==4){d:do{if((c[(Yu(m,163424,q,0)|0)>>2]|0)==6){aa=0;while(1){ba=c[r>>2]|0;if((ba|0)!=6){G=42;break}ba=c[g>>2]|0;if((aa|0)>=(c[ba+12>>2]|0)){break d}if(((c[(ut(ba,aa,v)|0)>>2]|0)+ -1|0)>>>0<2){ba=c[s>>2]|0;if((ba+ -1|0)>>>0>=2){G=46;break}if((ba|0)==1){oa=+(c[w>>2]|0)}else{oa=+h[w>>3]}h[d+112+(aa<<3)>>3]=oa}Of(v);aa=aa+1|0;if((aa|0)>=4){break d}}if((G|0)==42){c[Z>>2]=ba;c[V+4>>2]=6;Qe(0,166192,V);tc()}else if((G|0)==46){c[X>>2]=ba;c[W+4>>2]=1;c[W+8>>2]=2;Qe(0,167792,W);tc()}}}while(0);Of(q);if((c[(Yu(m,164040,_,0)|0)>>2]|0)!=7){Qe(-1,164056,Y);Of(_)}if((c[(Yu(m,164112,$,0)|0)>>2]|0)==7){break}Of($)}}while(0);V=d+1460|0;a[V]=0;W=d+1461|0;a[W]=0;Yu(m,164128,q,0)|0;X=c[r>>2]|0;do{if((X|0)==7){Yu(c[g>>2]|0,164144,v,0)|0;do{if((c[s>>2]|0)==4){X=c[w>>2]|0;if((Qc(X|0,164160)|0)==0){a[V]=1;a[W]=1;W=134928;break}if((Qc(X|0,164184)|0)==0){a[V]=1;W=138280;break}if((Qc(X|0,164208)|0)!=0){W=0;break}a[V]=1;W=139424}else{W=0}}while(0);Of(v)}else if((X|0)==4){if((Qc(c[g>>2]|0,164160)|0)==0){a[V]=1;a[W]=1;W=134928;break}W=c[g>>2]|0;if((Qc(W|0,164184)|0)==0){a[V]=1;W=138280;break}if((Qc(W|0,164208)|0)!=0){W=0;break}a[V]=1;W=139424}else{W=0}}while(0);Y=c[x>>2]|0;e:do{if((Y|0)==2){G=84}else if((Y|0)==1){X=c[R>>2]|0;do{if((X|0)==0){if((c[d+52>>2]|0)>-1){na=$x(d,f,U)|0;G=na;T=YG(na,c[T>>2]|0)|0;break}else{if((Y|0)==2){G=84;break e}else{f=0;S=0;T=0;break e}}}else{G=0;T=ZG(c[X+28>>2]|0)|0}}while(0);if((T|0)==0){f=0;U=G;S=0;T=0;G=95;break}if((aH(T)|0)!=0){f=c[S>>2]|0;if((f|0)!=0){ke(f);HW(f)}na=FW(32)|0;fe(na,aH(T)|0);c[S>>2]=na}if((W|0)!=0){f=0;U=G;S=0;G=95;break}f=1;W=cH(T)|0;U=G;S=0;G=95}else{f=0;S=0;T=0}}while(0);do{if((G|0)==84){X=c[R>>2]|0;if((X|0)==0){if((c[d+52>>2]|0)<=-1){f=0;S=0;T=0;break}na=$x(d,f,U)|0;G=na;T=Tn(na,c[T>>2]|0)|0}else{G=0;T=Vn(c[X+28>>2]|0)|0}if((T|0)==0){f=0;U=G;S=0;T=0;G=95;break}if((Yn(T)|0)!=0){f=c[S>>2]|0;if((f|0)!=0){ke(f);HW(f)}na=FW(32)|0;fe(na,Yn(T)|0);c[S>>2]=na}if((W|0)!=0){f=0;U=G;S=T;T=0;G=95;break}f=1;W=Zn(T)|0;U=G;S=T;T=0;G=95}}while(0);do{if((G|0)==95){if((U|0)==0){break}Fe(U)}}while(0);f:do{if((W|0)==0){do{if(F){if((c[d+52>>2]|0)>=0){break}W=c[k+4>>2]|0;a[V]=1;break f}}while(0);W=(c[x>>2]|0)==5?139424:140464}}while(0);U=f&1;if(f){X=0;do{Z=W+(X<<2)|0;Y=d+176+(X<<2)|0;c[Y>>2]=c[Z>>2];a[d+1200+X|0]=U;if((c[Y>>2]|0)!=0){c[Y>>2]=Ge(c[Z>>2]|0)|0}X=X+1|0;}while((X|0)<256)}else{X=0;do{c[d+176+(X<<2)>>2]=c[W+(X<<2)>>2];a[d+1200+X|0]=U;X=X+1|0;}while((X|0)<256)}do{if((c[x>>2]|0)==2){if((c[R>>2]|0)==0){if((c[d+52>>2]|0)<0|f^1){break}else{U=0}}else{if(f){U=0}else{break}}do{R=d+176+(U<<2)|0;do{if((c[R>>2]|0)==0){f=c[140464+(U<<2)>>2]|0;if((f|0)==0){break}c[R>>2]=f;a[d+1200+U|0]=0}}while(0);U=U+1|0;}while((U|0)<256)}}while(0);if((c[r>>2]|0)==7){Yu(c[g>>2]|0,164224,v,0)|0;g:do{if((c[s>>2]|0)==6){a[V]=1;f=0;R=0;while(1){U=c[w>>2]|0;if((R|0)>=(c[U+12>>2]|0)){break g}ut(U,R,K)|0;U=c[J>>2]|0;if((U|0)==1){f=c[P>>2]|0}else if((U|0)==4){if(f>>>0<256){U=d+1200+f|0;if((a[U]|0)!=0){Fe(c[d+176+(f<<2)>>2]|0);V=c[J>>2]|0;if((V|0)!=4){G=125;break}}c[d+176+(f<<2)>>2]=Ge(c[P>>2]|0)|0;a[U]=1}f=f+1|0}else{c[M>>2]=Pf(K)|0;Qe(-1,164240,L)}Of(K);U=c[s>>2]|0;if((U|0)==6){R=R+1|0}else{G=118;break}}if((G|0)==118){c[N>>2]=U;c[O+4>>2]=6;Qe(0,166192,O);tc()}else if((G|0)==125){c[H>>2]=V;c[I+4>>2]=4;Qe(0,166192,I);tc()}}}while(0);Of(v)}Of(q);if((T|0)!=0){fd[c[(c[T>>2]|0)+4>>2]&511](T)}if((S|0)==0){I=0;H=0;K=0}else{fd[c[(c[S>>2]|0)+4>>2]&511](S);I=0;H=0;K=0}while(1){J=c[d+176+(I<<2)>>2]|0;h:do{if((J|0)==0){c[B+(I<<2)>>2]=0;J=K}else{na=cf(c[834]|0,J)|0;c[B+(I<<2)>>2]=na;if((na|0)!=0){J=K;break}if((Qc(J|0,164296)|0)==0){J=K;break}do{if((ZW(J|0)|0)==3){if((Ab(a[J]|0)|0)==0){G=144;break}K=J+1|0;if((lc(a[K]|0)|0)==0){G=144;break}L=J+2|0;if((lc(a[L]|0)|0)==0){G=144;break}na=a[K]|0;if((na+ -97<<24>>24&255)<6|(na+ -65<<24>>24&255)<6){break}na=a[L]|0;if(!((na+ -97<<24>>24&255)<6|(na+ -65<<24>>24&255)<6)){G=144}}else{G=144}}while(0);do{if((G|0)==144){G=0;if((ZW(J|0)|0)!=2){J=1;break h}if((lc(a[J]|0)|0)==0){J=1;break h}K=J+1|0;if((lc(a[K]|0)|0)==0){J=1;break h}na=a[J]|0;if((na+ -97<<24>>24&255)<6|(na+ -65<<24>>24&255)<6){break}na=a[K]|0;if(!((na+ -97<<24>>24&255)<6|(na+ -65<<24>>24&255)<6)){J=1;break h}}}while(0);H=1;J=1}}while(0);I=I+1|0;if((I|0)<256){K=J}else{break}}G=ku(B)|0;c[l>>2]=G;if(J){G=0;do{i:do{if((c[B+(G<<2)>>2]|0)==0){I=c[d+176+(G<<2)>>2]|0;K=(I|0)!=0;do{if(K){if((Qc(I|0,164296)|0)==0){break}J=cy(I,D,8,0,1,sf(c[834]|0)|0,H,1)|0;if((J|0)==0){break}vu(c[l>>2]|0,G,D,J);break i}}while(0);if(!(tf(c[834]|0)|0)){break}do{if(K){J=a[I]|0;if(J<<24>>24==0){break}else{L=0}while(1){c[D+(L<<2)>>2]=J<<24>>24;K=L+1|0;if(J<<24>>24==0){K=L;break}if((K|0)>=8){break}J=a[I+K|0]|0;L=K}vu(c[l>>2]|0,G,D,K);break i}}while(0);c[C>>2]=G;vu(c[l>>2]|0,G,D,1)}}while(0);G=G+1|0;}while((G|0)<256);G=c[l>>2]|0}_x(d,m,8,G)|0;C=c[E>>2]|0;do{if((C|0)!=0){C=yf(c[834]|0,C)|0;if((C|0)==0){break}bX(A|0,0,1024)|0;A=ku(B)|0;D=0;do{do{if((wu(c[l>>2]|0,D,y)|0)>0){B=wu(C,c[c[z>>2]>>2]|0,y)|0;if((B|0)<=0){break}vu(A,D,c[z>>2]|0,B)}}while(0);D=D+1|0;}while((D|0)<256);uu(C);y=c[l>>2]|0;if((y|0)!=0){su(y);HW(y)}c[l>>2]=A}}while(0);y=d+144|0;z=0;do{h[d+1464+(z<<3)>>3]=+h[y>>3]*.001;z=z+1|0;}while((z|0)<256);Yu(m,164304,q,0)|0;if((c[r>>2]|0)==1){y=c[g>>2]|0}else{y=0}Of(q);y=y>>>0>255?0:y;Yu(m,164320,q,0)|0;if((c[r>>2]|0)==1){z=c[g>>2]|0}else{z=255}Of(q);z=z>>>0>255?255:z;if((c[x>>2]|0)==4){oa=+h[Q>>3]}else{oa=.001}Yu(m,164336,q,0)|0;if((c[r>>2]|0)==6){m=d+44|0;c[m>>2]=c[m>>2]|1;x=c[(c[g>>2]|0)+12>>2]|0;if((x|0)<(1-y+z|0)){x=y+ -1+x|0}else{x=z}if((y|0)>(x|0)){Of(q);na=j;a[na]=1;i=p;return}z=d+1464+(y<<3)|0;A=6;l=y;while(1){if((A|0)!=6){G=193;break}ut(c[g>>2]|0,l-y|0,v)|0;A=c[s>>2]|0;do{if((A+ -1|0)>>>0<2){if((A|0)==1){pa=+(c[w>>2]|0)}else{pa=+h[w>>3]}pa=oa*pa;h[d+1464+(l<<3)>>3]=pa;if(pa==+h[z>>3]){break}c[m>>2]=c[m>>2]&-2}}while(0);Of(v);if((l|0)>=(x|0)){G=217;break}A=c[r>>2]|0;l=l+1|0}if((G|0)==193){c[u>>2]=A;c[t+4>>2]=6;Qe(0,166192,t);tc()}else if((G|0)==217){Of(q);na=j;a[na]=1;i=p;return}}if(F){r=k+20|0;if(BH(c[r>>2]|0,164344,n)|0){h[d+1720>>3]=+(e[o>>1]|0)*.001;s=0}else{s=0}do{t=c[d+176+(s<<2)>>2]|0;do{if((t|0)!=0){if(!(BH(c[r>>2]|0,t,n)|0)){break}h[d+1464+(s<<3)>>3]=+(e[o>>1]|0)*.001}}while(0);s=s+1|0;}while((s|0)<256);Of(q);na=j;a[na]=1;i=p;return}r=c[d+44>>2]|0;if((r&1|0)==0){s=(r<<1&4)+4|0}else{s=0}r=(c[73264+((r>>>17&2|s)+(r>>>6&1)<<2)>>2]|0)+20|0;if(BH(c[r>>2]|0,164344,n)|0){h[d+1720>>3]=+(e[o>>1]|0)*.001;s=0}else{s=0}do{t=c[d+176+(s<<2)>>2]|0;do{if((t|0)!=0){if(!(BH(c[r>>2]|0,t,n)|0)){break}h[d+1464+(s<<3)>>3]=+(e[o>>1]|0)*.001}}while(0);s=s+1|0;}while((s|0)<256);Of(q);na=j;a[na]=1;i=p;return}function cy(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;l=i;u=i;i=i+8|0;v=u;t=i;i=i+8|0;s=t;y=i;i=i+8|0;z=y;m=i;i=i+8|0;n=m;q=i;i=i+8|0;r=q;B=i;i=i+8|0;o=i;i=i+8|0;p=o;A=i;i=i+8|0;x=A;if((e|0)<1){c[B>>2]=b;Qe(-1,166264,B);B=0;i=l;return B|0}do{if(k){B=Fb(b|0,46)|0;if((B|0)==(b|0)){B=0;i=l;return B|0}if((B|0)==0){break}f=He(b,B-b|0)|0;B=cy(f,d,e,1,g,h,j,0)|0;Fe(f);i=l;return B|0}}while(0);do{if(g){if((Fb(b|0,95)|0)==0){break}m=Ge(b)|0;n=m;t=0;while(1){o=Fb(n|0,95)|0;p=(o|0)!=0;if(p){a[o]=0}do{if((a[n]|0)!=0){s=cy(n,d+(t<<2)|0,e-t|0,1,0,h,j,k)|0;if((s|0)==0){c[q>>2]=n;c[r+4>>2]=b;Qe(-1,166352,r);break}else{t=s+t|0;break}}}while(0);if(!p){break}if((t|0)<(e|0)){n=o+1|0}else{break}}Fe(m);B=t;i=l;return B|0}}while(0);do{if(f){k=cf(c[834]|0,b)|0;c[d>>2]=k;k=(k|0)!=0;if(k|h^1){k=k&1}else{break}i=l;return k|0}else{if(h){break}else{k=0}i=l;return k|0}}while(0);h=ZW(b|0)|0;do{if(h>>>0>6&(h&3|0)==3){if((vc(b|0,166424,3)|0)!=0){break}if((e|0)>0&h>>>0>3){k=0;j=3}else{B=0;i=l;return B|0}do{q=b+j|0;do{if((lc(a[q]|0)|0)!=0){if((lc(a[b+(j+1)|0]|0)|0)==0){break}if((lc(a[b+(j+2)|0]|0)|0)==0){break}if((lc(a[b+(j+3)|0]|0)|0)==0){break}c[m>>2]=p;Hc(q|0,166432,n|0)|0;q=c[o>>2]|0;if(!(q>>>0<55296|(q+ -57344|0)>>>0<8192)){break}c[d+(k<<2)>>2]=q;k=k+1|0}}while(0);j=j+4|0;}while((k|0)<(e|0)&j>>>0<h>>>0);i=l;return k|0}}while(0);a:do{if((h+ -5|0)>>>0<3){if((a[b]|0)!=117){w=44;break}e=b+1|0;if((lc(a[e]|0)|0)==0){w=44;break}if((lc(a[b+2|0]|0)|0)==0){w=44;break}if((lc(a[b+3|0]|0)|0)==0){w=44;break}if((lc(a[b+4|0]|0)|0)==0){w=44;break}do{if(h>>>0>=6){if((lc(a[b+5|0]|0)|0)==0){w=44;break a}if(h>>>0<7){break}if((lc(a[b+6|0]|0)|0)==0){break a}}}while(0);c[y>>2]=x;Hc(e|0,166440,z|0)|0;e=c[A>>2]|0;if(!(e>>>0<55296|(e+ -57344|0)>>>0<1056768)){w=44;break}c[d>>2]=e;B=1;i=l;return B|0}else{w=44}}while(0);do{if((w|0)==44){do{if((h|0)==3&j){if((Ab(a[b]|0)|0)==0){break}e=b+1|0;if((lc(a[e]|0)|0)==0){break}if((lc(a[b+2|0]|0)|0)==0){break}c[t>>2]=d;Hc(e|0,166440,s|0)|0;B=1;i=l;return B|0}}while(0);if(!((h|0)==2&j)){break}if((lc(a[b]|0)|0)==0){break}if((lc(a[b+1|0]|0)|0)==0){break}c[u>>2]=d;Hc(b|0,166440,v|0)|0;B=1;i=l;return B|0}}while(0);do{if(!j){if((h+ -2|0)>>>0>=3){break}if(((a[b]|0)+ -48|0)>>>0>=10){break}if(((a[b+1|0]|0)+ -48|0)>>>0>=10){break}c[d>>2]=ec(b|0)|0;B=1;i=l;return B|0}}while(0);do{if((h+ -3|0)>>>0<3){e=b+1|0;if(((a[e]|0)+ -48|0)>>>0>=10){break}if(((a[b+2|0]|0)+ -48|0)>>>0>=10){break}c[d>>2]=ec(e|0)|0;B=1;i=l;return B|0}}while(0);if((h+ -4|0)>>>0>=3){B=0;i=l;return B|0}e=b+2|0;if(((a[e]|0)+ -48|0)>>>0>=10){B=0;i=l;return B|0}if(((a[b+3|0]|0)+ -48|0)>>>0>=10){B=0;i=l;return B|0}c[d>>2]=ec(e|0)|0;B=1;i=l;return B|0}function dy(a){a=a|0;var b=0;b=i;ey(a);HW(a);i=b;return}function ey(b){b=b|0;var d=0,e=0,f=0;d=i;c[b>>2]=163592;e=0;do{do{if((a[b+1200+e|0]|0)!=0){f=c[b+176+(e<<2)>>2]|0;if((f|0)==0){break}Fe(f)}}while(0);e=e+1|0;}while((e|0)<256);uu(c[b+1456>>2]|0);e=b+3512|0;if((c[e>>2]|0)==7){Of(e)}e=b+3528|0;if((c[e>>2]|0)!=7){Wx(b);i=d;return}Of(e);Wx(b);i=d;return}function fy(a,b,e,f,g,j,k,l,m,n){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;e=i;b=d[b]|0;c[f>>2]=b;c[j>>2]=wu(c[a+1456>>2]|0,b,g)|0;h[k>>3]=+h[a+1464+(b<<3)>>3];h[n>>3]=0.0;h[m>>3]=0.0;h[l>>3]=0.0;i=e;return 1}function gy(a){a=a|0;var b=0;b=i;a=a+1456|0;tu(c[a>>2]|0);i=b;return c[a>>2]|0}function hy(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;h=i;i=i+8|0;j=h;g=ye(256,2)|0;bX(g|0,0,512)|0;if((Hn(e)|0)>0){k=0;m=-1;n=-1;l=-1;do{q=In(e,k)|0;o=Jn(e,k)|0;p=(q|0)==3;do{if(p&(o|0)==1|(q|0)==0){l=k}else{o=(o|0)==0;q=(q|0)==1&o;if(q|p^1){m=q?k:m;break}n=o?k:n}}while(0);k=k+1|0;}while((k|0)<(Hn(e)|0))}else{m=-1;n=-1;l=-1}do{if((a[d+1460|0]&1)==0){if((c[d+40>>2]|0)==1){k=8;break}if((n|0)>-1){m=n;k=15;break}m=(m|0)<0?0:m;k=15}else{k=8}}while(0);a:do{if((k|0)==8){o=(m|0)>-1;do{if(!((a[d+1461|0]&1)!=0&o)){if((l|0)<=-1){h=(c[d+44>>2]&4|0)!=0;if(h&(n|0)>-1){m=n;k=15;break a}if(h&o){k=15;break a}m=o?m:0;if(o){break}else{k=15;break a}}m=d+1456|0;n=0;while(1){o=c[d+176+(n<<2)>>2]|0;do{if((o|0)==0){k=25}else{o=cf(c[834]|0,o)|0;if((o|0)==0){k=25;break}b[g+(n<<1)>>1]=Kn(e,l,o)|0}}while(0);do{if((k|0)==25){k=0;if((wu(c[m>>2]|0,n,j)|0)<=0){break}b[g+(n<<1)>>1]=Kn(e,l,c[c[h>>2]>>2]|0)|0}}while(0);n=n+1|0;if((n|0)>=256){h=0;break a}}}}while(0);h=0;while(1){j=c[d+176+(h<<2)>>2]|0;do{if((j|0)!=0){j=bf(c[834]|0,j)|0;if((j|0)==0){break}b[g+(h<<1)>>1]=Kn(e,m,j)|0}}while(0);h=h+1|0;if((h|0)>=256){h=0;break}}}}while(0);if((k|0)==15){j=0;while(1){q=Kn(e,m,j)|0;h=g+(j<<1)|0;b[h>>1]=q;if(q<<16>>16==0){b[h>>1]=Kn(e,m,j+61440|0)|0}j=j+1|0;if((j|0)>=256){h=0;break}}}do{k=g+(h<<1)|0;do{if((b[k>>1]|0)==0){j=c[d+176+(h<<2)>>2]|0;if((j|0)==0){break}b[k>>1]=Ln(e,j)|0}}while(0);h=h+1|0;}while((h|0)<256);i=f;return g|0}function iy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;b=c[a+176+(b<<2)>>2]|0;do{if((b|0)!=0){if((c[a+3512>>2]|0)!=7){break}Yu(c[a+3520>>2]|0,b,d,0)|0;i=e;return d|0}}while(0);b=d+8|0;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=5;i=e;return d|0}function jy(a){a=a|0;var b=0;b=i;if((c[a+3528>>2]|0)!=7){a=0;i=b;return a|0}a=c[a+3536>>2]|0;i=b;return a|0}function ky(d,e,f,g,j,k){d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0.0;m=i;u=i;i=i+8|0;ia=i;i=i+8|0;ha=i;i=i+16|0;ja=ha;I=i;i=i+16|0;L=I;E=i;i=i+16|0;G=E;B=i;i=i+8|0;C=B;z=i;i=i+8|0;A=z;s=i;i=i+8|0;r=s;fa=i;i=i+8|0;ga=fa;ea=i;i=i+8|0;ca=i;i=i+16|0;da=ca;aa=i;i=i+16|0;ba=aa;_=i;i=i+16|0;$=_;Y=i;i=i+8|0;Z=Y;t=i;i=i+8|0;X=t;ka=i;i=i+8|0;V=ka;S=i;i=i+8|0;T=S;x=i;i=i+8|0;y=x;v=i;i=i+8|0;w=v;p=i;i=i+8|0;q=p;ra=i;i=i+16|0;sa=ra;ua=i;i=i+8|0;ta=ua;xa=i;i=i+16|0;wa=xa;za=i;i=i+8|0;ya=za;Fa=i;i=i+8|0;Qa=i;i=i+8|0;Na=i;i=i+16|0;Oa=Na;Ea=i;i=i+8|0;Ba=Ea;La=i;i=i+8|0;Ma=La;Ga=i;i=i+8|0;Ja=i;i=i+16|0;Ka=Ja;Ha=i;i=i+8|0;Ia=Ha;Ua=i;i=i+8|0;Pa=Ua;Sa=i;i=i+8|0;Ra=Sa;Wa=i;i=i+8|0;Ta=Wa;Ca=i;i=i+8|0;Da=Ca;ab=i;i=i+8|0;$a=ab;lb=i;i=i+8|0;eb=i;i=i+8|0;db=eb;bb=i;i=i+8|0;cb=bb;kb=i;i=i+8|0;jb=kb;nb=i;i=i+8|0;mb=nb;ub=i;i=i+8|0;rb=ub;ob=i;i=i+8|0;Ab=i;i=i+8|0;Bb=Ab;zb=i;i=i+8|0;Cb=zb;Eb=i;i=i+8|0;Fb=Eb;Gb=i;i=i+8|0;Ib=i;i=i+8|0;Hb=Ib;Jb=i;i=i+8|0;Kb=Jb;Lb=i;i=i+8|0;Mb=i;i=i+8|0;Nb=Mb;Pb=i;i=i+8|0;Qb=i;i=i+8|0;_a=Qb;Rb=i;i=i+8|0;Sb=i;i=i+8|0;Tb=Sb;Vb=i;i=i+8|0;R=i;i=i+8|0;U=R;Xa=i;i=i+8|0;Va=Xa;Ub=i;i=i+16|0;n=Ub;N=i;i=i+16|0;l=N;K=i;i=i+16|0;Q=K;J=i;i=i+16|0;W=J;H=i;i=i+16|0;P=H;F=i;i=i+16|0;O=F;D=i;i=i+16|0;M=D;wb=i;i=i+8|0;xb=wb;pb=i;i=i+16|0;sb=pb;Ob=g;Wb=c[Ob>>2]|0;Ob=c[Ob+4>>2]|0;c[d>>2]=162528;g=d+172|0;a[g]=0;Db=FW(32)|0;fe(Db,f);c[d+8>>2]=Db;Db=d+12|0;c[Db>>2]=Wb;c[Db+4>>2]=Ob;Db=d+20|0;c[Db>>2]=j;c[d+36>>2]=j;c[d+48>>2]=0;Ob=d+60|0;c[Ob>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;c[d+32>>2]=0;c[d+4>>2]=0;a[d+173|0]=0;c[d>>2]=164360;c[Ub>>2]=13;Wb=n+8|0;c[Wb>>2]=0;c[Wb+4>>2]=0;c[N>>2]=13;pa=l+8|0;c[pa>>2]=0;c[pa+4>>2]=0;c[K>>2]=13;oa=Q+8|0;c[oa>>2]=0;c[oa+4>>2]=0;c[J>>2]=13;na=W+8|0;c[na>>2]=0;c[na+4>>2]=0;c[H>>2]=13;j=P+8|0;c[j>>2]=0;c[j+4>>2]=0;c[F>>2]=13;qa=O+8|0;c[qa>>2]=0;c[qa+4>>2]=0;c[D>>2]=13;ma=M+8|0;c[ma>>2]=0;c[ma+4>>2]=0;c[d+168>>2]=1;h[d+152>>3]=.95;h[d+160>>3]=-.35;vb=d+176|0;c[vb>>2]=0;yb=d+180|0;c[yb>>2]=0;fb=d+184|0;bX(d+112|0,0,32)|0;h[fb>>3]=1.0;va=d+192|0;h[va>>3]=-1.0;Aa=d+200|0;h[Aa>>3]=.88;Za=d+208|0;Ya=d+212|0;la=d+216|0;f=d+220|0;hb=d+224|0;ib=d+228|0;bX(Za|0,0,24)|0;if((c[(Yu(k,164384,l,0)|0)>>2]|0)!=6){Qe(-1,164400,Vb);Of(l);i=m;return}Vb=c[N>>2]|0;if((Vb|0)!=6){c[Sb>>2]=Vb;c[Tb+4>>2]=6;Qe(0,166192,Tb);tc()}a:do{if((c[(ut(c[pa>>2]|0,0,n)|0)>>2]|0)==7){Of(l);Rb=c[Ub>>2]|0;if((Rb|0)!=7){c[Qb>>2]=Rb;c[_a+4>>2]=7;Qe(0,166192,_a);tc()}_a=c[Wb>>2]|0;if((Yu(_a,162424,l,0)|0)==0){Qe(-1,164488,Pb);o=243;break}Pb=162512;do{if((c[N>>2]|0)==4){Pb=c[pa>>2]|0;if((Qc(Pb|0,164536)|0)==0){c[d+40>>2]=7}else{if((Qc(Pb|0,164552)|0)!=0){break}c[d+40>>2]=10}Of(l);Zx(d,e,_a);Mb=c[Db>>2]|0;do{if((Mb|0)!=0){Nb=c[d+40>>2]|0;if((Nb|0)==1){c[Ob>>2]=gf(c[834]|0,Mb,163456)|0;break}else if((Nb|0)==5){c[Ob>>2]=gf(c[834]|0,Mb,163512)|0;break}else{break}}}while(0);if((c[(Yu(_a,164616,l,0)|0)>>2]|0)!=7){Qe(-1,164632,Lb);o=243;break a}Lb=c[N>>2]|0;if((Lb|0)!=7){c[Jb>>2]=Lb;c[Kb+4>>2]=7;Qe(0,166192,Kb);tc()}Yu(c[pa>>2]|0,164696,Q,0)|0;Jb=c[N>>2]|0;if((Jb|0)!=7){c[Ib>>2]=Jb;c[Hb+4>>2]=7;Qe(0,166192,Hb);tc()}Yu(c[pa>>2]|0,164712,W,0)|0;do{if((c[K>>2]|0)==3){if((c[J>>2]|0)!=3){break}Hb=c[oa>>2]|0;Gb=FW(32)|0;ie(Gb,Hb);Gb=me(Gb,45)|0;Hb=c[J>>2]|0;if((Hb|0)!=3){c[Eb>>2]=Hb;c[Fb+4>>2]=3;Qe(0,166192,Fb);tc()}Eb=oe(Gb,c[na>>2]|0)|0;Of(W);Of(Q);Of(l);Wb=_x(d,k,16,0)|0;c[yb>>2]=Wb;do{if((Wb|0)==0){if((te(Eb,164792)|0)==0){break}if((te(Eb,164808)|0)==0){break}Wb=xf(c[834]|0,Eb)|0;c[yb>>2]=Wb;if((Wb|0)==0){Fb=0}else{break}while(1){Gb=Fb+1|0;if((te(Eb,c[164824+(Fb<<2)>>2]|0)|0)==0){break}if(Gb>>>0<5){Fb=Gb}else{o=40;break}}if((o|0)==40){c[Ab>>2]=c[Eb+28>>2];Qe(-1,164968,Bb);break}c[zb>>2]=c[Eb+28>>2];Qe(-1,164928,Cb);if((Eb|0)==0){break a}ke(Eb);HW(Eb);break a}}while(0);zb=c[Db>>2]|0;do{if((zb|0)!=0){zb=yf(c[834]|0,zb)|0;if((zb|0)==0){break}Bb=c[yb>>2]|0;if((Bb|0)==0){c[yb>>2]=zb;break}if((c[Bb+8>>2]|0)!=0){Ab=0;do{do{if((wu(Bb,Ab,xb)|0)>0){Bb=wu(zb,c[c[wb>>2]>>2]|0,xb)|0;if((Bb|0)<=0){break}vu(c[yb>>2]|0,Ab,c[wb>>2]|0,Bb)}}while(0);Ab=Ab+1|0;Bb=c[yb>>2]|0;}while(Ab>>>0<(c[Bb+8>>2]|0)>>>0)}uu(zb)}}while(0);b:do{if((c[(Yu(k,164128,l,0)|0)>>2]|0)==4){ob=FW(32)|0;pb=c[N>>2]|0;if((pb|0)==4){fe(ob,c[pa>>2]|0);tb=zf(c[834]|0,Eb,ob,0)|0;c[vb>>2]=tb;qb=ob;break}else{c[ub>>2]=pb;c[rb+4>>2]=4;Qe(0,166192,rb);tc()}}else{do{if((c[N>>2]|0)==8){c[pb>>2]=13;rb=sb+8|0;c[rb>>2]=0;c[rb+4>>2]=0;qb=c[pa>>2]|0;Yu(jd[c[(c[qb>>2]|0)+72>>2]&511](qb)|0,165008,sb,0)|0;if((c[pb>>2]|0)==4){Wb=FW(32)|0;fe(Wb,c[rb>>2]|0);c[vb>>2]=zf(c[834]|0,Eb,Wb,qb)|0;Of(sb);tb=c[vb>>2]|0;qb=Wb;break b}else{Of(sb);break}}}while(0);Qe(-1,165024,ob);if((Eb|0)==0){o=243;break a}ke(Eb);HW(Eb);o=243;break a}}while(0);if((tb|0)==0){Wb=c[Eb+28>>2]|0;c[nb>>2]=c[qb+28>>2];c[mb+4>>2]=Wb;Qe(-1,165080,mb);if((Eb|0)!=0){ke(Eb);HW(Eb)}if((qb|0)==0){break a}ke(qb);HW(qb);break a}if((Eb|0)!=0){ke(Eb);HW(Eb)}if((qb|0)!=0){ke(qb);HW(qb)}Of(l);if(((c[d+40>>2]|0)+ -10|0)>>>0<2){Yu(_a,165128,l,0)|0;mb=c[N>>2]|0;c:do{if((mb|0)==8){c[ib>>2]=0;c[hb>>2]=ye(64,2)|0;lb=c[N>>2]|0;if((lb|0)!=8){c[kb>>2]=lb;c[jb+4>>2]=8;Qe(0,166192,jb);tc()}jb=c[pa>>2]|0;fd[c[(c[jb>>2]|0)+12>>2]&511](jb);jb=c[N>>2]|0;if((jb|0)==8){gb=64}else{Vb=jb;Wb=bb;c[Wb>>2]=Vb;Wb=cb+4|0;c[Wb>>2]=8;Wb=166192;Qe(0,Wb,cb);tc()}while(1){jb=c[pa>>2]|0;jb=jd[c[(c[jb>>2]|0)+20>>2]&511](jb)|0;if((jb|0)==-1){break c}kb=c[N>>2]|0;if((kb|0)!=8){o=78;break}kb=c[pa>>2]|0;kb=jd[c[(c[kb>>2]|0)+20>>2]&511](kb)|0;if((kb|0)==-1){break c}mb=c[ib>>2]|0;if((mb|0)==(gb|0)){gb=gb<<1;lb=Ce(c[hb>>2]|0,gb,2)|0;c[hb>>2]=lb;mb=c[ib>>2]|0}else{lb=c[hb>>2]|0}c[ib>>2]=mb+1;b[lb+(mb<<1)>>1]=kb+(jb<<8);jb=c[N>>2]|0;if((jb|0)!=8){o=75;break}}if((o|0)==75){Wb=bb;c[Wb>>2]=jb;Wb=cb+4|0;c[Wb>>2]=8;Wb=166192;Qe(0,Wb,cb);tc()}else if((o|0)==78){c[eb>>2]=kb;c[db+4>>2]=8;Qe(0,166192,db);tc()}}else if((mb|0)==4){if((Qc(c[pa>>2]|0,165144)|0)!=0){o=85}}else if((mb|0)!=5){o=85}}while(0);if((o|0)==85){Qe(-1,165160,lb)}Of(l)}do{if((c[(Yu(_a,165200,l,0)|0)>>2]|0)==1){bb=c[N>>2]|0;if((bb|0)==1){h[fb>>3]=+(c[pa>>2]|0)*.001;break}else{c[ab>>2]=bb;c[$a+4>>2]=1;Qe(0,166192,$a);tc()}}}while(0);Of(l);do{if((c[(Yu(_a,165208,l,0)|0)>>2]|0)==6){$a=c[N>>2]|0;if(($a|0)!=6){Vb=$a;Wb=Ca;c[Wb>>2]=Vb;Wb=Da+4|0;c[Wb>>2]=6;Wb=166192;Qe(0,Wb,Da);tc()}bb=1;ab=0;$a=0;d:while(1){cb=c[pa>>2]|0;if((bb|0)>=(c[cb+12>>2]|0)){o=139;break}ut(cb,$a,Q)|0;cb=c[N>>2]|0;if((cb|0)!=6){o=97;break}ut(c[pa>>2]|0,bb,W)|0;e:do{if((c[K>>2]|0)==1){db=c[J>>2]|0;do{if((db|0)==1){cb=$a+2|0;eb=c[N>>2]|0;if((eb|0)!=6){o=101;break d}eb=c[pa>>2]|0;if((cb|0)>=(c[eb+12>>2]|0)){if((db|0)==6){break}else{o=137;break e}}if(((c[(ut(eb,cb,P)|0)>>2]|0)+ -1|0)>>>0<2){if((c[Ya>>2]|0)==(ab|0)){ab=ab+16|0;c[Za>>2]=Ce(c[Za>>2]|0,ab,16)|0}bb=c[K>>2]|0;if((bb|0)!=1){o=107;break d}c[(c[Za>>2]|0)+(c[Ya>>2]<<4)>>2]=c[oa>>2];bb=c[J>>2]|0;if((bb|0)!=1){o=109;break d}c[(c[Za>>2]|0)+(c[Ya>>2]<<4)+4>>2]=c[na>>2];bb=c[H>>2]|0;if((bb+ -1|0)>>>0>=2){o=111;break d}if((bb|0)==1){Xb=+(c[j>>2]|0)}else{Xb=+h[j>>3]}h[(c[Za>>2]|0)+(c[Ya>>2]<<4)+8>>3]=Xb*.001;c[Ya>>2]=(c[Ya>>2]|0)+1}else{Qe(-1,165216,Ga)}Of(P);$a=$a+3|0;break e}else if((db|0)!=6){o=137;break e}}while(0);bb=(c[(c[na>>2]|0)+12>>2]|0)+(c[Ya>>2]|0)|0;if((bb|0)>(ab|0)){ab=bb+15&-16;c[Za>>2]=Ce(c[Za>>2]|0,ab,16)|0;bb=c[K>>2]|0;if((bb|0)!=1){o=121;break d}}db=c[J>>2]|0;if((db|0)!=6){o=124;break d}cb=c[oa>>2]|0;bb=0;while(1){db=c[na>>2]|0;if((bb|0)>=(c[db+12>>2]|0)){break}if(((c[(ut(db,bb,P)|0)>>2]|0)+ -1|0)>>>0<2){c[(c[Za>>2]|0)+(c[Ya>>2]<<4)>>2]=cb;c[(c[Za>>2]|0)+(c[Ya>>2]<<4)+4>>2]=cb;db=c[H>>2]|0;if((db+ -1|0)>>>0>=2){o=128;break d}if((db|0)==1){Xb=+(c[j>>2]|0)}else{Xb=+h[j>>3]}h[(c[Za>>2]|0)+(c[Ya>>2]<<4)+8>>3]=Xb*.001;c[Ya>>2]=(c[Ya>>2]|0)+1;cb=cb+1|0}else{Qe(-1,165216,Qa)}Of(P);db=c[J>>2]|0;if((db|0)!=6){o=124;break d}bb=bb+1|0}$a=$a+2|0}else{o=137}}while(0);if((o|0)==137){o=0;Qe(-1,165216,Fa);$a=bb}Of(W);Of(Q);bb=c[N>>2]|0;if((bb|0)==6){bb=$a+1|0}else{o=94;break}}if((o|0)==94){Wb=Ca;c[Wb>>2]=bb;Wb=Da+4|0;c[Wb>>2]=6;Wb=166192;Qe(0,Wb,Da);tc()}else if((o|0)==97){c[Wa>>2]=cb;c[Ta+4>>2]=6;Qe(0,166192,Ta);tc()}else if((o|0)==101){c[Sa>>2]=eb;c[Ra+4>>2]=6;Qe(0,166192,Ra);tc()}else if((o|0)==107){c[Ua>>2]=bb;c[Pa+4>>2]=1;Qe(0,166192,Pa);tc()}else if((o|0)==109){c[Ha>>2]=bb;c[Ia+4>>2]=1;Qe(0,166192,Ia);tc()}else if((o|0)==111){c[Ja>>2]=bb;c[Ka+4>>2]=1;c[Ka+8>>2]=2;Qe(0,167792,Ka);tc()}else if((o|0)==121){c[La>>2]=bb;c[Ma+4>>2]=1;Qe(0,166192,Ma);tc()}else if((o|0)==124){c[Ea>>2]=db;c[Ba+4>>2]=6;Qe(0,166192,Ba);tc()}else if((o|0)==128){c[Na>>2]=db;c[Oa+4>>2]=1;c[Oa+8>>2]=2;Qe(0,167792,Oa);tc()}else if((o|0)==139){Vb=c[Za>>2]|0;Wb=Vb+(c[Ya>>2]<<4)|0;c[Xa>>2]=187;Dy(Vb,Wb,Va);break}}}while(0);Of(l);do{if((c[(Yu(_a,165248,l,0)|0)>>2]|0)==6){Ba=c[N>>2]|0;if((Ba|0)!=6){c[za>>2]=Ba;c[ya+4>>2]=6;Qe(0,166192,ya);tc()}ya=c[pa>>2]|0;if((c[ya+12>>2]|0)!=2){break}if(((c[(ut(ya,0,Q)|0)>>2]|0)+ -1|0)>>>0<2){ya=c[K>>2]|0;if((ya+ -1|0)>>>0>=2){c[xa>>2]=ya;c[wa+4>>2]=1;c[wa+8>>2]=2;Qe(0,167792,wa);tc()}if((ya|0)==1){Xb=+(c[oa>>2]|0)}else{Xb=+h[oa>>3]}h[Aa>>3]=Xb*.001}Of(Q);wa=c[N>>2]|0;if((wa|0)!=6){c[ua>>2]=wa;c[ta+4>>2]=6;Qe(0,166192,ta);tc()}if(((c[(ut(c[pa>>2]|0,1,Q)|0)>>2]|0)+ -1|0)>>>0<2){ta=c[K>>2]|0;if((ta+ -1|0)>>>0>=2){c[ra>>2]=ta;c[sa+4>>2]=1;c[sa+8>>2]=2;Qe(0,167792,sa);tc()}if((ta|0)==1){Xb=+(c[oa>>2]|0)}else{Xb=+h[oa>>3]}h[va>>3]=Xb*.001}Of(Q)}}while(0);Of(l);do{if((c[(Yu(_a,165256,l,0)|0)>>2]|0)==6){ra=c[N>>2]|0;if((ra|0)!=6){Vb=ra;Wb=p;c[Wb>>2]=Vb;Wb=q+4|0;c[Wb>>2]=6;Wb=166192;Qe(0,Wb,q);tc()}ta=1;sa=0;ra=0;f:while(1){ua=c[pa>>2]|0;if((ta|0)>=(c[ua+12>>2]|0)){o=241;break}ut(ua,ra,Q)|0;ua=c[N>>2]|0;if((ua|0)!=6){o=167;break}ut(c[pa>>2]|0,ta,W)|0;g:do{if((c[K>>2]|0)==1){va=c[J>>2]|0;do{if((va|0)==1){ua=ra+4|0;wa=c[N>>2]|0;if((wa|0)!=6){o=171;break f}wa=c[pa>>2]|0;if((ua|0)>=(c[wa+12>>2]|0)){if((va|0)==6){break}else{o=239;break g}}do{if(((c[(ut(wa,ra+2|0,P)|0)>>2]|0)+ -1|0)>>>0<2){ta=c[N>>2]|0;if((ta|0)!=6){o=175;break f}if(((c[(ut(c[pa>>2]|0,ra+3|0,O)|0)>>2]|0)+ -1|0)>>>0>=2){o=202;break}ta=c[N>>2]|0;if((ta|0)!=6){o=178;break f}if(((c[(ut(c[pa>>2]|0,ua,M)|0)>>2]|0)+ -1|0)>>>0>=2){o=202;break}if((c[f>>2]|0)==(sa|0)){sa=sa+16|0;c[la>>2]=Ce(c[la>>2]|0,sa,32)|0}ta=c[K>>2]|0;if((ta|0)!=1){o=183;break f}c[(c[la>>2]|0)+(c[f>>2]<<5)>>2]=c[oa>>2];ta=c[J>>2]|0;if((ta|0)!=1){o=185;break f}c[(c[la>>2]|0)+(c[f>>2]<<5)+4>>2]=c[na>>2];ta=c[H>>2]|0;if((ta+ -1|0)>>>0>=2){o=187;break f}if((ta|0)==1){Xb=+(c[j>>2]|0)}else{Xb=+h[j>>3]}h[(c[la>>2]|0)+(c[f>>2]<<5)+8>>3]=Xb*.001;ta=c[F>>2]|0;if((ta+ -1|0)>>>0>=2){o=192;break f}if((ta|0)==1){Xb=+(c[qa>>2]|0)}else{Xb=+h[qa>>3]}h[(c[la>>2]|0)+(c[f>>2]<<5)+16>>3]=Xb*.001;ta=c[D>>2]|0;if((ta+ -1|0)>>>0>=2){o=197;break f}if((ta|0)==1){Xb=+(c[ma>>2]|0)}else{Xb=+h[ma>>3]}h[(c[la>>2]|0)+(c[f>>2]<<5)+24>>3]=Xb*.001;c[f>>2]=(c[f>>2]|0)+1}else{o=202}}while(0);if((o|0)==202){o=0;Qe(-1,165264,ea)}Of(M);Of(O);Of(P);ra=ra+5|0;break g}else if((va|0)!=6){o=239;break g}}while(0);ta=((c[(c[na>>2]|0)+12>>2]|0)/3|0)+(c[f>>2]|0)|0;if((ta|0)>(sa|0)){sa=ta+15&-16;c[la>>2]=Ce(c[la>>2]|0,sa,32)|0;ta=c[K>>2]|0;if((ta|0)!=1){o=207;break f}}va=c[J>>2]|0;if((va|0)!=6){o=210;break f}ua=c[oa>>2]|0;ta=0;while(1){va=c[na>>2]|0;if((ta|0)>=(c[va+12>>2]|0)){break}do{if(((c[(ut(va,ta,P)|0)>>2]|0)+ -1|0)>>>0<2){va=c[J>>2]|0;if((va|0)!=6){o=214;break f}if(((c[(ut(c[na>>2]|0,ta+1|0,O)|0)>>2]|0)+ -1|0)>>>0>=2){o=235;break}va=c[J>>2]|0;if((va|0)!=6){o=217;break f}if(((c[(ut(c[na>>2]|0,ta+2|0,M)|0)>>2]|0)+ -1|0)>>>0>=2){o=235;break}c[(c[la>>2]|0)+(c[f>>2]<<5)>>2]=ua;c[(c[la>>2]|0)+(c[f>>2]<<5)+4>>2]=ua;va=c[H>>2]|0;if((va+ -1|0)>>>0>=2){o=220;break f}if((va|0)==1){Xb=+(c[j>>2]|0)}else{Xb=+h[j>>3]}h[(c[la>>2]|0)+(c[f>>2]<<5)+8>>3]=Xb*.001;va=c[F>>2]|0;if((va+ -1|0)>>>0>=2){o=225;break f}if((va|0)==1){Xb=+(c[qa>>2]|0)}else{Xb=+h[qa>>3]}h[(c[la>>2]|0)+(c[f>>2]<<5)+16>>3]=Xb*.001;va=c[D>>2]|0;if((va+ -1|0)>>>0>=2){o=230;break f}if((va|0)==1){Xb=+(c[ma>>2]|0)}else{Xb=+h[ma>>3]}h[(c[la>>2]|0)+(c[f>>2]<<5)+24>>3]=Xb*.001;c[f>>2]=(c[f>>2]|0)+1;ua=ua+1|0}else{o=235}}while(0);if((o|0)==235){o=0;Qe(-1,165264,ia)}Of(M);Of(O);Of(P);va=c[J>>2]|0;if((va|0)!=6){o=210;break f}ta=ta+3|0}ra=ra+2|0}else{o=239}}while(0);if((o|0)==239){o=0;Qe(-1,165264,u);ra=ta}Of(W);Of(Q);ta=c[N>>2]|0;if((ta|0)==6){ta=ra+1|0}else{o=164;break}}if((o|0)==164){Wb=p;c[Wb>>2]=ta;Wb=q+4|0;c[Wb>>2]=6;Wb=166192;Qe(0,Wb,q);tc()}else if((o|0)==167){c[v>>2]=ua;c[w+4>>2]=6;Qe(0,166192,w);tc()}else if((o|0)==171){c[x>>2]=wa;c[y+4>>2]=6;Qe(0,166192,y);tc()}else if((o|0)==175){c[S>>2]=ta;c[T+4>>2]=6;Qe(0,166192,T);tc()}else if((o|0)==178){c[ka>>2]=ta;c[V+4>>2]=6;Qe(0,166192,V);tc()}else if((o|0)==183){c[t>>2]=ta;c[X+4>>2]=1;Qe(0,166192,X);tc()}else if((o|0)==185){c[Y>>2]=ta;c[Z+4>>2]=1;Qe(0,166192,Z);tc()}else if((o|0)==187){c[_>>2]=ta;c[$+4>>2]=1;c[$+8>>2]=2;Qe(0,167792,$);tc()}else if((o|0)==192){c[aa>>2]=ta;c[ba+4>>2]=1;c[ba+8>>2]=2;Qe(0,167792,ba);tc()}else if((o|0)==197){c[ca>>2]=ta;c[da+4>>2]=1;c[da+8>>2]=2;Qe(0,167792,da);tc()}else if((o|0)==207){c[fa>>2]=ta;c[ga+4>>2]=1;Qe(0,166192,ga);tc()}else if((o|0)==210){c[s>>2]=va;c[r+4>>2]=6;Qe(0,166192,r);tc()}else if((o|0)==214){c[z>>2]=va;c[A+4>>2]=6;Qe(0,166192,A);tc()}else if((o|0)==217){c[B>>2]=va;c[C+4>>2]=6;Qe(0,166192,C);tc()}else if((o|0)==220){c[E>>2]=va;c[G+4>>2]=1;c[G+8>>2]=2;Qe(0,167792,G);tc()}else if((o|0)==225){c[I>>2]=va;c[L+4>>2]=1;c[L+8>>2]=2;Qe(0,167792,L);tc()}else if((o|0)==230){c[ha>>2]=va;c[ja+4>>2]=1;c[ja+8>>2]=2;Qe(0,167792,ja);tc()}else if((o|0)==241){Vb=c[la>>2]|0;Wb=Vb+(c[f>>2]<<5)|0;c[R>>2]=188;Ay(Vb,Wb,U);break}}}while(0);Of(l);Of(n);a[g]=1;i=m;return}}while(0);Qe(-1,164728,Gb);Of(W);Of(Q);o=243;break a}}while(0);c[Mb>>2]=Pb;Qe(-1,164568,Nb);o=243}else{Qe(-1,164448,Rb);o=243}}while(0);if((o|0)==243){Of(l)}Of(n);i=m;return}function ly(a,b){a=a|0;b=b|0;i=i;return(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0|0}function my(a,b){a=a|0;b=b|0;i=i;return(c[a>>2]|0)>>>0<(c[b>>2]|0)>>>0|0}function ny(a){a=a|0;var b=0;b=i;oy(a);HW(a);i=b;return}function oy(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=164360;d=c[a+176>>2]|0;if((d|0)!=0){Gt(d)}d=c[a+180>>2]|0;if((d|0)!=0){uu(d)}Fe(c[a+208>>2]|0);Fe(c[a+216>>2]|0);d=c[a+224>>2]|0;if((d|0)==0){Wx(a);i=b;return}Fe(d);Wx(a);i=b;return}function py(b,e,f,g,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0,w=0,x=0.0,y=0;p=i;q=i;i=i+8|0;s=b+176|0;v=c[s>>2]|0;if((v|0)==0){c[g>>2]=0;c[k>>2]=0;h[m>>3]=0.0;h[l>>3]=0.0;y=1;i=p;return y|0}f=It(v,e,f,q)|0;c[g>>2]=f;g=c[b+180>>2]|0;do{if((g|0)==0){c[k>>2]=0}else{if((a[b+173|0]&1)==0){c[k>>2]=wu(g,f,j)|0;break}v=c[q>>2]|0;if((v|0)>0){w=0;y=0;while(1){w=d[e+y|0]|0|w<<8;y=y+1|0;if((y|0)<(v|0)){}else{break}}}else{w=0}c[k>>2]=wu(g,w,j)|0}}while(0);do{if((c[(c[s>>2]|0)+8>>2]|0)==0){u=+h[b+184>>3];e=c[b+212>>2]|0;if((e|0)<=0){x=0.0;t=0.0;r=0.0;break}b=c[b+208>>2]|0;if(f>>>0<(c[b>>2]|0)>>>0){x=0.0;t=0.0;r=0.0;break}if((e|0)>1){k=0;while(1){j=(e+k|0)/2|0;s=(c[b+(j<<4)>>2]|0)>>>0>f>>>0;k=s?k:j;e=s?j:e;if((e-k|0)>1){}else{break}}}else{k=0}if(f>>>0>(c[b+(k<<4)+4>>2]|0)>>>0){x=0.0;t=0.0;r=0.0;break}x=0.0;t=0.0;r=0.0;u=+h[b+(k<<4)+8>>3]}else{u=+h[b+192>>3];t=+h[b+184>>3]*.5;r=+h[b+200>>3];e=c[b+220>>2]|0;if((e|0)<=0){x=u;u=0.0;break}b=c[b+216>>2]|0;if(f>>>0<(c[b>>2]|0)>>>0){x=u;u=0.0;break}if((e|0)>1){s=0;while(1){k=(e+s|0)/2|0;j=(c[b+(k<<5)+4>>2]|0)>>>0>f>>>0;s=j?s:k;e=j?k:e;if((e-s|0)>1){}else{break}}}else{s=0}if(f>>>0>(c[b+(s<<5)+4>>2]|0)>>>0){x=u;u=0.0;break}x=+h[b+(s<<5)+8>>3];t=+h[b+(s<<5)+16>>3];r=+h[b+(s<<5)+24>>3];u=0.0}}while(0);h[l>>3]=u;h[m>>3]=x;h[n>>3]=t;h[o>>3]=r;y=c[q>>2]|0;i=p;return y|0}function qy(a){a=a|0;var b=0;b=i;a=c[a+176>>2]|0;if((a|0)==0){a=0;i=b;return a|0}a=c[a+8>>2]|0;i=b;return a|0}function ry(a){a=a|0;var b=0,d=0;b=i;d=a+180|0;a=c[d>>2]|0;if((a|0)==0){d=0;i=b;return d|0}tu(a);d=c[d>>2]|0;i=b;return d|0}function sy(a){a=a|0;var b=0;b=i;a=c[a+176>>2]|0;if((a|0)==0){a=0;i=b;return a|0}a=c[a>>2]|0;i=b;return a|0}function ty(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=i;t=i;i=i+8|0;u=t;l=i;i=i+32|0;s=i;i=i+8|0;r=s;m=i;i=i+32|0;o=i;i=i+8|0;q=o;c[e>>2]=0;n=a+180|0;if((c[n>>2]|0)==0){x=0;i=f;return x|0}k=a+176|0;g=c[k>>2]|0;if((g|0)==0){g=0}else{g=c[g>>2]|0}if((te(g,164792)|0)==0){x=0;i=f;return x|0}if((c[a+52>>2]|0)>-1){c[e>>2]=c[a+228>>2];x=c[a+224>>2]|0;i=f;return x|0}if((Hn(d)|0)>0){h=-1;g=0}else{x=0;i=f;return x|0}while(1){p=In(d,g)|0;v=Jn(d,g)|0;j=(p|0)==3;if(j&(v|0)==10){break}if(j&(v|0)==1){h=g}else{h=(p|0)==0&(h|0)<0?g:h}g=g+1|0;if((g|0)>=(Hn(d)|0)){g=h;break}}if((g|0)<0){x=0;i=f;return x|0}p=jd[c[(c[a>>2]|0)+8>>2]&511](a)|0;w=c[k>>2]|0;h=c[(c[w>>2]|0)+28>>2]|0;x=164848;v=165816;while(1){j=v+16|0;if((Qc(x|0,h|0)|0)==0){break}x=c[j>>2]|0;if((x|0)==0){v=j;break}else{v=j}}h=GW(262144)|0;j=GW(524288)|0;bX(j|0,0,524288)|0;do{if((c[v>>2]|0)==0){c[t>>2]=c[(c[w>>2]|0)+28>>2];Qe(-1,166024,u);k=jd[c[(c[a>>2]|0)+4>>2]&511](a)|0;c[n>>2]=k;if((k|0)==0){o=0;break}else{l=0}do{if((wu(k,l,q)|0)==0){c[j+(l<<1<<2)>>2]=0}else{c[j+(l<<1<<2)>>2]=c[c[o>>2]>>2]}c[j+((l<<1|1)<<2)>>2]=0;l=l+1|0;k=c[n>>2]|0}while(l>>>0<65536);uu(k);o=0}else{fe(l,c[v+8>>2]|0);o=ou(l,16)|0;if((o|0)!=0){n=0;do{if((wu(o,n,r)|0)==1){c[h+(n<<2)>>2]=c[c[s>>2]>>2]}else{c[h+(n<<2)>>2]=0}n=n+1|0;}while(n>>>0<65536);su(o);HW(o)}o=GW(262144)|0;bX(o|0,0,262144)|0;n=c[v+12>>2]|0;q=c[n>>2]|0;if((q|0)!=0){do{fe(m,q);q=c[k>>2]|0;if((q|0)==0){q=0}else{q=c[q>>2]|0}q=zf(c[834]|0,q,m,0)|0;if((q|0)!=0){if((c[q+8>>2]|0)==0){Kt(q,j,65536,2)}else{Kt(q,o,65536,1)}Gt(q)}ke(m);n=n+4|0;q=c[n>>2]|0;}while((q|0)!=0)}On(d,c[v+4>>2]|0)|0;ke(l)}}while(0);l=ye(65536,2)|0;k=(j|0)!=0;m=(o|0)==0;n=(h|0)==0;p=(p|0)==0;q=0;do{a:do{if(k){s=q<<1;t=0;u=0;do{r=c[j+(u+s<<2)>>2]|0;if((r|0)==0){r=0;break a}x=Kn(d,g,r)|0;t=x&65535;u=u+1|0;}while((u|0)<2&x<<16>>16==0)}else{t=0;r=0}}while(0);do{if(!((t|0)!=0|m)){r=c[o+(q<<2)>>2]|0;if((r|0)==0){t=0;r=0;break}t=Kn(d,g,r)|0;s=Qn(d,t&65535)|0;x=(s&65535|0)==0?t:s&65535;t=x&65535;if(x<<16>>16!=0|n){break}r=c[h+(q<<2)>>2]|0;if((r|0)==0){r=0;break}s=Kn(d,g,r)|0;t=Qn(d,s&65535)|0;t=((t&65535|0)==0?s:t&65535)&65535}}while(0);do{if((t|0)!=0|n){u=r;s=52}else{u=c[h+(q<<2)>>2]|0;if((u|0)==0){r=0;u=0;s=53;break}t=(Kn(d,g,u)|0)&65535;s=52}}while(0);if((s|0)==52){s=0;r=t&65535;if((t|0)==0){s=53}}b:do{if((s|0)==53){if(k){s=c[j+(q<<2)>>2]|0}else{s=u}if((s|0)==0){break}else{t=8192;u=165304}while(1){u=u+4|0;if((t|0)==(s|0)){break}t=c[u>>2]|0;if((t|0)==0){break b}else{}}r=Kn(d,g,32)|0;if(p){break}s=Qn(d,r&65535)|0;r=(s&65535|0)==0?r:s&65535}}while(0);b[l+(q<<1)>>1]=r;q=q+1|0;}while(q>>>0<65536);c[e>>2]=65536;if((j|0)!=0){IW(j)}if(!n){IW(h)}if(m){x=l;i=f;return x|0}IW(o);x=l;i=f;return x|0}function uy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=i;p=i;i=i+8|0;r=p;k=i;i=i+8|0;g=i;i=i+8|0;h=g;u=i;i=i+16|0;l=u;s=i;i=i+16|0;m=s;q=i;i=i+8|0;c[u>>2]=13;t=l+8|0;c[t>>2]=0;c[t+4>>2]=0;c[s>>2]=13;o=m+8|0;c[o>>2]=0;c[o+4>>2]=0;A=c[f+16>>2]|0;n=b+4|0;c[n>>2]=A;c[b>>2]=ye(A,4)|0;if((c[n>>2]|0)<=0){i=j;return}v=q+4|0;w=(e|0)==0;x=0;a:while(1){bv(f,x,l)|0;Nf(l,d,m,0)|0;do{if((c[s>>2]|0)==7){do{if((c[u>>2]|0)==9){z=t;A=c[z>>2]|0;z=c[z+4>>2]|0}else{if(w){A=x;z=999999;break}A=x;z=(c[e>>2]|0)+1e5|0}}while(0);y=$u(f,x)|0;c[q>>2]=A;c[v>>2]=z;z=c[s>>2]|0;if((z|0)!=7){k=9;break a}A=c[o>>2]|0;$W(p|0,q|0,8)|0;y=Ux(d,y,r,A)|0;c[(c[b>>2]|0)+(x<<2)>>2]=y;y=c[(c[b>>2]|0)+(x<<2)>>2]|0;if((y|0)==0){break}if((a[y+172|0]&1)!=0){break}z=y+168|0;A=(c[z>>2]|0)+ -1|0;c[z>>2]=A;if((A|0)==0){fd[c[(c[y>>2]|0)+20>>2]&511](y)}c[(c[b>>2]|0)+(x<<2)>>2]=0}else{Qe(-1,166064,k);c[(c[b>>2]|0)+(x<<2)>>2]=0}}while(0);Of(l);Of(m);x=x+1|0;if((x|0)>=(c[n>>2]|0)){k=17;break}}if((k|0)==9){c[g>>2]=z;c[h+4>>2]=7;Qe(0,166192,h);tc()}else if((k|0)==17){i=j;return}}function vy(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;d=a+4|0;f=c[a>>2]|0;if((c[d>>2]|0)>0){e=0}else{Fe(f);i=b;return}do{f=c[f+(e<<2)>>2]|0;do{if((f|0)!=0){h=f+168|0;g=(c[h>>2]|0)+ -1|0;c[h>>2]=g;if((g|0)!=0){break}fd[c[(c[f>>2]|0)+20>>2]&511](f)}}while(0);e=e+1|0;f=c[a>>2]|0}while((e|0)<(c[d>>2]|0));Fe(f);i=b;return}function wy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;f=a+4|0;g=c[f>>2]|0;if((g|0)<=0){j=0;i=e;return j|0}h=0;while(1){j=c[(c[a>>2]|0)+(h<<2)>>2]|0;if((j|0)!=0){if((te(c[j+8>>2]|0,b)|0)==0){break}g=c[f>>2]|0}h=h+1|0;if((h|0)>=(g|0)){f=0;d=8;break}}if((d|0)==8){i=e;return f|0}j=c[(c[a>>2]|0)+(h<<2)>>2]|0;i=e;return j|0}function xy(a){a=a|0;i=i;return 0}function yy(a){a=a|0;i=i;return 0}function zy(a){a=a|0;i=i;return-1}function Ay(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=i;l=i;i=i+32|0;q=i;i=i+32|0;r=i;i=i+32|0;p=i;i=i+32|0;o=i;i=i+32|0;E=i;i=i+32|0;G=i;i=i+32|0;C=i;i=i+32|0;F=i;i=i+32|0;D=i;i=i+32|0;z=i;i=i+32|0;A=i;i=i+32|0;y=i;i=i+32|0;B=i;i=i+32|0;g=i;i=i+32|0;f=g;h=i;i=i+32|0;j=i;i=i+32|0;n=i;i=i+32|0;k=i;i=i+32|0;u=i;i=i+32|0;s=i;i=i+32|0;t=i;i=i+32|0;w=i;i=i+32|0;v=i;i=i+32|0;M=i;i=i+32|0;L=i;i=i+32|0;I=i;i=i+32|0;H=i;i=i+32|0;x=i;i=i+32|0;J=i;i=i+32|0;a:while(1){m=b+ -32|0;b:while(1){O=b-a|0;Q=O>>5;switch(Q|0){case 3:{K=6;break a};case 5:{K=15;break a};case 4:{K=14;break a};case 2:{K=4;break a};case 1:case 0:{K=81;break a};default:{}}if((O|0)<992){K=21;break a}P=(Q|0)/2|0;N=a+(P<<5)|0;do{if((O|0)>31968){Q=(Q|0)/4|0;O=a+(Q<<5)|0;P=a+(Q+P<<5)|0;Q=By(a,O,N,P,d)|0;if(!(Bd[c[d>>2]&255](m,P)|0)){break}$W(B|0,P|0,32)|0;$W(P|0,m|0,32)|0;$W(m|0,B|0,32)|0;if(!(Bd[c[d>>2]&255](P,N)|0)){Q=Q+1|0;break}$W(A|0,N|0,32)|0;$W(N|0,P|0,32)|0;$W(P|0,A|0,32)|0;if(!(Bd[c[d>>2]&255](N,O)|0)){Q=Q+2|0;break}$W(z|0,O|0,32)|0;$W(O|0,N|0,32)|0;$W(N|0,z|0,32)|0;if(!(Bd[c[d>>2]&255](O,a)|0)){Q=Q+3|0;break}$W(y|0,a|0,32)|0;$W(a|0,O|0,32)|0;$W(O|0,y|0,32)|0;Q=Q+4|0}else{S=Bd[c[d>>2]&255](N,a)|0;O=Bd[c[d>>2]&255](m,N)|0;if(!S){if(!O){Q=0;break}$W(D|0,N|0,32)|0;$W(N|0,m|0,32)|0;$W(m|0,D|0,32)|0;if(!(Bd[c[d>>2]&255](N,a)|0)){Q=1;break}$W(C|0,a|0,32)|0;$W(a|0,N|0,32)|0;$W(N|0,C|0,32)|0;Q=2;break}if(O){$W(E|0,a|0,32)|0;$W(a|0,m|0,32)|0;$W(m|0,E|0,32)|0;Q=1;break}$W(G|0,a|0,32)|0;$W(a|0,N|0,32)|0;$W(N|0,G|0,32)|0;if(!(Bd[c[d>>2]&255](m,N)|0)){Q=1;break}$W(F|0,N|0,32)|0;$W(N|0,m|0,32)|0;$W(m|0,F|0,32)|0;Q=2}}while(0);do{if(Bd[c[d>>2]&255](a,N)|0){P=m}else{P=m;while(1){P=P+ -32|0;if((a|0)==(P|0)){break}if(Bd[c[d>>2]&255](P,N)|0){K=64;break}else{}}if((K|0)==64){K=0;$W(I|0,a|0,32)|0;$W(a|0,P|0,32)|0;$W(P|0,I|0,32)|0;Q=Q+1|0;break}O=a+32|0;if(!(Bd[c[d>>2]&255](a,m)|0)){if((O|0)==(m|0)){K=81;break a}while(1){N=O+32|0;if(Bd[c[d>>2]&255](a,O)|0){break}if((N|0)==(m|0)){K=81;break a}else{O=N}}$W(x|0,O|0,32)|0;$W(O|0,m|0,32)|0;$W(m|0,x|0,32)|0;O=N}if((O|0)==(m|0)){K=81;break a}else{N=m}while(1){P=O;while(1){O=P+32|0;if(Bd[c[d>>2]&255](a,P)|0){break}else{P=O}}do{N=N+ -32|0;}while(Bd[c[d>>2]&255](a,N)|0);if(P>>>0>=N>>>0){a=P;continue b}$W(H|0,P|0,32)|0;$W(P|0,N|0,32)|0;$W(N|0,H|0,32)|0}}}while(0);O=a+32|0;c:do{if(O>>>0<P>>>0){while(1){S=O;while(1){O=S+32|0;if(Bd[c[d>>2]&255](S,N)|0){S=O}else{R=P;break}}do{R=R+ -32|0;}while(!(Bd[c[d>>2]&255](R,N)|0));if(S>>>0>R>>>0){O=S;break c}$W(L|0,S|0,32)|0;$W(S|0,R|0,32)|0;$W(R|0,L|0,32)|0;P=R;N=(N|0)==(S|0)?R:N;Q=Q+1|0}}}while(0);do{if((O|0)!=(N|0)){if(!(Bd[c[d>>2]&255](N,O)|0)){break}$W(M|0,O|0,32)|0;$W(O|0,N|0,32)|0;$W(N|0,M|0,32)|0;Q=Q+1|0}}while(0);if((Q|0)==0){P=Cy(a,O,d)|0;N=O+32|0;if(Cy(N,b,d)|0){K=76;break}if(P){a=N;continue}}if((O-a|0)>=(b-O|0)){K=80;break}Ay(a,O,d);a=O+32|0}if((K|0)==76){K=0;if(P){K=81;break}else{b=O;continue}}else if((K|0)==80){K=0;Ay(O+32|0,b,d);b=O;continue}}if((K|0)==4){if(!(Bd[c[d>>2]&255](m,a)|0)){i=e;return}$W(J|0,a|0,32)|0;$W(a|0,m|0,32)|0;$W(m|0,J|0,32)|0;i=e;return}else if((K|0)==6){f=a+32|0;S=Bd[c[d>>2]&255](f,a)|0;g=Bd[c[d>>2]&255](m,f)|0;if(!S){if(!g){i=e;return}$W(v|0,f|0,32)|0;$W(f|0,m|0,32)|0;$W(m|0,v|0,32)|0;if(!(Bd[c[d>>2]&255](f,a)|0)){i=e;return}$W(t|0,a|0,32)|0;$W(a|0,f|0,32)|0;$W(f|0,t|0,32)|0;i=e;return}if(g){$W(u|0,a|0,32)|0;$W(a|0,m|0,32)|0;$W(m|0,u|0,32)|0;i=e;return}$W(s|0,a|0,32)|0;$W(a|0,f|0,32)|0;$W(f|0,s|0,32)|0;if(!(Bd[c[d>>2]&255](m,f)|0)){i=e;return}$W(w|0,f|0,32)|0;$W(f|0,m|0,32)|0;$W(m|0,w|0,32)|0;i=e;return}else if((K|0)==14){By(a,a+32|0,a+64|0,m,d)|0;i=e;return}else if((K|0)==15){g=a+32|0;b=a+64|0;f=a+96|0;By(a,g,b,f,d)|0;if(!(Bd[c[d>>2]&255](m,f)|0)){i=e;return}$W(k|0,f|0,32)|0;$W(f|0,m|0,32)|0;$W(m|0,k|0,32)|0;if(!(Bd[c[d>>2]&255](f,b)|0)){i=e;return}$W(j|0,b|0,32)|0;$W(b|0,f|0,32)|0;$W(f|0,j|0,32)|0;if(!(Bd[c[d>>2]&255](b,g)|0)){i=e;return}$W(h|0,g|0,32)|0;$W(g|0,b|0,32)|0;$W(b|0,h|0,32)|0;if(!(Bd[c[d>>2]&255](g,a)|0)){i=e;return}$W(n|0,a|0,32)|0;$W(a|0,g|0,32)|0;$W(g|0,n|0,32)|0;i=e;return}else if((K|0)==21){h=a+64|0;j=a+32|0;S=Bd[c[d>>2]&255](j,a)|0;k=Bd[c[d>>2]&255](h,j)|0;do{if(S){if(k){$W(l|0,a|0,32)|0;$W(a|0,h|0,32)|0;$W(h|0,l|0,32)|0;break}$W(q|0,a|0,32)|0;$W(a|0,j|0,32)|0;$W(j|0,q|0,32)|0;if(!(Bd[c[d>>2]&255](h,j)|0)){break}$W(p|0,j|0,32)|0;$W(j|0,h|0,32)|0;$W(h|0,p|0,32)|0}else{if(!k){break}$W(o|0,j|0,32)|0;$W(j|0,h|0,32)|0;$W(h|0,o|0,32)|0;if(!(Bd[c[d>>2]&255](j,a)|0)){break}$W(r|0,a|0,32)|0;$W(a|0,j|0,32)|0;$W(j|0,r|0,32)|0}}while(0);j=a+96|0;if((j|0)==(b|0)){i=e;return}while(1){if(Bd[c[d>>2]&255](j,h)|0){$W(g|0,j|0,32)|0;k=j;while(1){$W(k|0,h|0,32)|0;if((h|0)==(a|0)){break}k=h+ -32|0;if(Bd[c[d>>2]&255](f,k)|0){S=h;h=k;k=S}else{break}}$W(h|0,g|0,32)|0}h=j+32|0;if((h|0)==(b|0)){break}else{S=j;j=h;h=S}}i=e;return}else if((K|0)==81){i=e;return}}function By(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;n=i;i=i+32|0;p=i;i=i+32|0;l=i;i=i+32|0;o=i;i=i+32|0;m=i;i=i+32|0;h=i;i=i+32|0;g=i;i=i+32|0;j=i;i=i+32|0;r=Bd[c[f>>2]&255](b,a)|0;q=Bd[c[f>>2]&255](d,b)|0;do{if(r){if(q){$W(n|0,a|0,32)|0;$W(a|0,d|0,32)|0;$W(d|0,n|0,32)|0;l=1;break}$W(p|0,a|0,32)|0;$W(a|0,b|0,32)|0;$W(b|0,p|0,32)|0;if(!(Bd[c[f>>2]&255](d,b)|0)){l=1;break}$W(o|0,b|0,32)|0;$W(b|0,d|0,32)|0;$W(d|0,o|0,32)|0;l=2}else{if(!q){l=0;break}$W(m|0,b|0,32)|0;$W(b|0,d|0,32)|0;$W(d|0,m|0,32)|0;if(!(Bd[c[f>>2]&255](b,a)|0)){l=1;break}$W(l|0,a|0,32)|0;$W(a|0,b|0,32)|0;$W(b|0,l|0,32)|0;l=2}}while(0);if(!(Bd[c[f>>2]&255](e,d)|0)){r=l;i=k;return r|0}$W(j|0,d|0,32)|0;$W(d|0,e|0,32)|0;$W(e|0,j|0,32)|0;if(!(Bd[c[f>>2]&255](d,b)|0)){r=l+1|0;i=k;return r|0}$W(h|0,b|0,32)|0;$W(b|0,d|0,32)|0;$W(d|0,h|0,32)|0;if(!(Bd[c[f>>2]&255](b,a)|0)){r=l+2|0;i=k;return r|0}$W(g|0,a|0,32)|0;$W(a|0,b|0,32)|0;$W(b|0,g|0,32)|0;r=l+3|0;i=k;return r|0}function Cy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=i;n=i;i=i+32|0;r=i;i=i+32|0;s=i;i=i+32|0;q=i;i=i+32|0;t=i;i=i+32|0;m=i;i=i+32|0;j=i;i=i+32|0;l=i;i=i+32|0;k=i;i=i+32|0;u=i;i=i+32|0;w=i;i=i+32|0;p=i;i=i+32|0;v=i;i=i+32|0;o=i;i=i+32|0;x=i;i=i+32|0;g=i;i=i+32|0;h=g;switch(b-a>>5|0){case 4:{By(a,a+32|0,a+64|0,b+ -32|0,d)|0;x=1;i=e;return x|0};case 1:case 0:{x=1;i=e;return x|0};case 3:{f=a+32|0;b=b+ -32|0;x=Bd[c[d>>2]&255](f,a)|0;g=Bd[c[d>>2]&255](b,f)|0;if(!x){if(!g){x=1;i=e;return x|0}$W(o|0,f|0,32)|0;$W(f|0,b|0,32)|0;$W(b|0,o|0,32)|0;if(!(Bd[c[d>>2]&255](f,a)|0)){x=1;i=e;return x|0}$W(p|0,a|0,32)|0;$W(a|0,f|0,32)|0;$W(f|0,p|0,32)|0;x=1;i=e;return x|0}if(g){$W(u|0,a|0,32)|0;$W(a|0,b|0,32)|0;$W(b|0,u|0,32)|0;x=1;i=e;return x|0}$W(w|0,a|0,32)|0;$W(a|0,f|0,32)|0;$W(f|0,w|0,32)|0;if(!(Bd[c[d>>2]&255](b,f)|0)){x=1;i=e;return x|0}$W(v|0,f|0,32)|0;$W(f|0,b|0,32)|0;$W(b|0,v|0,32)|0;x=1;i=e;return x|0};case 5:{g=a+32|0;h=a+64|0;f=a+96|0;b=b+ -32|0;By(a,g,h,f,d)|0;if(!(Bd[c[d>>2]&255](b,f)|0)){x=1;i=e;return x|0}$W(k|0,f|0,32)|0;$W(f|0,b|0,32)|0;$W(b|0,k|0,32)|0;if(!(Bd[c[d>>2]&255](f,h)|0)){x=1;i=e;return x|0}$W(j|0,h|0,32)|0;$W(h|0,f|0,32)|0;$W(f|0,j|0,32)|0;if(!(Bd[c[d>>2]&255](h,g)|0)){x=1;i=e;return x|0}$W(m|0,g|0,32)|0;$W(g|0,h|0,32)|0;$W(h|0,m|0,32)|0;if(!(Bd[c[d>>2]&255](g,a)|0)){x=1;i=e;return x|0}$W(l|0,a|0,32)|0;$W(a|0,g|0,32)|0;$W(g|0,l|0,32)|0;x=1;i=e;return x|0};case 2:{b=b+ -32|0;if(!(Bd[c[d>>2]&255](b,a)|0)){x=1;i=e;return x|0}$W(x|0,a|0,32)|0;$W(a|0,b|0,32)|0;$W(b|0,x|0,32)|0;x=1;i=e;return x|0};default:{j=a+64|0;k=a+32|0;x=Bd[c[d>>2]&255](k,a)|0;l=Bd[c[d>>2]&255](j,k)|0;do{if(x){if(l){$W(n|0,a|0,32)|0;$W(a|0,j|0,32)|0;$W(j|0,n|0,32)|0;break}$W(r|0,a|0,32)|0;$W(a|0,k|0,32)|0;$W(k|0,r|0,32)|0;if(!(Bd[c[d>>2]&255](j,k)|0)){break}$W(q|0,k|0,32)|0;$W(k|0,j|0,32)|0;$W(j|0,q|0,32)|0}else{if(!l){break}$W(t|0,k|0,32)|0;$W(k|0,j|0,32)|0;$W(j|0,t|0,32)|0;if(!(Bd[c[d>>2]&255](k,a)|0)){break}$W(s|0,a|0,32)|0;$W(a|0,k|0,32)|0;$W(k|0,s|0,32)|0}}while(0);k=a+96|0;if((k|0)==(b|0)){x=1;i=e;return x|0}l=0;while(1){if(Bd[c[d>>2]&255](k,j)|0){$W(g|0,k|0,32)|0;m=k;while(1){$W(m|0,j|0,32)|0;if((j|0)==(a|0)){break}m=j+ -32|0;if(Bd[c[d>>2]&255](h,m)|0){x=j;j=m;m=x}else{break}}$W(j|0,g|0,32)|0;l=l+1|0;if((l|0)==8){break}}j=k+32|0;if((j|0)==(b|0)){a=1;f=35;break}else{x=k;k=j;j=x}}if((f|0)==35){i=e;return a|0}x=(k+32|0)==(b|0);i=e;return x|0}}return 0}function Dy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=i;r=i;i=i+16|0;q=i;i=i+16|0;o=i;i=i+16|0;p=i;i=i+16|0;k=i;i=i+16|0;E=i;i=i+16|0;G=i;i=i+16|0;C=i;i=i+16|0;F=i;i=i+16|0;D=i;i=i+16|0;z=i;i=i+16|0;A=i;i=i+16|0;y=i;i=i+16|0;B=i;i=i+16|0;g=i;i=i+16|0;f=g;m=i;i=i+16|0;h=i;i=i+16|0;j=i;i=i+16|0;l=i;i=i+16|0;v=i;i=i+16|0;t=i;i=i+16|0;s=i;i=i+16|0;u=i;i=i+16|0;w=i;i=i+16|0;M=i;i=i+16|0;L=i;i=i+16|0;I=i;i=i+16|0;H=i;i=i+16|0;x=i;i=i+16|0;J=i;i=i+16|0;a:while(1){n=b+ -16|0;b:while(1){O=b-a|0;Q=O>>4;switch(Q|0){case 5:{K=15;break a};case 4:{K=14;break a};case 1:case 0:{K=81;break a};case 3:{K=6;break a};case 2:{K=4;break a};default:{}}if((O|0)<496){K=21;break a}P=(Q|0)/2|0;N=a+(P<<4)|0;do{if((O|0)>15984){Q=(Q|0)/4|0;O=a+(Q<<4)|0;P=a+(Q+P<<4)|0;Q=Ey(a,O,N,P,d)|0;if(!(Bd[c[d>>2]&255](n,P)|0)){break}$W(B|0,P|0,16)|0;$W(P|0,n|0,16)|0;$W(n|0,B|0,16)|0;if(!(Bd[c[d>>2]&255](P,N)|0)){Q=Q+1|0;break}$W(A|0,N|0,16)|0;$W(N|0,P|0,16)|0;$W(P|0,A|0,16)|0;if(!(Bd[c[d>>2]&255](N,O)|0)){Q=Q+2|0;break}$W(z|0,O|0,16)|0;$W(O|0,N|0,16)|0;$W(N|0,z|0,16)|0;if(!(Bd[c[d>>2]&255](O,a)|0)){Q=Q+3|0;break}$W(y|0,a|0,16)|0;$W(a|0,O|0,16)|0;$W(O|0,y|0,16)|0;Q=Q+4|0}else{S=Bd[c[d>>2]&255](N,a)|0;O=Bd[c[d>>2]&255](n,N)|0;if(!S){if(!O){Q=0;break}$W(D|0,N|0,16)|0;$W(N|0,n|0,16)|0;$W(n|0,D|0,16)|0;if(!(Bd[c[d>>2]&255](N,a)|0)){Q=1;break}$W(C|0,a|0,16)|0;$W(a|0,N|0,16)|0;$W(N|0,C|0,16)|0;Q=2;break}if(O){$W(E|0,a|0,16)|0;$W(a|0,n|0,16)|0;$W(n|0,E|0,16)|0;Q=1;break}$W(G|0,a|0,16)|0;$W(a|0,N|0,16)|0;$W(N|0,G|0,16)|0;if(!(Bd[c[d>>2]&255](n,N)|0)){Q=1;break}$W(F|0,N|0,16)|0;$W(N|0,n|0,16)|0;$W(n|0,F|0,16)|0;Q=2}}while(0);do{if(Bd[c[d>>2]&255](a,N)|0){P=n}else{P=n;while(1){P=P+ -16|0;if((a|0)==(P|0)){break}if(Bd[c[d>>2]&255](P,N)|0){K=64;break}else{}}if((K|0)==64){K=0;$W(I|0,a|0,16)|0;$W(a|0,P|0,16)|0;$W(P|0,I|0,16)|0;Q=Q+1|0;break}O=a+16|0;if(!(Bd[c[d>>2]&255](a,n)|0)){if((O|0)==(n|0)){K=81;break a}while(1){N=O+16|0;if(Bd[c[d>>2]&255](a,O)|0){break}if((N|0)==(n|0)){K=81;break a}else{O=N}}$W(x|0,O|0,16)|0;$W(O|0,n|0,16)|0;$W(n|0,x|0,16)|0;O=N}if((O|0)==(n|0)){K=81;break a}else{N=n}while(1){P=O;while(1){O=P+16|0;if(Bd[c[d>>2]&255](a,P)|0){break}else{P=O}}do{N=N+ -16|0;}while(Bd[c[d>>2]&255](a,N)|0);if(P>>>0>=N>>>0){a=P;continue b}$W(H|0,P|0,16)|0;$W(P|0,N|0,16)|0;$W(N|0,H|0,16)|0}}}while(0);O=a+16|0;c:do{if(O>>>0<P>>>0){while(1){S=O;while(1){O=S+16|0;if(Bd[c[d>>2]&255](S,N)|0){S=O}else{R=P;break}}do{R=R+ -16|0;}while(!(Bd[c[d>>2]&255](R,N)|0));if(S>>>0>R>>>0){O=S;break c}$W(L|0,S|0,16)|0;$W(S|0,R|0,16)|0;$W(R|0,L|0,16)|0;P=R;N=(N|0)==(S|0)?R:N;Q=Q+1|0}}}while(0);do{if((O|0)!=(N|0)){if(!(Bd[c[d>>2]&255](N,O)|0)){break}$W(M|0,O|0,16)|0;$W(O|0,N|0,16)|0;$W(N|0,M|0,16)|0;Q=Q+1|0}}while(0);if((Q|0)==0){P=Fy(a,O,d)|0;N=O+16|0;if(Fy(N,b,d)|0){K=76;break}if(P){a=N;continue}}if((O-a|0)>=(b-O|0)){K=80;break}Dy(a,O,d);a=O+16|0}if((K|0)==76){K=0;if(P){K=81;break}else{b=O;continue}}else if((K|0)==80){K=0;Dy(O+16|0,b,d);b=O;continue}}if((K|0)==4){if(!(Bd[c[d>>2]&255](n,a)|0)){i=e;return}$W(J|0,a|0,16)|0;$W(a|0,n|0,16)|0;$W(n|0,J|0,16)|0;i=e;return}else if((K|0)==6){f=a+16|0;S=Bd[c[d>>2]&255](f,a)|0;g=Bd[c[d>>2]&255](n,f)|0;if(!S){if(!g){i=e;return}$W(w|0,f|0,16)|0;$W(f|0,n|0,16)|0;$W(n|0,w|0,16)|0;if(!(Bd[c[d>>2]&255](f,a)|0)){i=e;return}$W(s|0,a|0,16)|0;$W(a|0,f|0,16)|0;$W(f|0,s|0,16)|0;i=e;return}if(g){$W(v|0,a|0,16)|0;$W(a|0,n|0,16)|0;$W(n|0,v|0,16)|0;i=e;return}$W(t|0,a|0,16)|0;$W(a|0,f|0,16)|0;$W(f|0,t|0,16)|0;if(!(Bd[c[d>>2]&255](n,f)|0)){i=e;return}$W(u|0,f|0,16)|0;$W(f|0,n|0,16)|0;$W(n|0,u|0,16)|0;i=e;return}else if((K|0)==14){Ey(a,a+16|0,a+32|0,n,d)|0;i=e;return}else if((K|0)==15){g=a+16|0;b=a+32|0;f=a+48|0;Ey(a,g,b,f,d)|0;if(!(Bd[c[d>>2]&255](n,f)|0)){i=e;return}$W(l|0,f|0,16)|0;$W(f|0,n|0,16)|0;$W(n|0,l|0,16)|0;if(!(Bd[c[d>>2]&255](f,b)|0)){i=e;return}$W(h|0,b|0,16)|0;$W(b|0,f|0,16)|0;$W(f|0,h|0,16)|0;if(!(Bd[c[d>>2]&255](b,g)|0)){i=e;return}$W(m|0,g|0,16)|0;$W(g|0,b|0,16)|0;$W(b|0,m|0,16)|0;if(!(Bd[c[d>>2]&255](g,a)|0)){i=e;return}$W(j|0,a|0,16)|0;$W(a|0,g|0,16)|0;$W(g|0,j|0,16)|0;i=e;return}else if((K|0)==21){h=a+32|0;j=a+16|0;S=Bd[c[d>>2]&255](j,a)|0;l=Bd[c[d>>2]&255](h,j)|0;do{if(S){if(l){$W(r|0,a|0,16)|0;$W(a|0,h|0,16)|0;$W(h|0,r|0,16)|0;break}$W(q|0,a|0,16)|0;$W(a|0,j|0,16)|0;$W(j|0,q|0,16)|0;if(!(Bd[c[d>>2]&255](h,j)|0)){break}$W(p|0,j|0,16)|0;$W(j|0,h|0,16)|0;$W(h|0,p|0,16)|0}else{if(!l){break}$W(k|0,j|0,16)|0;$W(j|0,h|0,16)|0;$W(h|0,k|0,16)|0;if(!(Bd[c[d>>2]&255](j,a)|0)){break}$W(o|0,a|0,16)|0;$W(a|0,j|0,16)|0;$W(j|0,o|0,16)|0}}while(0);j=a+48|0;if((j|0)==(b|0)){i=e;return}while(1){if(Bd[c[d>>2]&255](j,h)|0){$W(g|0,j|0,16)|0;k=j;while(1){$W(k|0,h|0,16)|0;if((h|0)==(a|0)){break}k=h+ -16|0;if(Bd[c[d>>2]&255](f,k)|0){S=h;h=k;k=S}else{break}}$W(h|0,g|0,16)|0}h=j+16|0;if((h|0)==(b|0)){break}else{S=j;j=h;h=S}}i=e;return}else if((K|0)==81){i=e;return}}function Ey(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;n=i;i=i+16|0;p=i;i=i+16|0;l=i;i=i+16|0;o=i;i=i+16|0;m=i;i=i+16|0;h=i;i=i+16|0;g=i;i=i+16|0;j=i;i=i+16|0;r=Bd[c[f>>2]&255](b,a)|0;q=Bd[c[f>>2]&255](d,b)|0;do{if(r){if(q){$W(n|0,a|0,16)|0;$W(a|0,d|0,16)|0;$W(d|0,n|0,16)|0;l=1;break}$W(p|0,a|0,16)|0;$W(a|0,b|0,16)|0;$W(b|0,p|0,16)|0;if(!(Bd[c[f>>2]&255](d,b)|0)){l=1;break}$W(o|0,b|0,16)|0;$W(b|0,d|0,16)|0;$W(d|0,o|0,16)|0;l=2}else{if(!q){l=0;break}$W(m|0,b|0,16)|0;$W(b|0,d|0,16)|0;$W(d|0,m|0,16)|0;if(!(Bd[c[f>>2]&255](b,a)|0)){l=1;break}$W(l|0,a|0,16)|0;$W(a|0,b|0,16)|0;$W(b|0,l|0,16)|0;l=2}}while(0);if(!(Bd[c[f>>2]&255](e,d)|0)){r=l;i=k;return r|0}$W(j|0,d|0,16)|0;$W(d|0,e|0,16)|0;$W(e|0,j|0,16)|0;if(!(Bd[c[f>>2]&255](d,b)|0)){r=l+1|0;i=k;return r|0}$W(h|0,b|0,16)|0;$W(b|0,d|0,16)|0;$W(d|0,h|0,16)|0;if(!(Bd[c[f>>2]&255](b,a)|0)){r=l+2|0;i=k;return r|0}$W(g|0,a|0,16)|0;$W(a|0,b|0,16)|0;$W(b|0,g|0,16)|0;r=l+3|0;i=k;return r|0}function Fy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=i;n=i;i=i+16|0;r=i;i=i+16|0;s=i;i=i+16|0;q=i;i=i+16|0;t=i;i=i+16|0;m=i;i=i+16|0;j=i;i=i+16|0;l=i;i=i+16|0;k=i;i=i+16|0;u=i;i=i+16|0;w=i;i=i+16|0;p=i;i=i+16|0;v=i;i=i+16|0;o=i;i=i+16|0;x=i;i=i+16|0;g=i;i=i+16|0;h=g;switch(b-a>>4|0){case 4:{Ey(a,a+16|0,a+32|0,b+ -16|0,d)|0;x=1;i=e;return x|0};case 1:case 0:{x=1;i=e;return x|0};case 3:{f=a+16|0;b=b+ -16|0;x=Bd[c[d>>2]&255](f,a)|0;g=Bd[c[d>>2]&255](b,f)|0;if(!x){if(!g){x=1;i=e;return x|0}$W(o|0,f|0,16)|0;$W(f|0,b|0,16)|0;$W(b|0,o|0,16)|0;if(!(Bd[c[d>>2]&255](f,a)|0)){x=1;i=e;return x|0}$W(p|0,a|0,16)|0;$W(a|0,f|0,16)|0;$W(f|0,p|0,16)|0;x=1;i=e;return x|0}if(g){$W(u|0,a|0,16)|0;$W(a|0,b|0,16)|0;$W(b|0,u|0,16)|0;x=1;i=e;return x|0}$W(w|0,a|0,16)|0;$W(a|0,f|0,16)|0;$W(f|0,w|0,16)|0;if(!(Bd[c[d>>2]&255](b,f)|0)){x=1;i=e;return x|0}$W(v|0,f|0,16)|0;$W(f|0,b|0,16)|0;$W(b|0,v|0,16)|0;x=1;i=e;return x|0};case 5:{g=a+16|0;h=a+32|0;f=a+48|0;b=b+ -16|0;Ey(a,g,h,f,d)|0;if(!(Bd[c[d>>2]&255](b,f)|0)){x=1;i=e;return x|0}$W(k|0,f|0,16)|0;$W(f|0,b|0,16)|0;$W(b|0,k|0,16)|0;if(!(Bd[c[d>>2]&255](f,h)|0)){x=1;i=e;return x|0}$W(j|0,h|0,16)|0;$W(h|0,f|0,16)|0;$W(f|0,j|0,16)|0;if(!(Bd[c[d>>2]&255](h,g)|0)){x=1;i=e;return x|0}$W(m|0,g|0,16)|0;$W(g|0,h|0,16)|0;$W(h|0,m|0,16)|0;if(!(Bd[c[d>>2]&255](g,a)|0)){x=1;i=e;return x|0}$W(l|0,a|0,16)|0;$W(a|0,g|0,16)|0;$W(g|0,l|0,16)|0;x=1;i=e;return x|0};case 2:{b=b+ -16|0;if(!(Bd[c[d>>2]&255](b,a)|0)){x=1;i=e;return x|0}$W(x|0,a|0,16)|0;$W(a|0,b|0,16)|0;$W(b|0,x|0,16)|0;x=1;i=e;return x|0};default:{j=a+32|0;k=a+16|0;x=Bd[c[d>>2]&255](k,a)|0;l=Bd[c[d>>2]&255](j,k)|0;do{if(x){if(l){$W(n|0,a|0,16)|0;$W(a|0,j|0,16)|0;$W(j|0,n|0,16)|0;break}$W(r|0,a|0,16)|0;$W(a|0,k|0,16)|0;$W(k|0,r|0,16)|0;if(!(Bd[c[d>>2]&255](j,k)|0)){break}$W(q|0,k|0,16)|0;$W(k|0,j|0,16)|0;$W(j|0,q|0,16)|0}else{if(!l){break}$W(t|0,k|0,16)|0;$W(k|0,j|0,16)|0;$W(j|0,t|0,16)|0;if(!(Bd[c[d>>2]&255](k,a)|0)){break}$W(s|0,a|0,16)|0;$W(a|0,k|0,16)|0;$W(k|0,s|0,16)|0}}while(0);k=a+48|0;if((k|0)==(b|0)){x=1;i=e;return x|0}l=0;while(1){if(Bd[c[d>>2]&255](k,j)|0){$W(g|0,k|0,16)|0;m=k;while(1){$W(m|0,j|0,16)|0;if((j|0)==(a|0)){break}m=j+ -16|0;if(Bd[c[d>>2]&255](h,m)|0){x=j;j=m;m=x}else{break}}$W(j|0,g|0,16)|0;l=l+1|0;if((l|0)==8){break}}j=k+16|0;if((j|0)==(b|0)){a=1;f=35;break}else{x=k;k=j;j=x}}if((f|0)==35){i=e;return a|0}x=(k+16|0)==(b|0);i=e;return x|0}}return 0}function Gy(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0,j=0,k=0.0;g=a+24|0;k=+h[g>>3];e=a+8|0;j=a+16|0;f=1.0/(+h[a>>3]*k- +h[e>>3]*+h[j>>3]);h[b>>3]=k*f;h[b+8>>3]=-0.0-f*+h[e>>3];h[b+16>>3]=-0.0-f*+h[j>>3];h[b+24>>3]=f*+h[a>>3];c=a+40|0;d=a+32|0;h[b+32>>3]=f*(+h[j>>3]*+h[c>>3]- +h[g>>3]*+h[d>>3]);h[b+40>>3]=f*(+h[e>>3]*+h[d>>3]- +h[a>>3]*+h[c>>3]);i=i;return-1}function Hy(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;var f=0.0;f=+h[a+40>>3]+(+h[a+8>>3]*b+ +h[a+24>>3]*c);h[d>>3]=+h[a+32>>3]+(+h[a>>3]*b+ +h[a+16>>3]*c);h[e>>3]=f;i=i;return}function Iy(a){a=a|0;i=i;return}function Jy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;d=i;C=i;i=i+8|0;m=i;i=i+8|0;k=i;i=i+8|0;j=k;n=i;i=i+8|0;l=n;p=i;i=i+8|0;o=p;h=i;i=i+8|0;g=h;r=i;i=i+8|0;q=r;t=i;i=i+8|0;u=t;w=i;i=i+8|0;v=w;y=i;i=i+8|0;x=y;A=i;i=i+8|0;s=A;B=i;i=i+16|0;f=B;c[B>>2]=13;z=f+8|0;c[z>>2]=0;c[z+4>>2]=0;D=c[a>>2]|0;if((D|0)==4){e=c[a+8>>2]|0;do{if((Qc(e|0,167872)|0)!=0){if((Qc(e|0,167888)|0)==0){break}do{if((Qc(e|0,167896)|0)!=0){if((Qc(e|0,167912)|0)==0){break}do{if((Qc(e|0,167920)|0)!=0){if((Qc(e|0,167936)|0)==0){break}if((Qc(e|0,167944)|0)==0){D=FW(8)|0;c[D>>2]=169832;c[D+4>>2]=0;i=d;return D|0}else{c[A>>2]=e;Qe(-1,167952,s);D=0;i=d;return D|0}}}while(0);D=FW(4)|0;c[D>>2]=168512;i=d;return D|0}}while(0);D=FW(4)|0;c[D>>2]=168336;i=d;return D|0}}while(0);D=FW(4)|0;c[D>>2]=168128;i=d;return D|0}else if((D|0)==6){s=a+8|0;ut(c[s>>2]|0,0,f)|0;a:do{if((c[B>>2]|0)==4){z=c[z>>2]|0;do{if((Qc(z|0,167872)|0)!=0){if((Qc(z|0,167888)|0)==0){break}do{if((Qc(z|0,167896)|0)!=0){if((Qc(z|0,167912)|0)==0){break}do{if((Qc(z|0,167920)|0)!=0){if((Qc(z|0,167936)|0)==0){break}if((Qc(z|0,167976)|0)==0){A=c[a>>2]|0;if((A|0)==6){g=Ky(c[s>>2]|0)|0;break a}else{c[y>>2]=A;c[x+4>>2]=6;Qe(0,172720,x);tc()}}if((Qc(z|0,167984)|0)==0){x=c[a>>2]|0;if((x|0)==6){g=Ly(c[s>>2]|0)|0;break a}else{c[w>>2]=x;c[v+4>>2]=6;Qe(0,172720,v);tc()}}if((Qc(z|0,167992)|0)==0){v=c[a>>2]|0;if((v|0)==6){g=My(c[s>>2]|0)|0;break a}else{c[t>>2]=v;c[u+4>>2]=6;Qe(0,172720,u);tc()}}if((Qc(z|0,168e3)|0)==0){t=c[a>>2]|0;if((t|0)==6){g=Ny(c[s>>2]|0,b)|0;break a}else{c[r>>2]=t;c[q+4>>2]=6;Qe(0,172720,q);tc()}}do{if((Qc(z|0,168016)|0)!=0){if((Qc(z|0,168024)|0)==0){break}if((Qc(z|0,168032)|0)==0){q=c[a>>2]|0;if((q|0)==6){g=Py(c[s>>2]|0,b)|0;break a}else{c[p>>2]=q;c[o+4>>2]=6;Qe(0,172720,o);tc()}}if((Qc(z|0,168048)|0)==0){o=c[a>>2]|0;if((o|0)==6){g=Qy(c[s>>2]|0,b)|0;break a}else{c[n>>2]=o;c[l+4>>2]=6;Qe(0,172720,l);tc()}}if((Qc(z|0,167944)|0)!=0){e=57;break a}l=c[a>>2]|0;if((l|0)==6){g=Ry(c[s>>2]|0,b)|0;break a}else{c[k>>2]=l;c[j+4>>2]=6;Qe(0,172720,j);tc()}}}while(0);a=c[a>>2]|0;if((a|0)==6){g=Oy(c[s>>2]|0,b)|0;break a}else{c[h>>2]=a;c[g+4>>2]=6;Qe(0,172720,g);tc()}}}while(0);g=FW(4)|0;c[g>>2]=168512;break a}}while(0);g=FW(4)|0;c[g>>2]=168336;break a}}while(0);g=FW(4)|0;c[g>>2]=168128}else{e=57}}while(0);if((e|0)==57){Qe(-1,168056,m);g=0}Of(f);D=g;i=d;return D|0}else{Qe(-1,168072,C);D=0;i=d;return D|0}return 0}function Ky(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0,G=0.0,H=0,I=0,J=0,K=0.0,L=0,M=0,N=0,O=0,P=0.0;e=i;j=i;i=i+16|0;f=j;o=i;i=i+8|0;k=o;t=i;i=i+8|0;u=t;w=i;i=i+8|0;v=w;z=i;i=i+8|0;y=z;A=i;i=i+8|0;B=A;D=i;i=i+8|0;C=D;I=i;i=i+8|0;H=I;N=i;i=i+8|0;M=N;n=i;i=i+8|0;q=i;i=i+16|0;b=q;l=i;i=i+16|0;d=l;s=i;i=i+16|0;p=s;c[q>>2]=13;m=b+8|0;c[m>>2]=0;c[m+4>>2]=0;c[l>>2]=13;g=d+8|0;c[g>>2]=0;c[g+4>>2]=0;c[s>>2]=13;r=p+8|0;c[r>>2]=0;c[r+4>>2]=0;ut(a,1,b)|0;if((c[q>>2]|0)!=7){Qe(-1,168264,n);Of(b);O=0;i=e;return O|0}n=FW(88)|0;c[n>>2]=168200;E=n+24|0;h[E>>3]=1.0;J=n+16|0;h[J>>3]=1.0;L=n+8|0;h[L>>3]=1.0;x=n+32|0;a=n+56|0;bX(x|0,0,24)|0;h[a>>3]=1.0;do{if((c[(Yu(c[m>>2]|0,168288,d,0)|0)>>2]|0)==6){O=c[l>>2]|0;if((O|0)!=6){c[N>>2]=O;c[M+4>>2]=6;Qe(0,172720,M);tc()}M=c[g>>2]|0;if((c[M+12>>2]|0)!=3){F=1.0;G=1.0;K=1.0;break}ut(M,0,p)|0;M=c[s>>2]|0;if((M+ -1|0)>>>0<2){if((M|0)==1){K=+(c[r>>2]|0)}else{K=+h[r>>3]}h[L>>3]=K}else{K=1.0}Of(p);L=c[l>>2]|0;if((L|0)!=6){c[I>>2]=L;c[H+4>>2]=6;Qe(0,172720,H);tc()}ut(c[g>>2]|0,1,p)|0;H=c[s>>2]|0;if((H+ -1|0)>>>0<2){if((H|0)==1){G=+(c[r>>2]|0)}else{G=+h[r>>3]}h[J>>3]=G}else{G=1.0}Of(p);H=c[l>>2]|0;if((H|0)!=6){c[D>>2]=H;c[C+4>>2]=6;Qe(0,172720,C);tc()}ut(c[g>>2]|0,2,p)|0;C=c[s>>2]|0;if((C+ -1|0)>>>0<2){if((C|0)==1){F=+(c[r>>2]|0)}else{F=+h[r>>3]}h[E>>3]=F}else{F=1.0}Of(p)}else{F=1.0;G=1.0;K=1.0}}while(0);Of(d);C=c[q>>2]|0;if((C|0)!=7){c[A>>2]=C;c[B+4>>2]=7;Qe(0,172720,B);tc()}do{if((c[(Yu(c[m>>2]|0,168304,d,0)|0)>>2]|0)==6){A=c[l>>2]|0;if((A|0)!=6){c[z>>2]=A;c[y+4>>2]=6;Qe(0,172720,y);tc()}y=c[g>>2]|0;if((c[y+12>>2]|0)!=3){break}ut(y,0,p)|0;y=c[s>>2]|0;if((y+ -1|0)>>>0<2){if((y|0)==1){P=+(c[r>>2]|0)}else{P=+h[r>>3]}h[x>>3]=P}Of(p);x=c[l>>2]|0;if((x|0)!=6){c[w>>2]=x;c[v+4>>2]=6;Qe(0,172720,v);tc()}ut(c[g>>2]|0,1,p)|0;v=c[s>>2]|0;if((v+ -1|0)>>>0<2){if((v|0)==1){P=+(c[r>>2]|0)}else{P=+h[r>>3]}h[n+40>>3]=P}Of(p);v=c[l>>2]|0;if((v|0)!=6){c[t>>2]=v;c[u+4>>2]=6;Qe(0,172720,u);tc()}ut(c[g>>2]|0,2,p)|0;s=c[s>>2]|0;if((s+ -1|0)>>>0<2){if((s|0)==1){P=+(c[r>>2]|0)}else{P=+h[r>>3]}h[n+48>>3]=P}Of(p)}}while(0);Of(d);p=c[q>>2]|0;if((p|0)!=7){c[o>>2]=p;c[k+4>>2]=7;Qe(0,172720,k);tc()}if(((c[(Yu(c[m>>2]|0,168320,d,0)|0)>>2]|0)+ -1|0)>>>0<2){k=c[l>>2]|0;if((k+ -1|0)>>>0>=2){c[j>>2]=k;c[f+4>>2]=1;c[f+8>>2]=2;Qe(0,172792,f);tc()}if((k|0)==1){P=+(c[g>>2]|0)}else{P=+h[g>>3]}h[a>>3]=P}Of(d);Of(b);h[n+64>>3]=1.0/(K*3.240449+G*-1.537136+F*-.498531);h[n+72>>3]=1.0/(K*-.969265+G*1.876011+F*.041556);h[n+80>>3]=1.0/(K*.055643+G*-.204026+F*1.057229);O=n;i=e;return O|0}function Ly(a){a=a|0;var b=0.0,d=0,e=0,f=0.0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;g=i;d=i;i=i+8|0;e=d;u=i;i=i+8|0;v=u;x=i;i=i+8|0;y=x;C=i;i=i+8|0;A=C;D=i;i=i+8|0;F=D;H=i;i=i+8|0;I=H;J=i;i=i+8|0;K=J;M=i;i=i+8|0;L=M;O=i;i=i+8|0;N=O;T=i;i=i+8|0;S=T;V=i;i=i+8|0;U=V;X=i;i=i+8|0;W=X;Z=i;i=i+8|0;Y=Z;$=i;i=i+8|0;_=$;q=i;i=i+8|0;z=i;i=i+16|0;j=z;l=i;i=i+16|0;k=l;p=i;i=i+16|0;m=p;c[z>>2]=13;w=j+8|0;c[w>>2]=0;c[w+4>>2]=0;c[l>>2]=13;o=k+8|0;c[o>>2]=0;c[o+4>>2]=0;c[p>>2]=13;n=m+8|0;c[n>>2]=0;c[n+4>>2]=0;ut(a,1,j)|0;if((c[z>>2]|0)!=7){Qe(-1,168472,q);Of(j);aa=0;i=g;return aa|0}a=FW(176)|0;c[a>>2]=168408;q=a+24|0;h[q>>3]=1.0;r=a+16|0;h[r>>3]=1.0;s=a+8|0;h[s>>3]=1.0;R=a+32|0;B=a+72|0;bX(R|0,0,24)|0;h[B>>3]=1.0;E=a+64|0;h[E>>3]=1.0;G=a+56|0;h[G>>3]=1.0;t=a+80|0;h[t>>3]=1.0;bX(a+88|0,0,24)|0;h[a+112>>3]=1.0;bX(a+120|0,0,24)|0;h[a+144>>3]=1.0;do{if((c[(Yu(c[w>>2]|0,168288,k,0)|0)>>2]|0)==6){aa=c[l>>2]|0;if((aa|0)!=6){c[$>>2]=aa;c[_+4>>2]=6;Qe(0,172720,_);tc()}_=c[o>>2]|0;if((c[_+12>>2]|0)!=3){P=1.0;Q=1.0;break}ut(_,0,m)|0;_=c[p>>2]|0;if((_+ -1|0)>>>0<2){if((_|0)==1){P=+(c[n>>2]|0)}else{P=+h[n>>3]}h[s>>3]=P}Of(m);_=c[l>>2]|0;if((_|0)!=6){c[Z>>2]=_;c[Y+4>>2]=6;Qe(0,172720,Y);tc()}ut(c[o>>2]|0,1,m)|0;Y=c[p>>2]|0;if((Y+ -1|0)>>>0<2){if((Y|0)==1){Q=+(c[n>>2]|0)}else{Q=+h[n>>3]}h[r>>3]=Q}else{Q=1.0}Of(m);Y=c[l>>2]|0;if((Y|0)!=6){c[X>>2]=Y;c[W+4>>2]=6;Qe(0,172720,W);tc()}ut(c[o>>2]|0,2,m)|0;W=c[p>>2]|0;if((W+ -1|0)>>>0<2){if((W|0)==1){P=+(c[n>>2]|0)}else{P=+h[n>>3]}h[q>>3]=P}else{P=1.0}Of(m)}else{P=1.0;Q=1.0}}while(0);Of(k);W=c[z>>2]|0;if((W|0)!=7){c[V>>2]=W;c[U+4>>2]=7;Qe(0,172720,U);tc()}do{if((c[(Yu(c[w>>2]|0,168304,k,0)|0)>>2]|0)==6){U=c[l>>2]|0;if((U|0)!=6){c[T>>2]=U;c[S+4>>2]=6;Qe(0,172720,S);tc()}S=c[o>>2]|0;if((c[S+12>>2]|0)!=3){break}ut(S,0,m)|0;S=c[p>>2]|0;if((S+ -1|0)>>>0<2){if((S|0)==1){ba=+(c[n>>2]|0)}else{ba=+h[n>>3]}h[R>>3]=ba}Of(m);R=c[l>>2]|0;if((R|0)!=6){c[O>>2]=R;c[N+4>>2]=6;Qe(0,172720,N);tc()}ut(c[o>>2]|0,1,m)|0;N=c[p>>2]|0;if((N+ -1|0)>>>0<2){if((N|0)==1){ba=+(c[n>>2]|0)}else{ba=+h[n>>3]}h[a+40>>3]=ba}Of(m);N=c[l>>2]|0;if((N|0)!=6){c[M>>2]=N;c[L+4>>2]=6;Qe(0,172720,L);tc()}ut(c[o>>2]|0,2,m)|0;L=c[p>>2]|0;if((L+ -1|0)>>>0<2){if((L|0)==1){ba=+(c[n>>2]|0)}else{ba=+h[n>>3]}h[a+48>>3]=ba}Of(m)}}while(0);Of(k);L=c[z>>2]|0;if((L|0)!=7){c[J>>2]=L;c[K+4>>2]=7;Qe(0,172720,K);tc()}do{if((c[(Yu(c[w>>2]|0,168320,k,0)|0)>>2]|0)==6){J=c[l>>2]|0;if((J|0)!=6){c[H>>2]=J;c[I+4>>2]=6;Qe(0,172720,I);tc()}H=c[o>>2]|0;if((c[H+12>>2]|0)!=3){break}ut(H,0,m)|0;H=c[p>>2]|0;if((H+ -1|0)>>>0<2){if((H|0)==1){ba=+(c[n>>2]|0)}else{ba=+h[n>>3]}h[G>>3]=ba}Of(m);G=c[l>>2]|0;if((G|0)!=6){c[D>>2]=G;c[F+4>>2]=6;Qe(0,172720,F);tc()}ut(c[o>>2]|0,1,m)|0;D=c[p>>2]|0;if((D+ -1|0)>>>0<2){if((D|0)==1){ba=+(c[n>>2]|0)}else{ba=+h[n>>3]}h[E>>3]=ba}Of(m);D=c[l>>2]|0;if((D|0)!=6){c[C>>2]=D;c[A+4>>2]=6;Qe(0,172720,A);tc()}ut(c[o>>2]|0,2,m)|0;A=c[p>>2]|0;if((A+ -1|0)>>>0<2){if((A|0)==1){ba=+(c[n>>2]|0)}else{ba=+h[n>>3]}h[B>>3]=ba}Of(m)}}while(0);Of(k);z=c[z>>2]|0;if((z|0)!=7){c[x>>2]=z;c[y+4>>2]=7;Qe(0,172720,y);tc()}do{if((c[(Yu(c[w>>2]|0,168496,k,0)|0)>>2]|0)==6){w=c[l>>2]|0;if((w|0)!=6){c[u>>2]=w;c[v+4>>2]=6;Qe(0,172720,v);tc()}if((c[(c[o>>2]|0)+12>>2]|0)!=9){f=P;b=Q;break}u=6;v=0;while(1){if((u|0)!=6){l=87;break}ut(c[o>>2]|0,v,m)|0;u=c[p>>2]|0;if((u+ -1|0)>>>0<2){if((u|0)==1){P=+(c[n>>2]|0)}else{P=+h[n>>3]}h[t+(v<<3)>>3]=P}Of(m);v=v+1|0;if((v|0)>=9){l=95;break}u=c[l>>2]|0}if((l|0)==87){c[d>>2]=u;c[e+4>>2]=6;Qe(0,172720,e);tc()}else if((l|0)==95){f=+h[q>>3];b=+h[r>>3];break}}else{f=P;b=Q}}while(0);Of(k);Of(j);ba=+h[s>>3];h[a+152>>3]=1.0/(ba*3.240449+b*-1.537136+f*-.498531);h[a+160>>3]=1.0/(ba*-.969265+b*1.876011+f*.041556);h[a+168>>3]=1.0/(ba*.055643+b*-.204026+f*1.057229);aa=a;i=g;return aa|0}function My(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0.0,$=0.0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0.0;b=i;k=i;i=i+16|0;j=k;m=i;i=i+8|0;p=m;s=i;i=i+16|0;r=s;u=i;i=i+8|0;t=u;x=i;i=i+16|0;w=x;y=i;i=i+8|0;A=y;B=i;i=i+16|0;C=B;F=i;i=i+8|0;E=F;H=i;i=i+8|0;I=H;L=i;i=i+16|0;K=L;N=i;i=i+8|0;M=N;O=i;i=i+16|0;P=O;R=i;i=i+8|0;Q=R;S=i;i=i+16|0;T=S;W=i;i=i+8|0;V=W;X=i;i=i+8|0;Y=X;ba=i;i=i+16|0;aa=ba;ca=i;i=i+8|0;ea=ca;fa=i;i=i+16|0;ga=fa;ha=i;i=i+8|0;ja=ha;la=i;i=i+16|0;ka=la;oa=i;i=i+8|0;na=oa;n=i;i=i+8|0;J=i;i=i+16|0;d=J;q=i;i=i+16|0;f=q;l=i;i=i+16|0;e=l;c[J>>2]=13;G=d+8|0;c[G>>2]=0;c[G+4>>2]=0;c[q>>2]=13;o=f+8|0;c[o>>2]=0;c[o+4>>2]=0;c[l>>2]=13;g=e+8|0;c[g>>2]=0;c[g+4>>2]=0;ut(a,1,d)|0;if((c[J>>2]|0)!=7){Qe(-1,168648,n);Of(d);pa=0;i=b;return pa|0}a=FW(112)|0;c[a>>2]=168584;da=a+24|0;h[da>>3]=1.0;ia=a+16|0;h[ia>>3]=1.0;ma=a+8|0;h[ma>>3]=1.0;U=a+32|0;v=a+72|0;bX(U|0,0,24)|0;h[v>>3]=-100.0;D=a+56|0;h[D>>3]=-100.0;n=a+80|0;h[n>>3]=100.0;z=a+64|0;h[z>>3]=100.0;do{if((c[(Yu(c[G>>2]|0,168288,f,0)|0)>>2]|0)==6){pa=c[q>>2]|0;if((pa|0)!=6){c[oa>>2]=pa;c[na+4>>2]=6;Qe(0,172720,na);tc()}na=c[o>>2]|0;if((c[na+12>>2]|0)!=3){Z=1.0;_=1.0;$=1.0;break}ut(na,0,e)|0;na=c[l>>2]|0;if((na+ -1|0)>>>0>=2){c[la>>2]=na;c[ka+4>>2]=1;c[ka+8>>2]=2;Qe(0,172792,ka);tc()}if((na|0)==1){$=+(c[g>>2]|0)}else{$=+h[g>>3]}h[ma>>3]=$;Of(e);ka=c[q>>2]|0;if((ka|0)!=6){c[ha>>2]=ka;c[ja+4>>2]=6;Qe(0,172720,ja);tc()}ut(c[o>>2]|0,1,e)|0;ha=c[l>>2]|0;if((ha+ -1|0)>>>0>=2){c[fa>>2]=ha;c[ga+4>>2]=1;c[ga+8>>2]=2;Qe(0,172792,ga);tc()}if((ha|0)==1){_=+(c[g>>2]|0)}else{_=+h[g>>3]}h[ia>>3]=_;Of(e);fa=c[q>>2]|0;if((fa|0)!=6){c[ca>>2]=fa;c[ea+4>>2]=6;Qe(0,172720,ea);tc()}ut(c[o>>2]|0,2,e)|0;ca=c[l>>2]|0;if((ca+ -1|0)>>>0>=2){c[ba>>2]=ca;c[aa+4>>2]=1;c[aa+8>>2]=2;Qe(0,172792,aa);tc()}if((ca|0)==1){Z=+(c[g>>2]|0)}else{Z=+h[g>>3]}h[da>>3]=Z;Of(e)}else{Z=1.0;_=1.0;$=1.0}}while(0);Of(f);aa=c[J>>2]|0;if((aa|0)!=7){c[X>>2]=aa;c[Y+4>>2]=7;Qe(0,172720,Y);tc()}do{if((c[(Yu(c[G>>2]|0,168304,f,0)|0)>>2]|0)==6){X=c[q>>2]|0;if((X|0)!=6){c[W>>2]=X;c[V+4>>2]=6;Qe(0,172720,V);tc()}V=c[o>>2]|0;if((c[V+12>>2]|0)!=3){break}ut(V,0,e)|0;V=c[l>>2]|0;if((V+ -1|0)>>>0>=2){c[S>>2]=V;c[T+4>>2]=1;c[T+8>>2]=2;Qe(0,172792,T);tc()}if((V|0)==1){qa=+(c[g>>2]|0)}else{qa=+h[g>>3]}h[U>>3]=qa;Of(e);S=c[q>>2]|0;if((S|0)!=6){c[R>>2]=S;c[Q+4>>2]=6;Qe(0,172720,Q);tc()}ut(c[o>>2]|0,1,e)|0;Q=c[l>>2]|0;if((Q+ -1|0)>>>0>=2){c[O>>2]=Q;c[P+4>>2]=1;c[P+8>>2]=2;Qe(0,172792,P);tc()}if((Q|0)==1){qa=+(c[g>>2]|0)}else{qa=+h[g>>3]}h[a+40>>3]=qa;Of(e);O=c[q>>2]|0;if((O|0)!=6){c[N>>2]=O;c[M+4>>2]=6;Qe(0,172720,M);tc()}ut(c[o>>2]|0,2,e)|0;M=c[l>>2]|0;if((M+ -1|0)>>>0>=2){c[L>>2]=M;c[K+4>>2]=1;c[K+8>>2]=2;Qe(0,172792,K);tc()}if((M|0)==1){qa=+(c[g>>2]|0)}else{qa=+h[g>>3]}h[a+48>>3]=qa;Of(e)}}while(0);Of(f);J=c[J>>2]|0;if((J|0)!=7){c[H>>2]=J;c[I+4>>2]=7;Qe(0,172720,I);tc()}do{if((c[(Yu(c[G>>2]|0,168672,f,0)|0)>>2]|0)==6){G=c[q>>2]|0;if((G|0)!=6){c[F>>2]=G;c[E+4>>2]=6;Qe(0,172720,E);tc()}E=c[o>>2]|0;if((c[E+12>>2]|0)!=4){break}ut(E,0,e)|0;E=c[l>>2]|0;if((E+ -1|0)>>>0>=2){c[B>>2]=E;c[C+4>>2]=1;c[C+8>>2]=2;Qe(0,172792,C);tc()}if((E|0)==1){qa=+(c[g>>2]|0)}else{qa=+h[g>>3]}h[D>>3]=qa;Of(e);B=c[q>>2]|0;if((B|0)!=6){c[y>>2]=B;c[A+4>>2]=6;Qe(0,172720,A);tc()}ut(c[o>>2]|0,1,e)|0;y=c[l>>2]|0;if((y+ -1|0)>>>0>=2){c[x>>2]=y;c[w+4>>2]=1;c[w+8>>2]=2;Qe(0,172792,w);tc()}if((y|0)==1){qa=+(c[g>>2]|0)}else{qa=+h[g>>3]}h[z>>3]=qa;Of(e);w=c[q>>2]|0;if((w|0)!=6){c[u>>2]=w;c[t+4>>2]=6;Qe(0,172720,t);tc()}ut(c[o>>2]|0,2,e)|0;t=c[l>>2]|0;if((t+ -1|0)>>>0>=2){c[s>>2]=t;c[r+4>>2]=1;c[r+8>>2]=2;Qe(0,172792,r);tc()}if((t|0)==1){qa=+(c[g>>2]|0)}else{qa=+h[g>>3]}h[v>>3]=qa;Of(e);q=c[q>>2]|0;if((q|0)!=6){c[m>>2]=q;c[p+4>>2]=6;Qe(0,172720,p);tc()}ut(c[o>>2]|0,3,e)|0;l=c[l>>2]|0;if((l+ -1|0)>>>0>=2){c[k>>2]=l;c[j+4>>2]=1;c[j+8>>2]=2;Qe(0,172792,j);tc()}if((l|0)==1){qa=+(c[g>>2]|0)}else{qa=+h[g>>3]}h[n>>3]=qa;Of(e)}}while(0);Of(f);Of(d);h[a+88>>3]=1.0/($*3.240449+_*-1.537136+Z*-.498531);h[a+96>>3]=1.0/($*-.969265+_*1.876011+Z*.041556);h[a+104>>3]=1.0/($*.055643+_*-.204026+Z*1.057229);pa=a;i=b;return pa|0}function Ny(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0;n=i;s=i;i=i+8|0;r=s;g=i;i=i+8|0;j=g;u=i;i=i+8|0;t=u;B=i;i=i+8|0;E=i;i=i+8|0;D=E;F=i;i=i+8|0;w=F;G=i;i=i+8|0;H=i;i=i+8|0;I=i;i=i+16|0;p=I;q=i;i=i+16|0;f=q;e=i;i=i+16|0;k=e;d=i;i=i+16|0;l=d;c[I>>2]=13;C=p+8|0;c[C>>2]=0;c[C+4>>2]=0;c[q>>2]=13;o=f+8|0;c[o>>2]=0;c[o+4>>2]=0;c[e>>2]=13;m=k+8|0;c[m>>2]=0;c[m+4>>2]=0;vt(a,1,p)|0;if((c[I>>2]|0)==9){y=C;A=c[y>>2]|0;y=c[y+4>>2]|0;z=A&0;x=y|0;A=A|0;y=y&0}else{z=0;x=0;A=0;y=0}Of(p);ut(a,1,p)|0;if((c[I>>2]|0)!=8){Qe(-1,168752,H);Of(p);I=0;i=n;return I|0}C=c[C>>2]|0;C=jd[c[(c[C>>2]|0)+72>>2]&511](C)|0;if((c[(Yu(C,168792,f,0)|0)>>2]|0)!=1){Qe(-1,168800,G);Of(f);Of(p);I=0;i=n;return I|0}G=c[q>>2]|0;if((G|0)!=1){c[F>>2]=G;c[w+4>>2]=1;Qe(0,172720,w);tc()}w=c[o>>2]|0;Of(f);if((w|0)>32){c[E>>2]=w;c[D+4>>2]=32;Qe(-1,168832,D);w=32}if((c[(Yu(C,168888,f,0)|0)>>2]|0)==5){v=13}else{b=Jy(f,b)|0;if((b|0)==0){v=13}}do{if((v|0)==13){if((w|0)==1){b=FW(4)|0;c[b>>2]=168128;break}else if((w|0)==4){b=FW(4)|0;c[b>>2]=168512;break}else if((w|0)==3){b=FW(4)|0;c[b>>2]=168336;break}else{Qe(-1,168904,B);Of(f);Of(p);I=0;i=n;return I|0}}}while(0);Of(f);B=FW(88)|0;c[B>>2]=168688;c[B+4>>2]=w;c[B+8>>2]=b;v=B+80|0;c[v>>2]=A|z;c[v+4>>2]=y|x;x=B+16|0;bX(x|0,0,32)|0;h[B+72>>3]=1.0;h[B+64>>3]=1.0;h[B+56>>3]=1.0;v=B+48|0;h[v>>3]=1.0;a:do{if((c[(Yu(C,168672,f,0)|0)>>2]|0)==6){y=c[q>>2]|0;if((y|0)!=6){c[u>>2]=y;c[t+4>>2]=6;Qe(0,172720,t);tc()}if((c[(c[o>>2]|0)+12>>2]|0)!=(w<<1|0)){break}c[d>>2]=13;t=l+8|0;c[t>>2]=0;c[t+4>>2]=0;if((w|0)<=0){break}y=6;u=0;while(1){z=u<<1;if((y|0)!=6){v=25;break}ut(c[o>>2]|0,z,k)|0;y=c[q>>2]|0;if((y|0)!=6){v=27;break}ut(c[o>>2]|0,z|1,l)|0;z=c[e>>2]|0;do{if((z+ -1|0)>>>0<2){y=c[d>>2]|0;if((y+ -1|0)>>>0>=2){break}if((z|0)==1){J=+(c[m>>2]|0)}else{J=+h[m>>3]}h[x+(u<<3)>>3]=J;if((y|0)==1){J=+(c[t>>2]|0)}else{J=+h[t>>3]}h[v+(u<<3)>>3]=J}}while(0);Of(k);Of(l);u=u+1|0;if((u|0)>=(w|0)){break a}y=c[q>>2]|0}if((v|0)==25){c[g>>2]=y;c[j+4>>2]=6;Qe(0,172720,j);tc()}else if((v|0)==27){c[s>>2]=y;c[r+4>>2]=6;Qe(0,172720,r);tc()}}}while(0);Of(f);Of(p);I=B;i=n;return I|0}function Oy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=i;v=i;i=i+8|0;u=i;i=i+8|0;g=i;i=i+8|0;j=g;t=i;i=i+8|0;m=i;i=i+8|0;n=m;o=i;i=i+8|0;q=i;i=i+8|0;s=q;x=i;i=i+8|0;r=x;y=i;i=i+8|0;z=i;i=i+8|0;w=i;i=i+8|0;l=i;i=i+16|0;e=l;c[l>>2]=13;k=e+8|0;c[k>>2]=0;c[k+4>>2]=0;if((c[b+12>>2]|0)!=4){Qe(-1,169016,w);d=0;i=f;return d|0}ut(b,1,e)|0;w=Jy(e,d)|0;do{if((w|0)==0){Qe(-1,169040,z)}else{Of(e);if((c[(ut(b,2,e)|0)>>2]|0)!=1){Qe(-1,169088,y);fd[c[(c[w>>2]|0)+4>>2]&511](w);break}y=c[l>>2]|0;if((y|0)!=1){c[x>>2]=y;c[r+4>>2]=1;Qe(0,172720,r);tc()}r=c[k>>2]|0;if(r>>>0>255){d=(r>>31&-255)+255|0;c[q>>2]=r;c[s+4>>2]=d;Qe(-1,169120,s);r=d}Of(e);q=FW(16)|0;c[q>>2]=168952;c[q+4>>2]=w;c[q+8>>2]=r;x=r+1|0;s=q+12|0;c[s>>2]=ye(da(jd[c[(c[w>>2]|0)+44>>2]&511](w)|0,x)|0,1)|0;ut(b,3,e)|0;b=jd[c[(c[w>>2]|0)+44>>2]&511](w)|0;w=c[l>>2]|0;do{if((w|0)==3){h=c[k>>2]|0;if((c[h+24>>2]|0)<(da(b,x)|0)){Qe(-1,169288,u);h=41;break}if((r|0)>-1&(b|0)>0){g=0;j=c[h+28>>2]|0}else{h=40;break}while(1){k=da(g,b)|0;l=0;h=j;while(1){a[(c[s>>2]|0)+(l+k)|0]=a[h]|0;l=l+1|0;if((l|0)>=(b|0)){break}h=h+1|0}if((g|0)<(r|0)){g=g+1|0;j=j+b|0}else{h=40;break}}}else if((w|0)==8){d=c[k>>2]|0;fd[c[(c[d>>2]|0)+12>>2]&511](d);a:do{if((r|0)>=0){if((b|0)>0){p=0}else{u=0;while(1){v=da(u,b)|0;w=(c[s>>2]|0)+v|0;x=c[l>>2]|0;if((x|0)!=8){break}x=c[k>>2]|0;do{if(jd[c[(c[x>>2]|0)+88>>2]&511](x)|0){w=sd[c[(c[x>>2]|0)+92>>2]&127](x,b,w)|0;if((w|0)>=(b|0)){break}do{Qe(-1,169208,t);a[(c[s>>2]|0)+(w+v)|0]=0;w=w+1|0;}while((w|0)<(b|0))}}while(0);if((u|0)<(r|0)){u=u+1|0}else{break a}}d=m;c[d>>2]=x;d=n+4|0;c[d>>2]=8;d=172720;Qe(0,d,n);tc()}while(1){t=da(p,b)|0;u=c[s>>2]|0;x=c[l>>2]|0;if((x|0)!=8){break}x=c[k>>2]|0;b:do{if(jd[c[(c[x>>2]|0)+88>>2]&511](x)|0){w=sd[c[(c[x>>2]|0)+92>>2]&127](x,b,u+t|0)|0;h=22}else{w=0;do{v=jd[c[(c[x>>2]|0)+20>>2]&511](x)|0;if((v|0)==-1){h=22;break b}a[u+(w+t)|0]=v;w=w+1|0;}while((w|0)<(b|0))}}while(0);do{if((h|0)==22){h=0;if((w|0)>=(b|0)){break}do{Qe(-1,169208,o);a[(c[s>>2]|0)+(w+t)|0]=0;w=w+1|0;}while((w|0)<(b|0))}}while(0);if((p|0)<(r|0)){p=p+1|0}else{break a}}d=m;c[d>>2]=x;d=n+4|0;c[d>>2]=8;d=172720;Qe(0,d,n);tc()}}while(0);l=c[l>>2]|0;if((l|0)==8){h=c[k>>2]|0;fd[c[(c[h>>2]|0)+16>>2]&511](h);h=40;break}else{c[g>>2]=l;c[j+4>>2]=8;Qe(0,172720,j);tc()}}else{Qe(-1,169344,v);h=41}}while(0);if((h|0)==40){Of(e);d=q;i=f;return d|0}else if((h|0)==41){if((q|0)==0){break}fd[c[(c[q>>2]|0)+4>>2]&511](q);break}}}while(0);Of(e);d=0;i=f;return d|0}function Py(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;g=i;i=i+8|0;k=i;i=i+8|0;l=k;h=i;i=i+8|0;n=i;i=i+8|0;m=i;i=i+16|0;e=m;c[m>>2]=13;j=e+8|0;c[j>>2]=0;c[j+4>>2]=0;if((c[b+12>>2]|0)!=4){Qe(-1,169464,n);n=0;i=f;return n|0}do{if((c[(ut(b,1,e)|0)>>2]|0)==4){h=FW(32)|0;m=c[m>>2]|0;if((m|0)!=4){c[k>>2]=m;c[l+4>>2]=4;Qe(0,172720,l);tc()}fe(h,c[j>>2]|0);Of(e);ut(b,2,e)|0;j=Jy(e,d)|0;do{if((j|0)==0){Qe(-1,169536,g)}else{Of(e);ut(b,3,e)|0;b=EH(e)|0;if((b|0)==0){fd[c[(c[j>>2]|0)+4>>2]&511](j);break}Of(e);n=FW(20)|0;c[n>>2]=169392;c[n+4>>2]=h;c[n+8>>2]=j;c[n+12>>2]=b;a[n+16|0]=(te(h,169456)|0)==0|0;i=f;return n|0}}while(0);if((h|0)==0){break}ke(h);HW(h)}else{Qe(-1,169496,h)}}while(0);Of(e);n=0;i=f;return n|0}function Qy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=i;k=i;i=i+8|0;m=i;i=i+8|0;n=m;u=i;i=i+8|0;s=i;i=i+8|0;t=s;x=i;i=i+8|0;w=x;z=i;i=i+8|0;y=z;A=i;i=i+8|0;B=i;i=i+8|0;e=i;i=i+128|0;r=i;i=i+16|0;j=r;p=i;i=i+16|0;l=p;c[r>>2]=13;q=j+8|0;c[q>>2]=0;c[q+4>>2]=0;c[p>>2]=13;o=l+8|0;c[o>>2]=0;c[o+4>>2]=0;if(((c[b+12>>2]|0)+ -4|0)>>>0>=2){Qe(-1,169664,B);B=0;i=g;return B|0}a:do{if((c[(ut(b,1,j)|0)>>2]|0)==6){A=c[r>>2]|0;if((A|0)!=6){c[z>>2]=A;c[y+4>>2]=6;Qe(0,172720,y);tc()}y=c[(c[q>>2]|0)+12>>2]|0;if((y|0)>32){c[x>>2]=y;c[w+4>>2]=32;Qe(-1,169720,w);w=32;v=10}else{if((y|0)>0){w=y;v=10}else{h=0;f=y}}b:do{if((v|0)==10){v=0;while(1){x=c[r>>2]|0;if((x|0)!=6){v=12;break}if((c[(ut(c[q>>2]|0,v,l)|0)>>2]|0)!=4){v=14;break}y=FW(32)|0;x=c[p>>2]|0;if((x|0)!=4){v=16;break}fe(y,c[o>>2]|0);c[e+(v<<2)>>2]=y;Of(l);v=v+1|0;if((v|0)>=(w|0)){h=1;f=w;break b}}if((v|0)==12){c[s>>2]=x;c[t+4>>2]=6;Qe(0,172720,t);tc()}else if((v|0)==14){Qe(-1,169688,u);Of(l);break a}else if((v|0)==16){c[m>>2]=x;c[n+4>>2]=4;Qe(0,172720,n);tc()}}}while(0);Of(j);ut(b,2,j)|0;l=Jy(j,d)|0;do{if((l|0)==0){Qe(-1,169776,k)}else{Of(j);ut(b,3,j)|0;k=EH(j)|0;if((k|0)==0){fd[c[(c[l>>2]|0)+4>>2]&511](l);break}Of(j);j=FW(148)|0;c[j>>2]=169600;c[j+4>>2]=f;c[j+136>>2]=l;c[j+140>>2]=k;k=j+144|0;a[k]=1;if(h){h=j+8|0;b=0;do{B=c[e+(b<<2)>>2]|0;c[h+(b<<2)>>2]=B;if((te(B,169456)|0)!=0){a[k]=0}b=b+1|0;}while((b|0)<(f|0))}B=j;i=g;return B|0}}while(0);if(h){h=0}else{break}do{k=c[e+(h<<2)>>2]|0;if((k|0)!=0){ke(k);HW(k)}h=h+1|0;}while((h|0)<(f|0))}else{Qe(-1,169688,A)}}while(0);Of(j);B=0;i=g;return B|0}function Ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;f=i;i=i+8|0;h=i;i=i+8|0;j=i;i=i+16|0;e=j;c[j>>2]=13;j=e+8|0;c[j>>2]=0;c[j+4>>2]=0;j=c[a+12>>2]|0;if((j|0)==2){g=3}else if((j|0)==1){e=0}else{Qe(-1,169896,h);b=0;i=d;return b|0}do{if((g|0)==3){ut(a,1,e)|0;g=Jy(e,b)|0;if((g|0)!=0){Of(e);e=g;break}Qe(-1,169920,f);Of(e);b=0;i=d;return b|0}}while(0);b=FW(8)|0;c[b>>2]=169832;c[b+4>>2]=e;i=d;return b|0}function Sy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;e=i;if((jd[c[(c[a>>2]|0)+44>>2]&511](a)|0)>0){f=0}else{i=e;return}do{h[b+(f<<3)>>3]=0.0;h[d+(f<<3)>>3]=1.0;f=f+1|0;}while((f|0)<(jd[c[(c[a>>2]|0)+44>>2]&511](a)|0));i=e;return}function Ty(a){a=a|0;c[a>>2]=168128;i=i;return}function Uy(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function Vy(a){a=a|0;var b=0;b=i;a=FW(4)|0;c[a>>2]=168128;i=b;return a|0}function Wy(a,b,d){a=a|0;b=b|0;d=d|0;b=c[b>>2]|0;if((b|0)<0){b=0}else{b=(b|0)>65536?65536:b}c[d>>2]=b;i=i;return}function Xy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=i;$W(c|0,b|0,d|0)|0;i=a;return}function Yy(a,b,d){a=a|0;b=b|0;d=d|0;b=c[b>>2]|0;if((b|0)<0){b=0}else{b=(b|0)>65536?65536:b}c[d+8>>2]=b;c[d+4>>2]=b;c[d>>2]=b;i=i;return}function Zy(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;a=i;if((f|0)>0){g=0}else{i=a;return}do{h=d[b+g|0]|0;c[e+(g<<2)>>2]=h<<8|h|h<<16;g=g+1|0;}while((g|0)<(f|0));i=a;return}function _y(a,b,d){a=a|0;b=b|0;d=d|0;c[d+8>>2]=0;c[d+4>>2]=0;c[d>>2]=0;b=65536-(c[b>>2]|0)|0;if((b|0)<0){b=0}else{b=(b|0)>65536?65536:b}c[d+12>>2]=b;i=i;return}function $y(a,b){a=a|0;b=b|0;c[b>>2]=0;i=i;return}function az(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function bz(a){a=a|0;var b=0,d=0,e=0;d=i;b=FW(88)|0;c[b>>2]=168200;e=b+32|0;bX(e|0,0,16)|0;h[b+8>>3]=+h[a+8>>3];h[b+16>>3]=+h[a+16>>3];h[b+24>>3]=+h[a+24>>3];h[e>>3]=+h[a+32>>3];h[b+40>>3]=+h[a+40>>3];h[b+48>>3]=+h[a+48>>3];h[b+56>>3]=+h[a+56>>3];i=d;return b|0}function cz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=i;i=i+16|0;f=g;Gd[c[(c[a>>2]|0)+20>>2]&255](a,b,f);b=~~(+(c[g>>2]|0)*.299+ +(c[f+4>>2]|0)*.587+ +(c[f+8>>2]|0)*.114+.5);if((b|0)<0){f=0;g=d;c[g>>2]=f;i=e;return}f=(b|0)>65536?65536:b;g=d;c[g>>2]=f;i=e;return}function dz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,j=0.0,k=0.0;e=i;g=+U(+(+(c[b>>2]|0)*152587890625.0e-16),+(+h[a+56>>3]));j=g*+h[a+8>>3];f=g*+h[a+16>>3];g=g*+h[a+24>>3];k=+h[a+64>>3]*(j*3.240449+f*-1.537136+g*-.498531);if(k<0.0){k=0.0}else{k=k>1.0?1.0:k}c[d>>2]=~~(+T(+k)*65536.0);k=(j*-.969265+f*1.876011+g*.041556)*+h[a+72>>3];if(k<0.0){k=0.0}else{k=k>1.0?1.0:k}c[d+4>>2]=~~(+T(+k)*65536.0);f=(j*.055643+f*-.204026+g*1.057229)*+h[a+80>>3];if(f<0.0){k=0.0;k=+T(+k);k=k*65536.0;a=~~k;b=d+8|0;c[b>>2]=a;i=e;return}k=f>1.0?1.0:f;k=+T(+k);k=k*65536.0;a=~~k;b=d+8|0;c[b>>2]=a;i=e;return}function ez(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=i;i=i+16|0;f=g;Gd[c[(c[a>>2]|0)+20>>2]&255](a,b,f);b=65536-(c[g>>2]|0)|0;if((b|0)<0){b=0}else{b=(b|0)>65536?65536:b}a=65536-(c[f+4>>2]|0)|0;if((a|0)<0){a=0}else{a=(a|0)>65536?65536:a}f=65536-(c[f+8>>2]|0)|0;if((f|0)<0){f=0}else{f=(f|0)>65536?65536:f}g=(a|0)<(b|0)?a:b;g=(f|0)<(g|0)?f:g;c[d>>2]=b-g;c[d+4>>2]=a-g;c[d+8>>2]=f-g;c[d+12>>2]=g;i=e;return}function fz(a,b){a=a|0;b=b|0;c[b>>2]=0;i=i;return}function gz(a){a=a|0;c[a>>2]=168336;i=i;return}function hz(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function iz(a){a=a|0;var b=0;b=i;a=FW(4)|0;c[a>>2]=168336;i=b;return a|0}function jz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=i;b=~~(+(c[b>>2]|0)*.3+ +(c[b+4>>2]|0)*.59+ +(c[b+8>>2]|0)*.11+.5);if((b|0)<0){e=0;b=d;c[b>>2]=e;i=a;return}b=(b|0)>65536?65536:b;e=d;c[e>>2]=b;i=a;return}function kz(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0;b=i;if((f|0)>0){g=0}else{i=b;return}do{h=g*3|0;a[e+g|0]=(((d[c+(h+1)|0]|0)*38469|0)+((d[c+h|0]|0)*19595|0)+((d[c+(h+2)|0]|0)*7472|0)|0)>>>16;g=g+1|0;}while((g|0)<(f|0));i=b;return}function lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=i;e=c[b>>2]|0;if((e|0)<0){e=0}else{e=(e|0)>65536?65536:e}c[d>>2]=e;e=c[b+4>>2]|0;if((e|0)<0){e=0}else{e=(e|0)>65536?65536:e}c[d+4>>2]=e;b=c[b+8>>2]|0;if((b|0)<0){b=0;e=d+8|0;c[e>>2]=b;i=a;return}b=(b|0)>65536?65536:b;e=d+8|0;c[e>>2]=b;i=a;return}function mz(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0;a=i;if((f|0)>0){g=0}else{i=a;return}while(1){c[e+(g<<2)>>2]=(d[b+1|0]|0)<<8|(d[b]|0)<<16|(d[b+2|0]|0);g=g+1|0;if((g|0)<(f|0)){b=b+3|0}else{break}}i=a;return}function nz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=65536-(c[b>>2]|0)|0;if((a|0)<0){a=0}else{a=(a|0)>65536?65536:a}e=65536-(c[b+4>>2]|0)|0;if((e|0)<0){e=0}else{e=(e|0)>65536?65536:e}b=65536-(c[b+8>>2]|0)|0;if((b|0)<0){b=0}else{b=(b|0)>65536?65536:b}f=(e|0)<(a|0)?e:a;f=(b|0)<(f|0)?b:f;c[d>>2]=a-f;c[d+4>>2]=e-f;c[d+8>>2]=b-f;c[d+12>>2]=f;i=i;return}function oz(a,b){a=a|0;b=b|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;i=i;return}function pz(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function qz(a){a=a|0;var b=0,d=0,e=0;d=i;b=FW(176)|0;c[b>>2]=168408;e=b+32|0;bX(e|0,0,16)|0;h[b+8>>3]=+h[a+8>>3];h[b+16>>3]=+h[a+16>>3];h[b+24>>3]=+h[a+24>>3];h[e>>3]=+h[a+32>>3];h[b+40>>3]=+h[a+40>>3];h[b+48>>3]=+h[a+48>>3];h[b+56>>3]=+h[a+56>>3];h[b+64>>3]=+h[a+64>>3];h[b+72>>3]=+h[a+72>>3];$W(b+80|0,a+80|0,72)|0;i=d;return b|0}function rz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=i;i=i+16|0;f=g;Gd[c[(c[a>>2]|0)+20>>2]&255](a,b,f);b=~~(+(c[g>>2]|0)*.299+ +(c[f+4>>2]|0)*.587+ +(c[f+8>>2]|0)*.114+.5);if((b|0)<0){f=0;g=d;c[g>>2]=f;i=e;return}f=(b|0)>65536?65536:b;g=d;c[g>>2]=f;i=e;return}function sz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,j=0.0,k=0.0,l=0.0;e=i;g=+U(+(+(c[b>>2]|0)*152587890625.0e-16),+(+h[a+56>>3]));j=+U(+(+(c[b+4>>2]|0)*152587890625.0e-16),+(+h[a+64>>3]));f=+U(+(+(c[b+8>>2]|0)*152587890625.0e-16),+(+h[a+72>>3]));l=g*+h[a+80>>3]+j*+h[a+104>>3]+f*+h[a+128>>3];k=g*+h[a+88>>3]+j*+h[a+112>>3]+f*+h[a+136>>3];f=g*+h[a+96>>3]+j*+h[a+120>>3]+f*+h[a+144>>3];j=l*3.240449+k*-1.537136+f*-.498531;g=l*-.969265+k*1.876011+f*.041556;f=l*.055643+k*-.204026+f*1.057229;if(j<0.0){j=0.0}else{j=j>1.0?1.0:j}c[d>>2]=~~(+T(+j)*65536.0);if(g<0.0){g=0.0}else{g=g>1.0?1.0:g}c[d+4>>2]=~~(+T(+g)*65536.0);if(f<0.0){l=0.0;l=+T(+l);l=l*65536.0;a=~~l;b=d+8|0;c[b>>2]=a;i=e;return}l=f>1.0?1.0:f;l=+T(+l);l=l*65536.0;a=~~l;b=d+8|0;c[b>>2]=a;i=e;return}function tz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=i;i=i+16|0;f=g;Gd[c[(c[a>>2]|0)+20>>2]&255](a,b,f);b=65536-(c[g>>2]|0)|0;if((b|0)<0){b=0}else{b=(b|0)>65536?65536:b}a=65536-(c[f+4>>2]|0)|0;if((a|0)<0){a=0}else{a=(a|0)>65536?65536:a}f=65536-(c[f+8>>2]|0)|0;if((f|0)<0){f=0}else{f=(f|0)>65536?65536:f}g=(a|0)<(b|0)?a:b;g=(f|0)<(g|0)?f:g;c[d>>2]=b-g;c[d+4>>2]=a-g;c[d+8>>2]=f-g;c[d+12>>2]=g;i=e;return}function uz(a,b){a=a|0;b=b|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;i=i;return}function vz(a){a=a|0;c[a>>2]=168512;i=i;return}function wz(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function xz(a){a=a|0;var b=0;b=i;a=FW(4)|0;c[a>>2]=168512;i=b;return a|0}function yz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=i;b=~~(+(65536-(c[b+12>>2]|0)|0)- +(c[b>>2]|0)*.3- +(c[b+4>>2]|0)*.59- +(c[b+8>>2]|0)*.11+.5);if((b|0)<0){e=0;b=d;c[b>>2]=e;i=a;return}b=(b|0)>65536?65536:b;e=d;c[e>>2]=b;i=a;return}function zz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,h=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0;a=i;h=+(c[b>>2]|0)*152587890625.0e-16;w=+(c[b+4>>2]|0)*152587890625.0e-16;v=+(c[b+8>>2]|0)*152587890625.0e-16;f=+(c[b+12>>2]|0)*152587890625.0e-16;u=1.0-h;q=1.0-w;g=1.0-v;e=1.0-f;r=u*q;p=r*g;o=p*e;p=f*p;r=v*r;s=r*e;r=f*r;u=u*w;t=u*g;n=t*e;u=u*v;m=u*e;q=h*q;k=q*g;l=k*e;k=f*k;q=v*q;j=q*e;w=h*w;g=w*g;h=g*e;e=w*v*e;b=~~((e*.2118+(h*.1804+(u*f*.1333+(m*.9294+(f*t*.1412+(n*.9255+(r*.1098+(s+(o+p*.1373)))))))))*65536.0);if((b|0)<0){b=0}else{b=(b|0)>65536?65536:b}c[d>>2]=b;b=~~((e*.2119+(h*.1922+(f*q*.0745+(j*.651+(k*.0588+(l*.6784+(m*.1098+(r*.102+(s*.949+(o+p*.1216))))))))))*65536.0);if((b|0)<0){b=0}else{b=(b|0)>65536?65536:b}c[d+4>>2]=b;b=~~((e*.2235+(f*g*.0078+(h*.5725+(j*.3137+(k*.1412+(l*.9373+(m*.1412+(n*.549+(o+p*.1255)))))))))*65536.0);if((b|0)<0){x=0;b=d+8|0;c[b>>2]=x;i=a;return}b=(b|0)>65536?65536:b;x=d+8|0;c[x>>2]=b;i=a;return}function Az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=i;e=c[b>>2]|0;if((e|0)<0){e=0}else{e=(e|0)>65536?65536:e}c[d>>2]=e;e=c[b+4>>2]|0;if((e|0)<0){e=0}else{e=(e|0)>65536?65536:e}c[d+4>>2]=e;e=c[b+8>>2]|0;if((e|0)<0){e=0}else{e=(e|0)>65536?65536:e}c[d+8>>2]=e;b=c[b+12>>2]|0;if((b|0)<0){b=0;e=d+12|0;c[e>>2]=b;i=a;return}b=(b|0)>65536?65536:b;e=d+12|0;c[e>>2]=b;i=a;return}function Bz(a,b){a=a|0;b=b|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=65536;i=i;return}function Cz(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function Dz(a){a=a|0;var b=0,d=0,e=0;d=i;b=FW(112)|0;c[b>>2]=168584;e=b+32|0;bX(e|0,0,16)|0;h[b+8>>3]=+h[a+8>>3];h[b+16>>3]=+h[a+16>>3];h[b+24>>3]=+h[a+24>>3];h[e>>3]=+h[a+32>>3];h[b+40>>3]=+h[a+40>>3];h[b+48>>3]=+h[a+48>>3];h[b+56>>3]=+h[a+56>>3];h[b+64>>3]=+h[a+64>>3];h[b+72>>3]=+h[a+72>>3];h[b+80>>3]=+h[a+80>>3];h[b+88>>3]=+h[a+88>>3];h[b+96>>3]=+h[a+96>>3];h[b+104>>3]=+h[a+104>>3];i=d;return b|0}function Ez(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=i;i=i+16|0;f=g;Gd[c[(c[a>>2]|0)+20>>2]&255](a,b,f);b=~~(+(c[g>>2]|0)*.299+ +(c[f+4>>2]|0)*.587+ +(c[f+8>>2]|0)*.114+.5);if((b|0)<0){f=0;g=d;c[g>>2]=f;i=e;return}f=(b|0)>65536?65536:b;g=d;c[g>>2]=f;i=e;return}function Fz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,j=0.0,k=0.0;e=i;j=(+(c[b>>2]|0)*152587890625.0e-16+16.0)/116.0;f=j+ +(c[b+4>>2]|0)*152587890625.0e-16/500.0;if(f<.20689655172413793){f=(f+-.13793103448275862)*.12841854934601665}else{f=f*f*f}if(j<.20689655172413793){g=(j+-.13793103448275862)*.12841854934601665}else{g=j*j*j}j=j- +(c[b+8>>2]|0)*152587890625.0e-16/200.0;if(j<.20689655172413793){j=(j+-.13793103448275862)*.12841854934601665}else{j=j*j*j}f=f*+h[a+8>>3];g=g*+h[a+16>>3];j=j*+h[a+24>>3];k=+h[a+88>>3]*(f*3.240449+g*-1.537136+j*-.498531);if(k<0.0){k=0.0}else{k=k>1.0?1.0:k}c[d>>2]=~~(+T(+k)*65536.0);k=(f*-.969265+g*1.876011+j*.041556)*+h[a+96>>3];if(k<0.0){k=0.0}else{k=k>1.0?1.0:k}c[d+4>>2]=~~(+T(+k)*65536.0);f=(f*.055643+g*-.204026+j*1.057229)*+h[a+104>>3];if(f<0.0){k=0.0;k=+T(+k);k=k*65536.0;a=~~k;b=d+8|0;c[b>>2]=a;i=e;return}k=f>1.0?1.0:f;k=+T(+k);k=k*65536.0;a=~~k;b=d+8|0;c[b>>2]=a;i=e;return}function Gz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=i;i=i+16|0;f=g;Gd[c[(c[a>>2]|0)+20>>2]&255](a,b,f);b=65536-(c[g>>2]|0)|0;if((b|0)<0){b=0}else{b=(b|0)>65536?65536:b}a=65536-(c[f+4>>2]|0)|0;if((a|0)<0){a=0}else{a=(a|0)>65536?65536:a}f=65536-(c[f+8>>2]|0)|0;if((f|0)<0){f=0}else{f=(f|0)>65536?65536:f}g=(a|0)<(b|0)?a:b;g=(f|0)<(g|0)?f:g;c[d>>2]=b-g;c[d+4>>2]=a-g;c[d+8>>2]=f-g;c[d+12>>2]=g;i=e;return}function Hz(a,b){a=a|0;b=b|0;var d=0,e=0.0;d=i;c[b>>2]=0;e=+h[a+56>>3];do{if(e>0.0){c[b+4>>2]=~~(e*65536.0)}else{e=+h[a+64>>3];if(e<0.0){c[b+4>>2]=~~(e*65536.0);break}else{c[b+4>>2]=0;break}}}while(0);e=+h[a+72>>3];if(e>0.0){c[b+8>>2]=~~(e*65536.0);i=d;return}e=+h[a+80>>3];if(e<0.0){c[b+8>>2]=~~(e*65536.0);i=d;return}else{c[b+8>>2]=0;i=d;return}}function Iz(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;h[b>>3]=0.0;h[c>>3]=100.0;d=a+56|0;h[b+8>>3]=+h[d>>3];h[c+8>>3]=+h[a+64>>3]- +h[d>>3];d=a+72|0;h[b+16>>3]=+h[d>>3];h[c+16>>3]=+h[a+80>>3]- +h[d>>3];i=i;return}function Jz(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=168688;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function Kz(a){a=a|0;var b=0;b=i;c[a>>2]=168688;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function Lz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;b=FW(88)|0;f=c[a+4>>2]|0;g=c[a+8>>2]|0;g=jd[c[(c[g>>2]|0)+8>>2]&511](g)|0;c[b>>2]=168688;c[b+4>>2]=f;c[b+8>>2]=g;g=a+80|0;f=c[g+4>>2]|0;e=b+80|0;c[e>>2]=c[g>>2];c[e+4>>2]=f;e=b+16|0;bX(e|0,0,24)|0;h[e>>3]=+h[a+16>>3];h[b+48>>3]=+h[a+48>>3];h[b+24>>3]=+h[a+24>>3];h[b+56>>3]=+h[a+56>>3];h[b+32>>3]=+h[a+32>>3];h[b+64>>3]=+h[a+64>>3];h[b+40>>3]=+h[a+40>>3];h[b+72>>3]=+h[a+72>>3];i=d;return b|0}function Mz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;a=c[a+8>>2]|0;Gd[c[(c[a>>2]|0)+16>>2]&255](a,b,d);i=e;return}function Nz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;a=c[a+8>>2]|0;Gd[c[(c[a>>2]|0)+20>>2]&255](a,b,d);i=e;return}function Oz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;a=c[a+8>>2]|0;Jd[c[(c[a>>2]|0)+32>>2]&63](a,b,d,e);i=f;return}function Pz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;a=c[a+8>>2]|0;Gd[c[(c[a>>2]|0)+24>>2]&255](a,b,d);i=e;return}function Qz(a){a=a|0;var b=0;b=i;a=c[a+8>>2]|0;a=jd[c[(c[a>>2]|0)+36>>2]&511](a)|0;i=b;return a|0}function Rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0;d=i;e=a+4|0;if((c[e>>2]|0)>0){f=0}else{i=d;return}do{g=+h[a+16+(f<<3)>>3];do{if(g>0.0){c[b+(f<<2)>>2]=~~(g*65536.0)}else{g=+h[a+48+(f<<3)>>3];if(g<0.0){c[b+(f<<2)>>2]=~~(g*65536.0);break}else{c[b+(f<<2)>>2]=0;break}}}while(0);f=f+1|0;}while((f|0)<(c[e>>2]|0));i=d;return}function Sz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;a=c[a+8>>2]|0;Jd[c[(c[a>>2]|0)+52>>2]&63](a,b,d,e);i=f;return}function Tz(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=168952;d=c[a+4>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}Fe(c[a+12>>2]|0);HW(a);i=b;return}function Uz(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=168952;d=c[a+4>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}Fe(c[a+12>>2]|0);i=b;return}function Vz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=i;b=FW(16)|0;e=a+4|0;f=c[e>>2]|0;f=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0;h=a+8|0;g=c[h>>2]|0;c[b>>2]=168952;c[b+4>>2]=f;c[b+8>>2]=g;g=ye(da(jd[c[(c[f>>2]|0)+44>>2]&511](f)|0,g+1|0)|0,1)|0;c[b+12>>2]=g;f=c[a+12>>2]|0;a=(c[h>>2]|0)+1|0;e=c[e>>2]|0;$W(g|0,f|0,da(jd[c[(c[e>>2]|0)+44>>2]&511](e)|0,a)|0)|0;i=d;return b|0}function Wz(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;k=i;i=i+256|0;m=i;i=i+256|0;g=i;i=i+128|0;o=a+4|0;f=c[o>>2]|0;n=c[f>>2]|0;l=c[n+16>>2]|0;n=jd[c[n+44>>2]&511](f)|0;o=c[o>>2]|0;Jd[c[(c[o>>2]|0)+52>>2]&63](o,k,m,c[a+8>>2]|0);b=da(~~(+(c[b>>2]|0)*152587890625.0e-16+.5),n)|0;o=c[a+12>>2]|0;if((n|0)>0){a=0}else{o=l;Gd[o&255](f,g,e);i=j;return}do{c[g+(a<<2)>>2]=~~((+h[k+(a<<3)>>3]+ +(d[o+(a+b)|0]|0|0)/255.0*+h[m+(a<<3)>>3])*65536.0);a=a+1|0;}while((a|0)<(n|0));o=l;Gd[o&255](f,g,e);i=j;return}function Xz(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;k=i;i=i+256|0;m=i;i=i+256|0;g=i;i=i+128|0;o=a+4|0;f=c[o>>2]|0;n=c[f>>2]|0;l=c[n+20>>2]|0;n=jd[c[n+44>>2]&511](f)|0;o=c[o>>2]|0;Jd[c[(c[o>>2]|0)+52>>2]&63](o,k,m,c[a+8>>2]|0);b=da(~~(+(c[b>>2]|0)*152587890625.0e-16+.5),n)|0;o=c[a+12>>2]|0;if((n|0)>0){a=0}else{o=l;Gd[o&255](f,g,e);i=j;return}do{c[g+(a<<2)>>2]=~~((+h[k+(a<<3)>>3]+ +(d[o+(a+b)|0]|0|0)/255.0*+h[m+(a<<3)>>3])*65536.0);a=a+1|0;}while((a|0)<(n|0));o=l;Gd[o&255](f,g,e);i=j;return}function Yz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;l=b+4|0;k=c[l>>2]|0;k=jd[c[(c[k>>2]|0)+44>>2]&511](k)|0;h=ye(g,k)|0;do{if((g|0)>0){b=b+12|0;if((k|0)>0){m=0}else{break}do{n=e+m|0;o=da(m,k)|0;p=0;do{q=(da(d[n]|0,k)|0)+p|0;a[h+(p+o)|0]=a[(c[b>>2]|0)+q|0]|0;p=p+1|0;}while((p|0)<(k|0));m=m+1|0;}while((m|0)<(g|0))}}while(0);q=c[l>>2]|0;Jd[c[(c[q>>2]|0)+32>>2]&63](q,h,f,g);Fe(h);i=j;return}function Zz(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;j=i;k=i;i=i+256|0;m=i;i=i+256|0;g=i;i=i+128|0;o=a+4|0;f=c[o>>2]|0;n=c[f>>2]|0;l=c[n+24>>2]|0;n=jd[c[n+44>>2]&511](f)|0;o=c[o>>2]|0;Jd[c[(c[o>>2]|0)+52>>2]&63](o,k,m,c[a+8>>2]|0);b=da(~~(+(c[b>>2]|0)*152587890625.0e-16+.5),n)|0;o=c[a+12>>2]|0;if((n|0)>0){a=0}else{o=l;Gd[o&255](f,g,e);i=j;return}do{c[g+(a<<2)>>2]=~~((+h[k+(a<<3)>>3]+ +(d[o+(a+b)|0]|0|0)/255.0*+h[m+(a<<3)>>3])*65536.0);a=a+1|0;}while((a|0)<(n|0));o=l;Gd[o&255](f,g,e);i=j;return}function _z(a,b){a=a|0;b=b|0;c[b>>2]=0;i=i;return}function $z(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;h[b>>3]=0.0;h[c>>3]=+(d|0);i=i;return}function aA(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=169392;d=c[a+4>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+8>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+12>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function bA(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=169392;d=c[a+4>>2]|0;if((d|0)!=0){ke(d);HW(d)}d=c[a+8>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}a=c[a+12>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function cA(b){b=b|0;var d=0,e=0,f=0,g=0;e=i;d=FW(20)|0;g=c[b+4>>2]|0;f=FW(32)|0;ie(f,g);g=c[b+8>>2]|0;g=jd[c[(c[g>>2]|0)+8>>2]&511](g)|0;b=c[b+12>>2]|0;b=jd[c[(c[b>>2]|0)+8>>2]&511](b)|0;c[d>>2]=169392;c[d+4>>2]=f;c[d+8>>2]=g;c[d+12>>2]=b;a[d+16|0]=(te(f,169456)|0)==0|0;i=e;return d|0}function dA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0;f=i;j=i;i=i+8|0;g=i;i=i+256|0;e=i;i=i+128|0;h[j>>3]=+(c[b>>2]|0)*152587890625.0e-16;b=c[a+12>>2]|0;Gd[c[(c[b>>2]|0)+16>>2]&255](b,j,g);a=a+8|0;b=c[a>>2]|0;if((jd[c[(c[b>>2]|0)+44>>2]&511](b)|0)>0){b=0}else{j=a;j=c[j>>2]|0;b=j;b=c[b>>2]|0;b=b+16|0;b=c[b>>2]|0;Gd[b&255](j,e,d);i=f;return}do{c[e+(b<<2)>>2]=~~(+h[g+(b<<3)>>3]*65536.0);b=b+1|0;j=c[a>>2]|0;}while((b|0)<(jd[c[(c[j>>2]|0)+44>>2]&511](j)|0));j=a;j=c[j>>2]|0;b=j;b=c[b>>2]|0;b=b+16|0;b=c[b>>2]|0;Gd[b&255](j,e,d);i=f;return}function eA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0;f=i;j=i;i=i+8|0;g=i;i=i+256|0;e=i;i=i+128|0;h[j>>3]=+(c[b>>2]|0)*152587890625.0e-16;b=c[a+12>>2]|0;Gd[c[(c[b>>2]|0)+16>>2]&255](b,j,g);a=a+8|0;b=c[a>>2]|0;if((jd[c[(c[b>>2]|0)+44>>2]&511](b)|0)>0){b=0}else{j=a;j=c[j>>2]|0;b=j;b=c[b>>2]|0;b=b+20|0;b=c[b>>2]|0;Gd[b&255](j,e,d);i=f;return}do{c[e+(b<<2)>>2]=~~(+h[g+(b<<3)>>3]*65536.0);b=b+1|0;j=c[a>>2]|0;}while((b|0)<(jd[c[(c[j>>2]|0)+44>>2]&511](j)|0));j=a;j=c[j>>2]|0;b=j;b=c[b>>2]|0;b=b+20|0;b=c[b>>2]|0;Gd[b&255](j,e,d);i=f;return}function fA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0;f=i;j=i;i=i+8|0;g=i;i=i+256|0;e=i;i=i+128|0;h[j>>3]=+(c[b>>2]|0)*152587890625.0e-16;b=c[a+12>>2]|0;Gd[c[(c[b>>2]|0)+16>>2]&255](b,j,g);a=a+8|0;b=c[a>>2]|0;if((jd[c[(c[b>>2]|0)+44>>2]&511](b)|0)>0){b=0}else{j=a;j=c[j>>2]|0;b=j;b=c[b>>2]|0;b=b+24|0;b=c[b>>2]|0;Gd[b&255](j,e,d);i=f;return}do{c[e+(b<<2)>>2]=~~(+h[g+(b<<3)>>3]*65536.0);b=b+1|0;j=c[a>>2]|0;}while((b|0)<(jd[c[(c[j>>2]|0)+44>>2]&511](j)|0));j=a;j=c[j>>2]|0;b=j;b=c[b>>2]|0;b=b+24|0;b=c[b>>2]|0;Gd[b&255](j,e,d);i=f;return}function gA(a,b){a=a|0;b=b|0;c[b>>2]=65536;i=i;return}function hA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[a>>2]=169600;d=a+4|0;e=c[d>>2]|0;if((e|0)>0){f=0;do{g=c[a+8+(f<<2)>>2]|0;if((g|0)!=0){ke(g);HW(g);e=c[d>>2]|0}f=f+1|0;}while((f|0)<(e|0))}d=c[a+136>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+140>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function iA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[a>>2]=169600;d=a+4|0;e=c[d>>2]|0;if((e|0)>0){f=0;do{g=c[a+8+(f<<2)>>2]|0;if((g|0)!=0){ke(g);HW(g);e=c[d>>2]|0}f=f+1|0;}while((f|0)<(e|0))}d=c[a+136>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}a=c[a+140>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function jA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;d=FW(148)|0;g=b+4|0;h=c[g>>2]|0;j=c[b+136>>2]|0;j=jd[c[(c[j>>2]|0)+8>>2]&511](j)|0;f=c[b+140>>2]|0;f=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0;c[d>>2]=169600;c[d+4>>2]=h;c[d+136>>2]=j;c[d+140>>2]=f;f=d+144|0;a[f]=0;if((c[g>>2]|0)<=0){h=b+144|0;h=a[h]|0;h=h&1;j=f;a[j]=h;i=e;return d|0}h=d+8|0;j=0;do{l=c[b+8+(j<<2)>>2]|0;k=FW(32)|0;ie(k,l);c[h+(j<<2)>>2]=k;j=j+1|0;}while((j|0)<(c[g>>2]|0));k=b+144|0;k=a[k]|0;k=k&1;l=f;a[l]=k;i=e;return d|0}function kA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;e=i;k=i;i=i+256|0;f=i;i=i+256|0;g=i;i=i+128|0;j=c[a+4>>2]|0;if((j|0)>0){l=0;do{h[k+(l<<3)>>3]=+(c[b+(l<<2)>>2]|0)*152587890625.0e-16;l=l+1|0;}while((l|0)<(j|0))}j=c[a+140>>2]|0;Gd[c[(c[j>>2]|0)+16>>2]&255](j,k,f);j=a+136|0;l=c[j>>2]|0;if((jd[c[(c[l>>2]|0)+44>>2]&511](l)|0)>0){k=0}else{l=j;l=c[l>>2]|0;b=l;b=c[b>>2]|0;b=b+16|0;b=c[b>>2]|0;Gd[b&255](l,g,d);i=e;return}do{c[g+(k<<2)>>2]=~~(+h[f+(k<<3)>>3]*65536.0);k=k+1|0;l=c[j>>2]|0;}while((k|0)<(jd[c[(c[l>>2]|0)+44>>2]&511](l)|0));l=j;l=c[l>>2]|0;b=l;b=c[b>>2]|0;b=b+16|0;b=c[b>>2]|0;Gd[b&255](l,g,d);i=e;return}function lA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;e=i;k=i;i=i+256|0;f=i;i=i+256|0;g=i;i=i+128|0;j=c[a+4>>2]|0;if((j|0)>0){l=0;do{h[k+(l<<3)>>3]=+(c[b+(l<<2)>>2]|0)*152587890625.0e-16;l=l+1|0;}while((l|0)<(j|0))}j=c[a+140>>2]|0;Gd[c[(c[j>>2]|0)+16>>2]&255](j,k,f);j=a+136|0;l=c[j>>2]|0;if((jd[c[(c[l>>2]|0)+44>>2]&511](l)|0)>0){k=0}else{l=j;l=c[l>>2]|0;b=l;b=c[b>>2]|0;b=b+20|0;b=c[b>>2]|0;Gd[b&255](l,g,d);i=e;return}do{c[g+(k<<2)>>2]=~~(+h[f+(k<<3)>>3]*65536.0);k=k+1|0;l=c[j>>2]|0;}while((k|0)<(jd[c[(c[l>>2]|0)+44>>2]&511](l)|0));l=j;l=c[l>>2]|0;b=l;b=c[b>>2]|0;b=b+20|0;b=c[b>>2]|0;Gd[b&255](l,g,d);i=e;return}function mA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;e=i;k=i;i=i+256|0;f=i;i=i+256|0;g=i;i=i+128|0;j=c[a+4>>2]|0;if((j|0)>0){l=0;do{h[k+(l<<3)>>3]=+(c[b+(l<<2)>>2]|0)*152587890625.0e-16;l=l+1|0;}while((l|0)<(j|0))}j=c[a+140>>2]|0;Gd[c[(c[j>>2]|0)+16>>2]&255](j,k,f);j=a+136|0;l=c[j>>2]|0;if((jd[c[(c[l>>2]|0)+44>>2]&511](l)|0)>0){k=0}else{l=j;l=c[l>>2]|0;b=l;b=c[b>>2]|0;b=b+24|0;b=c[b>>2]|0;Gd[b&255](l,g,d);i=e;return}do{c[g+(k<<2)>>2]=~~(+h[f+(k<<3)>>3]*65536.0);k=k+1|0;l=c[j>>2]|0;}while((k|0)<(jd[c[(c[l>>2]|0)+44>>2]&511](l)|0));l=j;l=c[l>>2]|0;b=l;b=c[b>>2]|0;b=b+24|0;b=c[b>>2]|0;Gd[b&255](l,g,d);i=e;return}function nA(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;a=a+4|0;if((c[a>>2]|0)>0){e=0}else{i=d;return}do{c[b+(e<<2)>>2]=65536;e=e+1|0;}while((e|0)<(c[a>>2]|0));i=d;return}function oA(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=169832;d=c[a+4>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function pA(a){a=a|0;var b=0;b=i;c[a>>2]=169832;a=c[a+4>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function qA(a){a=a|0;var b=0,d=0;d=i;b=FW(8)|0;a=c[a+4>>2]|0;if((a|0)==0){a=0}else{a=jd[c[(c[a>>2]|0)+8>>2]&511](a)|0}c[b>>2]=169832;c[b+4>>2]=a;i=d;return b|0}function rA(a,b,d){a=a|0;b=b|0;d=d|0;c[d>>2]=0;i=i;return}function sA(a,b,d){a=a|0;b=b|0;d=d|0;c[d+8>>2]=0;c[d+4>>2]=0;c[d>>2]=0;i=i;return}function tA(a,b,d){a=a|0;b=b|0;d=d|0;c[d+8>>2]=0;c[d+4>>2]=0;c[d>>2]=0;c[d+12>>2]=1;i=i;return}function uA(a,b){a=a|0;b=b|0;c[b>>2]=0;i=i;return}function vA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=i;g=i;i=i+16|0;d=g;c[g>>2]=13;f=d+8|0;c[f>>2]=0;c[f+4>>2]=0;h=c[a>>2]|0;if((h|0)==8){h=c[a+8>>2]|0;Yu(jd[c[(c[h>>2]|0)+72>>2]&511](h)|0,169976,d,0)|0}else if((h|0)==7){Yu(c[a+8>>2]|0,169976,d,0)|0}else{h=0;i=e;return h|0}do{if((c[g>>2]|0)==1){f=c[f>>2]|0;if((f|0)==2){a=xA(a,b)|0;break}else if((f|0)==1){a=wA(a)|0;break}else{a=0;break}}else{a=0}}while(0);Of(d);h=a;i=e;return h|0}function wA(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0.0,s=0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0.0,ca=0.0;j=i;n=i;i=i+16|0;y=n;z=i;i=i+8|0;g=z;B=i;i=i+8|0;A=B;K=i;i=i+8|0;N=i;i=i+8|0;M=i;i=i+16|0;L=M;Q=i;i=i+8|0;P=i;i=i+16|0;O=P;Y=i;i=i+8|0;R=i;i=i+16|0;T=R;V=i;i=i+8|0;U=V;W=i;i=i+8|0;X=W;Z=i;i=i+8|0;E=i;i=i+8|0;F=E;aa=i;i=i+8|0;_=i;i=i+8|0;G=_;q=i;i=i+32|0;S=q;l=i;i=i+48|0;m=l;J=i;i=i+16|0;d=J;k=i;i=i+16|0;x=k;s=i;i=i+16|0;f=s;c[J>>2]=13;H=d+8|0;c[H>>2]=0;I=H+4|0;c[I>>2]=0;c[k>>2]=13;e=x+8|0;c[e>>2]=0;c[e+4>>2]=0;c[s>>2]=13;w=f+8|0;c[w>>2]=0;c[w+4>>2]=0;if((c[a>>2]|0)!=8){aa=0;i=j;return aa|0}D=c[a+8>>2]|0;D=jd[c[(c[D>>2]|0)+72>>2]&511](D)|0;do{if((c[(Yu(D,169992,x,0)|0)>>2]|0)==1){aa=c[k>>2]|0;if((aa|0)==1){o=c[e>>2]|0;break}else{c[_>>2]=aa;c[G+4>>2]=1;Qe(0,172720,G);tc()}}else{Qe(-1,170008,aa);o=1}}while(0);Of(x);do{if((c[(Yu(D,170048,x,0)|0)>>2]|0)==1){G=c[k>>2]|0;if((G|0)==1){v=c[e>>2]|0;break}else{c[E>>2]=G;c[F+4>>2]=1;Qe(0,172720,F);tc()}}else{Qe(-1,170064,Z);v=1}}while(0);Of(x);F=S+8|0;G=S+24|0;bX(q|0,0,16)|0;h[G>>3]=1.0;E=S+16|0;h[E>>3]=1.0;a:do{if((c[(Yu(D,170112,x,0)|0)>>2]|0)==6){Z=c[k>>2]|0;if((Z|0)!=6){c[W>>2]=Z;c[X+4>>2]=6;Qe(0,172720,X);tc()}if((c[(c[e>>2]|0)+12>>2]|0)!=4){C=28;break}X=6;W=0;while(1){if((X|0)!=6){C=18;break}if(((c[(ut(c[e>>2]|0,W,f)|0)>>2]|0)+ -1|0)>>>0<2){X=c[s>>2]|0;if((X+ -1|0)>>>0>=2){C=21;break}if((X|0)==1){$=+(c[w>>2]|0)}else{$=+h[w>>3]}h[S+(W<<3)>>3]=$}Of(f);W=W+1|0;if((W|0)>=4){break a}X=c[k>>2]|0}if((C|0)==18){c[V>>2]=X;c[U+4>>2]=6;Qe(0,172720,U);tc()}else if((C|0)==21){c[R>>2]=X;c[T+4>>2]=1;c[T+8>>2]=2;Qe(0,172792,T);tc()}}else{C=28}}while(0);if((C|0)==28){Qe(-1,170120,Y)}Of(x);do{if(((c[(Yu(D,170160,x,0)|0)>>2]|0)+ -1|0)>>>0<2){C=c[k>>2]|0;if((C+ -1|0)>>>0>=2){c[P>>2]=C;c[O+4>>2]=1;c[O+8>>2]=2;Qe(0,172792,O);tc()}if((C|0)==1){$=+(c[e>>2]|0);break}else{$=+h[e>>3];break}}else{Qe(-1,170168,Q);$=1.0}}while(0);Of(x);do{if(((c[(Yu(D,170208,x,0)|0)>>2]|0)+ -1|0)>>>0<2){C=c[k>>2]|0;if((C+ -1|0)>>>0>=2){c[M>>2]=C;c[L+4>>2]=1;c[L+8>>2]=2;Qe(0,172792,L);tc()}if((C|0)==1){ba=+(c[e>>2]|0);break}else{ba=+h[e>>3];break}}else{Qe(-1,170216,N);ba=1.0}}while(0);Of(x);if((c[(Yu(D,170256,d,0)|0)>>2]|0)!=7){Of(d);c[H>>2]=0;c[I>>2]=0;c[J>>2]=5;Qe(-1,170272,K)}h[l>>3]=1.0;L=m+8|0;K=m+16|0;J=m+24|0;bX(L|0,0,16)|0;h[J>>3]=1.0;I=m+32|0;H=m+40|0;bX(I|0,0,16)|0;do{if((c[(Yu(D,168496,x,0)|0)>>2]|0)==6){C=c[k>>2]|0;if((C|0)!=6){c[B>>2]=C;c[A+4>>2]=6;Qe(0,172720,A);tc()}if((c[(c[e>>2]|0)+12>>2]|0)!=6){p=0.0;b=1.0;r=0.0;t=0.0;u=1.0;break}B=6;A=0;while(1){if((B|0)!=6){C=51;break}if(((c[(ut(c[e>>2]|0,A,f)|0)>>2]|0)+ -1|0)>>>0<2){B=c[s>>2]|0;if((B+ -1|0)>>>0>=2){C=54;break}if((B|0)==1){ca=+(c[w>>2]|0)}else{ca=+h[w>>3]}h[m+(A<<3)>>3]=ca}Of(f);A=A+1|0;if((A|0)>=6){C=61;break}B=c[k>>2]|0}if((C|0)==51){c[z>>2]=B;c[g+4>>2]=6;Qe(0,172720,g);tc()}else if((C|0)==54){c[n>>2]=B;c[y+4>>2]=1;c[y+8>>2]=2;Qe(0,172792,y);tc()}else if((C|0)==61){p=+h[I>>3];b=+h[J>>3];r=+h[K>>3];t=+h[L>>3];u=+h[l>>3];break}}else{p=0.0;b=1.0;r=0.0;t=0.0;u=1.0}}while(0);Of(x);aa=FW(144)|0;c[aa+4>>2]=1;c[aa>>2]=170320;Z=aa+64|0;c[Z>>2]=13;c[aa+72>>2]=0;c[aa+76>>2]=0;_=aa+128|0;c[_>>2]=13;c[aa+136>>2]=0;c[aa+140>>2]=0;c[aa+8>>2]=o;c[aa+12>>2]=v;h[aa+16>>3]=+h[q>>3];h[aa+24>>3]=+h[F>>3];h[aa+32>>3]=+h[E>>3];h[aa+40>>3]=+h[G>>3];h[aa+48>>3]=$;h[aa+56>>3]=ba;Mf(d,Z)|0;h[aa+80>>3]=u;h[aa+88>>3]=t;h[aa+96>>3]=r;h[aa+104>>3]=b;h[aa+112>>3]=p;h[aa+120>>3]=+h[H>>3];Mf(a,_)|0;Of(d);i=j;return aa|0}function xA(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0,p=0.0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;o=i;k=i;i=i+16|0;l=k;g=i;i=i+8|0;j=g;D=i;i=i+8|0;C=D;r=i;i=i+48|0;w=r;x=i;i=i+16|0;f=x;u=i;i=i+16|0;s=u;c[x>>2]=13;t=f+8|0;c[t>>2]=0;c[t+4>>2]=0;c[u>>2]=13;v=s+8|0;c[v>>2]=0;c[v+4>>2]=0;if((c[a>>2]|0)!=7){E=0;i=o;return E|0}E=c[a+8>>2]|0;Yu(E,170336,f,0)|0;z=BA(f,b)|0;Of(f);if((z|0)==0){E=0;i=o;return E|0}h[r>>3]=1.0;a=w+8|0;y=w+16|0;A=w+24|0;bX(a|0,0,16)|0;h[A>>3]=1.0;B=w+32|0;b=w+40|0;bX(B|0,0,16)|0;do{if((c[(Yu(E,168496,f,0)|0)>>2]|0)==6){E=c[x>>2]|0;if((E|0)!=6){c[D>>2]=E;c[C+4>>2]=6;Qe(0,172720,C);tc()}if((c[(c[t>>2]|0)+12>>2]|0)!=6){m=0.0;n=0.0;d=1.0;p=0.0;q=0.0;e=1.0;break}C=6;D=0;while(1){if((C|0)!=6){s=9;break}if(((c[(ut(c[t>>2]|0,D,s)|0)>>2]|0)+ -1|0)>>>0<2){C=c[u>>2]|0;if((C+ -1|0)>>>0>=2){s=12;break}if((C|0)==1){F=+(c[v>>2]|0)}else{F=+h[v>>3]}h[w+(D<<3)>>3]=F}Of(s);D=D+1|0;if((D|0)>=6){s=19;break}C=c[x>>2]|0}if((s|0)==9){c[g>>2]=C;c[j+4>>2]=6;Qe(0,172720,j);tc()}else if((s|0)==12){c[k>>2]=C;c[l+4>>2]=1;c[l+8>>2]=2;Qe(0,172792,l);tc()}else if((s|0)==19){m=+h[b>>3];n=+h[B>>3];d=+h[A>>3];p=+h[y>>3];q=+h[a>>3];e=+h[r>>3];break}}else{m=0.0;n=0.0;d=1.0;p=0.0;q=0.0;e=1.0}}while(0);Of(f);E=FW(64)|0;c[E+4>>2]=2;c[E>>2]=170352;c[E+8>>2]=z;h[E+16>>3]=e;h[E+24>>3]=q;h[E+32>>3]=p;h[E+40>>3]=d;h[E+48>>3]=n;h[E+56>>3]=m;i=o;return E|0}function yA(a){a=a|0;var b=0;b=i;c[a>>2]=170320;Of(a+64|0);Of(a+128|0);HW(a);i=b;return}function zA(a){a=a|0;var b=0;b=i;c[a>>2]=170320;Of(a+64|0);Of(a+128|0);i=b;return}function AA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0,j=0.0,k=0,l=0;d=i;b=FW(144)|0;l=c[a+8>>2]|0;k=c[a+12>>2]|0;j=+h[a+48>>3];g=+h[a+56>>3];c[b+4>>2]=1;c[b>>2]=170320;f=b+64|0;c[f>>2]=13;c[b+72>>2]=0;c[b+76>>2]=0;e=b+128|0;c[e>>2]=13;c[b+136>>2]=0;c[b+140>>2]=0;c[b+8>>2]=l;c[b+12>>2]=k;h[b+16>>3]=+h[a+16>>3];h[b+24>>3]=+h[a+24>>3];h[b+32>>3]=+h[a+32>>3];h[b+40>>3]=+h[a+40>>3];h[b+48>>3]=j;h[b+56>>3]=g;Mf(a+64|0,f)|0;h[b+80>>3]=+h[a+80>>3];h[b+88>>3]=+h[a+88>>3];h[b+96>>3]=+h[a+96>>3];h[b+104>>3]=+h[a+104>>3];h[b+112>>3]=+h[a+112>>3];h[b+120>>3]=+h[a+120>>3];Mf(a+128|0,e)|0;i=d;return b|0}function BA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;l=i;i=i+8|0;d=l;g=i;i=i+8|0;k=i;i=i+8|0;h=i;i=i+8|0;j=i;i=i+8|0;n=i;i=i+8|0;o=n;r=i;i=i+8|0;q=i;i=i+16|0;e=q;c[q>>2]=13;m=e+8|0;c[m>>2]=0;c[m+4>>2]=0;p=c[a>>2]|0;if((p|0)==8){p=c[a+8>>2]|0;p=jd[c[(c[p>>2]|0)+72>>2]&511](p)|0}else if((p|0)==7){p=c[a+8>>2]|0}else{r=0;i=f;return r|0}if((c[(Yu(p,170392,e,0)|0)>>2]|0)!=1){Qe(-1,170408,r);Of(e);r=0;i=f;return r|0}q=c[q>>2]|0;if((q|0)!=1){c[n>>2]=q;c[o+4>>2]=1;Qe(0,172720,o);tc()}m=c[m>>2]|0;Of(e);switch(m|0){case 2:{r=IA(p,b)|0;i=f;return r|0};case 1:{r=HA(p,b)|0;i=f;return r|0};case 7:{if((c[a>>2]|0)==8){r=LA(7,p,c[a+8>>2]|0,b)|0;i=f;return r|0}else{Qe(-1,170552,g);r=0;i=f;return r|0}break};case 5:{if((c[a>>2]|0)==8){r=KA(5,p,c[a+8>>2]|0,b)|0;i=f;return r|0}else{Qe(-1,170488,h);r=0;i=f;return r|0}break};case 4:{if((c[a>>2]|0)==8){r=KA(4,p,c[a+8>>2]|0,b)|0;i=f;return r|0}else{Qe(-1,170456,j);r=0;i=f;return r|0}break};case 6:{if((c[a>>2]|0)==8){r=LA(6,p,c[a+8>>2]|0,b)|0;i=f;return r|0}else{Qe(-1,170520,k);r=0;i=f;return r|0}break};case 3:{r=JA(p,b)|0;i=f;return r|0};default:{c[l>>2]=m;Qe(-1,170584,d);r=0;i=f;return r|0}}return 0}function CA(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=170352;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function DA(a){a=a|0;var b=0;b=i;c[a>>2]=170352;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function EA(a){a=a|0;var b=0,d=0,e=0;d=i;b=FW(64)|0;e=c[a+8>>2]|0;e=jd[c[(c[e>>2]|0)+8>>2]&511](e)|0;c[b+4>>2]=2;c[b>>2]=170352;c[b+8>>2]=e;h[b+16>>3]=+h[a+16>>3];h[b+24>>3]=+h[a+24>>3];h[b+32>>3]=+h[a+32>>3];h[b+40>>3]=+h[a+40>>3];h[b+48>>3]=+h[a+48>>3];h[b+56>>3]=+h[a+56>>3];i=d;return b|0}function FA(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=170376;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function GA(a){a=a|0;var b=0;b=i;c[a>>2]=170376;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function HA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0.0,N=0.0,O=0.0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0.0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0.0,la=0.0,ma=0.0,na=0.0;e=i;o=i;i=i+8|0;k=o;p=i;i=i+8|0;s=i;i=i+16|0;r=s;t=i;i=i+8|0;u=t;v=i;i=i+16|0;w=v;x=i;i=i+8|0;y=x;A=i;i=i+16|0;z=A;B=i;i=i+8|0;C=B;D=i;i=i+16|0;E=D;G=i;i=i+8|0;F=G;I=i;i=i+16|0;H=I;K=i;i=i+8|0;L=K;Q=i;i=i+16|0;P=Q;R=i;i=i+8|0;S=R;T=i;i=i+16|0;U=T;W=i;i=i+8|0;V=W;Z=i;i=i+16|0;Y=Z;_=i;i=i+8|0;$=_;ba=i;i=i+16|0;aa=ba;da=i;i=i+8|0;ca=da;ga=i;i=i+16|0;fa=ga;ja=i;i=i+8|0;ha=ja;q=i;i=i+128|0;d=q;j=i;i=i+16|0;n=j;ia=i;i=i+16|0;m=ia;c[j>>2]=13;l=n+8|0;c[l>>2]=0;c[l+4>>2]=0;c[ia>>2]=13;ia=m+8|0;c[ia>>2]=0;c[ia+4>>2]=0;do{if((c[(Yu(a,170840,n,0)|0)>>2]|0)==6){ia=c[j>>2]|0;if((ia|0)!=6){c[ja>>2]=ia;c[ha+4>>2]=6;Qe(0,172720,ha);tc()}ha=c[l>>2]|0;if((c[ha+12>>2]|0)!=4){J=0.0;M=1.0;N=0.0;O=1.0;break}ia=ut(ha,0,m)|0;ha=c[ia>>2]|0;if((ha+ -1|0)>>>0>=2){c[ga>>2]=ha;c[fa+4>>2]=1;c[fa+8>>2]=2;Qe(0,172792,fa);tc()}fa=ia+8|0;if((ha|0)==1){J=+(c[fa>>2]|0)}else{J=+h[fa>>3]}Of(m);fa=c[j>>2]|0;if((fa|0)!=6){c[da>>2]=fa;c[ca+4>>2]=6;Qe(0,172720,ca);tc()}da=ut(c[l>>2]|0,1,m)|0;ca=c[da>>2]|0;if((ca+ -1|0)>>>0>=2){c[ba>>2]=ca;c[aa+4>>2]=1;c[aa+8>>2]=2;Qe(0,172792,aa);tc()}aa=da+8|0;if((ca|0)==1){M=+(c[aa>>2]|0)}else{M=+h[aa>>3]}Of(m);aa=c[j>>2]|0;if((aa|0)!=6){c[_>>2]=aa;c[$+4>>2]=6;Qe(0,172720,$);tc()}$=ut(c[l>>2]|0,2,m)|0;_=c[$>>2]|0;if((_+ -1|0)>>>0>=2){c[Z>>2]=_;c[Y+4>>2]=1;c[Y+8>>2]=2;Qe(0,172792,Y);tc()}Y=$+8|0;if((_|0)==1){N=+(c[Y>>2]|0)}else{N=+h[Y>>3]}Of(m);Y=c[j>>2]|0;if((Y|0)!=6){c[W>>2]=Y;c[V+4>>2]=6;Qe(0,172720,V);tc()}W=ut(c[l>>2]|0,3,m)|0;V=c[W>>2]|0;if((V+ -1|0)>>>0>=2){c[T>>2]=V;c[U+4>>2]=1;c[U+8>>2]=2;Qe(0,172792,U);tc()}T=W+8|0;if((V|0)==1){O=+(c[T>>2]|0)}else{O=+h[T>>3]}Of(m)}else{J=0.0;M=1.0;N=0.0;O=1.0}}while(0);Of(n);do{if((c[(Yu(a,168496,n,0)|0)>>2]|0)==6){T=c[j>>2]|0;if((T|0)!=6){c[R>>2]=T;c[S+4>>2]=6;Qe(0,172720,S);tc()}R=c[l>>2]|0;if((c[R+12>>2]|0)!=6){ma=0.0;na=0.0;la=1.0;ka=0.0;ea=0.0;X=1.0;break}S=ut(R,0,m)|0;R=c[S>>2]|0;if((R+ -1|0)>>>0>=2){c[Q>>2]=R;c[P+4>>2]=1;c[P+8>>2]=2;Qe(0,172792,P);tc()}P=S+8|0;if((R|0)==1){X=+(c[P>>2]|0)}else{X=+h[P>>3]}Of(m);P=c[j>>2]|0;if((P|0)!=6){c[K>>2]=P;c[L+4>>2]=6;Qe(0,172720,L);tc()}L=ut(c[l>>2]|0,1,m)|0;K=c[L>>2]|0;if((K+ -1|0)>>>0>=2){c[I>>2]=K;c[H+4>>2]=1;c[H+8>>2]=2;Qe(0,172792,H);tc()}H=L+8|0;if((K|0)==1){ea=+(c[H>>2]|0)}else{ea=+h[H>>3]}Of(m);H=c[j>>2]|0;if((H|0)!=6){c[G>>2]=H;c[F+4>>2]=6;Qe(0,172720,F);tc()}G=ut(c[l>>2]|0,2,m)|0;F=c[G>>2]|0;if((F+ -1|0)>>>0>=2){c[D>>2]=F;c[E+4>>2]=1;c[E+8>>2]=2;Qe(0,172792,E);tc()}D=G+8|0;if((F|0)==1){ka=+(c[D>>2]|0)}else{ka=+h[D>>3]}Of(m);D=c[j>>2]|0;if((D|0)!=6){c[B>>2]=D;c[C+4>>2]=6;Qe(0,172720,C);tc()}C=ut(c[l>>2]|0,3,m)|0;B=c[C>>2]|0;if((B+ -1|0)>>>0>=2){c[A>>2]=B;c[z+4>>2]=1;c[z+8>>2]=2;Qe(0,172792,z);tc()}z=C+8|0;if((B|0)==1){la=+(c[z>>2]|0)}else{la=+h[z>>3]}Of(m);z=c[j>>2]|0;if((z|0)!=6){c[x>>2]=z;c[y+4>>2]=6;Qe(0,172720,y);tc()}y=ut(c[l>>2]|0,4,m)|0;x=c[y>>2]|0;if((x+ -1|0)>>>0>=2){c[v>>2]=x;c[w+4>>2]=1;c[w+8>>2]=2;Qe(0,172792,w);tc()}v=y+8|0;if((x|0)==1){na=+(c[v>>2]|0)}else{na=+h[v>>3]}Of(m);v=c[j>>2]|0;if((v|0)!=6){c[t>>2]=v;c[u+4>>2]=6;Qe(0,172720,u);tc()}u=ut(c[l>>2]|0,5,m)|0;t=c[u>>2]|0;if((t+ -1|0)>>>0>=2){c[s>>2]=t;c[r+4>>2]=1;c[r+8>>2]=2;Qe(0,172792,r);tc()}r=u+8|0;if((t|0)==1){ma=+(c[r>>2]|0)}else{ma=+h[r>>3]}Of(m)}else{ma=0.0;na=0.0;la=1.0;ka=0.0;ea=0.0;X=1.0}}while(0);Of(n);Yu(a,170848,n,0)|0;a:do{if((c[j>>2]|0)==6){q=c[(c[l>>2]|0)+12>>2]|0;if((q|0)>32){Qe(-1,170864,p);g=92;break}if((q|0)>0){p=6;r=0}else{f=q;break}while(1){if((p|0)!=6){break}ut(c[l>>2]|0,r,m)|0;ja=EH(m)|0;c[d+(r<<2)>>2]=ja;Of(m);r=r+1|0;if((ja|0)==0){g=92;break a}if((r|0)>=(q|0)){f=q;break a}p=c[j>>2]|0}c[o>>2]=p;c[k+4>>2]=6;Qe(0,172720,k);tc()}else{ja=EH(n)|0;c[q>>2]=ja;if((ja|0)==0){g=92}else{f=1}}}while(0);if((g|0)==92){Of(n);ja=0;i=e;return ja|0}Of(n);g=FW(400)|0;c[g+4>>2]=1;c[g+8>>2]=0;c[g>>2]=170824;h[g+184>>3]=J;h[g+192>>3]=N;h[g+200>>3]=M;h[g+208>>3]=O;h[g+216>>3]=X;h[g+224>>3]=ea;h[g+232>>3]=ka;h[g+240>>3]=la;h[g+248>>3]=na;h[g+256>>3]=ma;j=g+392|0;c[j>>2]=f;if((f|0)>0){f=0;do{c[g+264+(f<<2)>>2]=c[d+(f<<2)>>2];f=f+1|0;}while((f|0)<(c[j>>2]|0))}if(MA(g,a,b)|0){ja=g;i=e;return ja|0}if((g|0)==0){ja=0;i=e;return ja|0}fd[c[(c[g>>2]|0)+4>>2]&511](g);ja=0;i=e;return ja|0}function IA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0.0,K=0,L=0,M=0.0,N=0,O=0.0,P=0.0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0,ca=0.0;g=i;n=i;i=i+8|0;m=n;o=i;i=i+8|0;p=o;t=i;i=i+8|0;s=t;u=i;i=i+8|0;v=u;y=i;i=i+8|0;w=y;z=i;i=i+8|0;E=i;i=i+8|0;F=E;H=i;i=i+8|0;I=H;Q=i;i=i+8|0;W=i;i=i+8|0;X=W;Z=i;i=i+8|0;Y=Z;_=i;i=i+8|0;$=_;V=i;i=i+8|0;aa=V;A=i;i=i+128|0;e=A;r=i;i=i+16|0;k=r;G=i;i=i+16|0;l=G;U=i;i=i+16|0;K=U;S=i;i=i+16|0;L=S;R=i;i=i+16|0;N=R;D=i;i=i+16|0;B=D;c[r>>2]=13;q=k+8|0;c[q>>2]=0;c[q+4>>2]=0;c[G>>2]=13;C=l+8|0;c[C>>2]=0;c[C+4>>2]=0;do{if((c[(Yu(b,170936,k,0)|0)>>2]|0)==6){T=c[r>>2]|0;if((T|0)!=6){c[V>>2]=T;c[aa+4>>2]=6;Qe(0,172720,aa);tc()}aa=c[q>>2]|0;if((c[aa+12>>2]|0)!=4){break}c[U>>2]=13;V=K+8|0;c[V>>2]=0;c[V+4>>2]=0;c[S>>2]=13;T=L+8|0;c[T>>2]=0;c[T+4>>2]=0;c[R>>2]=13;Q=N+8|0;c[Q>>2]=0;c[Q+4>>2]=0;ut(aa,0,l)|0;aa=c[r>>2]|0;if((aa|0)!=6){c[_>>2]=aa;c[$+4>>2]=6;Qe(0,172720,$);tc()}ut(c[q>>2]|0,1,K)|0;_=c[r>>2]|0;if((_|0)!=6){c[Z>>2]=_;c[Y+4>>2]=6;Qe(0,172720,Y);tc()}ut(c[q>>2]|0,2,L)|0;Y=c[r>>2]|0;if((Y|0)!=6){c[W>>2]=Y;c[X+4>>2]=6;Qe(0,172720,X);tc()}ut(c[q>>2]|0,3,N)|0;W=c[G>>2]|0;do{if((W+ -1|0)>>>0<2){U=c[U>>2]|0;if((U+ -1|0)>>>0>=2){J=0.0;M=0.0;O=0.0;P=0.0;break}S=c[S>>2]|0;if((S+ -1|0)>>>0>=2){J=0.0;M=0.0;O=0.0;P=0.0;break}R=c[R>>2]|0;if((R+ -1|0)>>>0>=2){J=0.0;M=0.0;O=0.0;P=0.0;break}if((W|0)==1){J=+(c[C>>2]|0)}else{J=+h[C>>3]}if((U|0)==1){O=+(c[V>>2]|0)}else{O=+h[V>>3]}if((S|0)==1){M=+(c[T>>2]|0)}else{M=+h[T>>3]}if((R|0)==1){P=+(c[Q>>2]|0);break}else{P=+h[Q>>3];break}}else{J=0.0;M=0.0;O=0.0;P=0.0}}while(0);Of(l);Of(K);Of(L);Of(N);Of(k);do{if((c[(Yu(b,170840,k,0)|0)>>2]|0)==6){K=c[r>>2]|0;if((K|0)!=6){c[H>>2]=K;c[I+4>>2]=6;Qe(0,172720,I);tc()}I=c[q>>2]|0;if((c[I+12>>2]|0)!=2){ba=0.0;ca=1.0;break}c[D>>2]=13;H=B+8|0;c[H>>2]=0;c[H+4>>2]=0;ut(I,0,l)|0;I=c[r>>2]|0;if((I|0)!=6){c[E>>2]=I;c[F+4>>2]=6;Qe(0,172720,F);tc()}ut(c[q>>2]|0,1,B)|0;E=c[G>>2]|0;do{if((E+ -1|0)>>>0<2){D=c[D>>2]|0;if((D+ -1|0)>>>0>=2){ba=0.0;ca=1.0;break}if((E|0)==1){ba=+(c[C>>2]|0)}else{ba=+h[C>>3]}if((D|0)==1){ca=+(c[H>>2]|0);break}else{ca=+h[H>>3];break}}else{ba=0.0;ca=1.0}}while(0);Of(l);Of(B)}else{ba=0.0;ca=1.0}}while(0);Of(k);Yu(b,170848,k,0)|0;a:do{if((c[r>>2]|0)==6){A=c[(c[q>>2]|0)+12>>2]|0;if((A|0)>32){Qe(-1,170864,z);aa=0;i=g;return aa|0}if((A|0)>0){z=6;B=0}else{w=A;break}while(1){if((z|0)!=6){x=48;break}ut(c[q>>2]|0,B,l)|0;aa=EH(l)|0;c[e+(B<<2)>>2]=aa;if((aa|0)==0){break}Of(l);B=B+1|0;if((B|0)>=(A|0)){w=A;break a}z=c[r>>2]|0}if((x|0)==48){c[y>>2]=z;c[w+4>>2]=6;Qe(0,172720,w);tc()}Of(k);Of(l);aa=0;i=g;return aa|0}else{aa=EH(k)|0;c[A>>2]=aa;if((aa|0)!=0){w=1;break}Of(k);aa=0;i=g;return aa|0}}while(0);Of(k);do{if((c[(Yu(b,170992,k,0)|0)>>2]|0)==6){x=c[r>>2]|0;if((x|0)!=6){c[u>>2]=x;c[v+4>>2]=6;Qe(0,172720,v);tc()}u=c[q>>2]|0;if((c[u+12>>2]|0)!=2){j=0;f=0;break}u=ut(u,0,l)|0;v=c[u>>2]|0;if((v|0)!=0){c[t>>2]=v;c[s+4>>2]=0;Qe(0,172720,s);tc()}s=a[u+8|0]&1;Of(l);r=c[r>>2]|0;if((r|0)!=6){c[o>>2]=r;c[p+4>>2]=6;Qe(0,172720,p);tc()}o=ut(c[q>>2]|0,1,l)|0;p=c[o>>2]|0;if((p|0)==0){f=a[o+8|0]&1;Of(l);j=s;break}else{c[n>>2]=p;c[m+4>>2]=0;Qe(0,172720,m);tc()}}else{j=0;f=0}}while(0);Of(k);k=FW(368)|0;c[k+4>>2]=2;c[k+8>>2]=0;c[k>>2]=170920;h[k+184>>3]=J;h[k+192>>3]=O;h[k+200>>3]=M;h[k+208>>3]=P;h[k+216>>3]=ba;h[k+224>>3]=ca;l=k+360|0;c[l>>2]=w;if((w|0)>0){m=0;do{c[k+232+(m<<2)>>2]=c[e+(m<<2)>>2];m=m+1|0;}while((m|0)<(c[l>>2]|0))}a[k+364|0]=j;a[k+365|0]=f;if(MA(k,b,d)|0){aa=k;i=g;return aa|0}if((k|0)==0){aa=0;i=g;return aa|0}fd[c[(c[k>>2]|0)+4>>2]&511](k);aa=0;i=g;return aa|0}}while(0);Qe(-1,170944,Q);aa=0;i=g;return aa|0}function JA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0.0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0.0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0.0,oa=0.0;e=i;n=i;i=i+8|0;m=n;q=i;i=i+8|0;o=q;s=i;i=i+8|0;t=s;v=i;i=i+8|0;u=v;y=i;i=i+8|0;z=y;A=i;i=i+8|0;E=i;i=i+16|0;C=E;F=i;i=i+8|0;G=F;I=i;i=i+16|0;H=I;J=i;i=i+8|0;K=J;ja=i;i=i+8|0;M=i;i=i+16|0;N=M;O=i;i=i+8|0;P=O;R=i;i=i+16|0;Q=R;T=i;i=i+8|0;U=T;V=i;i=i+16|0;W=V;Y=i;i=i+8|0;X=Y;$=i;i=i+16|0;_=$;ba=i;i=i+8|0;aa=ba;ca=i;i=i+16|0;da=ca;fa=i;i=i+8|0;ga=fa;ha=i;i=i+16|0;ia=ha;ka=i;i=i+8|0;ma=ka;B=i;i=i+128|0;f=B;r=i;i=i+16|0;l=r;la=i;i=i+16|0;k=la;c[r>>2]=13;p=l+8|0;c[p>>2]=0;c[p+4>>2]=0;c[la>>2]=13;la=k+8|0;c[la>>2]=0;c[la+4>>2]=0;do{if((c[(Yu(b,170936,l,0)|0)>>2]|0)==6){la=c[r>>2]|0;if((la|0)!=6){c[ka>>2]=la;c[ma+4>>2]=6;Qe(0,172720,ma);tc()}ka=c[p>>2]|0;if((c[ka+12>>2]|0)!=6){break}ka=ut(ka,0,k)|0;ja=c[ka>>2]|0;if((ja+ -1|0)>>>0>=2){c[ha>>2]=ja;c[ia+4>>2]=1;c[ia+8>>2]=2;Qe(0,172792,ia);tc()}ha=ka+8|0;if((ja|0)==1){x=+(c[ha>>2]|0)}else{x=+h[ha>>3]}Of(k);ha=c[r>>2]|0;if((ha|0)!=6){c[fa>>2]=ha;c[ga+4>>2]=6;Qe(0,172720,ga);tc()}ga=ut(c[p>>2]|0,1,k)|0;fa=c[ga>>2]|0;if((fa+ -1|0)>>>0>=2){c[ca>>2]=fa;c[da+4>>2]=1;c[da+8>>2]=2;Qe(0,172792,da);tc()}ca=ga+8|0;if((fa|0)==1){D=+(c[ca>>2]|0)}else{D=+h[ca>>3]}Of(k);ca=c[r>>2]|0;if((ca|0)!=6){c[ba>>2]=ca;c[aa+4>>2]=6;Qe(0,172720,aa);tc()}ba=ut(c[p>>2]|0,2,k)|0;aa=c[ba>>2]|0;if((aa+ -1|0)>>>0>=2){c[$>>2]=aa;c[_+4>>2]=1;c[_+8>>2]=2;Qe(0,172792,_);tc()}_=ba+8|0;if((aa|0)==1){L=+(c[_>>2]|0)}else{L=+h[_>>3]}Of(k);_=c[r>>2]|0;if((_|0)!=6){c[Y>>2]=_;c[X+4>>2]=6;Qe(0,172720,X);tc()}Y=ut(c[p>>2]|0,3,k)|0;X=c[Y>>2]|0;if((X+ -1|0)>>>0>=2){c[V>>2]=X;c[W+4>>2]=1;c[W+8>>2]=2;Qe(0,172792,W);tc()}V=Y+8|0;if((X|0)==1){S=+(c[V>>2]|0)}else{S=+h[V>>3]}Of(k);V=c[r>>2]|0;if((V|0)!=6){c[T>>2]=V;c[U+4>>2]=6;Qe(0,172720,U);tc()}U=ut(c[p>>2]|0,4,k)|0;T=c[U>>2]|0;if((T+ -1|0)>>>0>=2){c[R>>2]=T;c[Q+4>>2]=1;c[Q+8>>2]=2;Qe(0,172792,Q);tc()}Q=U+8|0;if((T|0)==1){Z=+(c[Q>>2]|0)}else{Z=+h[Q>>3]}Of(k);Q=c[r>>2]|0;if((Q|0)!=6){c[O>>2]=Q;c[P+4>>2]=6;Qe(0,172720,P);tc()}P=ut(c[p>>2]|0,5,k)|0;O=c[P>>2]|0;if((O+ -1|0)>>>0>=2){c[M>>2]=O;c[N+4>>2]=1;c[N+8>>2]=2;Qe(0,172792,N);tc()}M=P+8|0;if((O|0)==1){ea=+(c[M>>2]|0)}else{ea=+h[M>>3]}Of(k);Of(l);do{if((c[(Yu(b,170840,l,0)|0)>>2]|0)==6){M=c[r>>2]|0;if((M|0)!=6){c[J>>2]=M;c[K+4>>2]=6;Qe(0,172720,K);tc()}J=c[p>>2]|0;if((c[J+12>>2]|0)!=2){na=0.0;oa=1.0;break}K=ut(J,0,k)|0;J=c[K>>2]|0;if((J+ -1|0)>>>0>=2){c[I>>2]=J;c[H+4>>2]=1;c[H+8>>2]=2;Qe(0,172792,H);tc()}H=K+8|0;if((J|0)==1){na=+(c[H>>2]|0)}else{na=+h[H>>3]}Of(k);H=c[r>>2]|0;if((H|0)!=6){c[F>>2]=H;c[G+4>>2]=6;Qe(0,172720,G);tc()}G=ut(c[p>>2]|0,1,k)|0;F=c[G>>2]|0;if((F+ -1|0)>>>0>=2){c[E>>2]=F;c[C+4>>2]=1;c[C+8>>2]=2;Qe(0,172792,C);tc()}C=G+8|0;if((F|0)==1){oa=+(c[C>>2]|0)}else{oa=+h[C>>3]}Of(k)}else{na=0.0;oa=1.0}}while(0);Of(l);Yu(b,170848,l,0)|0;a:do{if((c[r>>2]|0)==6){B=c[(c[p>>2]|0)+12>>2]|0;if((B|0)>32){Qe(-1,170864,A);ma=0;i=e;return ma|0}if((B|0)>0){A=6;C=0}else{w=B;break}while(1){if((A|0)!=6){w=68;break}ut(c[p>>2]|0,C,k)|0;ma=EH(k)|0;c[f+(C<<2)>>2]=ma;if((ma|0)==0){break}Of(k);C=C+1|0;if((C|0)>=(B|0)){w=B;break a}A=c[r>>2]|0}if((w|0)==68){c[y>>2]=A;c[z+4>>2]=6;Qe(0,172720,z);tc()}Of(l);Of(k);ma=0;i=e;return ma|0}else{ma=EH(l)|0;c[B>>2]=ma;if((ma|0)!=0){w=1;break}Of(l);ma=0;i=e;return ma|0}}while(0);Of(l);do{if((c[(Yu(b,170992,l,0)|0)>>2]|0)==6){y=c[r>>2]|0;if((y|0)!=6){c[v>>2]=y;c[u+4>>2]=6;Qe(0,172720,u);tc()}u=c[p>>2]|0;if((c[u+12>>2]|0)!=2){j=0;g=0;break}u=ut(u,0,k)|0;v=c[u>>2]|0;if((v|0)!=0){c[s>>2]=v;c[t+4>>2]=0;Qe(0,172720,t);tc()}s=a[u+8|0]&1;Of(k);r=c[r>>2]|0;if((r|0)!=6){c[q>>2]=r;c[o+4>>2]=6;Qe(0,172720,o);tc()}p=ut(c[p>>2]|0,1,k)|0;o=c[p>>2]|0;if((o|0)==0){g=a[p+8|0]&1;Of(k);j=s;break}else{c[n>>2]=o;c[m+4>>2]=0;Qe(0,172720,m);tc()}}else{j=0;g=0}}while(0);Of(l);k=FW(384)|0;c[k+4>>2]=3;c[k+8>>2]=0;c[k>>2]=171008;h[k+184>>3]=x;h[k+192>>3]=D;h[k+200>>3]=L;h[k+208>>3]=S;h[k+216>>3]=Z;h[k+224>>3]=ea;h[k+232>>3]=na;h[k+240>>3]=oa;l=k+376|0;c[l>>2]=w;if((w|0)>0){m=0;do{c[k+248+(m<<2)>>2]=c[f+(m<<2)>>2];m=m+1|0;}while((m|0)<(c[l>>2]|0))}a[k+380|0]=j;a[k+381|0]=g;if(MA(k,b,d)|0){ma=k;i=e;return ma|0}if((k|0)==0){ma=0;i=e;return ma|0}fd[c[(c[k>>2]|0)+4>>2]&511](k);ma=0;i=e;return ma|0}}while(0);Qe(-1,170944,ja);ma=0;i=e;return ma|0}function KA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0.0,la=0.0,ma=0.0,na=0;f=i;B=i;i=i+8|0;C=B;F=i;i=i+8|0;H=i;i=i+8|0;N=i;i=i+16|0;K=N;L=i;i=i+8|0;I=L;O=i;i=i+16|0;M=O;y=i;i=i+8|0;G=y;w=i;i=i+16|0;v=w;x=i;i=i+8|0;P=x;Q=i;i=i+16|0;R=Q;S=i;i=i+8|0;T=S;U=i;i=i+16|0;V=U;W=i;i=i+8|0;X=W;Z=i;i=i+16|0;Y=Z;_=i;i=i+8|0;$=_;ga=i;i=i+8|0;ba=i;i=i+8|0;ca=ba;fa=i;i=i+8|0;ea=i;i=i+8|0;aa=ea;ha=i;i=i+8|0;p=i;i=i+8|0;q=p;ja=i;i=i+8|0;ia=i;i=i+8|0;o=ia;J=i;i=i+128|0;g=J;m=i;i=i+256|0;l=i;i=i+256|0;k=i;i=i+128|0;E=i;i=i+16|0;z=E;na=i;i=i+16|0;A=na;c[E>>2]=13;D=z+8|0;c[D>>2]=0;c[D+4>>2]=0;c[na>>2]=13;na=A+8|0;c[na>>2]=0;c[na+4>>2]=0;a:do{if((c[(Yu(b,171048,z,0)|0)>>2]|0)==1){ja=c[E>>2]|0;if((ja|0)!=1){c[ia>>2]=ja;c[o+4>>2]=1;Qe(0,172720,o);tc()}o=c[D>>2]|0;Of(z);if((c[(Yu(b,171136,z,0)|0)>>2]|0)!=1){Qe(-1,171160,ha);break}ha=c[E>>2]|0;if((ha|0)!=1){c[p>>2]=ha;c[q+4>>2]=1;Qe(0,172720,q);tc()}p=c[D>>2]|0;Of(z);q=(a|0)==4;do{if(q){if((c[(Yu(b,171224,z,0)|0)>>2]|0)!=1){Qe(-1,171240,fa);break a}ba=c[E>>2]|0;if((ba|0)==1){n=c[D>>2]|0;Of(z);j=0;break}else{c[ea>>2]=ba;c[aa+4>>2]=1;Qe(0,172720,aa);tc()}}else{if((c[(Yu(b,171296,z,0)|0)>>2]|0)!=1){Qe(-1,171312,ga);break a}aa=c[E>>2]|0;if((aa|0)==1){j=c[D>>2]|0;Of(z);n=0;break}else{c[ba>>2]=aa;c[ca+4>>2]=1;Qe(0,172720,ca);tc()}}}while(0);do{if((c[(Yu(b,171368,z,0)|0)>>2]|0)==6){aa=c[E>>2]|0;if((aa|0)!=6){c[_>>2]=aa;c[$+4>>2]=6;Qe(0,172720,$);tc()}_=c[D>>2]|0;if((c[_+12>>2]|0)<=5){break}$=ut(_,0,A)|0;_=c[$>>2]|0;if((_+ -1|0)>>>0>=2){c[Z>>2]=_;c[Y+4>>2]=1;c[Y+8>>2]=2;Qe(0,172792,Y);tc()}Y=$+8|0;if((_|0)==1){r=+(c[Y>>2]|0)}else{r=+h[Y>>3]}Of(A);Y=c[E>>2]|0;if((Y|0)!=6){c[W>>2]=Y;c[X+4>>2]=6;Qe(0,172720,X);tc()}X=ut(c[D>>2]|0,1,A)|0;W=c[X>>2]|0;if((W+ -1|0)>>>0>=2){c[U>>2]=W;c[V+4>>2]=1;c[V+8>>2]=2;Qe(0,172792,V);tc()}U=X+8|0;if((W|0)==1){s=+(c[U>>2]|0)}else{s=+h[U>>3]}Of(A);u=+lW(1.0,o)+-1.0;s=(s-r)/u;U=c[E>>2]|0;if((U|0)!=6){c[S>>2]=U;c[T+4>>2]=6;Qe(0,172720,T);tc()}T=ut(c[D>>2]|0,2,A)|0;S=c[T>>2]|0;if((S+ -1|0)>>>0>=2){c[Q>>2]=S;c[R+4>>2]=1;c[R+8>>2]=2;Qe(0,172792,R);tc()}Q=T+8|0;if((S|0)==1){t=+(c[Q>>2]|0)}else{t=+h[Q>>3]}Of(A);Q=c[E>>2]|0;if((Q|0)!=6){c[x>>2]=Q;c[P+4>>2]=6;Qe(0,172720,P);tc()}P=ut(c[D>>2]|0,3,A)|0;x=c[P>>2]|0;if((x+ -1|0)>>>0>=2){c[w>>2]=x;c[v+4>>2]=1;c[v+8>>2]=2;Qe(0,172792,v);tc()}v=P+8|0;if((x|0)==1){ka=+(c[v>>2]|0)}else{ka=+h[v>>3]}Of(A);u=(ka-t)/u;v=c[E>>2]|0;if((v|0)!=6){ja=v;na=y;c[na>>2]=ja;na=G+4|0;c[na>>2]=6;na=172720;Qe(0,na,G);tc()}v=(1<<p)+ -1|0;ka=+(v|0);x=5;P=0;w=0;while(1){Q=c[D>>2]|0;if(!((x|0)<(c[Q+12>>2]|0)&(w|0)<32)){x=67;break}Q=ut(Q,P+4|0,A)|0;P=c[Q>>2]|0;if((P+ -1|0)>>>0>=2){x=55;break}Q=Q+8|0;if((P|0)==1){la=+(c[Q>>2]|0)}else{la=+h[Q>>3]}h[m+(w<<3)>>3]=la;Of(A);P=c[E>>2]|0;if((P|0)!=6){x=60;break}x=ut(c[D>>2]|0,x,A)|0;P=c[x>>2]|0;if((P+ -1|0)>>>0>=2){x=62;break}x=x+8|0;if((P|0)==1){ma=+(c[x>>2]|0)}else{ma=+h[x>>3]}Of(A);h[l+(w<<3)>>3]=(ma-la)/ka;w=w+1|0;P=w<<1;x=c[E>>2]|0;if((x|0)==6){x=P+5|0}else{g=x;x=52;break}}if((x|0)==52){na=y;c[na>>2]=g;na=G+4|0;c[na>>2]=6;na=172720;Qe(0,na,G);tc()}else if((x|0)==55){c[O>>2]=P;c[M+4>>2]=1;c[M+8>>2]=2;Qe(0,172792,M);tc()}else if((x|0)==60){c[L>>2]=P;c[I+4>>2]=6;Qe(0,172720,I);tc()}else if((x|0)==62){c[N>>2]=P;c[K+4>>2]=1;c[K+8>>2]=2;Qe(0,172792,K);tc()}else if((x|0)==67){Of(z);b:do{if((c[(Yu(b,170848,z,0)|0)>>2]|0)==5){y=0}else{if((c[E>>2]|0)!=6){na=EH(z)|0;c[J>>2]=na;if((na|0)!=0){y=1;break}Of(z);na=0;i=f;return na|0}y=c[(c[D>>2]|0)+12>>2]|0;if((y|0)>32){Qe(-1,170864,F);na=0;i=f;return na|0}if((y|0)>0){F=6;G=0}else{break}while(1){if((F|0)!=6){x=74;break}ut(c[D>>2]|0,G,A)|0;na=EH(A)|0;c[g+(G<<2)>>2]=na;if((na|0)==0){break}Of(A);G=G+1|0;if((G|0)>=(y|0)){break b}F=c[E>>2]|0}if((x|0)==74){c[B>>2]=F;c[C+4>>2]=6;Qe(0,172720,C);tc()}Of(z);Of(A);na=0;i=f;return na|0}}while(0);Of(z);A=FW(12)|0;c[A>>2]=d;fd[c[(c[d>>2]|0)+12>>2]&511](d);G=A+4|0;c[G>>2]=0;B=A+8|0;c[B>>2]=0;D=(1<<n)+ -1|0;C=(w|0)>0;F=(1<<o)+ -1|0;E=0;d=0;I=0;J=0;H=0;L=0;z=0;K=0;c:while(1){while(1){while(1){d:do{if(q){K=c[B>>2]|0;if((K|0)>=(n|0)){N=K-n|0;K=c[G>>2]>>N&D;c[B>>2]=N;break}if((K|0)>0){na=c[G>>2]&(1<<K)+ -1;c[B>>2]=0;M=n-K|0;K=na}else{M=n;K=0}if((M|0)<=0){x=95;break}while(1){O=c[A>>2]|0;O=jd[c[(c[O>>2]|0)+20>>2]&511](O)|0;c[G>>2]=O;if((O|0)==-1){x=94;break c}if((M|0)<=7){break}K=O|K<<8;M=M+ -8|0;if((M|0)<=0){x=95;break d}}na=8-M|0;c[B>>2]=na;N=na;K=O>>na|K<<M}else{x=95}}while(0);if((x|0)==95){x=0;N=c[B>>2]|0}do{if((N|0)<(o|0)){if((N|0)>0){M=c[G>>2]&(1<<N)+ -1;c[B>>2]=0;O=o-N|0;N=0}else{O=o;M=0}if((O|0)<=0){break}while(1){P=c[A>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;c[G>>2]=P;if((P|0)==-1){x=105;break c}if((O|0)<=7){x=103;break}M=P|M<<8;O=O+ -8|0;if((O|0)<=0){x=106;break}}if((x|0)==103){x=0;na=8-O|0;c[B>>2]=na;N=na;M=P>>na|M<<O;break}else if((x|0)==106){x=0;N=c[B>>2]|0;break}}else{N=N-o|0;M=c[G>>2]>>N&F;c[B>>2]=N}}while(0);e:do{if((N|0)<(o|0)){if((N|0)>0){na=c[G>>2]&(1<<N)+ -1;c[B>>2]=0;O=o-N|0;N=na}else{O=o;N=0}if((O|0)<=0){break}while(1){P=c[A>>2]|0;P=jd[c[(c[P>>2]|0)+20>>2]&511](P)|0;c[G>>2]=P;if((P|0)==-1){x=117;break c}if((O|0)<=7){break}N=P|N<<8;O=O+ -8|0;if((O|0)<=0){break e}}na=8-O|0;c[B>>2]=na;N=P>>na|N<<O}else{na=N-o|0;N=c[G>>2]>>na&F;c[B>>2]=na}}while(0);if(C){O=0;do{P=k+(O<<2)|0;Q=c[B>>2]|0;f:do{if((Q|0)<(p|0)){if((Q|0)>0){R=c[G>>2]&(1<<Q)+ -1;c[B>>2]=0;Q=p-Q|0}else{Q=p;R=0}if((Q|0)>0){S=R}else{break}while(1){R=c[A>>2]|0;R=jd[c[(c[R>>2]|0)+20>>2]&511](R)|0;c[G>>2]=R;if((R|0)==-1){x=144;break c}if((Q|0)<=7){break}R=R|S<<8;Q=Q+ -8|0;if((Q|0)>0){S=R}else{break f}}na=8-Q|0;c[B>>2]=na;R=R>>na|S<<Q}else{na=Q-p|0;R=c[G>>2]>>na&v;c[B>>2]=na}}while(0);c[P>>2]=R;O=O+1|0;}while((O|0)<(w|0))}if((d|0)==(L|0)){L=(d|0)==0?16:d<<1;z=Ce(z,L,144)|0;bX(z+(d*144|0)|0,0,(L-d|0)*144|0)|0}h[z+(d*144|0)>>3]=r+s*+(M>>>0);h[z+(d*144|0)+8>>3]=t+u*+(N>>>0);if(C){M=0;do{c[z+(d*144|0)+16+(M<<2)>>2]=~~((+h[m+(M<<3)>>3]+ +h[l+(M<<3)>>3]*+((c[k+(M<<2)>>2]|0)>>>0))*65536.0);M=M+1|0;}while((M|0)<(w|0))}M=d+1|0;c[G>>2]=0;c[B>>2]=0;if(q){break}else{d=M}}if(I>>>0<2){d=M;I=I+1|0;continue}else{N=(I|0)==2;if((K|0)==0&(N^1)){d=M;I=1;K=0;continue}else{break}}}if((E|0)==(J|0)){na=(E|0)==0?16:E<<1;J=na;H=Ce(H,na*3|0,4)|0}do{if(N){c[H+(E*12|0)>>2]=d+ -2;c[H+(E*12|0)+4>>2]=d+ -1;c[H+(E*12|0)+8>>2]=d;I=3}else{N=E+ -1|0;if((K|0)==1){c[H+(E*12|0)>>2]=c[H+(N*12|0)+4>>2];c[H+(E*12|0)+4>>2]=c[H+(N*12|0)+8>>2];c[H+(E*12|0)+8>>2]=d;break}else{c[H+(E*12|0)>>2]=c[H+(N*12|0)>>2];c[H+(E*12|0)+4>>2]=c[H+(N*12|0)+8>>2];c[H+(E*12|0)+8>>2]=d;break}}}while(0);E=E+1|0;d=M}if((x|0)==94){c[B>>2]=0;x=145}else if((x|0)==105){c[B>>2]=0;x=145}else if((x|0)==117){c[B>>2]=0;x=145}else if((x|0)==144){c[B>>2]=0;if((A|0)!=0){x=145}}if((x|0)==145){na=c[A>>2]|0;fd[c[(c[na>>2]|0)+16>>2]&511](na);HW(A)}do{if((a|0)==5){l=((d|0)/(j|0)|0)+ -1|0;k=j+ -1|0;E=da(l<<1,k)|0;H=ye(E*3|0,4)|0;if((l|0)<=0){break}n=(k|0)>0;m=(j<<1)+ -2|0;w=0;o=0;do{if(n){p=da(w,j)|0;w=w+1|0;v=da(w,j)|0;x=0;q=o;while(1){ia=x+p|0;c[H+(q*12|0)>>2]=ia;ia=ia+1|0;c[H+(q*12|0)+4>>2]=ia;ja=x+v|0;c[H+(q*12|0)+8>>2]=ja;na=q+1|0;c[H+(na*12|0)>>2]=ia;c[H+(na*12|0)+4>>2]=ja;c[H+(na*12|0)+8>>2]=ja+1;x=x+1|0;if((x|0)<(k|0)){q=q+2|0}else{break}}o=m+o|0}else{w=w+1|0}}while((w|0)<(l|0))}}while(0);j=FW(328)|0;c[j+4>>2]=a;c[j+8>>2]=0;c[j>>2]=171032;c[j+180>>2]=z;c[j+184>>2]=d;c[j+188>>2]=H;c[j+192>>2]=E;a=j+324|0;c[a>>2]=y;if((y|0)>0){k=0;do{c[j+196+(k<<2)>>2]=c[g+(k<<2)>>2];k=k+1|0;}while((k|0)<(c[a>>2]|0))}if(MA(j,b,e)|0){na=j;i=f;return na|0}if((j|0)==0){na=0;i=f;return na|0}fd[c[(c[j>>2]|0)+4>>2]&511](j);na=0;i=f;return na|0}}}while(0);Qe(-1,171376,H)}else{Qe(-1,171072,ja)}}while(0);Of(z);na=0;i=f;return na|0}function LA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0.0,ya=0.0,za=0.0,Aa=0.0,Ba=0.0,Ca=0.0,Da=0.0,Ea=0.0,Fa=0.0,Ga=0.0,Ha=0.0,Ia=0.0,Ja=0.0;f=i;C=i;i=i+8|0;D=C;H=i;i=i+8|0;I=i;i=i+8|0;O=i;i=i+16|0;L=O;M=i;i=i+8|0;N=M;K=i;i=i+16|0;P=K;z=i;i=i+8|0;G=z;x=i;i=i+16|0;y=x;Q=i;i=i+8|0;R=Q;S=i;i=i+16|0;T=S;U=i;i=i+8|0;V=U;X=i;i=i+16|0;W=X;Z=i;i=i+8|0;Y=Z;$=i;i=i+16|0;_=$;aa=i;i=i+8|0;ba=aa;da=i;i=i+8|0;ca=i;i=i+8|0;s=ca;fa=i;i=i+8|0;ea=i;i=i+8|0;r=ea;ha=i;i=i+8|0;ga=i;i=i+8|0;q=ga;J=i;i=i+128|0;g=J;m=i;i=i+256|0;j=i;i=i+256|0;p=i;i=i+128|0;o=p;l=i;i=i+128|0;n=l;k=i;i=i+1024|0;F=i;i=i+16|0;A=F;wa=i;i=i+16|0;B=wa;c[F>>2]=13;E=A+8|0;c[E>>2]=0;c[E+4>>2]=0;c[wa>>2]=13;wa=B+8|0;c[wa>>2]=0;c[wa+4>>2]=0;do{if((c[(Yu(b,171048,A,0)|0)>>2]|0)==1){ha=c[F>>2]|0;if((ha|0)!=1){c[ga>>2]=ha;c[q+4>>2]=1;Qe(0,172720,q);tc()}q=c[E>>2]|0;Of(A);if((c[(Yu(b,171136,A,0)|0)>>2]|0)!=1){Qe(-1,171160,fa);break}fa=c[F>>2]|0;if((fa|0)!=1){c[ea>>2]=fa;c[r+4>>2]=1;Qe(0,172720,r);tc()}r=c[E>>2]|0;Of(A);if((c[(Yu(b,171224,A,0)|0)>>2]|0)!=1){Qe(-1,171240,da);break}da=c[F>>2]|0;if((da|0)!=1){c[ca>>2]=da;c[s+4>>2]=1;Qe(0,172720,s);tc()}s=c[E>>2]|0;Of(A);do{if((c[(Yu(b,171368,A,0)|0)>>2]|0)==6){ca=c[F>>2]|0;if((ca|0)!=6){c[aa>>2]=ca;c[ba+4>>2]=6;Qe(0,172720,ba);tc()}aa=c[E>>2]|0;if((c[aa+12>>2]|0)<=5){break}ba=ut(aa,0,B)|0;aa=c[ba>>2]|0;if((aa+ -1|0)>>>0>=2){c[$>>2]=aa;c[_+4>>2]=1;c[_+8>>2]=2;Qe(0,172792,_);tc()}_=ba+8|0;if((aa|0)==1){t=+(c[_>>2]|0)}else{t=+h[_>>3]}Of(B);_=c[F>>2]|0;if((_|0)!=6){c[Z>>2]=_;c[Y+4>>2]=6;Qe(0,172720,Y);tc()}Z=ut(c[E>>2]|0,1,B)|0;Y=c[Z>>2]|0;if((Y+ -1|0)>>>0>=2){c[X>>2]=Y;c[W+4>>2]=1;c[W+8>>2]=2;Qe(0,172792,W);tc()}W=Z+8|0;if((Y|0)==1){u=+(c[W>>2]|0)}else{u=+h[W>>3]}Of(B);w=+lW(1.0,q)+-1.0;u=(u-t)/w;W=c[F>>2]|0;if((W|0)!=6){c[U>>2]=W;c[V+4>>2]=6;Qe(0,172720,V);tc()}V=ut(c[E>>2]|0,2,B)|0;U=c[V>>2]|0;if((U+ -1|0)>>>0>=2){c[S>>2]=U;c[T+4>>2]=1;c[T+8>>2]=2;Qe(0,172792,T);tc()}S=V+8|0;if((U|0)==1){v=+(c[S>>2]|0)}else{v=+h[S>>3]}Of(B);S=c[F>>2]|0;if((S|0)!=6){c[Q>>2]=S;c[R+4>>2]=6;Qe(0,172720,R);tc()}R=ut(c[E>>2]|0,3,B)|0;Q=c[R>>2]|0;if((Q+ -1|0)>>>0>=2){c[x>>2]=Q;c[y+4>>2]=1;c[y+8>>2]=2;Qe(0,172792,y);tc()}x=R+8|0;if((Q|0)==1){xa=+(c[x>>2]|0)}else{xa=+h[x>>3]}Of(B);w=(xa-v)/w;x=c[F>>2]|0;if((x|0)!=6){va=x;wa=z;c[wa>>2]=va;wa=G+4|0;c[wa>>2]=6;wa=172720;Qe(0,wa,G);tc()}x=(1<<r)+ -1|0;xa=+(x|0);Q=5;R=0;y=0;while(1){S=c[E>>2]|0;if(!((Q|0)<(c[S+12>>2]|0)&(y|0)<32)){pa=60;break}S=ut(S,R+4|0,B)|0;R=c[S>>2]|0;if((R+ -1|0)>>>0>=2){pa=48;break}S=S+8|0;if((R|0)==1){ya=+(c[S>>2]|0)}else{ya=+h[S>>3]}h[m+(y<<3)>>3]=ya;Of(B);R=c[F>>2]|0;if((R|0)!=6){pa=53;break}R=ut(c[E>>2]|0,Q,B)|0;Q=c[R>>2]|0;if((Q+ -1|0)>>>0>=2){pa=55;break}R=R+8|0;if((Q|0)==1){za=+(c[R>>2]|0)}else{za=+h[R>>3]}Of(B);h[j+(y<<3)>>3]=(za-ya)/xa;y=y+1|0;R=y<<1;Q=c[F>>2]|0;if((Q|0)==6){Q=R+5|0}else{pa=45;break}}if((pa|0)==45){wa=z;c[wa>>2]=Q;wa=G+4|0;c[wa>>2]=6;wa=172720;Qe(0,wa,G);tc()}else if((pa|0)==48){c[K>>2]=R;c[P+4>>2]=1;c[P+8>>2]=2;Qe(0,172792,P);tc()}else if((pa|0)==53){c[M>>2]=R;c[N+4>>2]=6;Qe(0,172720,N);tc()}else if((pa|0)==55){c[O>>2]=Q;c[L+4>>2]=1;c[L+8>>2]=2;Qe(0,172792,L);tc()}else if((pa|0)==60){Of(A);a:do{if((c[(Yu(b,170848,A,0)|0)>>2]|0)==5){z=0}else{if((c[F>>2]|0)!=6){wa=EH(A)|0;c[J>>2]=wa;if((wa|0)!=0){z=1;break}Of(A);wa=0;i=f;return wa|0}z=c[(c[E>>2]|0)+12>>2]|0;if((z|0)>32){Qe(-1,170864,H);wa=0;i=f;return wa|0}if((z|0)>0){G=6;H=0}else{break}while(1){if((G|0)!=6){pa=67;break}ut(c[E>>2]|0,H,B)|0;wa=EH(B)|0;c[g+(H<<2)>>2]=wa;if((wa|0)==0){break}Of(B);H=H+1|0;if((H|0)>=(z|0)){break a}G=c[F>>2]|0}if((pa|0)==67){c[C>>2]=G;c[D+4>>2]=6;Qe(0,172720,D);tc()}Of(A);Of(B);wa=0;i=f;return wa|0}}while(0);Of(A);A=FW(12)|0;c[A>>2]=d;fd[c[(c[d>>2]|0)+12>>2]&511](d);Z=A+4|0;c[Z>>2]=0;$=A+8|0;ha=(s|0)>0;_=(a|0)==6;Y=(1<<q)+ -1|0;X=(y|0)>0;W=(z|0)==0;U=o+8|0;T=n+8|0;S=o+16|0;R=n+16|0;Q=o+24|0;P=n+24|0;O=o+32|0;N=n+32|0;M=o+40|0;L=n+40|0;K=o+48|0;J=n+48|0;I=o+56|0;H=n+56|0;G=o+64|0;F=n+64|0;E=o+72|0;D=n+72|0;C=o+80|0;B=n+80|0;ka=o+88|0;ja=n+88|0;ga=o+96|0;fa=n+96|0;ea=o+104|0;da=n+104|0;ca=o+112|0;ba=n+112|0;V=o+120|0;aa=n+120|0;ia=0-s|0;d=0;la=0;ma=0;b:while(1){c[$>>2]=0;c:do{if(ha){qa=s;na=0;while(1){oa=c[A>>2]|0;oa=jd[c[(c[oa>>2]|0)+20>>2]&511](oa)|0;c[Z>>2]=oa;if((oa|0)==-1){pa=81;break b}if((qa|0)<=7){break}na=oa|na<<8;qa=qa+ -8|0;if((qa|0)<=0){pa=oa;break c}}wa=8-qa|0;c[$>>2]=wa;pa=oa;na=oa>>wa|na<<qa}else{c[$>>2]=ia;pa=0;na=0}}while(0);oa=(na|0)==0;if(_){qa=oa?12:8}else{qa=oa?16:12}oa=oa?4:2;ra=0;while(1){sa=c[$>>2]|0;do{if((sa|0)<(q|0)){if((sa|0)>0){c[$>>2]=0;wa=q-sa|0;ua=0;ta=pa&(1<<sa)+ -1}else{wa=q;ua=sa;ta=0}if((wa|0)<=0){sa=pa;break}while(1){va=c[A>>2]|0;va=jd[c[(c[va>>2]|0)+20>>2]&511](va)|0;c[Z>>2]=va;if((va|0)==-1){pa=144;break b}if((wa|0)<=7){pa=93;break}ta=va|ta<<8;wa=wa+ -8|0;if((wa|0)<=0){pa=95;break}}if((pa|0)==93){pa=8-wa|0;c[$>>2]=pa;sa=va;ua=pa;ta=va>>pa|ta<<wa;break}else if((pa|0)==95){sa=va;ua=c[$>>2]|0;break}}else{ta=sa-q|0;c[$>>2]=ta;sa=pa;ua=ta;ta=pa>>ta&Y}}while(0);d:do{if((ua|0)<(q|0)){if((ua|0)>0){c[$>>2]=0;pa=q-ua|0;ua=sa&(1<<ua)+ -1}else{pa=q;ua=0}if((pa|0)>0){sa=pa;va=ua}else{pa=sa;break}while(1){ua=c[A>>2]|0;ua=jd[c[(c[ua>>2]|0)+20>>2]&511](ua)|0;c[Z>>2]=ua;if((ua|0)==-1){pa=102;break b}if((sa|0)<=7){break}va=ua|va<<8;sa=sa+ -8|0;if((sa|0)<=0){pa=ua;ua=va;break d}}wa=8-sa|0;c[$>>2]=wa;pa=ua;ua=ua>>wa|va<<sa}else{ua=ua-q|0;c[$>>2]=ua;pa=sa;ua=sa>>ua&Y}}while(0);h[o+(ra<<3)>>3]=t+u*+(ta>>>0);h[n+(ra<<3)>>3]=v+w*+(ua>>>0);ra=ra+1|0;if((ra|0)>=(qa|0)){ra=pa;sa=pa;pa=0;break}}do{if(X){ta=ra;qa=0;while(1){ua=c[$>>2]|0;e:do{if((ua|0)<(r|0)){if((ua|0)>0){c[$>>2]=0;ra=r-ua|0;ua=sa&(1<<ua)+ -1}else{ra=r;ua=0}if((ra|0)>0){ta=ra}else{ra=ta;break}while(1){va=c[A>>2]|0;va=jd[c[(c[va>>2]|0)+20>>2]&511](va)|0;c[Z>>2]=va;if((va|0)==-1){pa=121;break b}if((ta|0)<=7){break}ua=va|ua<<8;ta=ta+ -8|0;if((ta|0)<=0){ra=va;sa=va;break e}}wa=8-ta|0;c[$>>2]=wa;ra=va;sa=va;ua=va>>wa|ua<<ta}else{ua=ua-r|0;c[$>>2]=ua;ra=ta;sa=ta;ua=ta>>ua&x}}while(0);xa=+h[m+(qa<<3)>>3]+ +(ua>>>0)*+h[j+(qa<<3)>>3];if(W){xa=+(~~(xa*65536.0)|0)}h[k+(pa<<8)+(qa<<3)>>3]=xa;qa=qa+1|0;if((qa|0)<(y|0)){ta=ra}else{break}}}pa=pa+1|0;}while((pa|0)<(oa|0));if((d|0)==(ma|0)){ma=(d|0)==0?16:d<<1;la=Ce(la,ma,1280)|0;bX(la+(d*1280|0)|0,0,(ma-d|0)*1280|0)|0}oa=la+(d*1280|0)|0;do{if(_){if((na|0)==0){h[oa>>3]=+h[p>>3];h[la+(d*1280|0)+128>>3]=+h[l>>3];h[la+(d*1280|0)+8>>3]=+h[U>>3];h[la+(d*1280|0)+136>>3]=+h[T>>3];h[la+(d*1280|0)+16>>3]=+h[S>>3];h[la+(d*1280|0)+144>>3]=+h[R>>3];h[la+(d*1280|0)+24>>3]=+h[Q>>3];h[la+(d*1280|0)+152>>3]=+h[P>>3];h[la+(d*1280|0)+56>>3]=+h[O>>3];h[la+(d*1280|0)+184>>3]=+h[N>>3];h[la+(d*1280|0)+88>>3]=+h[M>>3];h[la+(d*1280|0)+216>>3]=+h[L>>3];h[la+(d*1280|0)+120>>3]=+h[K>>3];h[la+(d*1280|0)+248>>3]=+h[J>>3];h[la+(d*1280|0)+112>>3]=+h[I>>3];h[la+(d*1280|0)+240>>3]=+h[H>>3];h[la+(d*1280|0)+104>>3]=+h[G>>3];h[la+(d*1280|0)+232>>3]=+h[F>>3];h[la+(d*1280|0)+96>>3]=+h[E>>3];h[la+(d*1280|0)+224>>3]=+h[D>>3];h[la+(d*1280|0)+64>>3]=+h[C>>3];h[la+(d*1280|0)+192>>3]=+h[B>>3];h[la+(d*1280|0)+32>>3]=+h[ka>>3];h[la+(d*1280|0)+160>>3]=+h[ja>>3];if(X){na=0}else{break}do{h[la+(d*1280|0)+256+(na<<3)>>3]=+h[k+(na<<3)>>3];h[la+(d*1280|0)+512+(na<<3)>>3]=+h[k+256+(na<<3)>>3];h[la+(d*1280|0)+1024+(na<<3)>>3]=+h[k+512+(na<<3)>>3];h[la+(d*1280|0)+768+(na<<3)>>3]=+h[k+768+(na<<3)>>3];na=na+1|0;}while((na|0)<(y|0))}else if((na|0)==1){na=d+ -1|0;h[oa>>3]=+h[la+(na*1280|0)+24>>3];h[la+(d*1280|0)+128>>3]=+h[la+(na*1280|0)+152>>3];h[la+(d*1280|0)+8>>3]=+h[la+(na*1280|0)+56>>3];h[la+(d*1280|0)+136>>3]=+h[la+(na*1280|0)+184>>3];h[la+(d*1280|0)+16>>3]=+h[la+(na*1280|0)+88>>3];h[la+(d*1280|0)+144>>3]=+h[la+(na*1280|0)+216>>3];h[la+(d*1280|0)+24>>3]=+h[la+(na*1280|0)+120>>3];h[la+(d*1280|0)+152>>3]=+h[la+(na*1280|0)+248>>3];h[la+(d*1280|0)+56>>3]=+h[p>>3];h[la+(d*1280|0)+184>>3]=+h[l>>3];h[la+(d*1280|0)+88>>3]=+h[U>>3];h[la+(d*1280|0)+216>>3]=+h[T>>3];h[la+(d*1280|0)+120>>3]=+h[S>>3];h[la+(d*1280|0)+248>>3]=+h[R>>3];h[la+(d*1280|0)+112>>3]=+h[Q>>3];h[la+(d*1280|0)+240>>3]=+h[P>>3];h[la+(d*1280|0)+104>>3]=+h[O>>3];h[la+(d*1280|0)+232>>3]=+h[N>>3];h[la+(d*1280|0)+96>>3]=+h[M>>3];h[la+(d*1280|0)+224>>3]=+h[L>>3];h[la+(d*1280|0)+64>>3]=+h[K>>3];h[la+(d*1280|0)+192>>3]=+h[J>>3];h[la+(d*1280|0)+32>>3]=+h[I>>3];h[la+(d*1280|0)+160>>3]=+h[H>>3];if(X){oa=0}else{break}do{h[la+(d*1280|0)+256+(oa<<3)>>3]=+h[la+(na*1280|0)+512+(oa<<3)>>3];h[la+(d*1280|0)+512+(oa<<3)>>3]=+h[la+(na*1280|0)+1024+(oa<<3)>>3];h[la+(d*1280|0)+1024+(oa<<3)>>3]=+h[k+(oa<<3)>>3];h[la+(d*1280|0)+768+(oa<<3)>>3]=+h[k+256+(oa<<3)>>3];oa=oa+1|0;}while((oa|0)<(y|0))}else if((na|0)==2){na=d+ -1|0;h[oa>>3]=+h[la+(na*1280|0)+120>>3];h[la+(d*1280|0)+128>>3]=+h[la+(na*1280|0)+248>>3];h[la+(d*1280|0)+8>>3]=+h[la+(na*1280|0)+112>>3];h[la+(d*1280|0)+136>>3]=+h[la+(na*1280|0)+240>>3];h[la+(d*1280|0)+16>>3]=+h[la+(na*1280|0)+104>>3];h[la+(d*1280|0)+144>>3]=+h[la+(na*1280|0)+232>>3];h[la+(d*1280|0)+24>>3]=+h[la+(na*1280|0)+96>>3];h[la+(d*1280|0)+152>>3]=+h[la+(na*1280|0)+224>>3];h[la+(d*1280|0)+56>>3]=+h[p>>3];h[la+(d*1280|0)+184>>3]=+h[l>>3];h[la+(d*1280|0)+88>>3]=+h[U>>3];h[la+(d*1280|0)+216>>3]=+h[T>>3];h[la+(d*1280|0)+120>>3]=+h[S>>3];h[la+(d*1280|0)+248>>3]=+h[R>>3];h[la+(d*1280|0)+112>>3]=+h[Q>>3];h[la+(d*1280|0)+240>>3]=+h[P>>3];h[la+(d*1280|0)+104>>3]=+h[O>>3];h[la+(d*1280|0)+232>>3]=+h[N>>3];h[la+(d*1280|0)+96>>3]=+h[M>>3];h[la+(d*1280|0)+224>>3]=+h[L>>3];h[la+(d*1280|0)+64>>3]=+h[K>>3];h[la+(d*1280|0)+192>>3]=+h[J>>3];h[la+(d*1280|0)+32>>3]=+h[I>>3];h[la+(d*1280|0)+160>>3]=+h[H>>3];if(X){oa=0}else{break}do{h[la+(d*1280|0)+256+(oa<<3)>>3]=+h[la+(na*1280|0)+1024+(oa<<3)>>3];h[la+(d*1280|0)+512+(oa<<3)>>3]=+h[la+(na*1280|0)+768+(oa<<3)>>3];h[la+(d*1280|0)+1024+(oa<<3)>>3]=+h[k+(oa<<3)>>3];h[la+(d*1280|0)+768+(oa<<3)>>3]=+h[k+256+(oa<<3)>>3];oa=oa+1|0;}while((oa|0)<(y|0))}else if((na|0)==3){na=d+ -1|0;h[oa>>3]=+h[la+(na*1280|0)+96>>3];h[la+(d*1280|0)+128>>3]=+h[la+(na*1280|0)+224>>3];h[la+(d*1280|0)+8>>3]=+h[la+(na*1280|0)+64>>3];h[la+(d*1280|0)+136>>3]=+h[la+(na*1280|0)+192>>3];h[la+(d*1280|0)+16>>3]=+h[la+(na*1280|0)+32>>3];h[la+(d*1280|0)+144>>3]=+h[la+(na*1280|0)+160>>3];h[la+(d*1280|0)+24>>3]=+h[la+(na*1280|0)>>3];h[la+(d*1280|0)+152>>3]=+h[la+(na*1280|0)+128>>3];h[la+(d*1280|0)+56>>3]=+h[p>>3];h[la+(d*1280|0)+184>>3]=+h[l>>3];h[la+(d*1280|0)+88>>3]=+h[U>>3];h[la+(d*1280|0)+216>>3]=+h[T>>3];h[la+(d*1280|0)+120>>3]=+h[S>>3];h[la+(d*1280|0)+248>>3]=+h[R>>3];h[la+(d*1280|0)+112>>3]=+h[Q>>3];h[la+(d*1280|0)+240>>3]=+h[P>>3];h[la+(d*1280|0)+104>>3]=+h[O>>3];h[la+(d*1280|0)+232>>3]=+h[N>>3];h[la+(d*1280|0)+96>>3]=+h[M>>3];h[la+(d*1280|0)+224>>3]=+h[L>>3];h[la+(d*1280|0)+64>>3]=+h[K>>3];h[la+(d*1280|0)+192>>3]=+h[J>>3];h[la+(d*1280|0)+32>>3]=+h[I>>3];h[la+(d*1280|0)+160>>3]=+h[H>>3];if(X){oa=0}else{break}do{h[la+(d*1280|0)+512+(oa<<3)>>3]=+h[la+(na*1280|0)+256+(oa<<3)>>3];h[la+(d*1280|0)+1024+(oa<<3)>>3]=+h[k+(oa<<3)>>3];h[la+(d*1280|0)+768+(oa<<3)>>3]=+h[k+256+(oa<<3)>>3];oa=oa+1|0;}while((oa|0)<(y|0))}else{break}}else{if((na|0)==0){h[oa>>3]=+h[p>>3];h[la+(d*1280|0)+128>>3]=+h[l>>3];h[la+(d*1280|0)+8>>3]=+h[U>>3];h[la+(d*1280|0)+136>>3]=+h[T>>3];h[la+(d*1280|0)+16>>3]=+h[S>>3];h[la+(d*1280|0)+144>>3]=+h[R>>3];h[la+(d*1280|0)+24>>3]=+h[Q>>3];h[la+(d*1280|0)+152>>3]=+h[P>>3];h[la+(d*1280|0)+56>>3]=+h[O>>3];h[la+(d*1280|0)+184>>3]=+h[N>>3];h[la+(d*1280|0)+88>>3]=+h[M>>3];h[la+(d*1280|0)+216>>3]=+h[L>>3];h[la+(d*1280|0)+120>>3]=+h[K>>3];h[la+(d*1280|0)+248>>3]=+h[J>>3];h[la+(d*1280|0)+112>>3]=+h[I>>3];h[la+(d*1280|0)+240>>3]=+h[H>>3];h[la+(d*1280|0)+104>>3]=+h[G>>3];h[la+(d*1280|0)+232>>3]=+h[F>>3];h[la+(d*1280|0)+96>>3]=+h[E>>3];h[la+(d*1280|0)+224>>3]=+h[D>>3];h[la+(d*1280|0)+64>>3]=+h[C>>3];h[la+(d*1280|0)+192>>3]=+h[B>>3];h[la+(d*1280|0)+32>>3]=+h[ka>>3];h[la+(d*1280|0)+160>>3]=+h[ja>>3];h[la+(d*1280|0)+40>>3]=+h[ga>>3];h[la+(d*1280|0)+168>>3]=+h[fa>>3];h[la+(d*1280|0)+48>>3]=+h[ea>>3];h[la+(d*1280|0)+176>>3]=+h[da>>3];h[la+(d*1280|0)+80>>3]=+h[ca>>3];h[la+(d*1280|0)+208>>3]=+h[ba>>3];h[la+(d*1280|0)+72>>3]=+h[V>>3];h[la+(d*1280|0)+200>>3]=+h[aa>>3];if(X){na=0}else{break}do{h[la+(d*1280|0)+256+(na<<3)>>3]=+h[k+(na<<3)>>3];h[la+(d*1280|0)+512+(na<<3)>>3]=+h[k+256+(na<<3)>>3];h[la+(d*1280|0)+1024+(na<<3)>>3]=+h[k+512+(na<<3)>>3];h[la+(d*1280|0)+768+(na<<3)>>3]=+h[k+768+(na<<3)>>3];na=na+1|0;}while((na|0)<(y|0))}else if((na|0)==1){na=d+ -1|0;h[oa>>3]=+h[la+(na*1280|0)+24>>3];h[la+(d*1280|0)+128>>3]=+h[la+(na*1280|0)+152>>3];h[la+(d*1280|0)+8>>3]=+h[la+(na*1280|0)+56>>3];h[la+(d*1280|0)+136>>3]=+h[la+(na*1280|0)+184>>3];h[la+(d*1280|0)+16>>3]=+h[la+(na*1280|0)+88>>3];h[la+(d*1280|0)+144>>3]=+h[la+(na*1280|0)+216>>3];h[la+(d*1280|0)+24>>3]=+h[la+(na*1280|0)+120>>3];h[la+(d*1280|0)+152>>3]=+h[la+(na*1280|0)+248>>3];h[la+(d*1280|0)+56>>3]=+h[p>>3];h[la+(d*1280|0)+184>>3]=+h[l>>3];h[la+(d*1280|0)+88>>3]=+h[U>>3];h[la+(d*1280|0)+216>>3]=+h[T>>3];h[la+(d*1280|0)+120>>3]=+h[S>>3];h[la+(d*1280|0)+248>>3]=+h[R>>3];h[la+(d*1280|0)+112>>3]=+h[Q>>3];h[la+(d*1280|0)+240>>3]=+h[P>>3];h[la+(d*1280|0)+104>>3]=+h[O>>3];h[la+(d*1280|0)+232>>3]=+h[N>>3];h[la+(d*1280|0)+96>>3]=+h[M>>3];h[la+(d*1280|0)+224>>3]=+h[L>>3];h[la+(d*1280|0)+64>>3]=+h[K>>3];h[la+(d*1280|0)+192>>3]=+h[J>>3];h[la+(d*1280|0)+32>>3]=+h[I>>3];h[la+(d*1280|0)+160>>3]=+h[H>>3];h[la+(d*1280|0)+40>>3]=+h[G>>3];h[la+(d*1280|0)+168>>3]=+h[F>>3];h[la+(d*1280|0)+48>>3]=+h[E>>3];h[la+(d*1280|0)+176>>3]=+h[D>>3];h[la+(d*1280|0)+80>>3]=+h[C>>3];h[la+(d*1280|0)+208>>3]=+h[B>>3];h[la+(d*1280|0)+72>>3]=+h[ka>>3];h[la+(d*1280|0)+200>>3]=+h[ja>>3];if(X){oa=0}else{break}do{h[la+(d*1280|0)+256+(oa<<3)>>3]=+h[la+(na*1280|0)+512+(oa<<3)>>3];h[la+(d*1280|0)+512+(oa<<3)>>3]=+h[la+(na*1280|0)+1024+(oa<<3)>>3];h[la+(d*1280|0)+1024+(oa<<3)>>3]=+h[k+(oa<<3)>>3];h[la+(d*1280|0)+768+(oa<<3)>>3]=+h[k+256+(oa<<3)>>3];oa=oa+1|0;}while((oa|0)<(y|0))}else if((na|0)==2){na=d+ -1|0;h[oa>>3]=+h[la+(na*1280|0)+120>>3];h[la+(d*1280|0)+128>>3]=+h[la+(na*1280|0)+248>>3];h[la+(d*1280|0)+8>>3]=+h[la+(na*1280|0)+112>>3];h[la+(d*1280|0)+136>>3]=+h[la+(na*1280|0)+240>>3];h[la+(d*1280|0)+16>>3]=+h[la+(na*1280|0)+104>>3];h[la+(d*1280|0)+144>>3]=+h[la+(na*1280|0)+232>>3];h[la+(d*1280|0)+24>>3]=+h[la+(na*1280|0)+96>>3];h[la+(d*1280|0)+152>>3]=+h[la+(na*1280|0)+224>>3];h[la+(d*1280|0)+56>>3]=+h[p>>3];h[la+(d*1280|0)+184>>3]=+h[l>>3];h[la+(d*1280|0)+88>>3]=+h[U>>3];h[la+(d*1280|0)+216>>3]=+h[T>>3];h[la+(d*1280|0)+120>>3]=+h[S>>3];h[la+(d*1280|0)+248>>3]=+h[R>>3];h[la+(d*1280|0)+112>>3]=+h[Q>>3];h[la+(d*1280|0)+240>>3]=+h[P>>3];h[la+(d*1280|0)+104>>3]=+h[O>>3];h[la+(d*1280|0)+232>>3]=+h[N>>3];h[la+(d*1280|0)+96>>3]=+h[M>>3];h[la+(d*1280|0)+224>>3]=+h[L>>3];h[la+(d*1280|0)+64>>3]=+h[K>>3];h[la+(d*1280|0)+192>>3]=+h[J>>3];h[la+(d*1280|0)+32>>3]=+h[I>>3];h[la+(d*1280|0)+160>>3]=+h[H>>3];h[la+(d*1280|0)+40>>3]=+h[G>>3];h[la+(d*1280|0)+168>>3]=+h[F>>3];h[la+(d*1280|0)+48>>3]=+h[E>>3];h[la+(d*1280|0)+176>>3]=+h[D>>3];h[la+(d*1280|0)+80>>3]=+h[C>>3];h[la+(d*1280|0)+208>>3]=+h[B>>3];h[la+(d*1280|0)+72>>3]=+h[ka>>3];h[la+(d*1280|0)+200>>3]=+h[ja>>3];if(X){oa=0}else{break}do{h[la+(d*1280|0)+256+(oa<<3)>>3]=+h[la+(na*1280|0)+1024+(oa<<3)>>3];h[la+(d*1280|0)+512+(oa<<3)>>3]=+h[la+(na*1280|0)+768+(oa<<3)>>3];h[la+(d*1280|0)+1024+(oa<<3)>>3]=+h[k+(oa<<3)>>3];h[la+(d*1280|0)+768+(oa<<3)>>3]=+h[k+256+(oa<<3)>>3];oa=oa+1|0;}while((oa|0)<(y|0))}else if((na|0)==3){na=d+ -1|0;h[oa>>3]=+h[la+(na*1280|0)+96>>3];h[la+(d*1280|0)+128>>3]=+h[la+(na*1280|0)+224>>3];h[la+(d*1280|0)+8>>3]=+h[la+(na*1280|0)+64>>3];h[la+(d*1280|0)+136>>3]=+h[la+(na*1280|0)+192>>3];h[la+(d*1280|0)+16>>3]=+h[la+(na*1280|0)+32>>3];h[la+(d*1280|0)+144>>3]=+h[la+(na*1280|0)+160>>3];h[la+(d*1280|0)+24>>3]=+h[la+(na*1280|0)>>3];h[la+(d*1280|0)+152>>3]=+h[la+(na*1280|0)+128>>3];h[la+(d*1280|0)+56>>3]=+h[p>>3];h[la+(d*1280|0)+184>>3]=+h[l>>3];h[la+(d*1280|0)+88>>3]=+h[U>>3];h[la+(d*1280|0)+216>>3]=+h[T>>3];h[la+(d*1280|0)+120>>3]=+h[S>>3];h[la+(d*1280|0)+248>>3]=+h[R>>3];h[la+(d*1280|0)+112>>3]=+h[Q>>3];h[la+(d*1280|0)+240>>3]=+h[P>>3];h[la+(d*1280|0)+104>>3]=+h[O>>3];h[la+(d*1280|0)+232>>3]=+h[N>>3];h[la+(d*1280|0)+96>>3]=+h[M>>3];h[la+(d*1280|0)+224>>3]=+h[L>>3];h[la+(d*1280|0)+64>>3]=+h[K>>3];h[la+(d*1280|0)+192>>3]=+h[J>>3];h[la+(d*1280|0)+32>>3]=+h[I>>3];h[la+(d*1280|0)+160>>3]=+h[H>>3];h[la+(d*1280|0)+40>>3]=+h[G>>3];h[la+(d*1280|0)+168>>3]=+h[F>>3];h[la+(d*1280|0)+48>>3]=+h[E>>3];h[la+(d*1280|0)+176>>3]=+h[D>>3];h[la+(d*1280|0)+80>>3]=+h[C>>3];h[la+(d*1280|0)+208>>3]=+h[B>>3];h[la+(d*1280|0)+72>>3]=+h[ka>>3];h[la+(d*1280|0)+200>>3]=+h[ja>>3];if(X){oa=0}else{break}do{h[la+(d*1280|0)+256+(oa<<3)>>3]=+h[la+(na*1280|0)+768+(oa<<3)>>3];h[la+(d*1280|0)+512+(oa<<3)>>3]=+h[la+(na*1280|0)+256+(oa<<3)>>3];h[la+(d*1280|0)+1024+(oa<<3)>>3]=+h[k+(oa<<3)>>3];h[la+(d*1280|0)+768+(oa<<3)>>3]=+h[k+256+(oa<<3)>>3];oa=oa+1|0;}while((oa|0)<(y|0))}else{break}}}while(0);c[Z>>2]=0;d=d+1|0}if((pa|0)==81){c[$>>2]=0;pa=145}else if((pa|0)==102){c[$>>2]=0;pa=145}else if((pa|0)==121){c[$>>2]=0;pa=145}else if((pa|0)==144){c[$>>2]=0;if((A|0)!=0){pa=145}}if((pa|0)==145){wa=c[A>>2]|0;fd[c[(c[wa>>2]|0)+16>>2]&511](wa);HW(A)}if(_&(d|0)>0){j=0;do{pa=la+(j*1280|0)|0;w=+h[pa>>3];ra=la+(j*1280|0)+8|0;ya=+h[la+(j*1280|0)+32>>3];qa=la+(j*1280|0)+24|0;Ba=+h[qa>>3];ta=la+(j*1280|0)+96|0;Ja=+h[ta>>3];xa=+h[la+(j*1280|0)+104>>3];Ca=+h[la+(j*1280|0)+56>>3];sa=la+(j*1280|0)+120|0;za=+h[sa>>3];h[la+(j*1280|0)+40>>3]=(w*-4.0+(+h[ra>>3]+ya)*6.0-(Ba+Ja)*2.0+(xa+Ca)*3.0-za)/9.0;wa=la+(j*1280|0)+128|0;Ga=+h[wa>>3];Fa=+h[la+(j*1280|0)+136>>3];t=+h[la+(j*1280|0)+160>>3];va=la+(j*1280|0)+152|0;Ea=+h[va>>3];ua=la+(j*1280|0)+224|0;Ia=+h[ua>>3];Ha=+h[la+(j*1280|0)+232>>3];u=+h[la+(j*1280|0)+184>>3];v=+h[la+(j*1280|0)+248>>3];h[la+(j*1280|0)+168>>3]=(Ga*-4.0+(Fa+t)*6.0-(Ea+Ia)*2.0+(Ha+u)*3.0-v)/9.0;Aa=+h[la+(j*1280|0)+16>>3];Da=+h[la+(j*1280|0)+112>>3];h[la+(j*1280|0)+48>>3]=(Ba*-4.0+(Aa+Ca)*6.0-(w+za)*2.0+(Da+ya)*3.0-Ja)/9.0;ya=+h[la+(j*1280|0)+144>>3];Ga=(Ga+v)*2.0;w=+h[la+(j*1280|0)+240>>3];h[la+(j*1280|0)+176>>3]=(Ea*-4.0+(ya+u)*6.0-Ga+(w+t)*3.0-Ia)/9.0;t=+h[la+(j*1280|0)+64>>3];u=+h[pa>>3];Ca=+h[la+(j*1280|0)+88>>3];Ba=+h[qa>>3];h[la+(j*1280|0)+72>>3]=(Ja*-4.0+(xa+t)*6.0-(za+u)*2.0+(+h[ra>>3]+Ca)*3.0-Ba)/9.0;za=+h[la+(j*1280|0)+192>>3];xa=+h[la+(j*1280|0)+216>>3];h[la+(j*1280|0)+200>>3]=(Ia*-4.0+(Ha+za)*6.0-Ga+(Fa+xa)*3.0-Ea)/9.0;h[la+(j*1280|0)+80>>3]=(+h[sa>>3]*-4.0+(Da+Ca)*6.0-(+h[ta>>3]+Ba)*2.0+(Aa+t)*3.0-u)/9.0;h[la+(j*1280|0)+208>>3]=(v*-4.0+(w+xa)*6.0-(+h[ua>>3]+ +h[va>>3])*2.0+(ya+za)*3.0- +h[wa>>3])/9.0;j=j+1|0;}while((j|0)<(d|0))}j=FW(320)|0;c[j+4>>2]=a;c[j+8>>2]=0;c[j>>2]=171520;c[j+180>>2]=la;c[j+184>>2]=d;a=j+316|0;c[a>>2]=z;if((z|0)>0){k=0;do{c[j+188+(k<<2)>>2]=c[g+(k<<2)>>2];k=k+1|0;}while((k|0)<(c[a>>2]|0))}if(MA(j,b,e)|0){wa=j;i=f;return wa|0}if((j|0)==0){wa=0;i=f;return wa|0}fd[c[(c[j>>2]|0)+4>>2]&511](j);wa=0;i=f;return wa|0}}}while(0);Qe(-1,171376,I)}else{Qe(-1,171072,ha)}}while(0);Of(A);wa=0;i=f;return wa|0}function MA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0.0;j=i;C=i;i=i+8|0;p=i;i=i+8|0;v=i;i=i+8|0;t=v;y=i;i=i+8|0;x=y;A=i;i=i+8|0;B=A;D=i;i=i+8|0;E=D;J=i;i=i+8|0;G=i;i=i+16|0;F=G;I=i;i=i+8|0;H=I;L=i;i=i+8|0;K=L;M=i;i=i+8|0;z=i;i=i+16|0;g=z;w=i;i=i+16|0;k=w;s=i;i=i+16|0;l=s;r=i;i=i+16|0;m=r;q=i;i=i+16|0;n=q;c[z>>2]=13;u=g+8|0;c[u>>2]=0;c[u+4>>2]=0;c[w>>2]=13;o=k+8|0;c[o>>2]=0;c[o+4>>2]=0;Yu(d,170616,g,0)|0;N=Jy(g,e)|0;e=b+8|0;c[e>>2]=N;if((N|0)==0){Qe(-1,170632,M);Of(g);N=0;i=j;return N|0}Of(g);M=b+140|0;bX(b+12|0,0,129)|0;a:do{if((c[(Yu(d,170672,g,0)|0)>>2]|0)==6){N=c[z>>2]|0;if((N|0)!=6){c[L>>2]=N;c[K+4>>2]=6;Qe(0,172720,K);tc()}L=c[(c[u>>2]|0)+12>>2]|0;N=c[e>>2]|0;if((L|0)!=(jd[c[(c[N>>2]|0)+44>>2]&511](N)|0)){Qe(-1,170688,J);break}a[M]=1;N=c[e>>2]|0;if((jd[c[(c[N>>2]|0)+44>>2]&511](N)|0)>0){J=0}else{break}while(1){K=c[z>>2]|0;if((K|0)!=6){f=9;break}L=ut(c[u>>2]|0,J,k)|0;K=c[L>>2]|0;if((K+ -1|0)>>>0>=2){f=11;break}L=L+8|0;if((K|0)==1){O=+(c[L>>2]|0)}else{O=+h[L>>3]}c[b+12+(J<<2)>>2]=~~(O*65536.0);Of(k);J=J+1|0;N=c[e>>2]|0;if((J|0)>=(jd[c[(c[N>>2]|0)+44>>2]&511](N)|0)){break a}}if((f|0)==9){c[I>>2]=K;c[H+4>>2]=6;Qe(0,172720,H);tc()}else if((f|0)==11){c[G>>2]=K;c[F+4>>2]=1;c[F+8>>2]=2;Qe(0,172792,F);tc()}}}while(0);Of(g);F=b+168|0;G=b+160|0;H=b+152|0;I=b+144|0;b=b+176|0;bX(I|0,0,33)|0;do{if((c[(Yu(d,170112,g,0)|0)>>2]|0)==6){d=c[z>>2]|0;if((d|0)!=6){c[D>>2]=d;c[E+4>>2]=6;Qe(0,172720,E);tc()}d=c[u>>2]|0;if((c[d+12>>2]|0)!=4){Qe(-1,170784,C);break}c[s>>2]=13;E=l+8|0;c[E>>2]=0;c[E+4>>2]=0;c[r>>2]=13;D=m+8|0;c[D>>2]=0;c[D+4>>2]=0;c[q>>2]=13;C=n+8|0;c[C>>2]=0;c[C+4>>2]=0;ut(d,0,k)|0;d=c[z>>2]|0;if((d|0)!=6){c[A>>2]=d;c[B+4>>2]=6;Qe(0,172720,B);tc()}ut(c[u>>2]|0,1,l)|0;A=c[z>>2]|0;if((A|0)!=6){c[y>>2]=A;c[x+4>>2]=6;Qe(0,172720,x);tc()}ut(c[u>>2]|0,2,m)|0;x=c[z>>2]|0;if((x|0)!=6){c[v>>2]=x;c[t+4>>2]=6;Qe(0,172720,t);tc()}ut(c[u>>2]|0,3,n)|0;t=c[w>>2]|0;do{if((t+ -1|0)>>>0<2){s=c[s>>2]|0;if((s+ -1|0)>>>0>=2){f=44;break}r=c[r>>2]|0;if((r+ -1|0)>>>0>=2){f=44;break}q=c[q>>2]|0;if((q+ -1|0)>>>0>=2){f=44;break}a[b]=1;if((t|0)==1){O=+(c[o>>2]|0)}else{O=+h[o>>3]}h[I>>3]=O;if((s|0)==1){O=+(c[E>>2]|0)}else{O=+h[E>>3]}h[H>>3]=O;if((r|0)==1){O=+(c[D>>2]|0)}else{O=+h[D>>3]}h[G>>3]=O;if((q|0)==1){O=+(c[C>>2]|0)}else{O=+h[C>>3]}h[F>>3]=O}else{f=44}}while(0);if((f|0)==44){Qe(-1,170728,p)}Of(k);Of(l);Of(m);Of(n)}}while(0);Of(g);N=1;i=j;return N|0}function NA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0;e=i;c[b>>2]=170376;c[b+4>>2]=c[d+4>>2];f=c[d+8>>2]|0;c[b+8>>2]=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0;f=0;do{c[b+12+(f<<2)>>2]=c[d+12+(f<<2)>>2];f=f+1|0;}while((f|0)<32);a[b+140|0]=a[d+140|0]&1;h[b+144>>3]=+h[d+144>>3];h[b+152>>3]=+h[d+152>>3];h[b+160>>3]=+h[d+160>>3];h[b+168>>3]=+h[d+168>>3];a[b+176|0]=a[d+176|0]&1;c[b>>2]=170824;h[b+184>>3]=+h[d+184>>3];h[b+192>>3]=+h[d+192>>3];h[b+200>>3]=+h[d+200>>3];h[b+208>>3]=+h[d+208>>3];h[b+216>>3]=+h[d+216>>3];h[b+224>>3]=+h[d+224>>3];h[b+232>>3]=+h[d+232>>3];h[b+240>>3]=+h[d+240>>3];h[b+248>>3]=+h[d+248>>3];h[b+256>>3]=+h[d+256>>3];g=c[d+392>>2]|0;f=b+392|0;c[f>>2]=g;if((g|0)>0){g=0}else{i=e;return}do{j=c[d+264+(g<<2)>>2]|0;c[b+264+(g<<2)>>2]=jd[c[(c[j>>2]|0)+8>>2]&511](j)|0;g=g+1|0;}while((g|0)<(c[f>>2]|0));i=e;return}function OA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[a>>2]=170824;d=a+392|0;f=c[d>>2]|0;if((f|0)>0){e=0;do{g=c[a+264+(e<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0))}c[a>>2]=170376;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function PA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[a>>2]=170824;d=a+392|0;f=c[d>>2]|0;if((f|0)>0){e=0;do{g=c[a+264+(e<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0))}c[a>>2]=170376;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function QA(a){a=a|0;var b=0,c=0;c=i;b=FW(400)|0;NA(b,a);i=c;return b|0}function RA(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0;g=i;k=i;i=i+16|0;j=k;l=i;i=i+256|0;f=l;bX(l|0,0,256)|0;h[k>>3]=b;h[j+8>>3]=d;k=a+392|0;if((c[k>>2]|0)>0){l=0;while(1){m=c[a+264+(l<<2)>>2]|0;Gd[c[(c[m>>2]|0)+16>>2]&255](m,j,f+(l<<3)|0);l=l+1|0;if((l|0)<(c[k>>2]|0)){}else{j=0;break}}}else{j=0}do{c[e+(j<<2)>>2]=~~(+h[f+(j<<3)>>3]*65536.0);j=j+1|0;}while((j|0)<32);i=g;return}function SA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0;e=i;c[b>>2]=170376;c[b+4>>2]=c[d+4>>2];f=c[d+8>>2]|0;c[b+8>>2]=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0;f=0;do{c[b+12+(f<<2)>>2]=c[d+12+(f<<2)>>2];f=f+1|0;}while((f|0)<32);a[b+140|0]=a[d+140|0]&1;h[b+144>>3]=+h[d+144>>3];h[b+152>>3]=+h[d+152>>3];h[b+160>>3]=+h[d+160>>3];h[b+168>>3]=+h[d+168>>3];a[b+176|0]=a[d+176|0]&1;c[b>>2]=170920;h[b+184>>3]=+h[d+184>>3];h[b+192>>3]=+h[d+192>>3];h[b+200>>3]=+h[d+200>>3];h[b+208>>3]=+h[d+208>>3];h[b+216>>3]=+h[d+216>>3];h[b+224>>3]=+h[d+224>>3];g=c[d+360>>2]|0;f=b+360|0;c[f>>2]=g;if((g|0)>0){g=0}else{g=d+364|0;g=a[g]|0;g=g&1;f=b+364|0;a[f]=g;f=d+365|0;f=a[f]|0;f=f&1;g=b+365|0;a[g]=f;i=e;return}do{j=c[d+232+(g<<2)>>2]|0;c[b+232+(g<<2)>>2]=jd[c[(c[j>>2]|0)+8>>2]&511](j)|0;g=g+1|0;}while((g|0)<(c[f>>2]|0));j=d+364|0;j=a[j]|0;j=j&1;g=b+364|0;a[g]=j;g=d+365|0;g=a[g]|0;g=g&1;j=b+365|0;a[j]=g;i=e;return}function TA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[a>>2]=170920;d=a+360|0;f=c[d>>2]|0;if((f|0)>0){e=0;do{g=c[a+232+(e<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0))}c[a>>2]=170376;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function UA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[a>>2]=170920;d=a+360|0;f=c[d>>2]|0;if((f|0)>0){e=0;do{g=c[a+232+(e<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0))}c[a>>2]=170376;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function VA(a){a=a|0;var b=0,c=0;c=i;b=FW(368)|0;SA(b,a);i=c;return b|0}function WA(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;f=i;k=i;i=i+8|0;g=k;j=i;i=i+256|0;e=j;h[k>>3]=b;bX(j|0,0,256)|0;j=a+360|0;if((c[j>>2]|0)>0){k=0;while(1){l=c[a+232+(k<<2)>>2]|0;Gd[c[(c[l>>2]|0)+16>>2]&255](l,g,e+(k<<3)|0);k=k+1|0;if((k|0)<(c[j>>2]|0)){}else{a=0;break}}}else{a=0}do{c[d+(a<<2)>>2]=~~(+h[e+(a<<3)>>3]*65536.0);a=a+1|0;}while((a|0)<32);i=f;return}function XA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0;e=i;c[b>>2]=170376;c[b+4>>2]=c[d+4>>2];f=c[d+8>>2]|0;c[b+8>>2]=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0;f=0;do{c[b+12+(f<<2)>>2]=c[d+12+(f<<2)>>2];f=f+1|0;}while((f|0)<32);a[b+140|0]=a[d+140|0]&1;h[b+144>>3]=+h[d+144>>3];h[b+152>>3]=+h[d+152>>3];h[b+160>>3]=+h[d+160>>3];h[b+168>>3]=+h[d+168>>3];a[b+176|0]=a[d+176|0]&1;c[b>>2]=171008;h[b+184>>3]=+h[d+184>>3];h[b+192>>3]=+h[d+192>>3];h[b+200>>3]=+h[d+200>>3];h[b+208>>3]=+h[d+208>>3];h[b+216>>3]=+h[d+216>>3];h[b+224>>3]=+h[d+224>>3];h[b+232>>3]=+h[d+232>>3];h[b+240>>3]=+h[d+240>>3];g=c[d+376>>2]|0;f=b+376|0;c[f>>2]=g;if((g|0)>0){g=0}else{g=d+380|0;g=a[g]|0;g=g&1;f=b+380|0;a[f]=g;f=d+381|0;f=a[f]|0;f=f&1;g=b+381|0;a[g]=f;i=e;return}do{j=c[d+248+(g<<2)>>2]|0;c[b+248+(g<<2)>>2]=jd[c[(c[j>>2]|0)+8>>2]&511](j)|0;g=g+1|0;}while((g|0)<(c[f>>2]|0));j=d+380|0;j=a[j]|0;j=j&1;g=b+380|0;a[g]=j;g=d+381|0;g=a[g]|0;g=g&1;j=b+381|0;a[j]=g;i=e;return}function YA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[a>>2]=171008;d=a+376|0;f=c[d>>2]|0;if((f|0)>0){e=0;do{g=c[a+248+(e<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0))}c[a>>2]=170376;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function ZA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[a>>2]=171008;d=a+376|0;f=c[d>>2]|0;if((f|0)>0){e=0;do{g=c[a+248+(e<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0))}c[a>>2]=170376;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function _A(a){a=a|0;var b=0,c=0;c=i;b=FW(384)|0;XA(b,a);i=c;return b|0}function $A(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;f=i;k=i;i=i+8|0;g=k;j=i;i=i+256|0;e=j;h[k>>3]=b;bX(j|0,0,256)|0;j=a+376|0;if((c[j>>2]|0)>0){k=0;while(1){l=c[a+248+(k<<2)>>2]|0;Gd[c[(c[l>>2]|0)+16>>2]&255](l,g,e+(k<<3)|0);k=k+1|0;if((k|0)<(c[j>>2]|0)){}else{a=0;break}}}else{a=0}do{c[d+(a<<2)>>2]=~~(+h[e+(a<<3)>>3]*65536.0);a=a+1|0;}while((a|0)<32);i=f;return}function aB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0;e=i;c[b>>2]=170376;c[b+4>>2]=c[d+4>>2];f=c[d+8>>2]|0;c[b+8>>2]=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0;f=0;do{c[b+12+(f<<2)>>2]=c[d+12+(f<<2)>>2];f=f+1|0;}while((f|0)<32);a[b+140|0]=a[d+140|0]&1;h[b+144>>3]=+h[d+144>>3];h[b+152>>3]=+h[d+152>>3];h[b+160>>3]=+h[d+160>>3];h[b+168>>3]=+h[d+168>>3];a[b+176|0]=a[d+176|0]&1;c[b>>2]=171032;g=c[d+184>>2]|0;f=b+184|0;c[f>>2]=g;g=ye(g,144)|0;c[b+180>>2]=g;$W(g|0,c[d+180>>2]|0,(c[f>>2]|0)*144|0)|0;f=c[d+192>>2]|0;g=b+192|0;c[g>>2]=f;f=ye(f*3|0,4)|0;c[b+188>>2]=f;$W(f|0,c[d+188>>2]|0,(c[g>>2]|0)*12|0)|0;g=c[d+324>>2]|0;f=b+324|0;c[f>>2]=g;if((g|0)>0){g=0}else{i=e;return}do{j=c[d+196+(g<<2)>>2]|0;c[b+196+(g<<2)>>2]=jd[c[(c[j>>2]|0)+8>>2]&511](j)|0;g=g+1|0;}while((g|0)<(c[f>>2]|0));i=e;return}function bB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[a>>2]=171032;Fe(c[a+180>>2]|0);Fe(c[a+188>>2]|0);d=a+324|0;f=c[d>>2]|0;if((f|0)>0){e=0;do{g=c[a+196+(e<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0))}c[a>>2]=170376;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function cB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[a>>2]=171032;Fe(c[a+180>>2]|0);Fe(c[a+188>>2]|0);d=a+324|0;f=c[d>>2]|0;if((f|0)>0){e=0;do{g=c[a+196+(e<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0))}c[a>>2]=170376;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function dB(a){a=a|0;var b=0,c=0;c=i;b=FW(328)|0;aB(b,a);i=c;return b|0}function eB(a,b,d,e,f,g,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;p=i;s=i;i=i+8|0;r=s;o=i;i=i+256|0;q=a+324|0;if((c[q>>2]|0)>0){Ya(171432,171456,3392,171472)}u=a+188|0;v=c[(c[u>>2]|0)+(b*12|0)>>2]|0;t=a+180|0;h[d>>3]=+h[(c[t>>2]|0)+(v*144|0)>>3];h[e>>3]=+h[(c[t>>2]|0)+(v*144|0)+8>>3];e=c[t>>2]|0;if((c[q>>2]|0)>0){h[s>>3]=+(c[e+(v*144|0)+16>>2]|0)*152587890625.0e-16;v=0;while(1){d=c[a+196+(v<<2)>>2]|0;Gd[c[(c[d>>2]|0)+16>>2]&255](d,r,o+(v<<3)|0);v=v+1|0;if((v|0)<(c[q>>2]|0)){}else{v=0;break}}do{c[f+(v<<2)>>2]=~~(+h[o+(v<<3)>>3]*65536.0);v=v+1|0;}while((v|0)<32)}else{$W(f|0,e+(v*144|0)+16|0,128)|0}f=c[(c[u>>2]|0)+(b*12|0)+4>>2]|0;h[g>>3]=+h[(c[t>>2]|0)+(f*144|0)>>3];h[j>>3]=+h[(c[t>>2]|0)+(f*144|0)+8>>3];j=c[t>>2]|0;if((c[q>>2]|0)>0){h[s>>3]=+(c[j+(f*144|0)+16>>2]|0)*152587890625.0e-16;j=0;while(1){d=c[a+196+(j<<2)>>2]|0;Gd[c[(c[d>>2]|0)+16>>2]&255](d,r,o+(j<<3)|0);j=j+1|0;if((j|0)<(c[q>>2]|0)){}else{j=0;break}}do{c[k+(j<<2)>>2]=~~(+h[o+(j<<3)>>3]*65536.0);j=j+1|0;}while((j|0)<32)}else{$W(k|0,j+(f*144|0)+16|0,128)|0}k=c[(c[u>>2]|0)+(b*12|0)+8>>2]|0;h[l>>3]=+h[(c[t>>2]|0)+(k*144|0)>>3];h[m>>3]=+h[(c[t>>2]|0)+(k*144|0)+8>>3];t=c[t>>2]|0;if((c[q>>2]|0)<=0){$W(n|0,t+(k*144|0)+16|0,128)|0;i=p;return}h[s>>3]=+(c[t+(k*144|0)+16>>2]|0)*152587890625.0e-16;s=0;while(1){d=c[a+196+(s<<2)>>2]|0;Gd[c[(c[d>>2]|0)+16>>2]&255](d,r,o+(s<<3)|0);s=s+1|0;if((s|0)<(c[q>>2]|0)){}else{a=0;break}}do{c[n+(a<<2)>>2]=~~(+h[o+(a<<3)>>3]*65536.0);a=a+1|0;}while((a|0)<32);i=p;return}function fB(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;f=i;j=i;i=i+8|0;g=j;e=i;i=i+256|0;h[j>>3]=b;j=a+324|0;if((c[j>>2]|0)>0){k=0;while(1){l=c[a+196+(k<<2)>>2]|0;Gd[c[(c[l>>2]|0)+16>>2]&255](l,g,e+(k<<3)|0);k=k+1|0;if((k|0)<(c[j>>2]|0)){}else{a=0;break}}}else{a=0}do{c[d+(a<<2)>>2]=~~(+h[e+(a<<3)>>3]*65536.0);a=a+1|0;}while((a|0)<32);i=f;return}function gB(a,b,d,e,f,g,j,k,l,m,n){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0;if((c[a+324>>2]|0)>0){p=a+188|0;q=c[(c[p>>2]|0)+(b*12|0)>>2]|0;o=a+180|0;h[d>>3]=+h[(c[o>>2]|0)+(q*144|0)>>3];h[e>>3]=+h[(c[o>>2]|0)+(q*144|0)+8>>3];h[f>>3]=+(c[(c[o>>2]|0)+(q*144|0)+16>>2]|0)*152587890625.0e-16;a=c[(c[p>>2]|0)+(b*12|0)+4>>2]|0;h[g>>3]=+h[(c[o>>2]|0)+(a*144|0)>>3];h[j>>3]=+h[(c[o>>2]|0)+(a*144|0)+8>>3];h[k>>3]=+(c[(c[o>>2]|0)+(a*144|0)+16>>2]|0)*152587890625.0e-16;a=c[(c[p>>2]|0)+(b*12|0)+8>>2]|0;h[l>>3]=+h[(c[o>>2]|0)+(a*144|0)>>3];h[m>>3]=+h[(c[o>>2]|0)+(a*144|0)+8>>3];h[n>>3]=+(c[(c[o>>2]|0)+(a*144|0)+16>>2]|0)*152587890625.0e-16;i=i;return}else{Ya(171488,171456,3455,171472)}}function hB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0;e=i;c[b>>2]=170376;c[b+4>>2]=c[d+4>>2];f=c[d+8>>2]|0;c[b+8>>2]=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0;f=0;do{c[b+12+(f<<2)>>2]=c[d+12+(f<<2)>>2];f=f+1|0;}while((f|0)<32);a[b+140|0]=a[d+140|0]&1;h[b+144>>3]=+h[d+144>>3];h[b+152>>3]=+h[d+152>>3];h[b+160>>3]=+h[d+160>>3];h[b+168>>3]=+h[d+168>>3];a[b+176|0]=a[d+176|0]&1;c[b>>2]=171520;f=c[d+184>>2]|0;g=b+184|0;c[g>>2]=f;f=ye(f,1280)|0;c[b+180>>2]=f;$W(f|0,c[d+180>>2]|0,(c[g>>2]|0)*1280|0)|0;g=c[d+316>>2]|0;f=b+316|0;c[f>>2]=g;if((g|0)>0){g=0}else{i=e;return}do{j=c[d+188+(g<<2)>>2]|0;c[b+188+(g<<2)>>2]=jd[c[(c[j>>2]|0)+8>>2]&511](j)|0;g=g+1|0;}while((g|0)<(c[f>>2]|0));i=e;return}function iB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[a>>2]=171520;Fe(c[a+180>>2]|0);d=a+316|0;f=c[d>>2]|0;if((f|0)>0){e=0;do{g=c[a+188+(e<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0))}c[a>>2]=170376;d=c[a+8>>2]|0;if((d|0)==0){HW(a);i=b;return}fd[c[(c[d>>2]|0)+4>>2]&511](d);HW(a);i=b;return}function jB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[a>>2]=171520;Fe(c[a+180>>2]|0);d=a+316|0;f=c[d>>2]|0;if((f|0)>0){e=0;do{g=c[a+188+(e<<2)>>2]|0;if((g|0)!=0){fd[c[(c[g>>2]|0)+4>>2]&511](g);f=c[d>>2]|0}e=e+1|0;}while((e|0)<(f|0))}c[a>>2]=170376;a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function kB(a,b,d){a=a|0;b=+b;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0;f=i;j=i;i=i+8|0;g=j;e=i;i=i+256|0;h[j>>3]=b;j=a+316|0;if((c[j>>2]|0)>0){k=0;while(1){l=c[a+188+(k<<2)>>2]|0;Gd[c[(c[l>>2]|0)+16>>2]&255](l,g,e+(k<<3)|0);k=k+1|0;if((k|0)<(c[j>>2]|0)){}else{a=0;break}}}else{a=0}do{c[d+(a<<2)>>2]=~~(+h[e+(a<<3)>>3]*65536.0);a=a+1|0;}while((a|0)<32);i=f;return}function lB(a){a=a|0;var b=0,c=0;c=i;b=FW(320)|0;hB(b,a);i=c;return b|0}function mB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0.0,C=0,D=0.0;j=i;p=i;i=i+8|0;v=p;u=i;i=i+8|0;s=u;q=i;i=i+16|0;t=q;n=i;i=i+256|0;m=n;l=i;i=i+256|0;c[q>>2]=13;w=t+8|0;c[w>>2]=0;c[w+4>>2]=0;r=b+664|0;a[r]=1;c[b+4>>2]=e;e=(1<<e)+ -1|0;c[b>>2]=g;k=(e|0)>255?255:e;e=b+148|0;bX(b+20|0,0,132)|0;x=c[f>>2]|0;a:do{if((x|0)==5){c[b+8>>2]=jd[c[(c[g>>2]|0)+44>>2]&511](g)|0;C=c[b>>2]|0;Jd[c[(c[C>>2]|0)+52>>2]&63](C,b+152|0,b+408|0,k)}else if((x|0)==6){x=f+8|0;C=(c[(c[x>>2]|0)+12>>2]|0)/2|0;y=b+8|0;c[y>>2]=C;if((C|0)!=(jd[c[(c[g>>2]|0)+44>>2]&511](g)|0)){o=60;break}if((c[y>>2]|0)<=0){break}g=0;while(1){z=g<<1;A=c[f>>2]|0;if((A|0)!=6){o=7;break}ut(c[x>>2]|0,z,t)|0;A=c[q>>2]|0;if((A+ -1|0)>>>0>=2){o=59;break}if((A|0)==1){B=+(c[w>>2]|0)}else{B=+h[w>>3]}A=b+152+(g<<3)|0;h[A>>3]=B;Of(t);C=c[f>>2]|0;if((C|0)!=6){o=13;break}ut(c[x>>2]|0,z|1,t)|0;z=c[q>>2]|0;if((z+ -1|0)>>>0>=2){o=59;break}if((z|0)==1){B=+(c[w>>2]|0)}else{B=+h[w>>3]}h[b+408+(g<<3)>>3]=B- +h[A>>3];Of(t);g=g+1|0;if((g|0)>=(c[y>>2]|0)){break a}}if((o|0)==7){c[u>>2]=A;c[s+4>>2]=6;Qe(0,172720,s);tc()}else if((o|0)==13){c[p>>2]=C;c[v+4>>2]=6;Qe(0,172720,v);tc()}else if((o|0)==59){Of(t);o=60;break}}else{o=60}}while(0);if((o|0)==60){a[r]=0;i=j;return}r=b+12|0;c[r>>2]=0;p=b+16|0;c[p>>2]=0;q=c[b>>2]|0;q=jd[c[(c[q>>2]|0)+12>>2]&511](q)|0;if((q|0)==7){n=c[b>>2]|0;C=c[n+4>>2]|0;c[r>>2]=C;q=c[n+8>>2]|0;c[p>>2]=jd[c[(c[C>>2]|0)+44>>2]&511](C)|0;n=c[n+12>>2]|0;C=c[r>>2]|0;Jd[c[(c[C>>2]|0)+52>>2]&63](C,m,l,q);C=c[r>>2]|0;if(jd[c[(c[C>>2]|0)+40>>2]&511](C)|0){o=22}else{C=c[r>>2]|0;if(jd[c[(c[C>>2]|0)+36>>2]&511](C)|0){o=22}else{r=0}}if((o|0)==22){c[e>>2]=ye(k+1|0,c[p>>2]|0)|0;r=1}if((c[p>>2]|0)<=0){i=j;return}s=k+1|0;o=(k|0)<0;v=b+152|0;u=b+408|0;B=+(k|0);x=0;do{y=b+20+(x<<2)|0;c[y>>2]=ye(s,4)|0;if(!o){f=m+(x<<3)|0;w=l+(x<<3)|0;t=0;while(1){g=~~(+h[v>>3]+ +(t|0)*+h[u>>3]/B+.5);if((g|0)<0){g=0}else{g=(g|0)>(q|0)?q:g}D=+(d[n+((da(c[p>>2]|0,g)|0)+x)|0]|0|0)/255.0;D=+h[f>>3]+D*+h[w>>3];c[(c[y>>2]|0)+(t<<2)>>2]=~~(D*65536.0);if(r){C=(da(c[p>>2]|0,t)|0)+x|0;a[(c[e>>2]|0)+C|0]=~~(D*255.0)}if((t|0)<(k|0)){t=t+1|0}else{break}}}x=x+1|0;}while((x|0)<(c[p>>2]|0));i=j;return}else if((q|0)==8){q=c[b>>2]|0;C=c[q+8>>2]|0;c[r>>2]=C;c[p>>2]=jd[c[(c[C>>2]|0)+44>>2]&511](C)|0;q=c[q+12>>2]|0;C=c[r>>2]|0;if(jd[c[(c[C>>2]|0)+40>>2]&511](C)|0){o=35}else{C=c[r>>2]|0;if(jd[c[(c[C>>2]|0)+36>>2]&511](C)|0){o=35}else{r=0}}if((o|0)==35){c[e>>2]=ye(k+1|0,c[p>>2]|0)|0;r=1}if((c[p>>2]|0)<=0){i=j;return}u=k+1|0;o=(k|0)<0;s=b+152|0;t=b+408|0;B=+(k|0);f=0;do{v=b+20+(f<<2)|0;c[v>>2]=ye(u,4)|0;if(!o){w=l+(f<<3)|0;x=0;while(1){h[n>>3]=+h[s>>3]+ +(x|0)*+h[t>>3]/B;Gd[c[(c[q>>2]|0)+16>>2]&255](q,m,l);c[(c[v>>2]|0)+(x<<2)>>2]=~~(+h[w>>3]*65536.0);if(r){C=(da(c[p>>2]|0,x)|0)+f|0;a[(c[e>>2]|0)+C|0]=~~(+h[w>>3]*255.0)}if((x|0)<(k|0)){x=x+1|0}else{break}}}f=f+1|0;}while((f|0)<(c[p>>2]|0));i=j;return}else{C=c[b>>2]|0;do{if(jd[c[(c[C>>2]|0)+40>>2]&511](C)|0){o=47}else{C=c[b>>2]|0;if(jd[c[(c[C>>2]|0)+36>>2]&511](C)|0){o=47;break}m=b+8|0;l=0}}while(0);if((o|0)==47){m=b+8|0;c[e>>2]=ye(k+1|0,c[m>>2]|0)|0;l=1}if((c[m>>2]|0)<=0){i=j;return}q=k+1|0;r=(k|0)<0;B=+(k|0);p=0;do{t=ye(q,4)|0;f=b+20+(p<<2)|0;c[f>>2]=t;b:do{if(!r){o=b+152+(p<<3)|0;n=b+408+(p<<3)|0;s=0;while(1){D=+h[o>>3]+ +(s|0)*+h[n>>3]/B;c[t+(s<<2)>>2]=~~(D*65536.0);if(l){t=~~(D*255.0+.5);if((t|0)<0){t=0}else{t=(t|0)>255?-1:t&255}C=(da(c[m>>2]|0,s)|0)+p|0;a[(c[e>>2]|0)+C|0]=t}if((s|0)>=(k|0)){break b}t=c[f>>2]|0;s=s+1|0}}}while(0);p=p+1|0;}while((p|0)<(c[m>>2]|0));i=j;return}}function nB(a){a=a|0;var b=0,d=0;b=i;d=c[a>>2]|0;if((d|0)==0){d=0}else{fd[c[(c[d>>2]|0)+4>>2]&511](d);d=0}do{Fe(c[a+20+(d<<2)>>2]|0);d=d+1|0;}while((d|0)<32);Fe(c[a+148>>2]|0);i=b;return}function oB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;h=i;i=i+128|0;j=c[b+12>>2]|0;if((j|0)==0){k=c[b+8>>2]|0;if((k|0)>0){j=0;do{c[h+(j<<2)>>2]=c[(c[b+20+(j<<2)>>2]|0)+((d[e+j|0]|0)<<2)>>2];j=j+1|0;}while((j|0)<(k|0))}l=c[b>>2]|0;Gd[c[(c[l>>2]|0)+16>>2]&255](l,h,f);i=g;return}k=c[b+16>>2]|0;if((k|0)>0){e=a[e]|0;l=0;do{c[h+(l<<2)>>2]=c[(c[b+20+(l<<2)>>2]|0)+((e&255)<<2)>>2];l=l+1|0;}while((l|0)<(k|0))}Gd[c[(c[j>>2]|0)+16>>2]&255](j,h,f);i=g;return}function pB(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;h=i;i=i+128|0;j=c[b+12>>2]|0;if((j|0)==0){k=c[b+8>>2]|0;if((k|0)>0){j=0;do{c[h+(j<<2)>>2]=c[(c[b+20+(j<<2)>>2]|0)+((d[e+j|0]|0)<<2)>>2];j=j+1|0;}while((j|0)<(k|0))}l=c[b>>2]|0;Gd[c[(c[l>>2]|0)+20>>2]&255](l,h,f);i=g;return}k=c[b+16>>2]|0;if((k|0)>0){e=a[e]|0;l=0;do{c[h+(l<<2)>>2]=c[(c[b+20+(l<<2)>>2]|0)+((e&255)<<2)>>2];l=l+1|0;}while((l|0)<(k|0))}Gd[c[(c[j>>2]|0)+20>>2]&255](j,h,f);i=g;return}function qB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;h=i;k=i;i=i+128|0;l=i;i=i+16|0;m=l;j=b+12|0;o=c[j>>2]|0;do{if((o|0)==0){n=5}else{if(jd[c[(c[o>>2]|0)+36>>2]&511](o)|0){k=b;break}else{if((c[j>>2]|0)==0){n=5;break}else{n=6;break}}}}while(0);if((n|0)==5){v=c[b>>2]|0;if(jd[c[(c[v>>2]|0)+36>>2]&511](v)|0){k=b}else{n=6}}if((n|0)==6){if((g|0)<=0){i=h;return}q=b+8|0;n=m+4|0;p=m+8|0;o=b+16|0;r=0;while(1){s=c[j>>2]|0;if((s|0)==0){t=c[q>>2]|0;if((t|0)>0){s=0;do{c[k+(s<<2)>>2]=c[(c[b+20+(s<<2)>>2]|0)+((d[e+s|0]|0)<<2)>>2];s=s+1|0;}while((s|0)<(t|0))}v=c[b>>2]|0;Gd[c[(c[v>>2]|0)+20>>2]&255](v,k,m)}else{v=c[o>>2]|0;if((v|0)>0){t=d[e]|0;u=0;do{c[k+(u<<2)>>2]=c[(c[b+20+(u<<2)>>2]|0)+(t<<2)>>2];u=u+1|0;}while((u|0)<(v|0))}Gd[c[(c[s>>2]|0)+20>>2]&255](s,k,m)}c[f+(r<<2)>>2]=(((c[n>>2]|0)*255|0)+32768|0)>>>8&65280|((c[l>>2]|0)*255|0)+32768&16711680|(((c[p>>2]|0)*255|0)+32768|0)>>>16&255;r=r+1|0;if((r|0)>=(g|0)){break}e=e+(c[q>>2]|0)|0}i=h;return}v=c[k>>2]|0;if(((jd[c[(c[v>>2]|0)+12>>2]&511](v)|0)+ -7|0)>>>0>=2){if((g|0)>0){j=b+8|0;b=b+148|0;o=c[j>>2]|0;m=e;l=0;do{if((o|0)>0){n=0;while(1){o=(da(d[m]|0,o)|0)+n|0;a[m]=a[(c[b>>2]|0)+o|0]|0;m=m+1|0;n=n+1|0;o=c[j>>2]|0;if((n|0)<(o|0)){}else{break}}}l=l+1|0;}while((l|0)<(g|0))}v=c[k>>2]|0;Jd[c[(c[v>>2]|0)+32>>2]&63](v,e,f,g);i=h;return}k=b+16|0;l=ye(g,c[k>>2]|0)|0;if((g|0)>0){b=b+148|0;o=c[k>>2]|0;m=0;do{if((o|0)>0){n=e+m|0;p=0;while(1){v=(da(d[n]|0,o)|0)+p|0;a[l+((da(o,m)|0)+p)|0]=a[(c[b>>2]|0)+v|0]|0;p=p+1|0;o=c[k>>2]|0;if((p|0)<(o|0)){}else{break}}}m=m+1|0;}while((m|0)<(g|0))}v=c[j>>2]|0;Jd[c[(c[v>>2]|0)+32>>2]&63](v,l,f,g);Fe(l);i=h;return}function rB(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;g=i;f=b+12|0;k=c[f>>2]|0;j=b+16|0;l=c[j>>2]|0;if((k|0)<(l|0)){l=b;j=b+4|0;b=b+8|0}else{n=l+16|0;c[j>>2]=n;c[b>>2]=Ce(c[b>>2]|0,n,8)|0;n=b+4|0;c[n>>2]=Ce(c[n>>2]|0,c[j>>2]|0,8)|0;m=b+8|0;c[m>>2]=Ce(c[m>>2]|0,c[j>>2]|0,1)|0;k=c[f>>2]|0;l=b;j=n;b=m}h[(c[l>>2]|0)+(k<<3)>>3]=d;h[(c[j>>2]|0)+(c[f>>2]<<3)>>3]=e;a[(c[b>>2]|0)+(c[f>>2]|0)|0]=0;c[f>>2]=(c[f>>2]|0)+1;i=g;return}function sB(b,d,e,f,g,j,k){b=b|0;d=+d;e=+e;f=+f;g=+g;j=+j;k=+k;var l=0,m=0,n=0,o=0,p=0,q=0;m=i;l=b+12|0;p=c[l>>2]|0;o=b+16|0;n=c[o>>2]|0;if((p+3|0)>(n|0)){n=n+16|0;c[o>>2]=n;c[b>>2]=Ce(c[b>>2]|0,n,8)|0;n=b+4|0;c[n>>2]=Ce(c[n>>2]|0,c[o>>2]|0,8)|0;q=b+8|0;c[q>>2]=Ce(c[q>>2]|0,c[o>>2]|0,1)|0;p=c[l>>2]|0;o=b;b=q}else{o=b;n=b+4|0;b=b+8|0}h[(c[o>>2]|0)+(p<<3)>>3]=d;h[(c[n>>2]|0)+(c[l>>2]<<3)>>3]=e;h[(c[o>>2]|0)+((c[l>>2]|0)+1<<3)>>3]=f;h[(c[n>>2]|0)+((c[l>>2]|0)+1<<3)>>3]=g;h[(c[o>>2]|0)+((c[l>>2]|0)+2<<3)>>3]=j;h[(c[n>>2]|0)+((c[l>>2]|0)+2<<3)>>3]=k;a[(c[b>>2]|0)+((c[l>>2]|0)+1)|0]=1;a[(c[b>>2]|0)+(c[l>>2]|0)|0]=1;a[(c[b>>2]|0)+((c[l>>2]|0)+2)|0]=0;c[l>>2]=(c[l>>2]|0)+3;i=m;return}function tB(b,d,e,f,g,j,k){b=b|0;d=d|0;e=+e;f=+f;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;a[b]=d&1;h[b+8>>3]=e;h[b+16>>3]=f;c[b+32>>2]=k;d=b+28|0;c[d>>2]=j;b=b+24|0;c[b>>2]=ye(k,4)|0;if((c[d>>2]|0)>0){k=0}else{i=l;return}do{m=c[g+(k<<2)>>2]|0;j=FW(24)|0;o=c[m+16>>2]|0;c[j+16>>2]=o;n=c[m+12>>2]|0;c[j+12>>2]=n;r=ye(o,8)|0;c[j>>2]=r;q=ye(o,8)|0;c[j+4>>2]=q;o=ye(o,1)|0;c[j+8>>2]=o;p=n<<3;$W(r|0,c[m>>2]|0,p|0)|0;$W(q|0,c[m+4>>2]|0,p|0)|0;$W(o|0,c[m+8>>2]|0,n|0)|0;a[j+20|0]=a[m+20|0]&1;c[(c[b>>2]|0)+(k<<2)>>2]=j;k=k+1|0;}while((k|0)<(c[d>>2]|0));i=l;return}function uB(b,c,d){b=b|0;c=+c;d=+d;a[b]=1;h[b+8>>3]=c;h[b+16>>3]=d;i=i;return}function vB(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0.0;f=i;g=b+28|0;j=c[g>>2]|0;if((a[b]&1)==0){l=j;k=b+24|0;l=l+ -1|0;k=c[k>>2]|0;l=l<<2;l=k+l|0;l=c[l>>2]|0;rB(l,d,e);i=f;return}k=b+32|0;l=c[k>>2]|0;if((j|0)<(l|0)){j=b+24|0}else{l=l+16|0;c[k>>2]=l;j=b+24|0;c[j>>2]=Ce(c[j>>2]|0,l,4)|0}l=FW(24)|0;p=+h[b+8>>3];n=+h[b+16>>3];c[l+16>>2]=16;o=ye(16,8)|0;c[l>>2]=o;m=l+4|0;c[m>>2]=ye(16,8)|0;k=l+8|0;c[k>>2]=ye(16,1)|0;c[l+12>>2]=1;h[o>>3]=p;h[c[m>>2]>>3]=n;a[c[k>>2]|0]=0;a[l+20|0]=0;c[(c[j>>2]|0)+(c[g>>2]<<2)>>2]=l;l=(c[g>>2]|0)+1|0;c[g>>2]=l;a[b]=0;k=j;l=l+ -1|0;k=c[k>>2]|0;l=l<<2;l=k+l|0;l=c[l>>2]|0;rB(l,d,e);i=f;return}function wB(b,d,e,f,g,j,k){b=b|0;d=+d;e=+e;f=+f;g=+g;j=+j;k=+k;var l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0.0;m=i;l=b+28|0;n=c[l>>2]|0;if((a[b]&1)==0){p=n;o=b+24|0;p=p+ -1|0;o=c[o>>2]|0;p=p<<2;p=o+p|0;p=c[p>>2]|0;sB(p,d,e,f,g,j,k);i=m;return}o=b+32|0;p=c[o>>2]|0;if((n|0)<(p|0)){n=b+24|0}else{p=p+16|0;c[o>>2]=p;n=b+24|0;c[n>>2]=Ce(c[n>>2]|0,p,4)|0}p=FW(24)|0;t=+h[b+8>>3];r=+h[b+16>>3];c[p+16>>2]=16;s=ye(16,8)|0;c[p>>2]=s;q=p+4|0;c[q>>2]=ye(16,8)|0;o=p+8|0;c[o>>2]=ye(16,1)|0;c[p+12>>2]=1;h[s>>3]=t;h[c[q>>2]>>3]=r;a[c[o>>2]|0]=0;a[p+20|0]=0;c[(c[n>>2]|0)+(c[l>>2]<<2)>>2]=p;p=(c[l>>2]|0)+1|0;c[l>>2]=p;a[b]=0;o=n;p=p+ -1|0;o=c[o>>2]|0;p=p<<2;p=o+p|0;p=c[p>>2]|0;sB(p,d,e,f,g,j,k);i=m;return}function xB(b){b=b|0;var d=0,e=0,f=0.0,g=0,j=0,k=0.0,l=0,m=0,n=0;d=i;e=b+28|0;j=c[e>>2]|0;if((a[b]&1)==0){g=b+24|0}else{g=b+32|0;l=c[g>>2]|0;if((j|0)<(l|0)){g=b+24|0}else{l=l+16|0;c[g>>2]=l;g=b+24|0;c[g>>2]=Ce(c[g>>2]|0,l,4)|0}j=FW(24)|0;f=+h[b+8>>3];k=+h[b+16>>3];n=j+16|0;c[n>>2]=16;c[j>>2]=ye(16,8)|0;m=j+4|0;c[m>>2]=ye(c[n>>2]|0,8)|0;l=j+8|0;c[l>>2]=ye(c[n>>2]|0,1)|0;c[j+12>>2]=1;h[c[j>>2]>>3]=f;h[c[m>>2]>>3]=k;a[c[l>>2]|0]=0;a[j+20|0]=0;c[(c[g>>2]|0)+(c[e>>2]<<2)>>2]=j;j=(c[e>>2]|0)+1|0;c[e>>2]=j;a[b]=0}b=c[(c[g>>2]|0)+(j+ -1<<2)>>2]|0;g=(c[b+12>>2]|0)+ -1|0;n=c[b>>2]|0;f=+h[n>>3];e=c[b+4>>2]|0;do{if(+h[n+(g<<3)>>3]!=f){k=+h[e>>3]}else{k=+h[e>>3];if(+h[e+(g<<3)>>3]!=k){break}n=b+20|0;a[n]=1;i=d;return}}while(0);rB(b,f,k);n=b+20|0;a[n]=1;i=d;return}function yB(a,b){a=a|0;b=b|0;var d=0;d=i;c[a>>2]=b;bX(a+4|0,0,16)|0;if((c[b+28>>2]|0)==0){i=d;return}b=c[c[b+24>>2]>>2]|0;c[a+16>>2]=b;c[a+12>>2]=c[b+12>>2];i=d;return}function zB(a){a=a|0;i=i;return(c[a+8>>2]|0)>=(c[a+12>>2]|0)|0}function AB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=a+8|0;g=(c[d>>2]|0)+1|0;c[d>>2]=g;e=a+12|0;if((g|0)!=(c[e>>2]|0)){i=b;return}f=a+4|0;g=(c[f>>2]|0)+1|0;c[f>>2]=g;f=c[a>>2]|0;if((g|0)>=(c[f+28>>2]|0)){i=b;return}c[d>>2]=0;g=c[(c[f+24>>2]|0)+(g<<2)>>2]|0;c[a+16>>2]=g;c[e>>2]=c[g+12>>2];i=b;return}function BB(a,b,d){a=a|0;b=+b;d=+d;var e=0;e=a+16|0;a=a+8|0;h[(c[c[e>>2]>>2]|0)+(c[a>>2]<<3)>>3]=b;h[(c[(c[e>>2]|0)+4>>2]|0)+(c[a>>2]<<3)>>3]=d;i=i;return}function CB(a){a=a|0;var b=0;c[a+8>>2]=0;c[a+4>>2]=0;b=c[c[(c[a>>2]|0)+24>>2]>>2]|0;c[a+16>>2]=b;c[a+12>>2]=c[b+12>>2];i=i;return}function DB(b,d,e,f,g,j){b=b|0;d=+d;e=+e;f=f|0;g=g|0;j=j|0;var k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0;n=i;h[b>>3]=d;h[b+8>>3]=e;c[b+112>>2]=g;l=+h[f>>3];h[b+64>>3]=l;m=+h[f+8>>3];h[b+72>>3]=m;k=+h[f+16>>3];h[b+80>>3]=k;o=+h[f+24>>3];h[b+88>>3]=o;d=d/72.0;e=e/72.0;if((g|0)==180){h[b+16>>3]=-0.0-d;bX(b+24|0,0,16)|0;if(j){h[b+40>>3]=e;h[b+48>>3]=d*k;p=-0.0-m}else{h[b+40>>3]=-0.0-e;h[b+48>>3]=d*k;p=o}h[b+56>>3]=e*p;h[b+96>>3]=d*(k-l);h[b+104>>3]=e*(o-m)}else if((g|0)==90){h[b+16>>3]=0.0;if(j){p=e;j=1}else{p=-0.0-e}h[b+24>>3]=p;h[b+32>>3]=d;h[b+40>>3]=0.0;h[b+48>>3]=-0.0-d*m;if(j){p=-0.0-l}else{p=k}h[b+56>>3]=e*p;h[b+96>>3]=d*(o-m);h[b+104>>3]=e*(k-l)}else if((g|0)==270){h[b+16>>3]=0.0;if(j){p=-0.0-e}else{p=e;j=0}h[b+24>>3]=p;h[b+32>>3]=-0.0-d;h[b+40>>3]=0.0;h[b+48>>3]=d*o;if(j){p=k}else{p=-0.0-l}h[b+56>>3]=e*p;h[b+96>>3]=d*(o-m);h[b+104>>3]=e*(k-l)}else{h[b+16>>3]=d;bX(b+24|0,0,16)|0;if(j){h[b+40>>3]=-0.0-e;h[b+48>>3]=-0.0-d*l;p=o}else{h[b+40>>3]=e;h[b+48>>3]=-0.0-d*l;p=-0.0-m}h[b+56>>3]=e*p;h[b+96>>3]=d*(k-l);h[b+104>>3]=e*(o-m)}f=FW(4)|0;c[f>>2]=168128;c[b+116>>2]=f;f=FW(4)|0;c[f>>2]=168128;c[b+120>>2]=f;c[b+124>>2]=0;c[b+252>>2]=0;c[b+380>>2]=0;c[b+384>>2]=0;c[b+388>>2]=0;h[b+392>>3]=1.0;h[b+400>>3]=1.0;a[b+408|0]=0;a[b+409|0]=0;bX(b+412|0,0,16)|0;h[b+432>>3]=1.0;bX(b+440|0,0,16)|0;c[b+456>>2]=1;c[b+460>>2]=0;c[b+464>>2]=0;h[b+472>>3]=10.0;a[b+480|0]=0;c[b+484>>2]=0;h[b+488>>3]=0.0;h[b+496>>3]=1.0;bX(b+504|0,0,16)|0;h[b+520>>3]=1.0;bX(b+528|0,0,32)|0;h[b+560>>3]=1.0;bX(b+568|0,0,20)|0;f=FW(40)|0;a[f]=0;c[f+32>>2]=16;c[f+28>>2]=0;bX(f+8|0,0,16)|0;c[f+24>>2]=ye(16,4)|0;c[b+588>>2]=f;bX(b+592|0,0,48)|0;h[b+640>>3]=+h[b+96>>3];h[b+648>>3]=+h[b+104>>3];c[b+656>>2]=0;i=n;return}function EB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;d=c[a+116>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+120>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+380>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+384>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+412>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+416>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+420>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}d=c[a+424>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d)}Fe(c[a+440>>2]|0);d=c[a+588>>2]|0;if((d|0)!=0){f=d+28|0;g=c[f>>2]|0;e=d+24|0;j=c[e>>2]|0;if((g|0)>0){h=0;do{k=c[j+(h<<2)>>2]|0;if((k|0)!=0){Fe(c[k>>2]|0);Fe(c[k+4>>2]|0);Fe(c[k+8>>2]|0);HW(k);j=c[e>>2]|0;g=c[f>>2]|0}h=h+1|0;}while((h|0)<(g|0))}Fe(j);HW(d)}d=c[a+656>>2]|0;if((d|0)!=0){EB(d);HW(d)}a=c[a+484>>2]|0;if((a|0)==0){i=b;return}Yx(a);i=b;return}function FB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;$W(a|0,b|0,664)|0;e=a+116|0;if((c[e>>2]|0)!=0){f=c[b+116>>2]|0;c[e>>2]=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0}e=a+120|0;if((c[e>>2]|0)!=0){f=c[b+120>>2]|0;c[e>>2]=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0}e=a+380|0;if((c[e>>2]|0)!=0){f=c[b+380>>2]|0;c[e>>2]=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0}e=a+384|0;if((c[e>>2]|0)!=0){f=c[b+384>>2]|0;c[e>>2]=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0}e=a+412|0;if((c[e>>2]|0)!=0){f=c[b+412>>2]|0;c[e>>2]=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0}e=a+416|0;if((c[e>>2]|0)!=0){f=c[b+416>>2]|0;c[e>>2]=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0}e=a+420|0;if((c[e>>2]|0)!=0){f=c[b+420>>2]|0;c[e>>2]=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0}e=a+424|0;if((c[e>>2]|0)!=0){f=c[b+424>>2]|0;c[e>>2]=jd[c[(c[f>>2]|0)+8>>2]&511](f)|0}e=a+444|0;f=c[e>>2]|0;if((f|0)>0){f=ye(f,8)|0;c[a+440>>2]=f;$W(f|0,c[b+440>>2]|0,c[e>>2]<<3|0)|0}b=c[a+484>>2]|0;if((b|0)==0){f=a+656|0;c[f>>2]=0;i=d;return}Xx(b);f=a+656|0;c[f>>2]=0;i=d;return}function GB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;a=a+588|0;e=c[a>>2]|0;if((e|0)==0){l=a;c[l>>2]=b;i=d;return}g=e+28|0;h=c[g>>2]|0;f=e+24|0;k=c[f>>2]|0;if((h|0)>0){j=0;do{l=c[k+(j<<2)>>2]|0;if((l|0)!=0){Fe(c[l>>2]|0);Fe(c[l+4>>2]|0);Fe(c[l+8>>2]|0);HW(l);k=c[f>>2]|0;h=c[g>>2]|0}j=j+1|0;}while((j|0)<(h|0))}Fe(k);HW(e);l=a;c[l>>2]=b;i=d;return}function HB(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0;f=i;q=+h[a+16>>3];k=+h[a+40>>3];o=+h[a+24>>3];n=+h[a+32>>3];t=1.0/(q*k-o*n);r=k*t;s=-0.0-o*t;l=-0.0-n*t;m=q*t;g=+h[a+56>>3];p=+h[a+48>>3];k=t*(n*g-k*p);g=t*(o*p-q*g);q=+h[a+624>>3];p=r*q;o=+h[a+632>>3];t=o*l;n=k+(p+t);q=q*s;o=m*o;u=g+(q+o);j=+h[a+648>>3];l=j*l;p=k+(p+l);j=m*j;q=g+(q+j);do{if(p<n){m=n}else{if(p<=n){m=n;p=n;break}m=p;p=n}}while(0);do{if(q<u){n=u}else{if(q<=u){n=u;q=u;break}n=q;q=u}}while(0);u=+h[a+640>>3];r=r*u;t=k+(r+t);s=u*s;o=g+(s+o);do{if(t<p){p=t}else{if(t<=m){break}m=t}}while(0);do{if(o<q){q=o}else{if(o<=n){break}n=o}}while(0);k=k+(r+l);g=g+(s+j);do{if(k<p){p=k}else{if(k<=m){break}m=k}}while(0);do{if(g<q){q=g}else{if(g<=n){break}n=g}}while(0);h[b>>3]=p;h[c>>3]=q;h[d>>3]=m;h[e>>3]=n;i=f;return}function IB(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;h[a+16>>3]=b;h[a+24>>3]=c;h[a+32>>3]=d;h[a+40>>3]=e;h[a+48>>3]=f;h[a+56>>3]=g;i=i;return}function JB(a,b,c,d,e,f,g){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;g=+g;var j=0.0,k=0.0,l=0,m=0.0,n=0.0,o=0,p=0,q=0;q=a+16|0;n=+h[q>>3];p=a+24|0;k=+h[p>>3];o=a+32|0;m=+h[o>>3];l=a+40|0;j=+h[l>>3];h[q>>3]=n*b+m*c;h[p>>3]=k*b+j*c;h[o>>3]=n*d+m*e;h[l>>3]=k*d+j*e;l=a+48|0;h[l>>3]=n*f+m*g+ +h[l>>3];a=a+56|0;h[a>>3]=k*f+j*g+ +h[a>>3];i=i;return}function KB(a,b,c){a=a|0;b=+b;c=+c;var d=0;d=a+48|0;h[d>>3]=+h[d>>3]+b;d=a+56|0;h[d>>3]=+h[d>>3]+c;d=a+624|0;h[d>>3]=+h[d>>3]+b;d=a+632|0;h[d>>3]=+h[d>>3]+c;d=a+640|0;h[d>>3]=+h[d>>3]+b;a=a+648|0;h[a>>3]=+h[a>>3]+c;i=i;return}function LB(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;a=a+116|0;e=c[a>>2]|0;if((e|0)!=0){fd[c[(c[e>>2]|0)+4>>2]&511](e)}c[a>>2]=b;i=d;return}function MB(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;a=a+120|0;e=c[a>>2]|0;if((e|0)!=0){fd[c[(c[e>>2]|0)+4>>2]&511](e)}c[a>>2]=b;i=d;return}function NB(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;a=a+380|0;e=c[a>>2]|0;if((e|0)!=0){fd[c[(c[e>>2]|0)+4>>2]&511](e)}c[a>>2]=b;i=d;return}function OB(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;a=a+384|0;e=c[a>>2]|0;if((e|0)!=0){fd[c[(c[e>>2]|0)+4>>2]&511](e)}c[a>>2]=b;i=d;return}function PB(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;e=i;f=a+484|0;g=c[f>>2]|0;if((g|0)!=0){Yx(g)}c[f>>2]=b;h[a+488>>3]=d;i=e;return}function QB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;f=a+412|0;e=c[f>>2]|0;if((e|0)!=0){fd[c[(c[e>>2]|0)+4>>2]&511](e)}c[f>>2]=c[b>>2];e=a+416|0;f=c[e>>2]|0;if((f|0)!=0){fd[c[(c[f>>2]|0)+4>>2]&511](f)}c[e>>2]=c[b+4>>2];e=a+420|0;f=c[e>>2]|0;if((f|0)!=0){fd[c[(c[f>>2]|0)+4>>2]&511](f)}c[e>>2]=c[b+8>>2];a=a+424|0;e=c[a>>2]|0;if((e|0)==0){e=b+12|0;e=c[e>>2]|0;f=a;c[f>>2]=e;i=d;return}fd[c[(c[e>>2]|0)+4>>2]&511](e);e=b+12|0;e=c[e>>2]|0;f=a;c[f>>2]=e;i=d;return}function RB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,g=0,j=0;f=i;g=a+440|0;j=c[g>>2]|0;if((j|0)!=0){Fe(j)}c[g>>2]=b;c[a+444>>2]=d;h[a+448>>3]=e;i=f;return}function SB(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;e=b+588|0;b=c[e>>2]|0;if((b|0)!=0){g=b+28|0;h=c[g>>2]|0;f=b+24|0;k=c[f>>2]|0;if((h|0)>0){j=0;do{l=c[k+(j<<2)>>2]|0;if((l|0)!=0){Fe(c[l>>2]|0);Fe(c[l+4>>2]|0);Fe(c[l+8>>2]|0);HW(l);k=c[f>>2]|0;h=c[g>>2]|0}j=j+1|0;}while((j|0)<(h|0))}Fe(k);HW(b)}l=FW(40)|0;a[l]=0;c[l+32>>2]=16;c[l+28>>2]=0;bX(l+8|0,0,16)|0;c[l+24>>2]=ye(16,4)|0;c[e>>2]=l;i=d;return}function TB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0.0,w=0.0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;b=i;m=c[a+588>>2]|0;d=c[m+28>>2]|0;if((d|0)>0){e=a+16|0;f=a+32|0;g=a+48|0;j=a+24|0;k=a+40|0;l=a+56|0;m=c[m+24>>2]|0;n=0;y=0.0;A=0.0;z=0.0;B=0.0;do{u=c[m+(n<<2)>>2]|0;p=c[u+12>>2]|0;if((p|0)>0){o=c[u>>2]|0;u=c[u+4>>2]|0;s=+h[e>>3];r=+h[f>>3];t=+h[g>>3];w=+h[j>>3];v=+h[k>>3];q=+h[l>>3];x=0;C=B;while(1){E=+h[o+(x<<3)>>3];B=+h[u+(x<<3)>>3];D=t+(E*s+B*r);B=q+(E*w+B*v);do{if((x|n|0)==0){y=D;A=D;z=B}else{do{if(D<A){A=D}else{if(D<=y){break}y=D}}while(0);if(B<C){break}if(B<=z){B=C;break}z=B;B=C}}while(0);x=x+1|0;if((x|0)<(p|0)){C=B}else{break}}}n=n+1|0;}while((n|0)<(d|0))}else{y=0.0;A=0.0;z=0.0;B=0.0}d=a+624|0;if(A>+h[d>>3]){h[d>>3]=A}d=a+632|0;if(B>+h[d>>3]){h[d>>3]=B}d=a+640|0;if(y<+h[d>>3]){h[d>>3]=y}a=a+648|0;if(z>=+h[a>>3]){i=b;return}h[a>>3]=z;i=b;return}function UB(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0;b=i;m=c[a+588>>2]|0;f=c[m+28>>2]|0;e=a+16|0;d=a+32|0;if((f|0)>0){j=a+48|0;k=a+24|0;g=a+40|0;l=a+56|0;m=c[m+24>>2]|0;n=0;z=0.0;B=0.0;y=0.0;A=0.0;do{w=c[m+(n<<2)>>2]|0;p=c[w+12>>2]|0;if((p|0)>0){o=c[w>>2]|0;w=c[w+4>>2]|0;u=+h[e>>3];t=+h[d>>3];v=+h[j>>3];r=+h[k>>3];q=+h[g>>3];s=+h[l>>3];x=0;C=A;while(1){E=+h[o+(x<<3)>>3];A=+h[w+(x<<3)>>3];D=v+(E*u+A*t);A=s+(E*r+A*q);do{if((x|n|0)==0){z=D;B=D;y=A}else{do{if(D<B){B=D}else{if(D<=z){break}z=D}}while(0);if(A<C){break}if(A<=y){A=C;break}y=A;A=C}}while(0);x=x+1|0;if((x|0)<(p|0)){C=A}else{break}}}n=n+1|0;}while((n|0)<(f|0))}else{g=a+40|0;z=0.0;B=0.0;y=0.0;A=0.0}r=+S(+(+h[e>>3]));q=+S(+(+h[d>>3]));t=+h[a+432>>3]*.5;q=t*(r>q?r:q);s=B-q;q=z+q;u=+S(+(+h[g>>3]));t=t*(r>u?r:u);r=y+t;t=A-t;d=a+624|0;if(s>+h[d>>3]){h[d>>3]=s}d=a+632|0;if(t>+h[d>>3]){h[d>>3]=t}d=a+640|0;if(q<+h[d>>3]){h[d>>3]=q}a=a+648|0;if(r>=+h[a>>3]){i=b;return}h[a>>3]=r;i=b;return}function VB(a,b,c){a=a|0;b=+b;c=+c;var d=0.0,e=0;d=+h[a+504>>3]*b+ +h[a+520>>3]*c;e=a+592|0;h[e>>3]=+h[a+496>>3]*b+ +h[a+512>>3]*c+ +h[e>>3];a=a+600|0;h[a>>3]=+h[a>>3]+d;i=i;return}function WB(a,b,c){a=a|0;b=+b;c=+c;var d=0;d=a+592|0;h[d>>3]=+h[d>>3]+b;a=a+600|0;h[a>>3]=+h[a>>3]+c;i=i;return}function XB(a){a=a|0;var b=0,d=0;d=i;b=FW(664)|0;FB(b,a);c[b+656>>2]=a;i=d;return b|0}function YB(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;e=a+656|0;d=c[e>>2]|0;if((d|0)==0){e=a;i=b;return e|0}f=a+588|0;c[d+588>>2]=c[f>>2];h[d+592>>3]=+h[a+592>>3];h[d+600>>3]=+h[a+600>>3];h[d+608>>3]=+h[a+608>>3];h[d+616>>3]=+h[a+616>>3];c[f>>2]=0;c[e>>2]=0;EB(a);HW(a);e=d;i=b;return e|0}function ZB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;a=i;f=i;i=i+8|0;g=f;j=i;i=i+16|0;h=j;c[j>>2]=13;k=h+8|0;c[k>>2]=0;c[k+4>>2]=0;l=c[b>>2]|0;if((l|0)==4){f=b+8|0;g=0;while(1){b=g+1|0;if((Qc(c[f>>2]|0,c[171536+(g<<3)>>2]|0)|0)==0){break}if((b|0)<17){g=b}else{d=0;e=16;break}}if((e|0)==16){i=a;return d|0}c[d>>2]=c[171540+(g<<3)>>2];n=1;i=a;return n|0}else if((l|0)==6){e=b+8|0;l=0;a:while(1){m=c[e>>2]|0;if((l|0)>=(c[m+12>>2]|0)){e=15;break}ut(m,l,h)|0;if((c[j>>2]|0)==4){m=0}else{e=10;break}while(1){n=m+1|0;if((Qc(c[k>>2]|0,c[171536+(m<<3)>>2]|0)|0)==0){e=13;break a}if((n|0)<17){m=n}else{break}}Of(h);m=c[b>>2]|0;if((m|0)==6){l=l+1|0}else{e=7;break}}if((e|0)==7){c[f>>2]=m;c[g+4>>2]=6;Qe(0,172720,g);tc()}else if((e|0)==10){Of(h);n=0;i=a;return n|0}else if((e|0)==13){Of(h);c[d>>2]=c[171540+(m<<3)>>2];n=1;i=a;return n|0}else if((e|0)==15){c[d>>2]=0;n=1;i=a;return n|0}}else{n=0;i=a;return n|0}return 0}function _B(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;i=i;return}function $B(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;i=i;return}function aC(a){a=a|0;i=i;return 0}function bC(a){a=a|0;i=i;return 0}function cC(a){a=a|0;i=i;return 0}function dC(a){a=a|0;i=i;return 0}function eC(a){a=a|0;i=i;return-1}function fC(a){a=a|0;i=i;return-1}function gC(a){a=a|0;i=i;return 1}function hC(a){a=a|0;i=i;return 2}function iC(a){a=a|0;i=i;return-1}function jC(a){a=a|0;i=i;return-1}function kC(a){a=a|0;i=i;return 3}function lC(a){a=a|0;i=i;return 4}function mC(a){a=a|0;i=i;return 4}function nC(a){a=a|0;i=i;return 10}function oC(a){a=a|0;i=i;return 0}function pC(a){a=a|0;i=i;return 1}function qC(a){a=a|0;i=i;return 1}function rC(a){a=a|0;i=i;return 3}function sC(a){a=a|0;i=i;return 3}function tC(a){a=a|0;i=i;return 5}function uC(a){a=a|0;i=i;return 3}function vC(a){a=a|0;i=i;return 6}function wC(a){a=a|0;i=i;return c[a+4>>2]|0}function xC(a){a=a|0;i=i;return 7}function yC(a){a=a|0;i=i;return-1}function zC(a){a=a|0;i=i;return 1}function AC(a){a=a|0;i=i;return 8}function BC(a){a=a|0;i=i;return 1}function CC(b){b=b|0;i=i;return(a[b+16|0]&1)!=0|0}function DC(a){a=a|0;i=i;return 9}function EC(a){a=a|0;i=i;return c[a+4>>2]|0}function FC(b){b=b|0;i=i;return(a[b+144|0]&1)!=0|0}function GC(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;j=i;i=i+8|0;l=i;i=i+8|0;k=l;q=i;i=i+8|0;p=q;c[a+16>>2]=sE(d)|0;g=a+20|0;c[g>>2]=rE(d)|0;c[a+24>>2]=tE(d)|0;c[a+36>>2]=qE(d)|0;o=pE(d)|0;n=a+28|0;c[n>>2]=o;if((o|0)<0){m=3}else{if((o|0)>=(c[e+16>>2]|0)){m=3}}if((m|0)==3){c[q>>2]=o;Qe(-1,172872,p);c[n>>2]=0;o=0}c[a+32>>2]=c[(kn(e,o)|0)>>2];m=c[g>>2]|0;if((m|0)>536870910){c[l>>2]=m;Qe(-1,172944,k);c[g>>2]=0;m=0}q=a+96|0;c[q>>2]=ze(m,4)|0;m=a+100|0;c[m>>2]=ze(c[g>>2]|0,4)|0;p=a+104|0;c[p>>2]=ze(c[g>>2]|0,4)|0;o=a+108|0;c[o>>2]=ze(c[g>>2]|0,4)|0;n=a+112|0;c[n>>2]=ze(c[g>>2]|0,4)|0;l=a+116|0;c[l>>2]=ze(c[g>>2]|0,4)|0;k=ze(c[g>>2]|0,4)|0;c[a+120>>2]=k;do{if((c[q>>2]|0)!=0){if((c[m>>2]|0)==0){break}if((c[p>>2]|0)==0){break}if((c[o>>2]|0)==0){break}if((c[n>>2]|0)==0){break}m=c[l>>2]|0;if((m|0)==0|(k|0)==0){break}q=c[g>>2]<<2;p=m;bX(p|0,0,q|0)|0;q=a+124|0;bX(q|0,0,24)|0;HC(a,b,d,e,f);i=h;return}}while(0);Qe(-1,172992,j);c[g>>2]=0;q=0;p=c[l>>2]|0;bX(p|0,0,q|0)|0;q=a+124|0;bX(q|0,0,24)|0;HC(a,b,d,e,f);i=h;return}function HC(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;l=i;r=i;i=i+8|0;n=i;i=i+8|0;o=i;i=i+8|0;p=o;t=i;i=i+8|0;u=t;v=i;i=i+8|0;w=v;q=i;i=i+16|0;k=q;j=i;i=i+8|0;m=j;c[b>>2]=lE(e)|0;B=b+4|0;c[B>>2]=mE(e)|0;A=b+8|0;c[A>>2]=nE(e)|0;z=oE(e)|0;x=b+12|0;c[x>>2]=z;c[q>>2]=13;e=k+8|0;c[e>>2]=0;y=e+4|0;c[y>>2]=0;C=c[B>>2]|0;z=z+C|0;if((z|0)==0){s=0}else{if((z|0)<0){wn(0)}s=FW(z)|0;D=s;C=z;while(1){if((D|0)==0){D=0}else{a[D]=0}C=C+ -1|0;if((C|0)==0){break}else{D=D+1|0}}C=c[B>>2]|0}c[e>>2]=0;c[y>>2]=0;c[q>>2]=5;C=Cd[c[(c[d>>2]|0)+96>>2]&63](d,c[b>>2]|0,0,C,k)|0;fd[c[(c[C>>2]|0)+12>>2]&511](C);if((c[B>>2]|0)==0){D=s}else{F=0;E=s;while(1){D=E+1|0;a[E]=jd[c[(c[C>>2]|0)+20>>2]&511](C)|0;F=F+1|0;if(F>>>0<(c[B>>2]|0)>>>0){E=D}else{break}}}if((C|0)!=0){fd[c[(c[C>>2]|0)+4>>2]&511](C)}A=c[A>>2]|0;do{if((A|0)!=0){B=c[x>>2]|0;if((B|0)==0){break}c[e>>2]=0;c[y>>2]=0;c[q>>2]=5;d=Cd[c[(c[d>>2]|0)+96>>2]&63](d,A,0,B,k)|0;fd[c[(c[d>>2]|0)+12>>2]&511](d);if((c[x>>2]|0)!=0){A=0;while(1){a[D]=jd[c[(c[d>>2]|0)+20>>2]&511](d)|0;A=A+1|0;if(A>>>0<(c[x>>2]|0)>>>0){D=D+1|0}else{break}}}if((d|0)==0){break}fd[c[(c[d>>2]|0)+4>>2]&511](d)}}while(0);c[e>>2]=0;c[y>>2]=0;c[q>>2]=5;E=FW(56)|0;Tj(E,s,0,z,k);c[e>>2]=0;c[y>>2]=0;c[q>>2]=5;x=FW(56)|0;F=FW(168)|0;bE(F,f,E);aG(x,f,F,1);do{if((c[(cG(x,k,0,0,0,0,0)|0)>>2]|0)==1){f=c[q>>2]|0;if((f|0)!=1){c[v>>2]=f;c[w+4>>2]=1;Qe(0,173432,w);tc()}v=c[e>>2]|0;Of(k);if((c[(cG(x,k,0,0,0,0,0)|0)>>2]|0)!=1){h=40;break}w=c[q>>2]|0;if((w|0)!=1){c[t>>2]=w;c[u+4>>2]=1;Qe(0,173432,u);tc()}t=c[e>>2]|0;Of(k);u=cG(x,k,0,0,0,0,0)|0;if((c[u>>2]|0)!=10){h=40;break}if((Qc(c[u+8>>2]|0,173040)|0)!=0){h=40;break}Of(k);if((g|0)==0){u=0;w=0;g=0}else{w=jd[c[(c[g>>2]|0)+32>>2]&511](g)|0;u=jd[c[(c[g>>2]|0)+48>>2]&511](g)|0;g=jd[c[(c[g>>2]|0)+36>>2]&511](g)|0}if((c[(cG(x,k,w,u,g,v,t)|0)>>2]|0)!=8){h=40;break}q=c[q>>2]|0;if((q|0)!=8){c[o>>2]=q;c[p+4>>2]=8;Qe(0,173432,p);tc()}o=c[e>>2]|0;F=jd[c[(c[o>>2]|0)+72>>2]&511](o)|0;c[j>>2]=0;F=_u(F,173048,0,m)|0;if(!(F&(c[j>>2]|0)>0)){Qe(-1,173056,n);break}fd[c[(c[o>>2]|0)+12>>2]&511](o);JC(b,o);fd[c[(c[o>>2]|0)+12>>2]&511](o);if((c[j>>2]|0)>0){m=0;do{jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;m=m+1|0;}while((m|0)<(c[j>>2]|0))}KC(b,o)}else{h=40}}while(0);if((h|0)==40){Qe(-1,173096,r)}Of(k);if((x|0)!=0){bG(x);HW(x)}if((s|0)==0){i=l;return}HW(s);i=l;return}function IC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;Fe(c[a+96>>2]|0);Fe(c[a+100>>2]|0);Fe(c[a+104>>2]|0);Fe(c[a+108>>2]|0);Fe(c[a+112>>2]|0);f=a+20|0;g=c[f>>2]|0;if((g|0)>0){d=a+116|0;e=a+120|0;h=0;do{if((c[(c[d>>2]|0)+(h<<2)>>2]|0)!=0){Fe(c[(c[e>>2]|0)+(h<<2)>>2]|0);g=c[f>>2]|0}h=h+1|0;}while((h|0)<(g|0))}else{e=a+120|0;d=a+116|0}Fe(c[e>>2]|0);Fe(c[d>>2]|0);Fe(c[a+128>>2]|0);Fe(c[a+132>>2]|0);Fe(c[a+136>>2]|0);Fe(c[a+140>>2]|0);Fe(c[a+144>>2]|0);i=b;return}function JC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;h=i;i=i+8|0;g=i;i=i+8|0;f=i;i=i+8|0;d=a+20|0;if((c[d>>2]|0)<1){Qe(-1,173136,f);i=e;return}j=a+148|0;c[j>>2]=0;o=a+44|0;c[o>>2]=LC(a,32,b)|0;k=LC(a,32,b)|0;f=a+48|0;c[f>>2]=k;if(k>>>0>=(c[a>>2]|0)>>>0){c[f>>2]=(c[a+4>>2]|0)+k}p=a+52|0;c[p>>2]=LC(a,16,b)|0;m=a+56|0;c[m>>2]=LC(a,32,b)|0;l=a+60|0;c[l>>2]=LC(a,16,b)|0;c[a+64>>2]=LC(a,32,b)|0;c[a+68>>2]=LC(a,16,b)|0;c[a+72>>2]=LC(a,32,b)|0;c[a+76>>2]=LC(a,16,b)|0;k=a+80|0;c[k>>2]=LC(a,16,b)|0;f=a+84|0;c[f>>2]=LC(a,16,b)|0;c[a+88>>2]=LC(a,16,b)|0;c[a+92>>2]=LC(a,16,b)|0;n=a+96|0;if((c[d>>2]|0)>0){q=0;do{r=c[o>>2]|0;r=(LC(a,c[p>>2]|0,b)|0)+r|0;c[(c[n>>2]|0)+(q<<2)>>2]=r;q=q+1|0;}while((q|0)<(c[d>>2]|0))}c[c[n>>2]>>2]=0;o=a+104|0;c[c[o>>2]>>2]=(c[a+16>>2]|0)+20;if((c[d>>2]|0)>1){p=1;do{q=p+ -1|0;r=c[o>>2]|0;c[r+(p<<2)>>2]=((c[(c[n>>2]|0)+(q<<2)>>2]|0)*20|0)+(c[r+(q<<2)>>2]|0);p=p+1|0;}while((p|0)<(c[d>>2]|0))}o=a+100|0;c[c[o>>2]>>2]=1;if((c[d>>2]|0)>1){p=1;do{q=p+ -1|0;r=c[o>>2]|0;c[r+(p<<2)>>2]=(c[(c[n>>2]|0)+(q<<2)>>2]|0)+(c[r+(q<<2)>>2]|0);p=p+1|0;}while((p|0)<(c[d>>2]|0))}c[c[o>>2]>>2]=c[a+28>>2];c[j>>2]=0;if((c[d>>2]|0)>0){o=a+108|0;n=0;do{r=c[m>>2]|0;r=(LC(a,c[l>>2]|0,b)|0)+r|0;c[(c[o>>2]|0)+(n<<2)>>2]=r;n=n+1|0;}while((n|0)<(c[d>>2]|0))}c[j>>2]=0;m=LC(a,c[k>>2]|0,b)|0;l=a+116|0;c[c[l>>2]>>2]=m;c[c[l>>2]>>2]=0;m=a+120|0;c[c[m>>2]>>2]=0;do{if((c[d>>2]|0)>1){n=1;while(1){o=LC(a,c[k>>2]|0,b)|0;c[(c[l>>2]|0)+(n<<2)>>2]=o;o=c[(c[l>>2]|0)+(n<<2)>>2]|0;if(o>>>0>536870910){k=17;break}r=ze(o,4)|0;c[(c[m>>2]|0)+(n<<2)>>2]=r;if((c[(c[l>>2]|0)+(n<<2)>>2]|0)!=0){if((c[(c[m>>2]|0)+(n<<2)>>2]|0)==0){k=20;break}}o=n+1|0;n=c[d>>2]|0;if((o|0)<(n|0)){n=o}else{k=22;break}}if((k|0)==17){Qe(-1,173192,g);c[(c[l>>2]|0)+(n<<2)>>2]=0;i=e;return}else if((k|0)==20){Qe(-1,173232,h);c[(c[l>>2]|0)+(n<<2)>>2]=0;i=e;return}else if((k|0)==22){c[j>>2]=0;if((n|0)<=1){break}h=c[l>>2]|0;g=1;do{if((c[h+(g<<2)>>2]|0)!=0){j=0;do{h=LC(a,c[f>>2]|0,b)|0;c[(c[(c[m>>2]|0)+(g<<2)>>2]|0)+(j<<2)>>2]=h;j=j+1|0;h=c[l>>2]|0;}while(j>>>0<(c[h+(g<<2)>>2]|0)>>>0);n=c[d>>2]|0}g=g+1|0;}while((g|0)<(n|0))}}else{c[j>>2]=0}}while(0);b=a+112|0;c[c[b>>2]>>2]=c[a+32>>2];if((c[d>>2]|0)<=1){i=e;return}a=a+108|0;f=1;do{q=f+ -1|0;r=c[b>>2]|0;c[r+(f<<2)>>2]=(c[(c[a>>2]|0)+(q<<2)>>2]|0)+(c[r+(q<<2)>>2]|0);f=f+1|0;}while((f|0)<(c[d>>2]|0));i=e;return}function KC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=i;u=i;i=i+8|0;g=i;i=i+8|0;h=i;i=i+8|0;m=b+148|0;c[m>>2]=0;j=LC(b,32,d)|0;s=LC(b,32,d)|0;s=(c[b+4>>2]|0)+s|0;k=LC(b,32,d)|0;e=LC(b,32,d)|0;l=LC(b,16,d)|0;p=LC(b,32,d)|0;t=LC(b,16,d)|0;if((e|0)==0|e>>>0>536870910){Qe(-1,173280,h);i=f;return}if((k|0)==0|k>>>0>e>>>0){Qe(-1,173320,g);k=e}r=b+128|0;c[r>>2]=ze(e,4)|0;q=b+132|0;c[q>>2]=ze(e,4)|0;o=b+136|0;c[o>>2]=ze(e,4)|0;h=b+140|0;c[h>>2]=ze(e,4)|0;v=ze(e,4)|0;g=b+144|0;c[g>>2]=v;do{if((c[r>>2]|0)!=0){if((c[q>>2]|0)==0){break}if((c[o>>2]|0)==0){break}if((c[h>>2]|0)==0|(v|0)==0){break}c[m>>2]=0;u=0;do{v=(LC(b,t,d)|0)+p|0;c[(c[r>>2]|0)+(u<<2)>>2]=v;u=u+1|0;}while(u>>>0<e>>>0);c[c[q>>2]>>2]=c[b+48>>2];if(k>>>0>1){p=1;do{u=p+ -1|0;v=c[q>>2]|0;c[v+(p<<2)>>2]=(c[(c[r>>2]|0)+(u<<2)>>2]|0)+(c[v+(u<<2)>>2]|0);p=p+1|0;}while(p>>>0<k>>>0)}p=e>>>0>k>>>0;do{if(p){c[(c[q>>2]|0)+(k<<2)>>2]=s;s=k+1|0;if(s>>>0<e>>>0){u=k}else{break}while(1){t=c[q>>2]|0;c[t+(s<<2)>>2]=(c[(c[r>>2]|0)+(u<<2)>>2]|0)+(c[t+(u<<2)>>2]|0);t=s+1|0;if(t>>>0<e>>>0){u=s;s=t}else{break}}}}while(0);c[m>>2]=0;q=b+152|0;t=0;r=0;while(1){do{if((t|0)==0){s=jd[c[(c[d>>2]|0)+20>>2]&511](d)|0;if((s|0)==-1){s=-1;break}s=s&255;a[q]=s;c[m>>2]=8;t=7;n=22}else{s=a[q]|0;t=t+ -1|0;n=22}}while(0);if((n|0)==22){n=0;c[m>>2]=t;s=s<<24>>24>>>t&1}c[(c[o>>2]|0)+(r<<2)>>2]=s;r=r+1|0;if(r>>>0>=e>>>0){break}t=c[m>>2]|0}c[m>>2]=0;n=0;do{if((c[(c[o>>2]|0)+(n<<2)>>2]|0)!=0){LC(b,128,d)|0}n=n+1|0;}while(n>>>0<e>>>0);c[m>>2]=0;if((l|0)==0){d=0;do{c[(c[h>>2]|0)+(d<<2)>>2]=1;d=d+1|0;}while(d>>>0<e>>>0)}else{m=0;do{v=(LC(b,l,d)|0)+1|0;c[(c[h>>2]|0)+(m<<2)>>2]=v;m=m+1|0;}while(m>>>0<e>>>0)}if((k|0)!=0){d=0;do{c[(c[h>>2]|0)+(d<<2)>>2]=0;c[(c[g>>2]|0)+(d<<2)>>2]=0;d=d+1|0;}while(d>>>0<k>>>0)}if(!p){i=f;return}c[(c[g>>2]|0)+(k<<2)>>2]=(c[b+16>>2]|0)+(j*20|0);b=k+1|0;if(b>>>0>=e>>>0){i=f;return}while(1){j=c[g>>2]|0;c[j+(b<<2)>>2]=((c[(c[h>>2]|0)+(k<<2)>>2]|0)*20|0)+(c[j+(k<<2)>>2]|0);j=b+1|0;if(j>>>0<e>>>0){k=b;b=j}else{break}}i=f;return}}while(0);Qe(-1,173376,u);i=f;return}function LC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;if((d|0)<0){l=-1;i=f;return l|0}if((d|0)==0){l=0;i=f;return l|0}h=(d|0)==1;j=b+148|0;l=c[j>>2]|0;do{if((l|0)==0){k=jd[c[(c[e>>2]|0)+20>>2]&511](e)|0;if((k|0)==-1){j=-1;break}k=k&255;a[b+152|0]=k;c[j>>2]=8;l=7;g=7}else{k=a[b+152|0]|0;l=l+ -1|0;g=7}}while(0);if((g|0)==7){c[j>>2]=l;j=k<<24>>24>>>l&1}if(h){l=j;i=f;return l|0}g=d+ -1|0;d=j<<g;if((d|0)==-1){l=-1;i=f;return l|0}else{l=LC(b,g,e)|0|d;i=f;return l|0}return 0}function MC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;if((b|0)<1){f=0;i=d;return f|0}if((c[a+20>>2]|0)<(b|0)){f=0;i=d;return f|0}f=b+ -1|0;e=c[a+24>>2]|0;if((f|0)>(e|0)){f=c[(c[a+100>>2]|0)+(f<<2)>>2]|0;i=d;return f|0}a=c[a+100>>2]|0;if((e|0)<(b|0)){f=c[a>>2]|0;i=d;return f|0}else{f=c[a+(b<<2)>>2]|0;i=d;return f|0}return 0}function NC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;k=d+8|0;if((c[k>>2]|0)==-1){q=0;i=e;return q|0}g=a+8|0;f=a+4|0;j=d;l=0;o=0;p=0;while(1){m=d+(l<<4)+4|0;if(o>>>0<(c[m>>2]|0)>>>0){n=c[g>>2]|0;do{if((n|0)==0){q=c[a>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;c[f>>2]=q;c[g>>2]=8;n=7}else{q=c[f>>2]|0;n=n+ -1|0}c[g>>2]=n;p=q>>>n&1|p<<1;o=o+1|0;}while(o>>>0<(c[m>>2]|0)>>>0)}m=l+1|0;if((p|0)==(c[d+(l<<4)+12>>2]|0)){break}k=d+(m<<4)+8|0;if((c[k>>2]|0)==-1){b=0;h=29;break}else{j=d+(m<<4)|0;l=m}}if((h|0)==29){i=e;return b|0}d=c[k>>2]|0;if((d|0)==-3){h=c[j>>2]|0;j=c[g>>2]|0;d=c[f>>2]|0;do{if(j>>>0<32){d=(1<<j)+ -1&d;j=32-j|0;c[g>>2]=0;if(j>>>0>7){while(1){q=c[a>>2]|0;d=(jd[c[(c[q>>2]|0)+20>>2]&511](q)|0)&255|d<<8;j=j+ -8|0;if(j>>>0>7){}else{break}}}if((j|0)==0){break}p=c[a>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;c[f>>2]=p;q=8-j|0;c[g>>2]=q;d=p>>>q&(1<<j)+ -1|d<<j}else{q=j+ -32|0;c[g>>2]=q;d=d>>>q}}while(0);c[b>>2]=h-d;q=1;i=e;return q|0}else if((d|0)==-2){q=0;i=e;return q|0}else{h=c[j>>2]|0;if((d|0)==32){l=-1}else if((d|0)==0){c[b>>2]=h;q=1;i=e;return q|0}else{l=(1<<d)+ -1|0}k=c[g>>2]|0;j=c[f>>2]|0;do{if(k>>>0<d>>>0){j=(1<<k)+ -1&j;d=d-k|0;c[g>>2]=0;if(d>>>0>7){while(1){q=c[a>>2]|0;j=(jd[c[(c[q>>2]|0)+20>>2]&511](q)|0)&255|j<<8;d=d+ -8|0;if(d>>>0>7){}else{break}}}if((d|0)==0){break}p=c[a>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;c[f>>2]=p;q=8-d|0;c[g>>2]=q;j=p>>>q&(1<<d)+ -1|j<<d}else{q=k-d|0;c[g>>2]=q;j=j>>>q&l}}while(0);c[b>>2]=j+h;q=1;i=e;return q|0}return 0}function OC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;a=i;e=i;i=i+16|0;a:do{if((d|0)==0){f=0}else{f=0;do{h=f;while(1){g=h+1|0;if((c[b+(h<<4)+4>>2]|0)!=0){break}if(g>>>0<d>>>0){h=g}else{h=g;break}}if((h|0)==(d|0)){break a}else{g=h}b:while(1){do{h=h+1|0;if(h>>>0>=d>>>0){break b}j=c[b+(h<<4)+4>>2]|0;}while((j|0)==0);g=j>>>0<(c[b+(g<<4)+4>>2]|0)>>>0?h:g}if((g|0)!=(f|0)){$W(e|0,b+(g<<4)|0,16)|0;if(g>>>0>f>>>0){while(1){h=g+ -1|0;$W(b+(g<<4)|0,b+(h<<4)|0,16)|0;if(h>>>0>f>>>0){g=h}else{break}}}$W(b+(f<<4)|0,e|0,16)|0}f=f+1|0;}while(f>>>0<d>>>0)}}while(0);$W(b+(f<<4)|0,b+(d<<4)|0,16)|0;if((c[b+8>>2]|0)==-1){i=a;return}c[b+12>>2]=0;if((c[b+24>>2]|0)==-1){i=a;return}g=c[b+4>>2]|0;f=1;e=1;while(1){d=c[b+(f<<4)+4>>2]|0;e=e<<d-g;c[b+(f<<4)+12>>2]=e;f=f+1|0;if((c[b+(f<<4)+8>>2]|0)==-1){break}else{e=e+1|0;g=d}}i=a;return}function PC(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;f=i;i=i+8|0;e=a+8|0;j=c[e>>2]|0;do{if((j|0)==0){h=c[a>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;c[a+4>>2]=h&255;c[e>>2]=8;j=a+12|0;c[j>>2]=(c[j>>2]|0)+1;j=8;h=173504+((h>>>1&127)<<2)|0}else{k=a+4|0;g=c[k>>2]|0;if((j|0)==8){j=8;h=173504+((g>>>1&127)<<2)|0;break}h=173504+((g<<7-j&127)<<2)|0;l=b[h>>1]|0;if(!(l<<16>>16<0|(l<<16>>16|0)>(j|0))){break}l=c[a>>2]|0;l=(jd[c[(c[l>>2]|0)+20>>2]&511](l)|0)&255|g<<8;c[k>>2]=l;h=c[e>>2]|0;j=h+8|0;c[e>>2]=j;k=a+12|0;c[k>>2]=(c[k>>2]|0)+1;h=173504+((l>>>(h+1|0)&127)<<2)|0}}while(0);g=b[h>>1]|0;if(g<<16>>16<0){l=c[a>>2]|0;Qe(jd[c[(c[l>>2]|0)+48>>2]&511](l)|0,174016,f);l=-1;i=d;return l|0}else{c[e>>2]=j-(g<<16>>16);l=b[h+2>>1]|0;i=d;return l|0}return 0}function QC(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;e=i;i=i+8|0;g=a+8|0;h=c[g>>2]|0;if((h|0)==0){h=c[a>>2]|0;c[a+4>>2]=(jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)&255;c[g>>2]=8;h=a+12|0;c[h>>2]=(c[h>>2]|0)+1;h=8}while(1){j=c[a+4>>2]|0;do{if(h>>>0>10){if((j&127<<h+ -7|0)!=0){f=9;break}if(h>>>0<13){k=j<<12-h}else{k=j>>>(h+ -12|0)}k=174056+((k&31)<<2)|0}else{f=9}}while(0);if((f|0)==9){f=0;if(h>>>0<10){k=j<<9-h}else{k=j>>>(h+ -9|0)}k=174184+((k&511)<<2)|0}m=b[k>>1]|0;l=m<<16>>16;if(!(m<<16>>16<1|(l|0)>(h|0))){f=14;break}if(h>>>0>11){f=17;break}h=c[a>>2]|0;c[a+4>>2]=(jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)&255|j<<8;h=(c[g>>2]|0)+8|0;c[g>>2]=h;m=a+12|0;c[m>>2]=(c[m>>2]|0)+1}if((f|0)==14){c[g>>2]=h-l;m=b[k+2>>1]|0;i=d;return m|0}else if((f|0)==17){m=c[a>>2]|0;Qe(jd[c[(c[m>>2]|0)+48>>2]&511](m)|0,176232,e);c[g>>2]=(c[g>>2]|0)+ -1;m=1;i=d;return m|0}return 0}function RC(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;e=i;i=i+8|0;g=a+8|0;h=c[g>>2]|0;if((h|0)==0){h=c[a>>2]|0;c[a+4>>2]=(jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)&255;c[g>>2]=8;h=a+12|0;c[h>>2]=(c[h>>2]|0)+1;h=8}while(1){j=c[a+4>>2]|0;do{if(h>>>0>9){if((j&63<<h+ -6|0)!=0){f=9;break}if(h>>>0<14){k=j<<13-h}else{k=j>>>(h+ -13|0)}k=176272+((k&127)<<2)|0}else{f=9}}while(0);a:do{if((f|0)==9){f=0;do{if(h>>>0>6){do{if((15<<h+ -4&j|0)==0){if((3<<h+ -6&j|0)==0){break}if(h>>>0<13){k=j<<12-h}else{k=j>>>(h+ -12|0)}k=176784+((k&255)+ -64<<2)|0;break a}}while(0);if(h>>>0<7){f=17;break}k=j>>>(h+ -6|0)}else{f=17}}while(0);if((f|0)==17){f=0;k=j<<6-h}k=177552+((k&63)<<2)|0}}while(0);m=b[k>>1]|0;l=m<<16>>16;if(!(m<<16>>16<1|(l|0)>(h|0))){f=21;break}if(h>>>0>12){f=24;break}h=c[a>>2]|0;c[a+4>>2]=(jd[c[(c[h>>2]|0)+20>>2]&511](h)|0)&255|j<<8;h=(c[g>>2]|0)+8|0;c[g>>2]=h;m=a+12|0;c[m>>2]=(c[m>>2]|0)+1}if((f|0)==21){c[g>>2]=h-l;m=b[k+2>>1]|0;i=d;return m|0}else if((f|0)==24){m=c[a>>2]|0;Qe(jd[c[(c[m>>2]|0)+48>>2]&511](m)|0,177808,e);c[g>>2]=(c[g>>2]|0)+ -1;m=1;i=d;return m|0}return 0}function SC(a){a=a|0;var b=0;b=i;c[a>>2]=177856;Fe(c[a+20>>2]|0);HW(a);i=b;return}function TC(a){a=a|0;var b=0;b=i;c[a>>2]=177856;Fe(c[a+20>>2]|0);i=b;return}function UC(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=i;p=i;i=i+8|0;l=FW(24)|0;c[l+4>>2]=0;c[l>>2]=177856;c[l+8>>2]=g;n=l+12|0;c[n>>2]=h;m=g+7>>3;k=l+16|0;c[k>>2]=m;do{if((g|0)<1){o=16}else{if((h|0)<1|(m|0)<1){o=16;break}if((2147483646/(m|0)|0|0)<=(h|0)){o=16;break}m=we((da(m,h)|0)+1|0)|0;p=l+20|0;c[p>>2]=m;a[m+(da(c[k>>2]|0,c[n>>2]|0)|0)|0]=0;p=c[p>>2]|0;m=l+20|0;if((p|0)==0){break}bX(p|0,0,da(c[k>>2]|0,c[n>>2]|0)|0)|0;if((h|0)==0){u=l;i=j;return u|0}o=(g|0)==0;n=b+8|0;q=b+12|0;p=b+16|0;b=b+20|0;r=0;do{do{if(!o){u=r+f|0;if((u|0)<0){break}else{s=0}do{t=s+e|0;do{if((t|0)>=0){if((c[n>>2]|0)<=(t|0)){break}if((c[q>>2]|0)<=(u|0)){break}v=(da(c[p>>2]|0,u)|0)+(t>>3)|0;if(((d[(c[b>>2]|0)+v|0]|0)&1<<(t&7^7)|0)==0){break}v=(da(c[k>>2]|0,r)|0)+(s>>3)|0;v=(c[m>>2]|0)+v|0;a[v]=d[v]|0|1<<(s&7^7)}}while(0);s=s+1|0;}while(s>>>0<g>>>0)}}while(0);r=r+1|0;}while(r>>>0<h>>>0);i=j;return l|0}}while(0);do{if((o|0)==16){Qe(-1,177872,p);c[l+20>>2]=0;if((l|0)==0){l=0}else{break}i=j;return l|0}}while(0);fd[c[(c[l>>2]|0)+4>>2]&511](l);v=0;i=j;return v|0}function VC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;k=i;i=i+8|0;g=b+12|0;do{if((c[g>>2]|0)<(d|0)){h=b+16|0;j=c[h>>2]|0;if((j|0)<1){break}if((2147483646/(j|0)|0|0)<=(d|0)){break}k=b+20|0;b=xe(c[k>>2]|0,(da(j,d)|0)+1|0)|0;c[k>>2]=b;l=c[g>>2]|0;j=c[h>>2]|0;b=b+(da(j,l)|0)|0;j=da(d-l|0,j)|0;if((e|0)==0){bX(b|0,0,j|0)|0}else{bX(b|0,-1,j|0)|0}c[g>>2]=d;l=da(c[h>>2]|0,d)|0;a[(c[k>>2]|0)+l|0]=0;i=f;return}}while(0);Qe(-1,177872,k);l=b+20|0;Fe(c[l>>2]|0);c[l>>2]=0;i=f;return}function WC(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;j=i;if((g|0)==-2147483648){i=j;return}z=(g|0)<0?0-g|0:0;l=c[e+12>>2]|0;k=c[b+12>>2]|0;m=(l+g|0)>(k|0)?k-g|0:l;if((z|0)>=(m|0)){i=j;return}l=(f|0)>-1;k=l?f&-8:0;o=(c[e+8>>2]|0)+f|0;n=c[b+8>>2]|0;y=(o|0)>(n|0)?n:o;if((k|0)>=(y|0)){i=j;return}o=f&7;p=y&7;n=255>>>p;p=(p|0)==0?255:255<<8-p;s=p&255>>>o;r=(k|0)==(y+ -1&-8|0);q=b+20|0;u=b+16|0;b=f>>3;t=e+20|0;e=e+16|0;v=s^255;f=0-f>>3;x=k+8|0;w=255<<8-o;y=y+ -8|0;do{D=c[q>>2]|0;B=da(c[u>>2]|0,z+g|0)|0;A=D+B|0;do{if(r){if(l){A=D+(B+b)|0;B=(c[t>>2]|0)+(da(c[e>>2]|0,z)|0)|0;D=a[A]|0;C=D&255;B=d[B]|0;switch(h|0){case 4:{D=(B>>>o&s|C&v)&255;break};case 2:{D=(B>>>o&p^C)&255;break};case 3:{D=((B^255)>>>o&p^C)&255;break};case 0:{D=(B>>>o&p|C)&255;break};case 1:{D=((B|65280)>>>o|n)&C&255;break};default:{}}a[A]=D;break}else{D=(c[t>>2]|0)+((da(c[e>>2]|0,z)|0)+f)|0;C=a[A]|0;B=C&255;D=d[D]|0;switch(h|0){case 0:{C=(D&p|B)&255;break};case 2:{C=(D&p^B)&255;break};case 3:{C=((D^255)&p^B)&255;break};case 1:{C=(D|n)&B&255;break};case 4:{C=(D&p|B&n)&255;break};default:{}}a[A]=C;break}}else{if(l){A=B+b|0;F=D+A|0;C=c[t>>2]|0;B=da(c[e>>2]|0,z)|0;E=d[C+B|0]|0;G=a[F]|0;H=G&255;switch(h|0){case 4:{G=(H&w|E>>>o)&255;break};case 1:{G=(E|65280)>>>o&H&255;break};case 2:{G=(H^E>>>o)&255;break};case 0:{G=(H|E>>>o)&255;break};case 3:{G=((E^255)>>>o^H)&255;break};default:{}}a[F]=G;A=D+(A+1)|0;D=E;E=C+(B+1)|0;B=x}else{B=c[t>>2]|0;E=(da(c[e>>2]|0,z)|0)+f|0;D=d[B+E|0]|0;E=B+(E+1)|0;B=k}G=a[A]|0;C=G&255;F=E+1|0;E=d[E]|0;D=(E|D<<8)>>>o;if((B|0)<(y|0)){if((h|0)==1){H=A;while(1){A=H+1|0;a[H]=D&C;B=B+8|0;H=a[A]|0;C=H&255;G=d[F]|0;D=(G|E<<8)>>>o;if((B|0)<(y|0)){H=A;F=F+1|0;E=G}else{B=H;break}}}else if((h|0)==0){H=A;while(1){A=H+1|0;a[H]=D|C;B=B+8|0;H=a[A]|0;C=H&255;G=d[F]|0;D=(G|E<<8)>>>o;if((B|0)<(y|0)){H=A;F=F+1|0;E=G}else{B=H;break}}}else{H=A;while(1){if((h|0)==4){G=D&255}else if((h|0)==3){G=(C^255^D)&255}else if((h|0)==2){G=(D^C)&255}A=H+1|0;a[H]=G;B=B+8|0;G=a[A]|0;C=G&255;H=d[F]|0;D=(H|E<<8)>>>o;if((B|0)<(y|0)){E=H;F=F+1|0;H=A}else{B=G;break}}}}else{B=G}switch(h|0){case 0:{B=(D&p|C)&255;break};case 1:{B=(D|n)&C&255;break};case 4:{B=(D&p|C&n)&255;break};case 3:{B=((D^255)&p^C)&255;break};case 2:{B=(D&p^C)&255;break};default:{}}a[A]=B}}while(0);z=z+1|0;}while((z|0)<(m|0));i=j;return}function XC(a){a=a|0;var b=0;b=i;YC(a);HW(a);i=b;return}function YC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;c[a>>2]=177904;e=a+8|0;f=c[e>>2]|0;d=a+12|0;h=c[d>>2]|0;if((f|0)!=0){g=0;do{j=c[h+(g<<2)>>2]|0;if((j|0)!=0){fd[c[(c[j>>2]|0)+4>>2]&511](j);h=c[d>>2]|0;f=c[e>>2]|0}g=g+1|0;}while(g>>>0<f>>>0)}Fe(h);d=c[a+16>>2]|0;if((d|0)!=0){yI(d);HW(d)}a=c[a+20>>2]|0;if((a|0)==0){i=b;return}yI(a);HW(a);i=b;return}function ZC(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;c[a>>2]=177928;e=a+8|0;f=c[e>>2]|0;d=a+12|0;h=c[d>>2]|0;if((f|0)==0){j=h;Fe(j);HW(a);i=b;return}else{g=0}do{j=c[h+(g<<2)>>2]|0;if((j|0)!=0){fd[c[(c[j>>2]|0)+4>>2]&511](j);h=c[d>>2]|0;f=c[e>>2]|0}g=g+1|0;}while(g>>>0<f>>>0);Fe(h);HW(a);i=b;return}function _C(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;c[a>>2]=177928;d=a+8|0;e=c[d>>2]|0;a=a+12|0;g=c[a>>2]|0;if((e|0)==0){h=g;Fe(h);i=b;return}else{f=0}do{h=c[g+(f<<2)>>2]|0;if((h|0)!=0){fd[c[(c[h>>2]|0)+4>>2]&511](h);g=c[a>>2]|0;e=c[d>>2]|0}f=f+1|0;}while(f>>>0<e>>>0);Fe(g);i=b;return}function $C(a){a=a|0;var b=0;b=i;c[a>>2]=177952;Fe(c[a+8>>2]|0);HW(a);i=b;return}function aD(a){a=a|0;var b=0;b=i;c[a>>2]=177952;Fe(c[a+8>>2]|0);i=b;return}function bD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;uj(a,b);c[a>>2]=177976;b=a+16|0;c[b>>2]=13;f=a+24|0;c[f>>2]=0;c[f+4>>2]=0;c[a+48>>2]=0;f=FW(36)|0;CI(f);c[a+76>>2]=f;f=FW(8)|0;wI(f,2);c[a+80>>2]=f;f=FW(8)|0;wI(f,2);c[a+84>>2]=f;f=FW(8)|0;wI(f,512);c[a+88>>2]=f;f=FW(8)|0;wI(f,512);c[a+92>>2]=f;f=FW(8)|0;wI(f,512);c[a+96>>2]=f;f=FW(8)|0;wI(f,512);c[a+100>>2]=f;f=FW(8)|0;wI(f,512);c[a+104>>2]=f;f=FW(8)|0;wI(f,512);c[a+108>>2]=f;f=FW(8)|0;wI(f,512);c[a+112>>2]=f;f=FW(8)|0;wI(f,512);c[a+116>>2]=f;f=FW(8)|0;wI(f,512);c[a+120>>2]=f;f=FW(8)|0;wI(f,512);c[a+124>>2]=f;f=FW(8)|0;wI(f,512);c[a+128>>2]=f;f=FW(8)|0;wI(f,512);c[a+132>>2]=f;f=FW(8)|0;wI(f,512);c[a+136>>2]=f;f=FW(8)|0;wI(f,2);c[a+140>>2]=f;f=FW(12)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[a+144>>2]=f;f=FW(16)|0;bX(f|0,0,16)|0;c[a+148>>2]=f;Mf(d,b)|0;bX(a+56|0,0,20)|0;i=e;return}function cD(a){a=a|0;var b=0;b=i;dD(a);HW(a);i=b;return}function dD(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=177976;gD(a);Of(a+16|0);d=c[a+76>>2]|0;if((d|0)!=0){DI(d);HW(d)}d=c[a+80>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+84>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+88>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+92>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+96>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+100>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+104>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+108>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+112>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+116>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+120>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+124>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+128>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+132>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+136>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+140>>2]|0;if((d|0)!=0){yI(d);HW(d)}d=c[a+144>>2]|0;if((d|0)!=0){HW(d)}d=c[a+148>>2]|0;if((d|0)!=0){HW(d)}a=c[a+8>>2]|0;if((a|0)==0){i=b;return}fd[c[(c[a>>2]|0)+4>>2]&511](a);i=b;return}function eD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;f=FW(16)|0;wo(f);c[b+60>>2]=f;e=b+56|0;if((c[b+16>>2]|0)==8){c[e>>2]=f;j=c[b+24>>2]|0;g=b+64|0;c[g>>2]=j;fd[c[(c[j>>2]|0)+12>>2]&511](j);j=b+76|0;h=c[j>>2]|0;c[h+24>>2]=c[g>>2];c[h+28>>2]=0;a[h+32|0]=0;h=b+144|0;c[c[h>>2]>>2]=c[g>>2];f=b+148|0;c[c[f>>2]>>2]=c[g>>2];fD(b);k=c[g>>2]|0;fd[c[(c[k>>2]|0)+16>>2]&511](k)}else{g=b+64|0;j=b+76|0;h=b+144|0;f=b+148|0}k=FW(16)|0;wo(k);c[e>>2]=k;e=c[b+8>>2]|0;c[g>>2]=e;fd[c[(c[e>>2]|0)+12>>2]&511](e);e=c[j>>2]|0;c[e+24>>2]=c[g>>2];c[e+28>>2]=0;a[e+32|0]=0;c[c[h>>2]>>2]=c[g>>2];c[c[f>>2]>>2]=c[g>>2];fD(b);e=c[b+48>>2]|0;if((e|0)==0){c[b+72>>2]=0;c[b+68>>2]=0;i=d;return}else{k=c[e+20>>2]|0;c[b+68>>2]=k;c[b+72>>2]=k+(da(c[e+16>>2]|0,c[e+12>>2]|0)|0);i=d;return}}function fD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;l=i;k=i;i=i+8|0;h=i;i=i+8|0;g=i;i=i+8|0;f=g;e=i;i=i+8|0;d=i;i=i+8|0;j=a+64|0;o=c[j>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==-1){i=l;return}b=a+48|0;a:while(1){n=c[j>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){n=78;break}m=c[j>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){n=78;break}p=c[j>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){n=78;break}n=n<<16|o<<24|m<<8|p;p=c[j>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){n=77;break}o=p&63;m=c[j>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){n=77;break}q=m>>>5;do{if((q|0)==7){r=c[j>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){n=77;break a}s=c[j>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){n=77;break a}q=c[j>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){n=77;break a}q=(r<<16|m<<24|s<<8|q)&536870911;m=(q+9|0)>>>3;if((m|0)==0){break}else{r=0}while(1){v=c[j>>2]|0;jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;r=r+1|0;if(r>>>0<m>>>0){}else{break}}}}while(0);m=ye(q,4)|0;b:do{if(n>>>0<257){if((q|0)==0){break}else{r=0}do{s=c[j>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){n=76;break a}c[m+(r<<2)>>2]=s;r=r+1|0;}while(r>>>0<q>>>0)}else{r=(q|0)==0;if(n>>>0<65537){if(r){break}else{r=0}while(1){s=c[j>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){n=76;break a}t=c[j>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){n=76;break a}c[m+(r<<2)>>2]=t|s<<8;r=r+1|0;if(r>>>0>=q>>>0){break b}}}if(r){break}else{r=0}do{v=c[j>>2]|0;v=jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;if((v|0)==-1){n=76;break a}u=c[j>>2]|0;u=jd[c[(c[u>>2]|0)+20>>2]&511](u)|0;if((u|0)==-1){n=76;break a}s=c[j>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){n=76;break a}t=c[j>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){n=76;break a}c[m+(r<<2)>>2]=u<<16|v<<24|s<<8|t;r=r+1|0;}while(r>>>0<q>>>0)}}while(0);r=c[j>>2]|0;r=(jd[c[(c[r>>2]|0)+20>>2]&511](r)|0)==-1;if((p&64|0)==0){if(r){n=76;break}}else{if(r){n=76;break}v=c[j>>2]|0;if((jd[c[(c[v>>2]|0)+20>>2]&511](v)|0)==-1){n=76;break}v=c[j>>2]|0;if((jd[c[(c[v>>2]|0)+20>>2]&511](v)|0)==-1){n=76;break}v=c[j>>2]|0;if((jd[c[(c[v>>2]|0)+20>>2]&511](v)|0)==-1){n=76;break}}p=c[j>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){n=76;break}r=c[j>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){n=76;break}s=c[j>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){n=76;break}t=c[j>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){n=76;break}r=r<<16|p<<24|s<<8|t;p=c[j>>2]|0;p=jd[c[(c[p>>2]|0)+48>>2]&511](p)|0;if((c[b>>2]|0)==0){if((o+ -4|0)>>>0<4|(o+ -20|0)>>>0<24){n=41;break}}c:do{switch(o|0){case 20:{pD(a,n,0,0,0,m,q);n=68;break};case 36:{qD(a,n,0,0,r);n=68;break};case 38:{qD(a,n,1,0,r);n=68;break};case 48:{sD(a,0);n=68;break};case 50:{if((r|0)==0){n=69;break c}else{n=0}while(1){v=c[j>>2]|0;jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;n=n+1|0;if(n>>>0<r>>>0){}else{n=68;break}}break};case 40:{rD(a,n,0,0,0,m,q);n=68;break};case 42:{rD(a,n,1,0,0,m,q);n=68;break};case 22:{pD(a,n,1,0,0,m,q);n=68;break};case 6:{nD(a,n,1,0,0,m,q);n=68;break};case 7:{nD(a,n,1,0,0,m,q);n=68;break};case 0:{if(mD(a,n,0,m,q)|0){n=68}else{n=75;break a}break};case 39:{qD(a,n,1,0,r);n=68;break};case 52:{if((r|0)==0){n=69;break c}else{n=0}while(1){v=c[j>>2]|0;jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;n=n+1|0;if(n>>>0<r>>>0){}else{n=68;break}}break};case 23:{pD(a,n,1,0,0,m,q);n=68;break};case 53:{tD(a,n,0);n=68;break};case 62:{if((r|0)==0){n=69;break c}else{n=0}while(1){v=c[j>>2]|0;jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;n=n+1|0;if(n>>>0<r>>>0){}else{n=68;break}}break};case 16:{oD(a,n,r);n=68;break};case 43:{rD(a,n,1,0,0,m,q);n=68;break};case 4:{nD(a,n,0,0,0,m,q);n=68;break};default:{v=c[j>>2]|0;Qe(jd[c[(c[v>>2]|0)+48>>2]&511](v)|0,178152,e);if((r|0)==0){n=69;break c}else{n=0}while(1){v=c[j>>2]|0;n=n+1|0;if((jd[c[(c[v>>2]|0)+20>>2]&511](v)|0)==-1){n=76;break a}if(n>>>0<r>>>0){}else{n=68;break}}}}}while(0);if((n|0)==68){n=0;if((r|0)!=-1){n=69}}do{if((n|0)==69){o=c[j>>2]|0;o=p+r-(jd[c[(c[o>>2]|0)+48>>2]&511](o)|0)|0;if((o|0)>0){n=c[j>>2]|0;n=jd[c[(c[n>>2]|0)+48>>2]&511](n)|0;c[g>>2]=o;c[f+4>>2]=(o|0)>1?178232:178240;Qe(n,178192,f);do{v=c[j>>2]|0;jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;o=o+ -1|0;}while((o|0)>0)}else{if((o|0)>=0){break}v=c[j>>2]|0;Qe(jd[c[(c[v>>2]|0)+48>>2]&511](v)|0,178248,h);break}}}while(0);Fe(m);o=c[j>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==-1){n=78;break}}if((n|0)==41){v=c[j>>2]|0;Qe(jd[c[(c[v>>2]|0)+48>>2]&511](v)|0,178072,d);n=75}else if((n|0)==76){Fe(m);n=77}else if((n|0)==78){i=l;return}if((n|0)==75){Fe(m);i=l;return}else if((n|0)==77){v=c[j>>2]|0;Qe(jd[c[(c[v>>2]|0)+48>>2]&511](v)|0,178296,k);i=l;return}}function gD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;e=a+48|0;d=c[e>>2]|0;if((d|0)!=0){fd[c[(c[d>>2]|0)+4>>2]&511](d);c[e>>2]=0}d=a+56|0;f=c[d>>2]|0;if((f|0)!=0){e=f+8|0;h=c[e>>2]|0;if((h|0)>0){g=0;do{j=c[(c[f>>2]|0)+(g<<2)>>2]|0;if((j|0)!=0){fd[c[(c[j>>2]|0)+4>>2]&511](j);h=c[e>>2]|0}g=g+1|0;}while((g|0)<(h|0))}xo(f);HW(f);c[d>>2]=0}e=a+60|0;d=c[e>>2]|0;if((d|0)==0){j=a+72|0;c[j>>2]=0;j=a+68|0;c[j>>2]=0;wj(a);i=b;return}f=d+8|0;h=c[f>>2]|0;if((h|0)>0){g=0;do{j=c[(c[d>>2]|0)+(g<<2)>>2]|0;if((j|0)!=0){fd[c[(c[j>>2]|0)+4>>2]&511](j);h=c[f>>2]|0}g=g+1|0;}while((g|0)<(h|0))}xo(d);HW(d);c[e>>2]=0;j=a+72|0;c[j>>2]=0;j=a+68|0;c[j>>2]=0;wj(a);i=b;return}function hD(a){a=a|0;var b=0,e=0,f=0;b=i;f=a+68|0;e=c[f>>2]|0;if((e|0)==0){f=-1;i=b;return f|0}if(e>>>0>=(c[a+72>>2]|0)>>>0){f=-1;i=b;return f|0}c[f>>2]=e+1;f=(d[e]|0)^255;i=b;return f|0}function iD(a){a=a|0;var b=0,e=0;b=i;e=c[a+68>>2]|0;if((e|0)==0){e=-1;i=b;return e|0}if(e>>>0>=(c[a+72>>2]|0)>>>0){e=-1;i=b;return e|0}e=(d[e]|0)^255;i=b;return e|0}function jD(a){a=a|0;var b=0,d=0;b=i;d=c[a+48>>2]|0;if((d|0)==0){d=0;i=b;return d|0}d=(c[a+68>>2]|0)-(c[d+20>>2]|0)|0;i=b;return d|0}function kD(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return 0}function lD(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[a+8>>2]|0;b=Bd[c[(c[b>>2]|0)+60>>2]&255](b,1)|0;i=d;return b|0}function mD(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0;e=i;S=i;i=i+8|0;Y=i;i=i+8|0;l=i;i=i+8|0;p=i;i=i+8|0;o=i;i=i+8|0;L=i;i=i+8|0;J=i;i=i+8|0;E=i;i=i+8|0;C=i;i=i+8|0;G=i;i=i+8|0;T=i;i=i+8|0;U=i;i=i+8|0;V=i;i=i+16|0;I=V;R=i;i=i+16|0;K=R;t=i;i=i+8|0;A=t;s=i;i=i+8|0;z=s;w=i;i=i+8|0;x=w;F=i;i=i+8|0;H=F;B=i;i=i+8|0;u=B;M=i;i=i+8|0;y=M;N=i;i=i+8|0;v=N;D=i;i=i+8|0;O=D;n=i;i=i+8|0;m=n;j=b+64|0;h=c[j>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;a:do{if((h|0)!=-1){k=c[j>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){break}h=k|h<<8;Q=h>>>10&3;P=h>>>12&1;r=k&2;aa=k>>>2&3;$=k>>>4&3;_=k&64;Z=k&128;X=h>>>8&1;h=h&512;k=(k&1|0)!=0;do{if(!k){W=c[j>>2]|0;W=jd[c[(c[W>>2]|0)+20>>2]&511](W)|0;if((W|0)==-1){V=0}else{c[V>>2]=(W&128|0)==0?W:W|-256;V=1}if((Q|0)!=0){if(!V){break a}V=c[j>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){break a}c[R>>2]=(V&128|0)==0?V:V|-256;break}if(!V){break a}V=c[j>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){break a}c[R>>2]=(V&128|0)==0?V:V|-256;R=c[j>>2]|0;R=jd[c[(c[R>>2]|0)+20>>2]&511](R)|0;if((R|0)==-1){break a}c[I+4>>2]=(R&128|0)==0?R:R|-256;R=c[j>>2]|0;R=jd[c[(c[R>>2]|0)+20>>2]&511](R)|0;if((R|0)==-1){break a}c[K+4>>2]=(R&128|0)==0?R:R|-256;R=c[j>>2]|0;R=jd[c[(c[R>>2]|0)+20>>2]&511](R)|0;if((R|0)==-1){break a}c[I+8>>2]=(R&128|0)==0?R:R|-256;R=c[j>>2]|0;R=jd[c[(c[R>>2]|0)+20>>2]&511](R)|0;if((R|0)==-1){break a}c[K+8>>2]=(R&128|0)==0?R:R|-256;R=c[j>>2]|0;R=jd[c[(c[R>>2]|0)+20>>2]&511](R)|0;if((R|0)==-1){break a}c[I+12>>2]=(R&128|0)==0?R:R|-256;R=c[j>>2]|0;R=jd[c[(c[R>>2]|0)+20>>2]&511](R)|0;if((R|0)==-1){break a}c[K+12>>2]=(R&128|0)==0?R:R|-256}}while(0);r=(r|0)!=0;if(r&(P|0)==0){R=c[j>>2]|0;R=jd[c[(c[R>>2]|0)+20>>2]&511](R)|0;if((R|0)==-1){break}c[t>>2]=(R&128|0)==0?R:R|-256;t=c[j>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){break}c[s>>2]=(t&128|0)==0?t:t|-256;s=c[j>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}c[A+4>>2]=(s&128|0)==0?s:s|-256;s=c[j>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}c[z+4>>2]=(s&128|0)==0?s:s|-256}R=c[j>>2]|0;R=jd[c[(c[R>>2]|0)+20>>2]&511](R)|0;if((R|0)==-1){break}t=c[j>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){break}s=c[j>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}V=c[j>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){break}t=t<<16|R<<24|s<<8|V;W=c[j>>2]|0;W=jd[c[(c[W>>2]|0)+20>>2]&511](W)|0;if((W|0)==-1){break}V=c[j>>2]|0;V=jd[c[(c[V>>2]|0)+20>>2]&511](V)|0;if((V|0)==-1){break}R=c[j>>2]|0;R=jd[c[(c[R>>2]|0)+20>>2]&511](R)|0;if((R|0)==-1){break}s=c[j>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}s=V<<16|W<<24|R<<8|s;ba=FW(16)|0;wo(ba);ca=(g|0)==0;do{if(ca){R=0}else{W=b+60|0;V=b+56|0;ea=0;R=0;b:while(1){fa=c[f+(ea<<2)>>2]|0;ha=c[W>>2]|0;ga=c[ha+8>>2]|0;c:do{if((ga|0)>0){ia=c[ha>>2]|0;ja=0;while(1){ha=c[ia+(ja<<2)>>2]|0;ja=ja+1|0;if((c[ha+4>>2]|0)==(fa|0)){break c}if((ja|0)<(ga|0)){}else{q=38;break}}}else{q=38}}while(0);d:do{if((q|0)==38){q=0;ha=c[V>>2]|0;ga=c[ha+8>>2]|0;if((ga|0)<=0){q=51;break b}ia=c[ha>>2]|0;ja=0;while(1){ha=c[ia+(ja<<2)>>2]|0;ja=ja+1|0;if((c[ha+4>>2]|0)==(fa|0)){break d}if((ja|0)<(ga|0)){}else{q=51;break b}}}}while(0);if((ha|0)==0){q=51;break}do{if((jd[c[(c[ha>>2]|0)+8>>2]&511](ha)|0)==1){fa=c[ha+8>>2]|0;if(R>>>0>~fa>>>0){q=46;break b}R=fa+R|0}else{if((jd[c[(c[ha>>2]|0)+8>>2]&511](ha)|0)!=3){break}yo(ba,ha)}}while(0);ea=ea+1|0;if(ea>>>0>=g>>>0){q=54;break}}if((q|0)==46){ua=c[j>>2]|0;Qe(jd[c[(c[ua>>2]|0)+48>>2]&511](ua)|0,178328,U);if((ba|0)==0){break a}xo(ba);HW(ba);break a}else if((q|0)==51){if((ba|0)==0){ua=0;i=e;return ua|0}xo(ba);HW(ba);ua=0;i=e;return ua|0}else if((q|0)==54){if(R>>>0<=~s>>>0){break}ua=c[j>>2]|0;Qe(jd[c[(c[ua>>2]|0)+48>>2]&511](ua)|0,178328,T);if((ba|0)==0){break a}xo(ba);HW(ba);break a}}}while(0);U=R+s|0;V=(U|0)==0;do{if(V){T=ye(U,4)|0;S=T;W=1}else{S=U+ -1|0;W=1;while(1){S=S>>>1;if((S|0)==0){break}else{W=W+1|0}}T=ye(U,4)|0;if(V){S=T;break}bX(T|0,0,U<<2|0)|0;S=T}}while(0);if(ca){ha=0}else{ca=b+60|0;ea=b+56|0;fa=0;ha=0;ga=0;do{ia=c[f+(fa<<2)>>2]|0;ja=c[ca>>2]|0;q=c[ja+8>>2]|0;e:do{if((q|0)>0){ja=c[ja>>2]|0;la=0;while(1){ka=c[ja+(la<<2)>>2]|0;la=la+1|0;if((c[ka+4>>2]|0)==(ia|0)){ia=ka;q=73;break e}if((la|0)<(q|0)){}else{q=68;break}}}else{q=68}}while(0);f:do{if((q|0)==68){q=0;ka=c[ea>>2]|0;ja=c[ka+8>>2]|0;if((ja|0)<=0){break}la=c[ka>>2]|0;ma=0;while(1){ka=c[la+(ma<<2)>>2]|0;ma=ma+1|0;if((c[ka+4>>2]|0)==(ia|0)){ia=ka;q=73;break f}if((ma|0)<(ja|0)){}else{break}}}}while(0);do{if((q|0)==73){q=0;if((ia|0)==0){break}if((jd[c[(c[ia>>2]|0)+8>>2]&511](ia)|0)!=1){break}ha=ia+8|0;if((c[ha>>2]|0)==0){ha=ia;break}ja=ia+12|0;la=0;ka=ga;while(1){ga=ka+1|0;c[S+(ka<<2)>>2]=c[(c[ja>>2]|0)+(la<<2)>>2];la=la+1|0;if(la>>>0<(c[ha>>2]|0)>>>0){ka=ga}else{ha=ia;break}}}}while(0);fa=fa+1|0;}while(fa>>>0<g>>>0)}g:do{if(k){g=178384;do{if((aa|0)==1){aa=178496;f=0;q=84}else if((aa|0)==0){aa=g;f=0;q=84}else{if((c[ba+8>>2]|0)==0){break}aa=c[(c[c[ba>>2]>>2]|0)+8>>2]|0;f=1;q=84}}while(0);do{if((q|0)==84){if(($|0)==0){g=178640}else if(($|0)==1){g=178768}else{if(f>>>0>=(c[ba+8>>2]|0)>>>0){break}g=c[(c[(c[ba>>2]|0)+(f<<2)>>2]|0)+8>>2]|0;f=f+1|0}if((_|0)==0){_=178928}else{if(f>>>0>=(c[ba+8>>2]|0)>>>0){break}_=c[(c[(c[ba>>2]|0)+(f<<2)>>2]|0)+8>>2]|0;f=f+1|0}if((Z|0)==0){Z=178928;$=aa;q=94;break g}if(f>>>0>=(c[ba+8>>2]|0)>>>0){break}Z=c[(c[(c[ba>>2]|0)+(f<<2)>>2]|0)+8>>2]|0;$=aa;q=94;break g}}while(0);ua=c[j>>2]|0;Qe(jd[c[(c[ua>>2]|0)+48>>2]&511](ua)|0,180304,Y);if((ba|0)==0){X=0;break}xo(ba);HW(ba);X=0}else{Z=0;_=0;$=0;g=0;q=94}}while(0);h:do{if((q|0)==94){if((ba|0)!=0){xo(ba);HW(ba)}if(k){ua=c[b+144>>2]|0;c[ua+4>>2]=0;c[ua+8>>2]=0}else{do{if((X|0)==0|(ha|0)==0){aa=c[182448+(Q<<2)>>2]|0;Y=b+80|0;f=c[Y>>2]|0;if((c[f+4>>2]|0)==(aa|0)){xI(f);break}if((f|0)!=0){yI(f);HW(f)}ua=FW(8)|0;wI(ua,1<<aa);c[Y>>2]=ua}else{uD(b,Q,c[ha+16>>2]|0)}}while(0);vD(b,W);FI(c[b+76>>2]|0)}do{if(r){if(!((X|0)==0|(ha|0)==0)){wD(b,P,c[ha+20>>2]|0);ha=1;X=0;break}Y=c[182464+(P<<2)>>2]|0;X=b+84|0;q=c[X>>2]|0;if((c[q+4>>2]|0)==(Y|0)){xI(q);q=114;break}if((q|0)!=0){yI(q);HW(q)}q=FW(8)|0;wI(q,1<<Y);c[X>>2]=q;q=114}else{q=114}}while(0);do{if((q|0)==114){if(r|k^1){ha=1;X=0;break}ha=0;X=ye(s,4)|0}}while(0);Y=(s|0)==0;i:do{if(!Y){ea=b+144|0;ca=(W|0)==32;ga=b+76|0;ba=(1<<W)+ -1|0;ia=b+140|0;fa=b+120|0;aa=b+124|0;ja=b+100|0;ka=b+92|0;f=b+88|0;na=0;la=0;j:while(1){if(k){NC(c[ea>>2]|0,x,$)|0}else{JI(c[ga>>2]|0,x,c[f>>2]|0)|0}ma=c[w>>2]|0;if(!((ma|0)>-1|la>>>0>(0-ma|0)>>>0)){q=122;break}la=ma+la|0;ma=na;pa=0;oa=0;k:while(1){if(k){if(!(NC(c[ea>>2]|0,H,g)|0)){break}}else{if(!(JI(c[ga>>2]|0,H,c[ka>>2]|0)|0)){break}}qa=c[F>>2]|0;if(!((qa|0)>-1|pa>>>0>(0-qa|0)>>>0)){q=128;break j}pa=qa+pa|0;if(ma>>>0>=s>>>0){q=130;break j}do{if(ha){if(!r){c[S+(ma+R<<2)>>2]=zD(b,0,pa,la,Q,0,0,0,I,K,0)|0;break}if(k){if(!(NC(c[ea>>2]|0,u,Z)|0)){break k}}else{if(!(JI(c[ga>>2]|0,u,c[ja>>2]|0)|0)){break k}}qa=c[B>>2]|0;if((qa|0)!=1){ua=ma+R|0;ta=179112;c[S+(ua<<2)>>2]=yD(b,k,1,pa,la,qa,0,ua,0,W,S,0,0,0,1,0,179384,179624,179976,ta,ta,ta,ta,178928,P,A,z)|0;break}if(k){ra=c[ea>>2]|0;sa=ra+8|0;ua=c[sa>>2]|0;qa=ra+4|0;ta=c[qa>>2]|0;do{if(ua>>>0<W>>>0){ta=(1<<ua)+ -1&ta;ua=W-ua|0;c[sa>>2]=0;if(ua>>>0>7){while(1){va=c[ra>>2]|0;ta=(jd[c[(c[va>>2]|0)+20>>2]&511](va)|0)&255|ta<<8;ua=ua+ -8|0;if(ua>>>0>7){}else{break}}}if((ua|0)==0){break}ra=c[ra>>2]|0;ra=jd[c[(c[ra>>2]|0)+20>>2]&511](ra)|0;c[qa>>2]=ra;va=8-ua|0;c[sa>>2]=va;ta=ra>>>va&(1<<ua)+ -1|ta<<ua}else{va=ua-W|0;c[sa>>2]=va;ta=ta>>>va&(ca?-1:ba)}}while(0);NC(c[ea>>2]|0,y,179112)|0;NC(c[ea>>2]|0,v,179112)|0;NC(c[ea>>2]|0,O,178928)|0;va=c[ea>>2]|0;c[va+4>>2]=0;c[va+8>>2]=0;FI(c[ga>>2]|0)}else{ta=KI(c[ga>>2]|0,W,c[ia>>2]|0)|0;JI(c[ga>>2]|0,y,c[fa>>2]|0)|0;JI(c[ga>>2]|0,v,c[aa>>2]|0)|0}qa=ma+R|0;if(ta>>>0>=qa>>>0){q=149;break j}c[S+(qa<<2)>>2]=xD(b,pa,la,P,0,c[S+(ta<<2)>>2]|0,c[M>>2]|0,c[N>>2]|0,A,z)|0}else{c[X+(ma<<2)>>2]=pa;oa=pa+oa|0}}while(0);ma=ma+1|0}do{if(!ha){NC(c[ea>>2]|0,O,_)|0;pa=c[ea>>2]|0;c[pa+4>>2]=0;c[pa+8>>2]=0;pa=c[D>>2]|0;do{if((pa|0)==0){pa=FW(24)|0;c[pa+4>>2]=0;c[pa>>2]=177856;c[pa+8>>2]=oa;qa=pa+12|0;c[qa>>2]=la;ra=oa+7|0;sa=ra>>3;ta=pa+16|0;c[ta>>2]=sa;do{if((oa|0)<1){q=159}else{if((la|0)<1|(sa|0)<1){q=159;break}if((2147483646/(sa|0)|0|0)<=(la|0)){q=159;break}va=we((da(sa,la)|0)+1|0)|0;c[pa+20>>2]=va;a[va+(da(c[ta>>2]|0,c[qa>>2]|0)|0)|0]=0}}while(0);if((q|0)==159){q=0;Qe(-1,177872,L);c[pa+20>>2]=0}va=da(ra>>>3,la)|0;c[D>>2]=va;if((va|0)==0){break}qa=0;oa=c[pa+20>>2]|0;while(1){va=c[j>>2]|0;a[oa]=jd[c[(c[va>>2]|0)+20>>2]&511](va)|0;qa=qa+1|0;if(qa>>>0<(c[D>>2]|0)>>>0){oa=oa+1|0}else{break}}}else{pa=zD(b,1,oa,la,0,0,0,0,0,0,pa)|0}}while(0);if(na>>>0<ma>>>0){oa=0;while(1){qa=X+(na<<2)|0;c[S+(na+R<<2)>>2]=UC(pa,oa,0,c[qa>>2]|0,la)|0;na=na+1|0;if(na>>>0<ma>>>0){oa=(c[qa>>2]|0)+oa|0}else{break}}}if((pa|0)==0){break}fd[c[(c[pa>>2]|0)+4>>2]&511](pa)}}while(0);if(ma>>>0<s>>>0){na=ma}else{break i}}if((q|0)==122){va=c[j>>2]|0;Qe(jd[c[(c[va>>2]|0)+48>>2]&511](va)|0,179008,G);break h}else if((q|0)==128){va=c[j>>2]|0;Qe(jd[c[(c[va>>2]|0)+48>>2]&511](va)|0,179008,C);break h}else if((q|0)==130){va=c[j>>2]|0;Qe(jd[c[(c[va>>2]|0)+48>>2]&511](va)|0,179064,E);break h}else if((q|0)==149){va=c[j>>2]|0;Qe(jd[c[(c[va>>2]|0)+48>>2]&511](va)|0,179336,J);break h}}}while(0);u=FW(24)|0;c[u+4>>2]=d;c[u>>2]=177904;v=u+8|0;c[v>>2]=t;va=ze(t,4)|0;d=u+12|0;c[d>>2]=va;if((va|0)==0){c[v>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;if((u|0)==0){break}fd[c[(c[u>>2]|0)+4>>2]&511](u);break}v=u+16|0;c[v>>2]=0;w=u+20|0;c[w>>2]=0;l:do{if(V){B=0}else{x=b+144|0;z=b+76|0;y=b+96|0;A=0;E=0;B=0;m:while(1){if(k){NC(c[x>>2]|0,m,178928)|0}else{JI(c[z>>2]|0,m,c[y>>2]|0)|0}C=c[n>>2]|0;D=C+E|0;if(D>>>0>U>>>0){break}do{if(A){if((C+B|0)>>>0>t>>>0){break m}if((C|0)>0){C=0;F=E;E=B}else{D=E;break}while(1){B=E+1|0;D=F+1|0;H=c[S+(F<<2)>>2]|0;G=FW(24)|0;c[G+4>>2]=0;c[G>>2]=177856;va=c[H+8>>2]|0;c[G+8>>2]=va;I=c[H+12>>2]|0;c[G+12>>2]=I;F=c[H+16>>2]|0;c[G+16>>2]=F;do{if((va|0)<1){q=189}else{if((I|0)<1|(F|0)<1){q=189;break}if((I|0)>=(2147483646/(F|0)|0|0)){q=189;break}va=da(F,I)|0;ua=we(va+1|0)|0;c[G+20>>2]=ua;$W(ua|0,c[H+20>>2]|0,va|0)|0;a[ua+va|0]=0}}while(0);if((q|0)==189){q=0;Qe(-1,177872,p);c[G+20>>2]=0}c[(c[d>>2]|0)+(E<<2)>>2]=G;C=C+1|0;if((C|0)<(c[n>>2]|0)){E=B;F=D}else{break}}}}while(0);if(D>>>0<U>>>0){A=A^1;E=D}else{break l}}va=c[j>>2]|0;Qe(jd[c[(c[va>>2]|0)+48>>2]&511](va)|0,180200,o);if(B>>>0<t>>>0){do{c[(c[d>>2]|0)+(B<<2)>>2]=0;B=B+1|0;}while(B>>>0<t>>>0)}if((u|0)==0){break h}fd[c[(c[u>>2]|0)+4>>2]&511](u);break h}}while(0);if((B|0)!=(t|0)){va=c[j>>2]|0;Qe(jd[c[(c[va>>2]|0)+48>>2]&511](va)|0,180256,l);if(B>>>0<t>>>0){do{c[(c[d>>2]|0)+(B<<2)>>2]=0;B=B+1|0;}while(B>>>0<t>>>0)}if((u|0)==0){break}fd[c[(c[u>>2]|0)+4>>2]&511](u);break}if(!Y){l=0;do{j=c[S+(l+R<<2)>>2]|0;if((j|0)!=0){fd[c[(c[j>>2]|0)+4>>2]&511](j)}l=l+1|0;}while(l>>>0<s>>>0)}Fe(T);if((X|0)!=0){Fe(X)}do{if(!(k|(h|0)==0)){c[v>>2]=zI(c[b+80>>2]|0)|0;if(!r){break}c[w>>2]=zI(c[b+84>>2]|0)|0}}while(0);yo(c[b+56>>2]|0,u);va=1;i=e;return va|0}}while(0);if((s|0)!=0){b=0;do{h=c[S+(b+R<<2)>>2]|0;if((h|0)!=0){fd[c[(c[h>>2]|0)+4>>2]&511](h)}b=b+1|0;}while(b>>>0<s>>>0)}Fe(T);if((X|0)==0){va=0;i=e;return va|0}Fe(X);va=0;i=e;return va|0}}while(0);va=c[j>>2]|0;Qe(jd[c[(c[va>>2]|0)+48>>2]&511](va)|0,178296,S);va=0;i=e;return va|0}function nD(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;e=i;B=i;i=i+8|0;E=i;i=i+8|0;C=i;i=i+8|0;n=i;i=i+576|0;N=i;i=i+8|0;f=N;F=i;i=i+8|0;j=F;m=i;i=i+8|0;l=m;D=a+64|0;q=c[D>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;do{if((q|0)!=-1){k=c[D>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){break}o=c[D>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==-1){break}p=c[D>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}k=k<<16|q<<24|o<<8|p;r=c[D>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}q=c[D>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}p=c[D>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}o=c[D>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==-1){break}o=q<<16|r<<24|p<<8|o;p=c[D>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}q=c[D>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}r=c[D>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}s=c[D>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}p=q<<16|p<<24|r<<8|s;t=c[D>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){break}s=c[D>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}r=c[D>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}q=c[D>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}q=s<<16|t<<24|r<<8|q;r=c[D>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}r=r&7;s=c[D>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}x=c[D>>2]|0;x=jd[c[(c[x>>2]|0)+20>>2]&511](x)|0;if((x|0)==-1){break}z=x|s<<8;A=x&2;u=x>>>2&3;v=x>>>4&3;t=x>>>6&1;s=z>>>7&3;w=z>>>9&1;y=z>>>10;y=(y&16|0)==0?y&31:y|-16;z=z>>>15&1;x=(x&1|0)!=0;if(x){H=c[D>>2]|0;H=jd[c[(c[H>>2]|0)+20>>2]&511](H)|0;if((H|0)==-1){break}I=c[D>>2]|0;I=jd[c[(c[I>>2]|0)+20>>2]&511](I)|0;if((I|0)==-1){break}L=I|H<<8;O=I>>>2&3;K=I>>>4&3;P=I&3;H=L>>>8&3;I=I>>>6&3;J=L>>>10&3;M=L>>>12&3;L=L>>>14&1}else{O=0;K=0;P=0;H=0;I=0;J=0;M=0;L=0}A=(A|0)!=0;if(A&(z|0)==0){Q=c[D>>2]|0;Q=jd[c[(c[Q>>2]|0)+20>>2]&511](Q)|0;if((Q|0)==-1){break}c[N>>2]=(Q&128|0)==0?Q:Q|-256;N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){break}c[F>>2]=(N&128|0)==0?N:N|-256;F=c[D>>2]|0;F=jd[c[(c[F>>2]|0)+20>>2]&511](F)|0;if((F|0)==-1){break}c[f+4>>2]=(F&128|0)==0?F:F|-256;F=c[D>>2]|0;F=jd[c[(c[F>>2]|0)+20>>2]&511](F)|0;if((F|0)==-1){break}c[j+4>>2]=(F&128|0)==0?F:F|-256}R=c[D>>2]|0;R=jd[c[(c[R>>2]|0)+20>>2]&511](R)|0;if((R|0)==-1){break}F=c[D>>2]|0;F=jd[c[(c[F>>2]|0)+20>>2]&511](F)|0;if((F|0)==-1){break}Q=c[D>>2]|0;Q=jd[c[(c[Q>>2]|0)+20>>2]&511](Q)|0;if((Q|0)==-1){break}N=c[D>>2]|0;N=jd[c[(c[N>>2]|0)+20>>2]&511](N)|0;if((N|0)==-1){break}B=F<<16|R<<24|Q<<8|N;N=FW(16)|0;wo(N);R=(h|0)==0;do{if(R){h=ye(0,4)|0;g=h;F=0;C=0}else{Q=a+60|0;S=a+56|0;T=0;F=0;a:do{U=c[g+(T<<2)>>2]|0;W=c[Q>>2]|0;V=c[W+8>>2]|0;b:do{if((V|0)>0){W=c[W>>2]|0;Y=0;while(1){X=c[W+(Y<<2)>>2]|0;Y=Y+1|0;if((c[X+4>>2]|0)==(U|0)){break b}if((Y|0)<(V|0)){}else{G=41;break}}}else{G=41}}while(0);c:do{if((G|0)==41){G=0;W=c[S>>2]|0;V=c[W+8>>2]|0;if((V|0)<=0){G=51;break a}W=c[W>>2]|0;Y=0;while(1){X=c[W+(Y<<2)>>2]|0;Y=Y+1|0;if((c[X+4>>2]|0)==(U|0)){break c}if((Y|0)<(V|0)){}else{G=51;break a}}}}while(0);if((X|0)==0){G=51;break}do{if((jd[c[(c[X>>2]|0)+8>>2]&511](X)|0)==1){F=(c[X+8>>2]|0)+F|0}else{if((jd[c[(c[X>>2]|0)+8>>2]&511](X)|0)!=3){break}yo(N,X)}}while(0);T=T+1|0;}while(T>>>0<h>>>0);if((G|0)==51){Z=c[D>>2]|0;Qe(jd[c[(c[Z>>2]|0)+48>>2]&511](Z)|0,180352,C);if((N|0)==0){i=e;return}xo(N);HW(N);i=e;return}if(F>>>0>1){Q=1;C=0;while(1){C=C+1|0;Q=Q<<1;if(Q>>>0<F>>>0){}else{break}}}else{C=0}Q=ye(F,4)|0;if(R){g=Q;h=Q;break}S=a+60|0;R=a+56|0;T=0;U=0;while(1){V=c[g+(T<<2)>>2]|0;W=c[S>>2]|0;G=c[W+8>>2]|0;d:do{if((G|0)>0){W=c[W>>2]|0;Y=0;while(1){X=c[W+(Y<<2)>>2]|0;Y=Y+1|0;if((c[X+4>>2]|0)==(V|0)){G=65;break d}if((Y|0)<(G|0)){}else{G=60;break}}}else{G=60}}while(0);e:do{if((G|0)==60){G=0;X=c[R>>2]|0;W=c[X+8>>2]|0;if((W|0)<=0){break}Y=c[X>>2]|0;Z=0;while(1){X=c[Y+(Z<<2)>>2]|0;Z=Z+1|0;if((c[X+4>>2]|0)==(V|0)){G=65;break e}if((Z|0)<(W|0)){}else{break}}}}while(0);do{if((G|0)==65){G=0;if((X|0)==0){break}if((jd[c[(c[X>>2]|0)+8>>2]&511](X)|0)!=1){break}V=X+8|0;if((c[V>>2]|0)==0){break}W=X+12|0;X=0;Y=U;while(1){U=Y+1|0;c[Q+(Y<<2)>>2]=c[(c[W>>2]|0)+(X<<2)>>2];X=X+1|0;if(X>>>0<(c[V>>2]|0)>>>0){Y=U}else{break}}}}while(0);T=T+1|0;if(T>>>0>=h>>>0){g=Q;h=Q;break}}}}while(0);f:do{if(x){Q=179384;do{if((P|0)==1){P=180400;Q=0;G=76}else if((P|0)==0){P=Q;Q=0;G=76}else{if((c[N+8>>2]|0)==0){break}P=c[(c[c[N>>2]>>2]|0)+8>>2]|0;Q=1;G=76}}while(0);do{if((G|0)==76){if((O|0)==0){G=179624}else if((O|0)==1){G=180656}else if((O|0)==2){G=181024}else{if(Q>>>0>=(c[N+8>>2]|0)>>>0){break}G=c[(c[(c[N>>2]|0)+(Q<<2)>>2]|0)+8>>2]|0;Q=Q+1|0}if((K|0)==0){O=179976}else if((K|0)==2){O=181600}else if((K|0)==1){O=181376}else{if(Q>>>0>=(c[N+8>>2]|0)>>>0){break}O=c[(c[(c[N>>2]|0)+(Q<<2)>>2]|0)+8>>2]|0;Q=Q+1|0}if((I|0)==0){I=181824}else if((I|0)==1){I=179112}else{if(Q>>>0>=(c[N+8>>2]|0)>>>0){break}I=c[(c[(c[N>>2]|0)+(Q<<2)>>2]|0)+8>>2]|0;Q=Q+1|0}if((H|0)==0){H=181824}else if((H|0)==1){H=179112}else{if(Q>>>0>=(c[N+8>>2]|0)>>>0){break}H=c[(c[(c[N>>2]|0)+(Q<<2)>>2]|0)+8>>2]|0;Q=Q+1|0}if((J|0)==0){J=181824}else if((J|0)==1){J=179112}else{if(Q>>>0>=(c[N+8>>2]|0)>>>0){break}J=c[(c[(c[N>>2]|0)+(Q<<2)>>2]|0)+8>>2]|0;Q=Q+1|0}K=181824;if((M|0)==1){K=179112;M=Q}else if((M|0)==0){M=Q}else{if(Q>>>0>=(c[N+8>>2]|0)>>>0){break}K=c[(c[(c[N>>2]|0)+(Q<<2)>>2]|0)+8>>2]|0;M=Q+1|0}if((L|0)==0){D=G;E=O;G=P;L=178928;break f}if(M>>>0>=(c[N+8>>2]|0)>>>0){break}D=G;E=O;G=P;L=c[(c[(c[N>>2]|0)+(M<<2)>>2]|0)+8>>2]|0;break f}}while(0);Z=c[D>>2]|0;Qe(jd[c[(c[Z>>2]|0)+48>>2]&511](Z)|0,181920,E);Fe(N);if((h|0)==0){i=e;return}HW(h);i=e;return}else{D=0;E=0;G=0;H=0;I=0;J=0;K=0;L=0}}while(0);if((N|0)!=0){xo(N);HW(N)}if(x){M=a+144|0;N=c[M>>2]|0;c[N+4>>2]=0;c[N+8>>2]=0;N=0;do{c[n+(N<<4)>>2]=N;P=c[M>>2]|0;Q=P+8|0;S=c[Q>>2]|0;O=P+4|0;R=c[O>>2]|0;do{if(S>>>0<4){R=(1<<S)+ -1&R;S=4-S|0;c[Q>>2]=0;if(S>>>0>7){while(1){Z=c[P>>2]|0;R=(jd[c[(c[Z>>2]|0)+20>>2]&511](Z)|0)&255|R<<8;S=S+ -8|0;if(S>>>0>7){}else{break}}}if((S|0)==0){break}Y=c[P>>2]|0;Y=jd[c[(c[Y>>2]|0)+20>>2]&511](Y)|0;c[O>>2]=Y;Z=8-S|0;c[Q>>2]=Z;R=Y>>>Z&(1<<S)+ -1|R<<S}else{Z=S+ -4|0;c[Q>>2]=Z;R=R>>>Z&15}}while(0);c[n+(N<<4)+4>>2]=R;c[n+(N<<4)+8>>2]=0;N=N+1|0;}while(N>>>0<32);c[n+512>>2]=259;O=c[M>>2]|0;N=O+8|0;R=c[N>>2]|0;P=O+4|0;Q=c[P>>2]|0;do{if(R>>>0<4){Q=(1<<R)+ -1&Q;R=4-R|0;c[N>>2]=0;if(R>>>0>7){while(1){Z=c[O>>2]|0;Q=(jd[c[(c[Z>>2]|0)+20>>2]&511](Z)|0)&255|Q<<8;R=R+ -8|0;if(R>>>0>7){}else{break}}}if((R|0)==0){break}Y=c[O>>2]|0;Y=jd[c[(c[Y>>2]|0)+20>>2]&511](Y)|0;c[P>>2]=Y;Z=8-R|0;c[N>>2]=Z;Q=Y>>>Z&(1<<R)+ -1|Q<<R}else{Z=R+ -4|0;c[N>>2]=Z;Q=Q>>>Z&15}}while(0);c[n+516>>2]=Q;c[n+520>>2]=2;c[n+528>>2]=515;P=c[M>>2]|0;N=P+8|0;R=c[N>>2]|0;O=P+4|0;Q=c[O>>2]|0;do{if(R>>>0<4){Q=(1<<R)+ -1&Q;R=4-R|0;c[N>>2]=0;if(R>>>0>7){while(1){Z=c[P>>2]|0;Q=(jd[c[(c[Z>>2]|0)+20>>2]&511](Z)|0)&255|Q<<8;R=R+ -8|0;if(R>>>0>7){}else{break}}}if((R|0)==0){break}Y=c[P>>2]|0;Y=jd[c[(c[Y>>2]|0)+20>>2]&511](Y)|0;c[O>>2]=Y;Z=8-R|0;c[N>>2]=Z;Q=Y>>>Z&(1<<R)+ -1|Q<<R}else{Z=R+ -4|0;c[N>>2]=Z;Q=Q>>>Z&15}}while(0);c[n+532>>2]=Q;c[n+536>>2]=3;c[n+544>>2]=523;O=c[M>>2]|0;P=O+8|0;R=c[P>>2]|0;N=O+4|0;Q=c[N>>2]|0;do{if(R>>>0<4){Q=(1<<R)+ -1&Q;R=4-R|0;c[P>>2]=0;if(R>>>0>7){while(1){Z=c[O>>2]|0;Q=(jd[c[(c[Z>>2]|0)+20>>2]&511](Z)|0)&255|Q<<8;R=R+ -8|0;if(R>>>0>7){}else{break}}}if((R|0)==0){break}Y=c[O>>2]|0;Y=jd[c[(c[Y>>2]|0)+20>>2]&511](Y)|0;c[N>>2]=Y;Z=8-R|0;c[P>>2]=Z;Q=Y>>>Z&(1<<R)+ -1|Q<<R}else{Z=R+ -4|0;c[P>>2]=Z;Q=Q>>>Z&15}}while(0);c[n+548>>2]=Q;c[n+552>>2]=7;c[n+564>>2]=0;c[n+568>>2]=-1;OC(0,n,35);N=ye(F+1|0,16)|0;P=(F|0)==0;do{if(P){l=0}else{O=0;do{c[N+(O<<4)>>2]=O;c[N+(O<<4)+8>>2]=0;O=O+1|0;}while(O>>>0<F>>>0);if(P){l=0;break}else{O=0}while(1){NC(c[M>>2]|0,l,n)|0;Q=c[m>>2]|0;do{if((Q|0)>512){R=Q+ -512|0;c[m>>2]=R;if(!((R|0)!=0&O>>>0<F>>>0)){break}Q=512-Q|0;P=O-F|0;P=Q>>>0>P>>>0?Q:P;Q=R+P|0;T=R;S=O;while(1){R=S+1|0;c[N+(S<<4)+4>>2]=0;T=T+ -1|0;if((T|0)!=0&R>>>0<F>>>0){S=R}else{break}}c[m>>2]=Q;O=O-P|0}else{if((Q|0)<=256){c[N+(O<<4)+4>>2]=Q;O=O+1|0;break}P=Q+ -256|0;c[m>>2]=P;if(!((P|0)!=0&O>>>0<F>>>0)){break}R=256-Q|0;Q=O-F|0;Q=R>>>0>Q>>>0?R:Q;R=P+Q|0;S=O;do{c[N+(S<<4)+4>>2]=c[N+(S+ -1<<4)+4>>2];S=S+1|0;P=P+ -1|0;}while((P|0)!=0&S>>>0<F>>>0);c[m>>2]=R;O=O-Q|0}}while(0);if(O>>>0>=F>>>0){l=F;break}}}}while(0);c[N+(l<<4)+4>>2]=0;c[N+(F<<4)+8>>2]=-1;OC(0,N,l);F=c[M>>2]|0;c[F+4>>2]=0;c[F+8>>2]=0;F=l}else{vD(a,C);FI(c[a+76>>2]|0);N=0}do{if(A){m=c[182464+(z<<2)>>2]|0;l=a+84|0;n=c[l>>2]|0;if((c[n+4>>2]|0)==(m|0)){xI(n);break}if((n|0)!=0){yI(n);HW(n)}Z=FW(8)|0;wI(Z,1<<m);c[l>>2]=Z}}while(0);f=yD(a,x,A,k,o,B,u,F,N,C,g,w,s,t,v,y,G,D,E,I,H,J,K,L,z,f,j)|0;Fe(h);do{if((f|0)!=0){if(!d){c[f+4>>2]=b;yo(c[a+56>>2]|0,f);break}do{if((c[a+36>>2]|0)==-1){d=q+o|0;if(d>>>0<=(c[a+40>>2]|0)>>>0){break}VC(c[a+48>>2]|0,d,c[a+44>>2]|0)}}while(0);WC(c[a+48>>2]|0,f,p,q,r);fd[c[(c[f>>2]|0)+4>>2]&511](f)}}while(0);if(!x){i=e;return}Fe(N);i=e;return}}while(0);Z=c[D>>2]|0;Qe(jd[c[(c[Z>>2]|0)+48>>2]&511](Z)|0,178296,B);i=e;return}function oD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;s=i;i=i+8|0;l=i;i=i+16|0;j=l;m=i;i=i+16|0;h=m;p=a+64|0;n=c[p>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;do{if((n|0)!=-1){g=c[p>>2]|0;g=jd[c[(c[g>>2]|0)+20>>2]&511](g)|0;if((g|0)==-1){break}f=c[p>>2]|0;f=jd[c[(c[f>>2]|0)+20>>2]&511](f)|0;if((f|0)==-1){break}k=c[p>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){break}o=c[p>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==-1){break}r=c[p>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}q=c[p>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}k=o<<16|k<<24|r<<8|q;o=n>>>1&3;n=(n&1|0)!=0;if(!n){q=c[182448+(o<<2)>>2]|0;r=a+80|0;p=c[r>>2]|0;if((c[p+4>>2]|0)==(q|0)){xI(p)}else{if((p|0)!=0){yI(p);HW(p)}s=FW(8)|0;wI(s,1<<q);c[r>>2]=s}FI(c[a+76>>2]|0)}c[l>>2]=0-g;c[m>>2]=0;c[j+4>>2]=-3;c[h+4>>2]=-1;c[j+8>>2]=2;c[h+8>>2]=-2;c[j+12>>2]=-2;c[h+12>>2]=-2;l=k+1|0;h=zD(a,n,da(l,g)|0,f,o,0,0,0,j,h,d+ -7|0)|0;if((h|0)==0){i=e;return}d=FW(16)|0;c[d+4>>2]=b;c[d>>2]=177928;c[d+8>>2]=l;b=d+12|0;c[b>>2]=ye(l,4)|0;l=0;j=0;while(1){s=UC(h,j,0,g,f)|0;c[(c[b>>2]|0)+(l<<2)>>2]=s;l=l+1|0;if(l>>>0>k>>>0){break}else{j=j+g|0}}fd[c[(c[h>>2]|0)+4>>2]&511](h);yo(c[a+56>>2]|0,d);i=e;return}}while(0);r=c[p>>2]|0;Qe(jd[c[(c[r>>2]|0)+48>>2]&511](r)|0,178296,s);i=e;return}function pD(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;g=i;A=i;i=i+8|0;B=i;i=i+8|0;C=i;i=i+8|0;G=i;i=i+8|0;I=i;i=i+8|0;J=i;i=i+8|0;K=i;i=i+8|0;u=i;i=i+16|0;o=u;v=i;i=i+16|0;n=v;D=b+64|0;l=c[D>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;do{if((l|0)!=-1){m=c[D>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}p=c[D>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}h=c[D>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;if((h|0)==-1){break}z=m<<16|l<<24|p<<8|h;l=c[D>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){break}m=c[D>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}h=c[D>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;if((h|0)==-1){break}p=c[D>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}h=m<<16|l<<24|h<<8|p;q=c[D>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}p=c[D>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}m=c[D>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}l=c[D>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){break}l=p<<16|q<<24|m<<8|l;m=c[D>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}r=c[D>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}q=c[D>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}p=c[D>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}m=r<<16|m<<24|q<<8|p;p=c[D>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}p=p&7;E=c[D>>2]|0;E=jd[c[(c[E>>2]|0)+20>>2]&511](E)|0;if((E|0)==-1){break}H=E&1;w=E>>>1&3;F=E&8;q=E>>>4&7;x=c[D>>2]|0;x=jd[c[(c[x>>2]|0)+20>>2]&511](x)|0;if((x|0)==-1){break}t=c[D>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){break}s=c[D>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}r=c[D>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}r=t<<16|x<<24|s<<8|r;t=c[D>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){break}y=c[D>>2]|0;y=jd[c[(c[y>>2]|0)+20>>2]&511](y)|0;if((y|0)==-1){break}x=c[D>>2]|0;x=jd[c[(c[x>>2]|0)+20>>2]&511](x)|0;if((x|0)==-1){break}s=c[D>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}s=y<<16|t<<24|x<<8|s;t=c[D>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){break}x=c[D>>2]|0;x=jd[c[(c[x>>2]|0)+20>>2]&511](x)|0;if((x|0)==-1){break}y=c[D>>2]|0;y=jd[c[(c[y>>2]|0)+20>>2]&511](y)|0;if((y|0)==-1){break}L=c[D>>2]|0;L=jd[c[(c[L>>2]|0)+20>>2]&511](L)|0;if((L|0)==-1){break}t=x<<16|t<<24|y<<8|L;L=c[D>>2]|0;L=jd[c[(c[L>>2]|0)+20>>2]&511](L)|0;if((L|0)==-1){break}y=c[D>>2]|0;y=jd[c[(c[y>>2]|0)+20>>2]&511](y)|0;if((y|0)==-1){break}M=c[D>>2]|0;M=jd[c[(c[M>>2]|0)+20>>2]&511](M)|0;if((M|0)==-1){break}x=c[D>>2]|0;x=jd[c[(c[x>>2]|0)+20>>2]&511](x)|0;if((x|0)==-1){break}x=y<<16|L<<24|M<<8|x;y=c[D>>2]|0;y=jd[c[(c[y>>2]|0)+20>>2]&511](y)|0;if((y|0)==-1){break}L=c[D>>2]|0;L=jd[c[(c[L>>2]|0)+20>>2]&511](L)|0;if((L|0)==-1){break}y=L|y<<8;L=c[D>>2]|0;L=jd[c[(c[L>>2]|0)+20>>2]&511](L)|0;if((L|0)==-1){break}M=c[D>>2]|0;M=jd[c[(c[M>>2]|0)+20>>2]&511](M)|0;if((M|0)==-1){break}A=M|L<<8;do{if(!((z|0)==0|(h|0)==0)){if(z>>>0>=(2147483647/(h>>>0)|0)>>>0){break}do{if((s|0)!=0){if(r>>>0>=(2147483647/(s>>>0)|0)>>>0){break}if((k|0)!=1){O=c[D>>2]|0;Qe(jd[c[(c[O>>2]|0)+48>>2]&511](O)|0,182096,I);i=g;return}j=c[j>>2]|0;I=c[b+60>>2]|0;k=c[I+8>>2]|0;a:do{if((k|0)>0){J=c[I>>2]|0;K=0;while(1){I=c[J+(K<<2)>>2]|0;K=K+1|0;if((c[I+4>>2]|0)==(j|0)){k=55;break a}if((K|0)<(k|0)){}else{k=50;break}}}else{k=50}}while(0);b:do{if((k|0)==50){J=c[b+56>>2]|0;I=c[J+8>>2]|0;if((I|0)<=0){break}K=c[J>>2]|0;L=0;do{J=c[K+(L<<2)>>2]|0;L=L+1|0;if((c[J+4>>2]|0)==(j|0)){I=J;k=55;break b}}while((L|0)<(I|0))}}while(0);do{if((k|0)==55){if((I|0)==0){break}if((jd[c[(c[I>>2]|0)+8>>2]&511](I)|0)!=2){break}D=c[I+8>>2]|0;if(D>>>0>1){j=0;G=1;while(1){G=G<<1;if(G>>>0<D>>>0){j=j+1|0}else{break}}}else{j=-1}D=I+12|0;J=c[c[D>>2]>>2]|0;I=c[J+8>>2]|0;J=c[J+12>>2]|0;H=(H|0)!=0;if(!H){K=c[182448+(w<<2)>>2]|0;L=b+80|0;G=c[L>>2]|0;if((c[G+4>>2]|0)==(K|0)){xI(G)}else{if((G|0)!=0){yI(G);HW(G)}O=FW(8)|0;wI(O,1<<K);c[L>>2]=O}FI(c[b+76>>2]|0)}G=FW(24)|0;c[G+4>>2]=e;c[G>>2]=177856;c[G+8>>2]=z;K=G+12|0;c[K>>2]=h;L=z+7>>3;e=G+16|0;c[e>>2]=L;do{if((z|0)<1){k=70}else{if((h|0)<1|(L|0)<1){k=70;break}if((2147483646/(L|0)|0|0)<=(h|0)){k=70;break}O=we((da(h,L)|0)+1|0)|0;C=G+20|0;c[C>>2]=O;a[O+(da(c[e>>2]|0,c[K>>2]|0)|0)|0]=0;C=c[C>>2]|0}}while(0);if((k|0)==70){Qe(-1,177872,C);c[G+20>>2]=0;C=0}e=da(c[e>>2]|0,c[K>>2]|0)|0;if((E&128|0)==0){bX(C|0,0,e|0)|0}else{bX(C|0,-1,e|0)|0}C=(F|0)!=0;if(C){e=FW(24)|0;c[e+4>>2]=0;c[e>>2]=177856;c[e+8>>2]=r;F=e+12|0;c[F>>2]=s;K=r+7>>3;E=e+16|0;c[E>>2]=K;do{if((r|0)<1){k=79}else{if((s|0)<1|(K|0)<1){k=79;break}if((2147483646/(K|0)|0|0)<=(s|0)){k=79;break}O=we((da(s,K)|0)+1|0)|0;K=e+20|0;c[K>>2]=O;a[O+(da(c[E>>2]|0,c[F>>2]|0)|0)|0]=0;K=c[K>>2]|0}}while(0);if((k|0)==79){Qe(-1,177872,B);c[e+20>>2]=0;K=0}B=e+20|0;bX(K|0,0,da(c[E>>2]|0,c[F>>2]|0)|0)|0;F=(r|0)==0;K=0;while(1){if(!F){L=(da(K,A)|0)+t|0;O=(da(K,y)|0)+x|0;M=0;do{P=L+(da(M,y)|0)|0;N=O-(da(M,A)|0)|0;if((P+I>>8|0)>0&(P>>8|0)<(z|0)){if(!((N+J>>8|0)>0&(N>>8|0)<(h|0))){k=86}}else{k=86}if((k|0)==86){k=0;P=(da(c[E>>2]|0,K)|0)+(M>>3)|0;P=(c[B>>2]|0)+P|0;a[P]=d[P]|0|1<<(M&7^7)}M=M+1|0;}while(M>>>0<r>>>0)}K=K+1|0;if(K>>>0>=s>>>0){B=e;break}}}else{B=0}P=da(s,r)|0;z=ye(P,4)|0;bX(z|0,0,P<<2|0)|0;c[u>>2]=w>>>0<2?3:2;c[v>>2]=-1;c[o+4>>2]=-3;c[n+4>>2]=-1;c[o+8>>2]=2;c[n+8>>2]=-2;c[o+12>>2]=-2;c[n+12>>2]=-2;if((j|0)>-1){u=(r|0)==0;do{F=zD(b,H,r,s,w,0,C,B,o,n,-1)|0;I=F+8|0;v=F+12|0;E=F+16|0;e=F+20|0;K=0;J=0;do{if(!u){L=(J|0)<0;M=K;N=0;while(1){do{if((N|0)<0){O=0}else{if((c[I>>2]|0)<=(N|0)|L){O=0;break}if((c[v>>2]|0)<=(J|0)){O=0;break}O=(da(c[E>>2]|0,J)|0)+(N>>3)|0;O=(d[(c[e>>2]|0)+O|0]|0)>>>(N&7^7)&1}}while(0);P=z+(M<<2)|0;Q=c[P>>2]|0;c[P>>2]=Q&1^O|Q<<1;N=N+1|0;if(N>>>0<r>>>0){M=M+1|0}else{break}}K=r+K|0}J=J+1|0;}while(J>>>0<s>>>0);if((F|0)!=0){fd[c[(c[F>>2]|0)+4>>2]&511](F)}j=j+ -1|0;}while((j|0)>-1)}n=(r|0)==0;C=C^1;w=B+8|0;v=B+12|0;o=B+16|0;u=B+20|0;E=0;e=0;do{if(!n){F=(e|0)<0;H=E;J=0;j=(da(e,A)|0)+t|0;I=(da(e,y)|0)+x|0;while(1){do{if((J|0)<0|C){k=111}else{if((c[w>>2]|0)<=(J|0)|F){k=111;break}if((c[v>>2]|0)<=(e|0)){k=111;break}Q=(da(c[o>>2]|0,e)|0)+(J>>3)|0;if(((d[(c[u>>2]|0)+Q|0]|0)&1<<(J&7^7)|0)==0){k=111}}}while(0);if((k|0)==111){k=0;WC(G,c[(c[D>>2]|0)+(c[z+(H<<2)>>2]<<2)>>2]|0,j>>8,I>>8,q)}J=J+1|0;if(J>>>0<r>>>0){H=H+1|0;j=j+y|0;I=I-A|0}else{break}}E=r+E|0}e=e+1|0;}while(e>>>0<s>>>0);Fe(z);if((B|0)!=0){fd[c[(c[B>>2]|0)+4>>2]&511](B)}if(!f){yo(c[b+56>>2]|0,G);i=g;return}do{if((c[b+36>>2]|0)==-1){f=m+h|0;if(f>>>0<=(c[b+40>>2]|0)>>>0){break}VC(c[b+48>>2]|0,f,c[b+44>>2]|0)}}while(0);WC(c[b+48>>2]|0,G,l,m,p);if((G|0)==0){i=g;return}fd[c[(c[G>>2]|0)+4>>2]&511](G);i=g;return}}while(0);Q=c[D>>2]|0;Qe(jd[c[(c[Q>>2]|0)+48>>2]&511](Q)|0,182096,G);i=g;return}}while(0);Q=c[D>>2]|0;Qe(jd[c[(c[Q>>2]|0)+48>>2]&511](Q)|0,182056,J);i=g;return}}while(0);Q=c[D>>2]|0;Qe(jd[c[(c[Q>>2]|0)+48>>2]&511](Q)|0,182008,K);i=g;return}}while(0);Q=c[D>>2]|0;Qe(jd[c[(c[Q>>2]|0)+48>>2]&511](Q)|0,178296,A);i=g;return}function qD(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=i;k=i;i=i+8|0;p=i;i=i+16|0;g=p;n=i;i=i+16|0;h=n;j=a+64|0;l=c[j>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;do{if((l|0)!=-1){o=c[j>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==-1){break}q=c[j>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}m=c[j>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}l=o<<16|l<<24|q<<8|m;r=c[j>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}q=c[j>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}o=c[j>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==-1){break}m=c[j>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}m=q<<16|r<<24|o<<8|m;s=c[j>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}r=c[j>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}q=c[j>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}o=c[j>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;if((o|0)==-1){break}o=r<<16|s<<24|q<<8|o;q=c[j>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}r=c[j>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}s=c[j>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}t=c[j>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){break}q=r<<16|q<<24|s<<8|t;r=c[j>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}r=r&7;u=c[j>>2]|0;u=jd[c[(c[u>>2]|0)+20>>2]&511](u)|0;if((u|0)==-1){break}t=u>>>1&3;s=u&8;u=(u&1|0)!=0;if(!u){v=c[j>>2]|0;v=jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;if((v|0)==-1){p=0}else{c[p>>2]=(v&128|0)==0?v:v|-256;p=1}if((t|0)==0){if(!p){break}p=c[j>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}c[n>>2]=(p&128|0)==0?p:p|-256;n=c[j>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){break}c[g+4>>2]=(n&128|0)==0?n:n|-256;n=c[j>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){break}c[h+4>>2]=(n&128|0)==0?n:n|-256;n=c[j>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){break}c[g+8>>2]=(n&128|0)==0?n:n|-256;n=c[j>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){break}c[h+8>>2]=(n&128|0)==0?n:n|-256;n=c[j>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){break}c[g+12>>2]=(n&128|0)==0?n:n|-256;n=c[j>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){break}c[h+12>>2]=(n&128|0)==0?n:n|-256}else{if(!p){break}p=c[j>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}c[n>>2]=(p&128|0)==0?p:p|-256}j=c[182448+(t<<2)>>2]|0;n=a+80|0;k=c[n>>2]|0;if((c[k+4>>2]|0)==(j|0)){xI(k)}else{if((k|0)!=0){yI(k);HW(k)}v=FW(8)|0;wI(v,1<<j);c[n>>2]=v}FI(c[a+76>>2]|0)}f=zD(a,u,l,m,t,(s|0)!=0,0,0,g,h,u?f+ -18|0:0)|0;if((f|0)==0){i=e;return}if(!d){c[f+4>>2]=b;yo(c[a+56>>2]|0,f);i=e;return}do{if((c[a+36>>2]|0)==-1){b=q+m|0;if(b>>>0<=(c[a+40>>2]|0)>>>0){break}VC(c[a+48>>2]|0,b,c[a+44>>2]|0)}}while(0);WC(c[a+48>>2]|0,f,o,q,r);fd[c[(c[f>>2]|0)+4>>2]&511](f);i=e;return}}while(0);v=c[j>>2]|0;Qe(jd[c[(c[v>>2]|0)+48>>2]&511](v)|0,178296,k);i=e;return}function rD(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=i;w=i;i=i+8|0;k=i;i=i+8|0;n=i;i=i+8|0;v=i;i=i+8|0;y=i;i=i+8|0;m=y;x=i;i=i+8|0;l=x;f=a+64|0;o=c[f>>2]|0;o=jd[c[(c[o>>2]|0)+20>>2]&511](o)|0;do{if((o|0)!=-1){r=c[f>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}q=c[f>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}p=c[f>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}o=r<<16|o<<24|q<<8|p;r=c[f>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}s=c[f>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}p=c[f>>2]|0;p=jd[c[(c[p>>2]|0)+20>>2]&511](p)|0;if((p|0)==-1){break}q=c[f>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}p=s<<16|r<<24|p<<8|q;t=c[f>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){break}q=c[f>>2]|0;q=jd[c[(c[q>>2]|0)+20>>2]&511](q)|0;if((q|0)==-1){break}r=c[f>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}s=c[f>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}q=q<<16|t<<24|r<<8|s;t=c[f>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;if((t|0)==-1){break}r=c[f>>2]|0;r=jd[c[(c[r>>2]|0)+20>>2]&511](r)|0;if((r|0)==-1){break}s=c[f>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}u=c[f>>2]|0;u=jd[c[(c[u>>2]|0)+20>>2]&511](u)|0;if((u|0)==-1){break}r=r<<16|t<<24|s<<8|u;s=c[f>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;if((s|0)==-1){break}s=s&7;u=c[f>>2]|0;u=jd[c[(c[u>>2]|0)+20>>2]&511](u)|0;if((u|0)==-1){break}t=u&1;u=u&2;if((t|0)==0){z=c[f>>2]|0;z=jd[c[(c[z>>2]|0)+20>>2]&511](z)|0;if((z|0)==-1){break}c[y>>2]=(z&128|0)==0?z:z|-256;y=c[f>>2]|0;y=jd[c[(c[y>>2]|0)+20>>2]&511](y)|0;if((y|0)==-1){break}c[x>>2]=(y&128|0)==0?y:y|-256;x=c[f>>2]|0;x=jd[c[(c[x>>2]|0)+20>>2]&511](x)|0;if((x|0)==-1){break}c[m+4>>2]=(x&128|0)==0?x:x|-256;x=c[f>>2]|0;x=jd[c[(c[x>>2]|0)+20>>2]&511](x)|0;if((x|0)==-1){break}c[l+4>>2]=(x&128|0)==0?x:x|-256}do{if((h|0)==0|d){if((c[a+36>>2]|0)!=-1){break}w=r+p|0;if(w>>>0<=(c[a+40>>2]|0)>>>0){break}VC(c[a+48>>2]|0,w,c[a+44>>2]|0)}}while(0);if(h>>>0>1){z=c[f>>2]|0;Qe(jd[c[(c[z>>2]|0)+48>>2]&511](z)|0,182280,v);i=e;return}h=(h|0)==1;a:do{if(h){v=c[g>>2]|0;w=c[a+60>>2]|0;j=c[w+8>>2]|0;b:do{if((j|0)>0){w=c[w>>2]|0;y=0;while(1){x=c[w+(y<<2)>>2]|0;y=y+1|0;if((c[x+4>>2]|0)==(v|0)){j=40;break b}if((y|0)<(j|0)){}else{j=35;break}}}else{j=35}}while(0);c:do{if((j|0)==35){x=c[a+56>>2]|0;w=c[x+8>>2]|0;if((w|0)<=0){break}y=c[x>>2]|0;z=0;do{x=c[y+(z<<2)>>2]|0;z=z+1|0;if((c[x+4>>2]|0)==(v|0)){j=40;break c}}while((z|0)<(w|0))}}while(0);do{if((j|0)==40){if((x|0)==0){break}if((jd[c[(c[x>>2]|0)+8>>2]&511](x)|0)!=0){break}break a}}while(0);z=c[f>>2]|0;Qe(jd[c[(c[z>>2]|0)+48>>2]&511](z)|0,182336,n);i=e;return}else{x=UC(c[a+48>>2]|0,q,r,o,p)|0}}while(0);n=c[182464+(t<<2)>>2]|0;v=a+84|0;w=c[v>>2]|0;if((c[w+4>>2]|0)==(n|0)){xI(w)}else{if((w|0)!=0){yI(w);HW(w)}z=FW(8)|0;wI(z,1<<n);c[v>>2]=z}FI(c[a+76>>2]|0);l=xD(a,o,p,t,(u|0)!=0,x,0,0,m,l)|0;do{if(d){WC(c[a+48>>2]|0,l,q,r,s);if((l|0)==0){break}fd[c[(c[l>>2]|0)+4>>2]&511](l)}else{if((l|0)==0){z=c[f>>2]|0;Qe(jd[c[(c[z>>2]|0)+48>>2]&511](z)|0,182400,k);break}else{c[l+4>>2]=b;yo(c[a+56>>2]|0,l);break}}}while(0);if(!h){if((x|0)==0){i=e;return}fd[c[(c[x>>2]|0)+4>>2]&511](x);i=e;return}d=c[g>>2]|0;l=c[a+60>>2]|0;b=c[l+8>>2]|0;d:do{if((b|0)>0){k=c[l>>2]|0;f=0;while(1){g=f+1|0;if((c[(c[k+(f<<2)>>2]|0)+4>>2]|0)==(d|0)){break}if((g|0)<(b|0)){f=g}else{break d}}Ao(l,f)|0;i=e;return}}while(0);b=c[a+56>>2]|0;a=c[b+8>>2]|0;if((a|0)<=0){i=e;return}f=c[b>>2]|0;g=0;while(1){k=g+1|0;if((c[(c[f+(g<<2)>>2]|0)+4>>2]|0)==(d|0)){break}if((k|0)<(a|0)){g=k}else{j=70;break}}if((j|0)==70){i=e;return}Ao(b,g)|0;i=e;return}}while(0);z=c[f>>2]|0;Qe(jd[c[(c[z>>2]|0)+48>>2]&511](z)|0,178296,w);i=e;return}function sD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;g=i;i=i+8|0;e=i;i=i+8|0;f=b+32|0;h=b+64|0;m=c[h>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;do{if((m|0)!=-1){k=c[h>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){break}l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){break}j=c[h>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){break}c[f>>2]=k<<16|m<<24|l<<8|j;j=b+36|0;k=c[h>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){break}l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){break}m=c[h>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}n=c[h>>2]|0;n=jd[c[(c[n>>2]|0)+20>>2]&511](n)|0;if((n|0)==-1){break}c[j>>2]=l<<16|k<<24|m<<8|n;n=c[h>>2]|0;if((jd[c[(c[n>>2]|0)+20>>2]&511](n)|0)==-1){break}n=c[h>>2]|0;if((jd[c[(c[n>>2]|0)+20>>2]&511](n)|0)==-1){break}n=c[h>>2]|0;if((jd[c[(c[n>>2]|0)+20>>2]&511](n)|0)==-1){break}n=c[h>>2]|0;if((jd[c[(c[n>>2]|0)+20>>2]&511](n)|0)==-1){break}n=c[h>>2]|0;if((jd[c[(c[n>>2]|0)+20>>2]&511](n)|0)==-1){break}n=c[h>>2]|0;if((jd[c[(c[n>>2]|0)+20>>2]&511](n)|0)==-1){break}n=c[h>>2]|0;if((jd[c[(c[n>>2]|0)+20>>2]&511](n)|0)==-1){break}n=c[h>>2]|0;if((jd[c[(c[n>>2]|0)+20>>2]&511](n)|0)==-1){break}m=c[h>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}l=c[h>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){break}k=c[h>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){break}g=b+44|0;c[g>>2]=m>>>2&1;c[b+52>>2]=m>>>3&3;h=c[j>>2]|0;if((h|0)==-1){k=(k|l<<8)&32767;c[b+40>>2]=k}else{c[b+40>>2]=h;k=h}h=FW(24)|0;n=c[f>>2]|0;c[h+4>>2]=0;c[h>>2]=177856;c[h+8>>2]=n;f=h+12|0;c[f>>2]=k;l=n+7>>3;j=h+16|0;c[j>>2]=l;do{if((n|0)<1){f=27}else{if((k|0)<1|(l|0)<1){f=27;break}if((2147483646/(l|0)|0|0)<=(k|0)){f=27;break}n=we((da(l,k)|0)+1|0)|0;e=h+20|0;c[e>>2]=n;a[n+(da(c[j>>2]|0,c[f>>2]|0)|0)|0]=0;e=c[e>>2]|0;b=b+48|0;c[b>>2]=h;if((e|0)==0){f=28;break}b=da(c[j>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)==0){bX(e|0,0,b|0)|0;i=d;return}else{bX(e|0,-1,b|0)|0;i=d;return}}}while(0);if((f|0)==27){Qe(-1,177872,e);c[h+20>>2]=0;b=b+48|0;c[b>>2]=h;if((h|0)!=0){f=28}}if((f|0)==28){fd[c[(c[h>>2]|0)+4>>2]&511](h)}c[b>>2]=0;i=d;return}}while(0);n=c[h>>2]|0;Qe(jd[c[(c[n>>2]|0)+48>>2]&511](n)|0,178296,g);i=d;return}function tD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=i;e=i;i=i+8|0;f=a+64|0;g=c[f>>2]|0;g=jd[c[(c[g>>2]|0)+20>>2]&511](g)|0;do{if((g|0)!=-1){j=c[f>>2]|0;j=jd[c[(c[j>>2]|0)+20>>2]&511](j)|0;if((j|0)==-1){break}k=c[f>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){break}l=c[f>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){break}h=c[f>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;if((h|0)==-1){break}j=k<<16|j<<24|l<<8|h;l=c[f>>2]|0;l=jd[c[(c[l>>2]|0)+20>>2]&511](l)|0;if((l|0)==-1){break}m=c[f>>2]|0;m=jd[c[(c[m>>2]|0)+20>>2]&511](m)|0;if((m|0)==-1){break}h=c[f>>2]|0;h=jd[c[(c[h>>2]|0)+20>>2]&511](h)|0;if((h|0)==-1){break}k=c[f>>2]|0;k=jd[c[(c[k>>2]|0)+20>>2]&511](k)|0;if((k|0)==-1){break}h=m<<16|l<<24|h<<8|k;f=g&1;e=(g>>>1&7)+1|0;o=(g>>>4&7)+1|0;g=a+144|0;l=c[g>>2]|0;c[l+4>>2]=0;c[l+8>>2]=0;l=ye(8,16)|0;if((j|0)<(h|0)){m=(1<<e)+ -1|0;n=(1<<o)+ -1|0;p=8;k=0;q=j;do{if((k|0)==(p|0)){v=k<<1;p=v;l=Ce(l,v,16)|0}c[l+(k<<4)>>2]=q;s=c[g>>2]|0;t=s+8|0;v=c[t>>2]|0;r=s+4|0;u=c[r>>2]|0;do{if(v>>>0<e>>>0){u=(1<<v)+ -1&u;v=e-v|0;c[t>>2]=0;if(v>>>0>7){while(1){w=c[s>>2]|0;u=(jd[c[(c[w>>2]|0)+20>>2]&511](w)|0)&255|u<<8;v=v+ -8|0;if(v>>>0>7){}else{break}}}if((v|0)==0){break}s=c[s>>2]|0;s=jd[c[(c[s>>2]|0)+20>>2]&511](s)|0;c[r>>2]=s;w=8-v|0;c[t>>2]=w;u=s>>>w&(1<<v)+ -1|u<<v}else{w=v-e|0;c[t>>2]=w;u=u>>>w&m}}while(0);c[l+(k<<4)+4>>2]=u;t=c[g>>2]|0;r=t+8|0;v=c[r>>2]|0;s=t+4|0;u=c[s>>2]|0;do{if(v>>>0<o>>>0){u=(1<<v)+ -1&u;v=o-v|0;c[r>>2]=0;if(v>>>0>7){while(1){w=c[t>>2]|0;u=(jd[c[(c[w>>2]|0)+20>>2]&511](w)|0)&255|u<<8;v=v+ -8|0;if(v>>>0>7){}else{break}}}if((v|0)==0){break}t=c[t>>2]|0;t=jd[c[(c[t>>2]|0)+20>>2]&511](t)|0;c[s>>2]=t;w=8-v|0;c[r>>2]=w;u=t>>>w&(1<<v)+ -1|u<<v}else{w=v-o|0;c[r>>2]=w;u=u>>>w&n}}while(0);c[l+(k<<4)+8>>2]=u;q=(1<<u)+q|0;k=k+1|0;}while((q|0)<(h|0))}else{p=8;k=0}m=f+3+k|0;if(m>>>0>p>>>0){l=Ce(l,m,16)|0}c[l+(k<<4)>>2]=j+ -1;n=c[g>>2]|0;j=n+8|0;p=c[j>>2]|0;m=n+4|0;o=c[m>>2]|0;do{if(p>>>0<e>>>0){o=(1<<p)+ -1&o;p=e-p|0;c[j>>2]=0;if(p>>>0>7){while(1){w=c[n>>2]|0;o=(jd[c[(c[w>>2]|0)+20>>2]&511](w)|0)&255|o<<8;p=p+ -8|0;if(p>>>0>7){}else{break}}}if((p|0)==0){break}v=c[n>>2]|0;v=jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;c[m>>2]=v;w=8-p|0;c[j>>2]=w;o=v>>>w&(1<<p)+ -1|o<<p}else{w=p-e|0;c[j>>2]=w;o=o>>>w&(1<<e)+ -1}}while(0);c[l+(k<<4)+4>>2]=o;c[l+(k<<4)+8>>2]=-3;j=k+1|0;c[l+(j<<4)>>2]=h;n=c[g>>2]|0;h=n+8|0;p=c[h>>2]|0;m=n+4|0;o=c[m>>2]|0;do{if(p>>>0<e>>>0){o=(1<<p)+ -1&o;p=e-p|0;c[h>>2]=0;if(p>>>0>7){while(1){w=c[n>>2]|0;o=(jd[c[(c[w>>2]|0)+20>>2]&511](w)|0)&255|o<<8;p=p+ -8|0;if(p>>>0>7){}else{break}}}if((p|0)==0){break}v=c[n>>2]|0;v=jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;c[m>>2]=v;w=8-p|0;c[h>>2]=w;o=v>>>w&(1<<p)+ -1|o<<p}else{w=p-e|0;c[h>>2]=w;o=o>>>w&(1<<e)+ -1}}while(0);c[l+(j<<4)+4>>2]=o;c[l+(j<<4)+8>>2]=32;h=k+2|0;if((f|0)!=0){c[l+(h<<4)>>2]=0;j=c[g>>2]|0;g=j+8|0;n=c[g>>2]|0;f=j+4|0;m=c[f>>2]|0;do{if(n>>>0<e>>>0){m=(1<<n)+ -1&m;e=e-n|0;c[g>>2]=0;if(e>>>0>7){while(1){w=c[j>>2]|0;m=(jd[c[(c[w>>2]|0)+20>>2]&511](w)|0)&255|m<<8;e=e+ -8|0;if(e>>>0>7){}else{break}}}if((e|0)==0){break}v=c[j>>2]|0;v=jd[c[(c[v>>2]|0)+20>>2]&511](v)|0;c[f>>2]=v;w=8-e|0;c[g>>2]=w;m=v>>>w&(1<<e)+ -1|m<<e}else{w=n-e|0;c[g>>2]=w;m=m>>>w&(1<<e)+ -1}}while(0);c[l+(h<<4)+4>>2]=m;c[l+(h<<4)+8>>2]=-2;h=k+3|0}c[l+(h<<4)>>2]=0;c[l+(h<<4)+4>>2]=0;c[l+(h<<4)+8>>2]=-1;OC(0,l,h);v=c[a+56>>2]|0;w=FW(12)|0;c[w+4>>2]=b;c[w>>2]=177952;c[w+8>>2]=l;yo(v,w);i=d;return}}while(0);w=c[f>>2]|0;Qe(jd[c[(c[w>>2]|0)+48>>2]&511](w)|0,178296,e);i=d;return}function uD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;b=c[182448+(b<<2)>>2]|0;do{if((d|0)!=0){if((c[d+4>>2]|0)!=(b|0)){break}f=a+80|0;a=c[f>>2]|0;if((c[a+4>>2]|0)==(b|0)){AI(a,d);i=e;return}if((a|0)!=0){yI(a);HW(a)}c[f>>2]=zI(d)|0;i=e;return}}while(0);a=a+80|0;d=c[a>>2]|0;if((c[d+4>>2]|0)==(b|0)){xI(d);i=e;return}if((d|0)!=0){yI(d);HW(d)}f=FW(8)|0;wI(f,1<<b);c[a>>2]=f;i=e;return}function vD(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;xI(c[a+88>>2]|0);xI(c[a+92>>2]|0);xI(c[a+96>>2]|0);xI(c[a+100>>2]|0);xI(c[a+104>>2]|0);xI(c[a+108>>2]|0);xI(c[a+112>>2]|0);xI(c[a+116>>2]|0);xI(c[a+120>>2]|0);xI(c[a+124>>2]|0);xI(c[a+128>>2]|0);xI(c[a+132>>2]|0);xI(c[a+136>>2]|0);e=a+140|0;a=c[e>>2]|0;b=1<<b+1;if((c[a+4>>2]|0)==(b|0)){xI(a);i=d;return}if((a|0)!=0){yI(a);HW(a)}a=FW(8)|0;wI(a,b);c[e>>2]=a;i=d;return}function wD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;b=c[182464+(b<<2)>>2]|0;do{if((d|0)!=0){if((c[d+4>>2]|0)!=(b|0)){break}f=a+84|0;a=c[f>>2]|0;if((c[a+4>>2]|0)==(b|0)){AI(a,d);i=e;return}if((a|0)!=0){yI(a);HW(a)}c[f>>2]=zI(d)|0;i=e;return}}while(0);a=a+84|0;d=c[a>>2]|0;if((c[d+4>>2]|0)==(b|0)){xI(d);i=e;return}if((d|0)!=0){yI(d);HW(d)}f=FW(8)|0;wI(f,1<<b);c[a>>2]=f;i=e;return}function xD(b,e,f,g,h,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;o=i;v=i;i=i+8|0;t=FW(24)|0;c[t+4>>2]=0;c[t>>2]=177856;q=t+8|0;c[q>>2]=e;r=t+12|0;c[r>>2]=f;u=e+7>>3;s=t+16|0;c[s>>2]=u;do{if((e|0)<1){p=5}else{if((f|0)<1|(u|0)<1){p=5;break}if((2147483646/(u|0)|0|0)<=(f|0)){p=5;break}u=we((da(u,f)|0)+1|0)|0;v=t+20|0;c[v>>2]=u;a[u+(da(c[s>>2]|0,c[r>>2]|0)|0)|0]=0;v=c[v>>2]|0;u=t+20|0;if((v|0)==0){break}bX(v|0,0,da(c[s>>2]|0,c[r>>2]|0)|0)|0;x=(g|0)!=0;y=x?8:16;if((f|0)<=0){Fa=t;i=o;return Fa|0}C=0-k|0;z=~k;v=1-l|0;w=j+8|0;g=j+12|0;B=(k|0)>-1;A=j+16|0;D=j+20|0;F=z>>3;E=z&7^7;G=(e|0)>0;j=b+76|0;K=b+84|0;b=(k|0)>0;J=1-k|0;M=C>>3;L=C&7^7;I=m+4|0;H=n+4|0;N=0;do{V=N+ -1|0;do{if((N|0)<1){P=0;Q=0;R=0;O=0}else{if((c[r>>2]|0)<=(V|0)){P=0;Q=0;R=0;O=0;break}P=c[q>>2]|0;if((P|0)<=0){P=0;Q=0;R=0;O=0;break}O=da(c[s>>2]|0,V)|0;O=(c[u>>2]|0)+O|0;if((O|0)==0){P=0;Q=7;R=0;O=0;break}R=(P|0)==1;P=1;Q=R?7:6;R=R?0:O;O=(d[O]|0)>>>7}}while(0);do{if((c[r>>2]|0)>(N|0)){if((c[q>>2]|0)<=-1){S=0;T=0;U=0;break}U=da(c[s>>2]|0,N)|0;S=-1;T=7;U=(c[u>>2]|0)+U|0}else{S=0;T=0;U=0}}while(0);oa=V-l|0;pa=(oa|0)<0;do{if(pa){W=0;X=0;Y=0}else{if((c[g>>2]|0)<=(oa|0)){W=0;X=0;Y=0;break}if((c[w>>2]|0)<=(C|0)){W=0;X=0;Y=0;break}V=da(c[A>>2]|0,oa)|0;if(b){W=C;X=7;Y=(c[D>>2]|0)+V|0;break}else{W=C;X=L;Y=(c[D>>2]|0)+(V+M)|0;break}}}while(0);do{if(x){ia=N-l|0;ja=(ia|0)<0;a:do{if(ja){_=0;$=0;V=0;p=36}else{if((c[g>>2]|0)<=(ia|0)){_=0;$=0;V=0;p=36;break}Z=c[w>>2]|0;if((Z|0)<=(z|0)){_=0;$=0;V=0;p=36;break}V=da(c[A>>2]|0,ia)|0;if(B){$=7;aa=(c[D>>2]|0)+V|0}else{$=E;aa=(c[D>>2]|0)+(V+F)|0}if((aa|0)==0){_=z;V=0;p=36;break}do{if(B){V=0}else{V=(d[aa]|0)>>>$&1;if((Z|0)==(C|0)){_=C;p=36;break a}if(($|0)==0){V=V<<1;aa=aa+1|0;$=7;break}else{V=V<<1;$=$+ -1|0;break}}}while(0);if((C|0)<0){_=1-k|0;ba=0;break}ba=(d[aa]|0)>>>$&1;_=1-k|0;if((_|0)==(Z|0)){aa=0;break}if(($|0)==0){$=7;aa=aa+1|0;break}else{$=$+ -1|0;break}}}while(0);if((p|0)==36){p=0;V=V<<1;aa=0;ba=0}V=ba|V;fa=v+N|0;ga=(fa|0)<0;do{if(ga){ba=0;ca=0;ea=0;Z=0}else{if((c[g>>2]|0)<=(fa|0)){ba=0;ca=0;ea=0;Z=0;break}ba=c[w>>2]|0;if((ba|0)<=(C|0)){ba=0;ca=0;ea=0;Z=0;break}Z=da(c[A>>2]|0,fa)|0;if(b){ca=7;ea=(c[D>>2]|0)+Z|0}else{ca=L;ea=(c[D>>2]|0)+(Z+M)|0}if((ea|0)==0){ba=C;ea=0;Z=0;break}if(b){ba=J;Z=0;break}Z=(d[ea]|0)>>>ca&1;if((J|0)==(ba|0)){ba=J;ea=0;break}if((ca|0)==0){ba=J;ca=7;ea=ea+1|0;break}else{ba=J;ca=ca+ -1|0;break}}}while(0);if(h){b:do{if(pa){oa=0;na=0;ka=0;p=68}else{if((c[g>>2]|0)<=(oa|0)){oa=0;na=0;ka=0;p=68;break}ha=c[w>>2]|0;if((ha|0)<=(z|0)){oa=0;na=0;ka=0;p=68;break}ka=da(c[A>>2]|0,oa)|0;if(B){na=7;ma=(c[D>>2]|0)+ka|0}else{na=E;ma=(c[D>>2]|0)+(ka+F)|0}if((ma|0)==0){oa=z;ka=0;p=68;break}do{if(B){ka=0}else{ka=(d[ma]|0)>>>na&1;if((ha|0)==(C|0)){oa=C;p=68;break b}if((na|0)==0){ka=ka<<1;ma=ma+1|0;na=7;break}else{ka=ka<<1;na=na+ -1|0;break}}}while(0);do{if((C|0)<0){oa=1-k|0;la=0;p=76}else{la=(d[ma]|0)>>>na&1;oa=1-k|0;if((oa|0)==(ha|0)){ha=(la|ka)<<1;ma=0;ka=0;break b}if((na|0)==0){ha=(la|ka)<<1;ma=ma+1|0;na=7;break}else{na=na+ -1|0;p=76;break}}}while(0);if((p|0)==76){p=0;ha=(la|ka)<<1;if((ma|0)==0){ma=0;ka=0;break}}if((oa|0)<0){oa=oa+1|0;ka=0;break}ka=(d[ma]|0)>>>na&1;oa=oa+1|0;if((oa|0)==(c[w>>2]|0)){ma=0;break}if((na|0)==0){na=7;ma=ma+1|0;break}else{na=na+ -1|0;break}}}while(0);if((p|0)==68){p=0;ha=ka<<2;ma=0;ka=0}ha=ka|ha;c:do{if(ja){la=0;ka=0;ia=0;p=95}else{if((c[g>>2]|0)<=(ia|0)){la=0;ka=0;ia=0;p=95;break}pa=c[w>>2]|0;if((pa|0)<=(z|0)){la=0;ka=0;ia=0;p=95;break}ia=da(c[A>>2]|0,ia)|0;if(B){ka=7;ja=(c[D>>2]|0)+ia|0}else{ka=E;ja=(c[D>>2]|0)+(ia+F)|0}if((ja|0)==0){la=z;ia=0;p=95;break}do{if(B){ia=0}else{ia=(d[ja]|0)>>>ka&1;if((pa|0)==(C|0)){la=C;p=95;break c}if((ka|0)==0){ia=ia<<1;ja=ja+1|0;ka=7;break}else{ia=ia<<1;ka=ka+ -1|0;break}}}while(0);do{if((C|0)<0){la=1-k|0;qa=0;p=103}else{qa=(d[ja]|0)>>>ka&1;la=1-k|0;if((la|0)==(pa|0)){ia=(qa|ia)<<1;ja=0;pa=0;break c}if((ka|0)==0){ia=(qa|ia)<<1;ja=ja+1|0;ka=7;break}else{ka=ka+ -1|0;p=103;break}}}while(0);if((p|0)==103){p=0;ia=(qa|ia)<<1;if((ja|0)==0){ja=0;pa=0;break}}if((la|0)<0){la=la+1|0;pa=0;break}pa=(d[ja]|0)>>>ka&1;la=la+1|0;if((la|0)==(c[w>>2]|0)){ja=0;break}if((ka|0)==0){ka=7;ja=ja+1|0;break}else{ka=ka+ -1|0;break}}}while(0);if((p|0)==95){p=0;ia=ia<<2;ja=0;pa=0}qa=pa|ia;d:do{if(ga){ia=0;ga=0;pa=0;p=122}else{if((c[g>>2]|0)<=(fa|0)){ia=0;ga=0;pa=0;p=122;break}ia=c[w>>2]|0;if((ia|0)<=(z|0)){ia=0;ga=0;pa=0;p=122;break}fa=da(c[A>>2]|0,fa)|0;if(B){ga=7;fa=(c[D>>2]|0)+fa|0}else{ga=E;fa=(c[D>>2]|0)+(fa+F)|0}if((fa|0)==0){ia=z;pa=0;p=122;break}do{if(B){pa=0}else{pa=(d[fa]|0)>>>ga&1;if((ia|0)==(C|0)){ia=C;p=122;break d}if((ga|0)==0){pa=pa<<1;fa=fa+1|0;ga=7;break}else{pa=pa<<1;ga=ga+ -1|0;break}}}while(0);do{if((C|0)<0){ia=1-k|0;sa=0;p=130}else{sa=(d[fa]|0)>>>ga&1;ra=1-k|0;if((ra|0)==(ia|0)){pa=(sa|pa)<<1;fa=0;ra=0;break d}if((ga|0)==0){pa=(sa|pa)<<1;fa=fa+1|0;ga=7;ia=ra;break}else{ia=ra;ga=ga+ -1|0;p=130;break}}}while(0);if((p|0)==130){p=0;pa=(sa|pa)<<1;if((fa|0)==0){fa=0;ra=0;break}}if((ia|0)<0){ia=ia+1|0;ra=0;break}ra=(d[fa]|0)>>>ga&1;ia=ia+1|0;if((ia|0)==(c[w>>2]|0)){fa=0;break}if((ga|0)==0){ga=7;fa=fa+1|0;break}else{ga=ga+ -1|0;break}}}while(0);if((p|0)==122){p=0;pa=pa<<2;fa=0;ra=0}pa=ra|pa}else{oa=0;na=0;ma=0;la=0;ka=0;ja=0;ia=0;ga=0;fa=0;ha=0;qa=0;pa=0}if(G){ra=ha;ha=0}else{break}do{O=O<<1;do{if((R|0)==0){R=0;sa=0}else{if((P|0)<0){P=P+1|0;sa=0;break}sa=(d[R]|0)>>>Q&1;P=P+1|0;if((P|0)==(c[q>>2]|0)){R=0;break}if((Q|0)==0){Q=7;R=R+1|0;break}else{Q=Q+ -1|0;break}}}while(0);O=sa|O&6;V=V<<1;do{if((aa|0)==0){aa=0;sa=0}else{if((_|0)<0){_=_+1|0;sa=0;break}sa=(d[aa]|0)>>>$&1;_=_+1|0;if((_|0)==(c[w>>2]|0)){aa=0;break}if(($|0)==0){$=7;aa=aa+1|0;break}else{$=$+ -1|0;break}}}while(0);V=sa|V&6;Z=Z<<1;do{if((ea|0)==0){ea=0;sa=0}else{if((ba|0)<0){ba=ba+1|0;sa=0;break}sa=(d[ea]|0)>>>ca&1;ba=ba+1|0;if((ba|0)==(c[w>>2]|0)){ea=0;break}if((ca|0)==0){ca=7;ea=ea+1|0;break}else{ca=ca+ -1|0;break}}}while(0);Z=sa|Z&2;do{if(h){ra=ra<<1;do{if((ma|0)==0){ma=0;sa=0}else{if((oa|0)<0){oa=oa+1|0;sa=0;break}sa=(d[ma]|0)>>>na&1;oa=oa+1|0;if((oa|0)==(c[w>>2]|0)){ma=0;break}if((na|0)==0){na=7;ma=ma+1|0;break}else{na=na+ -1|0;break}}}while(0);ra=sa|ra&6;qa=qa<<1;do{if((ja|0)==0){ja=0;sa=0}else{if((la|0)<0){la=la+1|0;sa=0;break}sa=(d[ja]|0)>>>ka&1;la=la+1|0;if((la|0)==(c[w>>2]|0)){ja=0;break}if((ka|0)==0){ka=7;ja=ja+1|0;break}else{ka=ka+ -1|0;break}}}while(0);qa=sa|qa&6;pa=pa<<1;do{if((fa|0)==0){fa=0;sa=0}else{if((ia|0)<0){ia=ia+1|0;sa=0;break}sa=(d[fa]|0)>>>ga&1;ia=ia+1|0;if((ia|0)==(c[w>>2]|0)){fa=0;break}if((ga|0)==0){ga=7;fa=fa+1|0;break}else{ga=ga+ -1|0;break}}}while(0);pa=sa|pa&6;II(c[j>>2]|0,y,c[K>>2]|0)|0;if((qa|ra|pa|0)==0){Fa=(da(c[s>>2]|0,N)|0)+(ha>>3)|0;Fa=(c[u>>2]|0)+Fa|0;a[Fa]=(d[Fa]|0)&32639>>>(ha&7);break}if(!((ra|0)==7&(qa|0)==7&(pa|0)==7)){p=186;break}ra=(da(c[s>>2]|0,N)|0)+(ha>>3)|0;ra=(c[u>>2]|0)+ra|0;a[ra]=d[ra]|0|1<<(ha&7^7);ra=7;qa=7;pa=7}else{p=186}}while(0);do{if((p|0)==186){p=0;sa=O<<7;do{if((U|0)==0){U=0;ta=0}else{if((S|0)<0){S=S+1|0;ta=0;break}ta=(d[U]|0)>>>T&1;S=S+1|0;if((S|0)==(c[q>>2]|0)){U=0;break}if((T|0)==0){T=7;U=U+1|0;break}else{T=T+ -1|0;break}}}while(0);ta=ta<<6;do{if((Y|0)==0){Y=0;ua=0}else{if((W|0)<0){W=W+1|0;ua=0;break}ua=(d[Y]|0)>>>X&1;W=W+1|0;if((W|0)==(c[w>>2]|0)){Y=0;break}if((X|0)==0){X=7;Y=Y+1|0;break}else{X=X+ -1|0;break}}}while(0);if((II(c[j>>2]|0,V<<2|sa|Z|ta|ua<<5,c[K>>2]|0)|0)==0){break}Fa=(da(c[s>>2]|0,N)|0)+(ha>>3)|0;Fa=(c[u>>2]|0)+Fa|0;a[Fa]=d[Fa]|0|1<<(ha&7^7)}}while(0);ha=ha+1|0;}while((ha|0)<(e|0))}else{do{if((Y|0)==0){Y=0;V=0}else{if((W|0)<0){W=W+1|0;V=0;break}V=(d[Y]|0)>>>X&1;W=W+1|0;if((W|0)==(c[w>>2]|0)){Y=0;break}if((X|0)==0){X=7;Y=Y+1|0;break}else{X=X+ -1|0;break}}}while(0);qa=N-l|0;ra=(qa|0)<0;e:do{if(ra){_=0;$=0;Z=0;p=222}else{if((c[g>>2]|0)<=(qa|0)){_=0;$=0;Z=0;p=222;break}ba=c[w>>2]|0;if((ba|0)<=(z|0)){_=0;$=0;Z=0;p=222;break}Z=da(c[A>>2]|0,qa)|0;if(B){$=7;aa=(c[D>>2]|0)+Z|0}else{$=E;aa=(c[D>>2]|0)+(Z+F)|0}if((aa|0)==0){_=z;Z=0;p=222;break}do{if(B){Z=0}else{Z=(d[aa]|0)>>>$&1;if((ba|0)==(C|0)){_=C;p=222;break e}if(($|0)==0){Z=Z<<1;aa=aa+1|0;$=7;break}else{Z=Z<<1;$=$+ -1|0;break}}}while(0);if((C|0)<0){_=1-k|0;ca=0;break}ca=(d[aa]|0)>>>$&1;_=1-k|0;if((_|0)==(ba|0)){aa=0;break}if(($|0)==0){$=7;aa=aa+1|0;break}else{$=$+ -1|0;break}}}while(0);if((p|0)==222){p=0;Z=Z<<1;aa=0;ca=0}Z=ca|Z;ha=v+N|0;la=(ha|0)<0;f:do{if(la){ga=0;ia=0;ba=0;p=241}else{if((c[g>>2]|0)<=(ha|0)){ga=0;ia=0;ba=0;p=241;break}ea=c[w>>2]|0;if((ea|0)<=(z|0)){ga=0;ia=0;ba=0;p=241;break}ba=da(c[A>>2]|0,ha)|0;if(B){ia=7;ka=(c[D>>2]|0)+ba|0}else{ia=E;ka=(c[D>>2]|0)+(ba+F)|0}if((ka|0)==0){ga=z;ba=0;p=241;break}do{if(B){ba=0}else{ba=(d[ka]|0)>>>ia&1;if((ea|0)==(C|0)){ga=C;p=241;break f}if((ia|0)==0){ba=ba<<1;ka=ka+1|0;ia=7;break}else{ba=ba<<1;ia=ia+ -1|0;break}}}while(0);if((C|0)<0){ga=1-k|0;ca=0;break}ca=(d[ka]|0)>>>ia&1;ga=1-k|0;if((ga|0)==(ea|0)){ka=0;break}if((ia|0)==0){ia=7;ka=ka+1|0;break}else{ia=ia+ -1|0;break}}}while(0);if((p|0)==241){p=0;ba=ba<<1;ka=0;ca=0}ba=ca|ba;ca=c[m>>2]|0;ea=(c[n>>2]|0)+N|0;do{if((ea|0)<0){na=0;ma=0;ja=0}else{if((c[r>>2]|0)<=(ea|0)){na=0;ma=0;ja=0;break}if((c[q>>2]|0)<=(ca|0)){na=0;ma=0;ja=0;break}ea=da(c[s>>2]|0,ea)|0;if((ca|0)<0){na=ca;ma=7;ja=(c[u>>2]|0)+ea|0;break}else{na=ca;ma=ca&7^7;ja=(c[u>>2]|0)+(ea+(ca>>3))|0;break}}}while(0);ca=(c[I>>2]|0)-k|0;ea=qa+(c[H>>2]|0)|0;do{if((ea|0)<0){fa=0;ea=0;ca=0}else{if((c[g>>2]|0)<=(ea|0)){fa=0;ea=0;ca=0;break}if((c[w>>2]|0)<=(ca|0)){fa=0;ea=0;ca=0;break}sa=da(c[A>>2]|0,ea)|0;if((ca|0)<0){fa=ca;ea=7;ca=(c[D>>2]|0)+sa|0;break}else{fa=ca;ea=ca&7^7;ca=(c[D>>2]|0)+(sa+(ca>>3))|0;break}}}while(0);if(h){g:do{if(pa){va=0;ua=0;oa=0;p=273}else{if((c[g>>2]|0)<=(oa|0)){va=0;ua=0;oa=0;p=273;break}pa=c[w>>2]|0;if((pa|0)<=(z|0)){va=0;ua=0;oa=0;p=273;break}oa=da(c[A>>2]|0,oa)|0;if(B){ua=7;ta=(c[D>>2]|0)+oa|0}else{ua=E;ta=(c[D>>2]|0)+(oa+F)|0}if((ta|0)==0){va=z;oa=0;p=273;break}do{if(B){oa=0}else{oa=(d[ta]|0)>>>ua&1;if((pa|0)==(C|0)){va=C;p=273;break g}if((ua|0)==0){oa=oa<<1;ta=ta+1|0;ua=7;break}else{oa=oa<<1;ua=ua+ -1|0;break}}}while(0);do{if((C|0)<0){va=1-k|0;sa=0;p=281}else{sa=(d[ta]|0)>>>ua&1;va=1-k|0;if((va|0)==(pa|0)){oa=(sa|oa)<<1;ta=0;pa=0;break g}if((ua|0)==0){oa=(sa|oa)<<1;ta=ta+1|0;ua=7;break}else{ua=ua+ -1|0;p=281;break}}}while(0);if((p|0)==281){p=0;oa=(sa|oa)<<1;if((ta|0)==0){ta=0;pa=0;break}}if((va|0)<0){va=va+1|0;pa=0;break}pa=(d[ta]|0)>>>ua&1;va=va+1|0;if((va|0)==(c[w>>2]|0)){ta=0;break}if((ua|0)==0){ua=7;ta=ta+1|0;break}else{ua=ua+ -1|0;break}}}while(0);if((p|0)==273){p=0;oa=oa<<2;ta=0;pa=0}pa=pa|oa;h:do{if(ra){sa=0;ra=0;oa=0;p=300}else{if((c[g>>2]|0)<=(qa|0)){sa=0;ra=0;oa=0;p=300;break}wa=c[w>>2]|0;if((wa|0)<=(z|0)){sa=0;ra=0;oa=0;p=300;break}oa=da(c[A>>2]|0,qa)|0;if(B){ra=7;qa=(c[D>>2]|0)+oa|0}else{ra=E;qa=(c[D>>2]|0)+(oa+F)|0}if((qa|0)==0){sa=z;oa=0;p=300;break}do{if(B){oa=0}else{oa=(d[qa]|0)>>>ra&1;if((wa|0)==(C|0)){sa=C;p=300;break h}if((ra|0)==0){oa=oa<<1;qa=qa+1|0;ra=7;break}else{oa=oa<<1;ra=ra+ -1|0;break}}}while(0);do{if((C|0)<0){sa=1-k|0;xa=0;p=308}else{xa=(d[qa]|0)>>>ra&1;sa=1-k|0;if((sa|0)==(wa|0)){oa=(xa|oa)<<1;qa=0;wa=0;break h}if((ra|0)==0){oa=(xa|oa)<<1;qa=qa+1|0;ra=7;break}else{ra=ra+ -1|0;p=308;break}}}while(0);if((p|0)==308){p=0;oa=(xa|oa)<<1;if((qa|0)==0){qa=0;wa=0;break}}if((sa|0)<0){sa=sa+1|0;wa=0;break}wa=(d[qa]|0)>>>ra&1;sa=sa+1|0;if((sa|0)==(c[w>>2]|0)){qa=0;break}if((ra|0)==0){ra=7;qa=qa+1|0;break}else{ra=ra+ -1|0;break}}}while(0);if((p|0)==300){p=0;oa=oa<<2;qa=0;wa=0}xa=wa|oa;i:do{if(la){oa=0;la=0;wa=0;p=327}else{if((c[g>>2]|0)<=(ha|0)){oa=0;la=0;wa=0;p=327;break}ya=c[w>>2]|0;if((ya|0)<=(z|0)){oa=0;la=0;wa=0;p=327;break}ha=da(c[A>>2]|0,ha)|0;if(B){la=7;ha=(c[D>>2]|0)+ha|0}else{la=E;ha=(c[D>>2]|0)+(ha+F)|0}if((ha|0)==0){oa=z;wa=0;p=327;break}do{if(B){wa=0}else{wa=(d[ha]|0)>>>la&1;if((ya|0)==(C|0)){oa=C;p=327;break i}if((la|0)==0){wa=wa<<1;ha=ha+1|0;la=7;break}else{wa=wa<<1;la=la+ -1|0;break}}}while(0);do{if((C|0)<0){oa=1-k|0;za=0;p=335}else{za=(d[ha]|0)>>>la&1;oa=1-k|0;if((oa|0)==(ya|0)){wa=(za|wa)<<1;ha=0;za=0;break i}if((la|0)==0){wa=(za|wa)<<1;ha=ha+1|0;la=7;break}else{la=la+ -1|0;p=335;break}}}while(0);if((p|0)==335){p=0;wa=(za|wa)<<1;if((ha|0)==0){ha=0;za=0;break}}if((oa|0)<0){oa=oa+1|0;za=0;break}za=(d[ha]|0)>>>la&1;oa=oa+1|0;if((oa|0)==(c[w>>2]|0)){ha=0;break}if((la|0)==0){la=7;ha=ha+1|0;break}else{la=la+ -1|0;break}}}while(0);if((p|0)==327){p=0;wa=wa<<2;ha=0;za=0}ya=pa;wa=za|wa}else{va=0;ua=0;ta=0;sa=0;ra=0;qa=0;oa=0;la=0;ha=0;ya=0;xa=0;wa=0}if(G){pa=na;na=0}else{break}do{O=O<<1;do{if((R|0)==0){R=0;za=0}else{if((P|0)<0){P=P+1|0;za=0;break}za=(d[R]|0)>>>Q&1;P=P+1|0;if((P|0)==(c[q>>2]|0)){R=0;break}if((Q|0)==0){Q=7;R=R+1|0;break}else{Q=Q+ -1|0;break}}}while(0);O=za|O&2;V=V<<1;do{if((Y|0)==0){Y=0;za=0}else{if((W|0)<0){W=W+1|0;za=0;break}za=(d[Y]|0)>>>X&1;W=W+1|0;if((W|0)==(c[w>>2]|0)){Y=0;break}if((X|0)==0){X=7;Y=Y+1|0;break}else{X=X+ -1|0;break}}}while(0);V=za|V&2;Z=Z<<1;do{if((aa|0)==0){aa=0;za=0}else{if((_|0)<0){_=_+1|0;za=0;break}za=(d[aa]|0)>>>$&1;_=_+1|0;if((_|0)==(c[w>>2]|0)){aa=0;break}if(($|0)==0){$=7;aa=aa+1|0;break}else{$=$+ -1|0;break}}}while(0);Z=za|Z&6;ba=ba<<1;do{if((ka|0)==0){ka=0;za=0}else{if((ga|0)<0){ga=ga+1|0;za=0;break}za=(d[ka]|0)>>>ia&1;ga=ga+1|0;if((ga|0)==(c[w>>2]|0)){ka=0;break}if((ia|0)==0){ia=7;ka=ka+1|0;break}else{ia=ia+ -1|0;break}}}while(0);ba=za|ba&6;do{if(h){ya=ya<<1;do{if((ta|0)==0){ta=0;za=0}else{if((va|0)<0){va=va+1|0;za=0;break}za=(d[ta]|0)>>>ua&1;va=va+1|0;if((va|0)==(c[w>>2]|0)){ta=0;break}if((ua|0)==0){ua=7;ta=ta+1|0;break}else{ua=ua+ -1|0;break}}}while(0);ya=za|ya&6;xa=xa<<1;do{if((qa|0)==0){qa=0;za=0}else{if((sa|0)<0){sa=sa+1|0;za=0;break}za=(d[qa]|0)>>>ra&1;sa=sa+1|0;if((sa|0)==(c[w>>2]|0)){qa=0;break}if((ra|0)==0){ra=7;qa=qa+1|0;break}else{ra=ra+ -1|0;break}}}while(0);xa=za|xa&6;wa=wa<<1;do{if((ha|0)==0){ha=0;za=0}else{if((oa|0)<0){oa=oa+1|0;za=0;break}za=(d[ha]|0)>>>la&1;oa=oa+1|0;if((oa|0)==(c[w>>2]|0)){ha=0;break}if((la|0)==0){la=7;ha=ha+1|0;break}else{la=la+ -1|0;break}}}while(0);wa=za|wa&6;II(c[j>>2]|0,y,c[K>>2]|0)|0;if((xa|ya|wa|0)==0){Fa=(da(c[s>>2]|0,N)|0)+(na>>3)|0;Fa=(c[u>>2]|0)+Fa|0;a[Fa]=(d[Fa]|0)&32639>>>(na&7);break}if(!((ya|0)==7&(xa|0)==7&(wa|0)==7)){p=398;break}ya=(da(c[s>>2]|0,N)|0)+(na>>3)|0;ya=(c[u>>2]|0)+ya|0;a[ya]=d[ya]|0|1<<(na&7^7);ya=7;xa=7;wa=7}else{p=398}}while(0);do{if((p|0)==398){p=0;za=O<<11;do{if((U|0)==0){U=0;Aa=0}else{if((S|0)<0){S=S+1|0;Aa=0;break}Aa=(d[U]|0)>>>T&1;S=S+1|0;if((S|0)==(c[q>>2]|0)){U=0;break}if((T|0)==0){T=7;U=U+1|0;break}else{T=T+ -1|0;break}}}while(0);Aa=Aa<<10;Da=V<<8;Ba=Z<<5;Ca=ba<<2;do{if((ja|0)==0){ja=0;Ea=0}else{if((pa|0)<0){pa=pa+1|0;Ea=0;break}Ea=(d[ja]|0)>>>ma&1;pa=pa+1|0;if((pa|0)==(c[q>>2]|0)){ja=0;break}if((ma|0)==0){ma=7;ja=ja+1|0;break}else{ma=ma+ -1|0;break}}}while(0);Ea=Ea<<1;do{if((ca|0)==0){ca=0;Fa=0}else{if((fa|0)<0){fa=fa+1|0;Fa=0;break}Fa=(d[ca]|0)>>>ea&1;fa=fa+1|0;if((fa|0)==(c[w>>2]|0)){ca=0;break}if((ea|0)==0){ea=7;ca=ca+1|0;break}else{ea=ea+ -1|0;break}}}while(0);if((II(c[j>>2]|0,Da|za|Ba|Ca|Aa|Ea|Fa,c[K>>2]|0)|0)==0){break}Fa=(da(c[s>>2]|0,N)|0)+(na>>3)|0;Fa=(c[u>>2]|0)+Fa|0;a[Fa]=d[Fa]|0|1<<(na&7^7)}}while(0);na=na+1|0;}while((na|0)<(e|0))}}while(0);N=N+1|0;}while((N|0)<(f|0));i=o;return t|0}}while(0);do{if((p|0)==5){Qe(-1,177872,v);c[t+20>>2]=0;if((t|0)==0){t=0}else{break}i=o;return t|0}}while(0);fd[c[(c[t>>2]|0)+4>>2]&511](t);Fa=0;i=o;return Fa|0}function yD(b,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;u=u|0;v=v|0;w=w|0;x=x|0;y=y|0;z=z|0;A=A|0;B=B|0;C=C|0;D=D|0;var E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0;E=i;V=i;i=i+8|0;ba=i;i=i+8|0;J=i;i=i+8|0;Z=J;I=i;i=i+8|0;H=I;F=i;i=i+8|0;G=F;X=i;i=i+8|0;W=X;L=i;i=i+8|0;T=L;M=i;i=i+8|0;S=M;N=i;i=i+8|0;R=N;O=i;i=i+8|0;Q=O;K=i;i=i+8|0;U=K;P=i;i=i+8|0;ja=1<<j;Y=FW(24)|0;c[Y+4>>2]=0;c[Y>>2]=177856;c[Y+8>>2]=f;$=Y+12|0;c[$>>2]=g;aa=f+7>>3;_=Y+16|0;c[_>>2]=aa;do{if((f|0)<1){qa=5}else{if((g|0)<1|(aa|0)<1){qa=5;break}if((2147483646/(aa|0)|0|0)<=(g|0)){qa=5;break}wa=we((da(aa,g)|0)+1|0)|0;f=Y+20|0;c[f>>2]=wa;a[wa+(da(c[_>>2]|0,c[$>>2]|0)|0)|0]=0;f=c[f>>2]|0;if((f|0)==0){break}_=da(c[_>>2]|0,c[$>>2]|0)|0;if((o|0)==0){bX(f|0,0,_|0)|0}else{bX(f|0,-1,_|0)|0}if(d){NC(c[b+144>>2]|0,Z,v)|0}else{JI(c[b+76>>2]|0,Z,c[b+104>>2]|0)|0}c[J>>2]=da(c[J>>2]|0,0-ja|0)|0;if((h|0)==0){wa=Y;i=E;return wa|0}ca=b+144|0;fa=(ja|0)==1;Z=(l|0)==0;ba=(m|0)==32;g=(1<<m)+ -1|0;ea=b+76|0;aa=b+128|0;_=b+132|0;$=b+120|0;f=b+124|0;o=b+136|0;ha=(q|0)==0;q=b+116|0;ga=b+64|0;ia=b+140|0;ma=(j|0)==32?-1:ja+ -1|0;ka=b+108|0;ja=b+104|0;la=b+112|0;oa=0;na=0;a:while(1){if(d){NC(c[ca>>2]|0,H,v)|0;c[J>>2]=(c[J>>2]|0)+(c[I>>2]<<j);NC(c[ca>>2]|0,G,t)|0}else{JI(c[ea>>2]|0,H,c[ja>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+(c[I>>2]<<j);JI(c[ea>>2]|0,G,c[la>>2]|0)|0}na=(c[F>>2]|0)+na|0;b:do{if(oa>>>0<h>>>0){pa=na;while(1){do{if(fa){ta=0;qa=30}else{if(!d){JI(c[ea>>2]|0,H,c[ka>>2]|0)|0;ra=(c[I>>2]|0)+(c[J>>2]|0)|0;qa=40;break}ra=c[ca>>2]|0;sa=ra+8|0;ua=c[sa>>2]|0;qa=ra+4|0;ta=c[qa>>2]|0;if(ua>>>0>=j>>>0){qa=ua-j|0;ra=ta>>>qa&ma;c[sa>>2]=qa;c[I>>2]=ra;ra=(c[J>>2]|0)+ra|0;qa=31;break}ta=(1<<ua)+ -1&ta;ua=j-ua|0;c[sa>>2]=0;if(ua>>>0>7){while(1){wa=c[ra>>2]|0;ta=(jd[c[(c[wa>>2]|0)+20>>2]&511](wa)|0)&255|ta<<8;ua=ua+ -8|0;if(ua>>>0>7){}else{break}}}if((ua|0)==0){qa=30;break}wa=c[ra>>2]|0;wa=jd[c[(c[wa>>2]|0)+20>>2]&511](wa)|0;c[qa>>2]=wa;qa=8-ua|0;c[sa>>2]=qa;ta=wa>>>qa&(1<<ua)+ -1|ta<<ua;qa=30}}while(0);if((qa|0)==30){c[I>>2]=ta;ra=(c[J>>2]|0)+ta|0;if(d){qa=31}else{qa=40}}do{if((qa|0)==31){qa=0;ta=c[ca>>2]|0;if(!Z){NC(ta,W,l)|0;sa=c[X>>2]|0;break}sa=ta+8|0;va=c[sa>>2]|0;ua=ta+4|0;wa=c[ua>>2]|0;if(va>>>0>=m>>>0){va=va-m|0;c[sa>>2]=va;sa=wa>>>va&(ba?-1:g);break}wa=(1<<va)+ -1&wa;va=m-va|0;c[sa>>2]=0;if(va>>>0>7){while(1){xa=c[ta>>2]|0;wa=(jd[c[(c[xa>>2]|0)+20>>2]&511](xa)|0)&255|wa<<8;va=va+ -8|0;if(va>>>0>7){}else{break}}}if((va|0)==0){sa=wa;break}ta=c[ta>>2]|0;ta=jd[c[(c[ta>>2]|0)+20>>2]&511](ta)|0;c[ua>>2]=ta;xa=8-va|0;c[sa>>2]=xa;sa=ta>>>xa&(1<<va)+ -1|wa<<va}else if((qa|0)==40){qa=0;sa=KI(c[ea>>2]|0,m,c[ia>>2]|0)|0}}while(0);do{if(sa>>>0<k>>>0){do{if(e){if(d){ua=c[ca>>2]|0;ta=ua+8|0;va=c[ta>>2]|0;if((va|0)==0){va=c[ua>>2]|0;va=jd[c[(c[va>>2]|0)+20>>2]&511](va)|0;c[ua+4>>2]=va;c[ta>>2]=8;ua=va;va=7}else{ua=c[ua+4>>2]|0;va=va+ -1|0}c[ta>>2]=va;ta=ua>>>va&1;c[K>>2]=ta}else{JI(c[ea>>2]|0,U,c[o>>2]|0)|0;ta=c[K>>2]|0}if((ta|0)==0){qa=64;break}if(d){xa=NC(c[ca>>2]|0,T,w)|0;ta=c[ca>>2]|0;if(!xa){qa=82;break a}xa=NC(ta,S,x)|0;ta=c[ca>>2]|0;if(!xa){qa=81;break a}xa=NC(ta,R,y)|0;ta=c[ca>>2]|0;if(!xa){qa=80;break a}xa=NC(ta,Q,z)|0;ta=c[ca>>2]|0;if(!xa){qa=79;break a}xa=NC(ta,P,A)|0;wa=c[ca>>2]|0;c[wa+4>>2]=0;c[wa+8>>2]=0;FI(c[ea>>2]|0);if(!xa){break a}}else{if(!(JI(c[ea>>2]|0,T,c[aa>>2]|0)|0)){break a}if(!(JI(c[ea>>2]|0,S,c[_>>2]|0)|0)){break a}if(!(JI(c[ea>>2]|0,R,c[$>>2]|0)|0)){break a}if(!(JI(c[ea>>2]|0,Q,c[f>>2]|0)|0)){break a}}sa=c[n+(sa<<2)>>2]|0;if((sa|0)==0){break a}wa=c[L>>2]|0;xa=c[M>>2]|0;sa=xD(b,(c[sa+8>>2]|0)+wa|0,(c[sa+12>>2]|0)+xa|0,B,0,sa,(c[N>>2]|0)+(((wa>>31)+wa|0)/2|0)|0,(c[O>>2]|0)+(((xa>>31)+xa|0)/2|0)|0,C,D)|0}else{c[K>>2]=0;qa=64}}while(0);if((qa|0)==64){qa=0;sa=c[n+(sa<<2)>>2]|0}if((sa|0)==0){break a}ta=(c[sa+8>>2]|0)+ -1|0;qa=(c[sa+12>>2]|0)+ -1|0;do{if(ha){if((r|0)==1){WC(Y,sa,pa,ra,p);qa=ta;break}else if((r|0)==0){WC(Y,sa,pa,ra-qa|0,p);qa=ta;break}else if((r|0)==3){WC(Y,sa,pa,ra,p);qa=ta;break}else if((r|0)==2){WC(Y,sa,pa,ra-qa|0,p);qa=ta;break}else{qa=ta;break}}else{if((r|0)==3){WC(Y,sa,ra-ta|0,pa,p);break}else if((r|0)==2){WC(Y,sa,ra-ta|0,pa,p);break}else if((r|0)==1){WC(Y,sa,ra,pa,p);break}else if((r|0)==0){WC(Y,sa,ra,pa,p);break}else{break}}}while(0);pa=qa+pa|0;if((c[K>>2]|0)==0){break}fd[c[(c[sa>>2]|0)+4>>2]&511](sa)}else{xa=c[ga>>2]|0;Qe(jd[c[(c[xa>>2]|0)+48>>2]&511](xa)|0,181960,V)}}while(0);oa=oa+1|0;if(d){if(!(NC(c[ca>>2]|0,G,u)|0)){break b}}else{if(!(JI(c[ea>>2]|0,G,c[q>>2]|0)|0)){break b}}if(oa>>>0<h>>>0){pa=pa+s+(c[F>>2]|0)|0}else{break}}}}while(0);if(oa>>>0>=h>>>0){qa=89;break}}if((qa|0)==79){c[ta+4>>2]=0;c[ta+8>>2]=0;FI(c[ea>>2]|0)}else if((qa|0)==80){c[ta+4>>2]=0;c[ta+8>>2]=0;FI(c[ea>>2]|0)}else if((qa|0)==81){c[ta+4>>2]=0;c[ta+8>>2]=0;FI(c[ea>>2]|0)}else if((qa|0)==82){c[ta+4>>2]=0;c[ta+8>>2]=0;FI(c[ea>>2]|0)}else if((qa|0)==89){i=E;return Y|0}if((Y|0)==0){xa=0;i=E;return xa|0}fd[c[(c[Y>>2]|0)+4>>2]&511](Y);xa=0;i=E;return xa|0}}while(0);do{if((qa|0)==5){Qe(-1,177872,ba);c[Y+20>>2]=0;if((Y|0)==0){Y=0}else{break}i=E;return Y|0}}while(0);fd[c[(c[Y>>2]|0)+4>>2]&511](Y);xa=0;i=E;return xa|0}
function ZR(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;h=i;g=i;i=i+8|0;q=g;j=i;i=i+8|0;k=i;i=i+8|0;l=k;f=c[d+28>>2]|0;m=c[a+712>>2]|0;if((m|0)==0){c[g>>2]=0;B=0;A=0;z=0;lJ(f,z);lJ(f,A);lJ(f,B);B=g;B=c[B>>2]|0;i=h;return B|0}n=a+672|0;if((c[n>>2]|0)==0){c[g>>2]=0;B=0;A=0;z=0;lJ(f,z);lJ(f,A);lJ(f,B);B=g;B=c[B>>2]|0;i=h;return B|0}B=pd[c[a+508>>2]&63](a,1668702578,d,j)|0;c[g>>2]=B;if((B|0)!=0){c[g>>2]=0;B=0;A=0;z=0;lJ(f,z);lJ(f,A);lJ(f,B);B=g;B=c[B>>2]|0;i=h;return B|0}B=MK(d,c[j>>2]|0)|0;c[g>>2]=B;if((B|0)!=0){c[g>>2]=0;B=0;A=0;z=0;lJ(f,z);lJ(f,A);lJ(f,B);B=g;B=c[B>>2]|0;i=h;return B|0}p=d+32|0;u=(c[p>>2]|0)-(c[d>>2]|0)|0;do{if((TK(d)|0)==65536){j=oJ(f,4,0,c[m>>2]|0,0,q)|0;if((c[g>>2]|0)!=0){r=0;o=0;break}o=oJ(f,4,0,c[m>>2]|0,0,q)|0;if((c[g>>2]|0)!=0){r=0;break}r=oJ(f,4,0,c[m>>2]|0,0,q)|0;if((c[g>>2]|0)!=0){break}q=(RK(d)|0)&65535;v=RK(d)|0;q=q&4095;if((q|0)==0){break}a=a+668|0;s=0;v=u+(v&65535)|0;while(1){u=(RK(d)|0)&65535;w=RK(d)|0;x=w&65535;do{if((x&32768|0)==0){if((x&16384|0)==0){break}if((c[m>>2]&2147483647|0)==0){break}else{w=0}do{RK(d)|0;w=w+1|0;}while(w>>>0<c[m>>2]<<1>>>0)}else{if((c[m>>2]|0)==0){z=0}else{y=0;while(1){c[j+(y<<2)>>2]=(RK(d)|0)<<16>>16<<2;y=y+1|0;z=c[m>>2]|0;if(y>>>0<z>>>0){}else{break}}}do{if(!((x&16384|0)==0|(z|0)==0)){z=0;do{c[o+(z<<2)>>2]=(RK(d)|0)<<16>>16<<2;z=z+1|0;y=c[m>>2]|0;}while(z>>>0<y>>>0);if((y|0)==0){break}else{y=0}do{c[r+(y<<2)>>2]=(RK(d)|0)<<16>>16<<2;y=y+1|0;}while(y>>>0<(c[m>>2]|0)>>>0)}}while(0);w=_R(m,w,j,o,r)|0;if((w|0)==0){break}if((x&8192|0)==0){break}x=c[d>>2]|0;y=(c[p>>2]|0)-x|0;c[p>>2]=x+v;x=$R(d,l)|0;A=c[k>>2]|0;B=(A|0)==0;if(B){z=c[a>>2]|0}else{z=A}z=aS(d,z)|0;do{if((x|0)==0|(z|0)==0){t=36}else{if((x|0)==-1){if((c[a>>2]|0)==0){break}else{t=0}while(1){B=e[(c[n>>2]|0)+(t<<1)>>1]|0;B=(aJ(b[z+(t<<1)>>1]|0,w)|0)+B&65535;b[(c[n>>2]|0)+(t<<1)>>1]=B;t=t+1|0;if(t>>>0<(c[a>>2]|0)>>>0){}else{t=36;break}}}else{if(B){t=37;break}else{t=0}while(1){B=e[x+(t<<1)>>1]|0;C=e[(c[n>>2]|0)+(B<<1)>>1]|0;C=(aJ(b[z+(t<<1)>>1]|0,w)|0)+C&65535;b[(c[n>>2]|0)+(B<<1)>>1]=C;t=t+1|0;if(t>>>0<A>>>0){}else{t=36;break}}}}}while(0);if((t|0)==36){t=0;if((x|0)!=-1){t=37}}if((t|0)==37){t=0;lJ(f,x)}lJ(f,z);c[p>>2]=(c[d>>2]|0)+y}}while(0);s=s+1|0;if(s>>>0<q>>>0){v=u+v|0}else{break}}}else{c[g>>2]=0;r=0;o=0;j=0}}while(0);PK(d);C=r;B=o;A=j;lJ(f,A);lJ(f,B);lJ(f,C);C=g;C=c[C>>2]|0;i=h;return C|0}function _R(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;g=a+4|0;n=c[a>>2]|0;if((n|0)==0){o=65536;i=h;return o|0}if((b&16384)==0){b=65536;l=0;while(1){m=c[d+(l<<2)>>2]|0;if((m|0)!=0){n=c[(c[g>>2]|0)+(l<<2)>>2]|0;if((n|0)==0){b=0;l=19;break}if((n|0)<0&(m|0)>0){b=0;l=19;break}o=(n|0)>0;if(o&(m|0)<0){b=0;l=19;break}b=_I(b,o?n:0-n|0,65536)|0;n=c[a>>2]|0}l=l+1|0;if(l>>>0>=n>>>0){l=19;break}}if((l|0)==19){i=h;return b|0}}else{k=65536;j=0}a:while(1){m=c[d+(j<<2)>>2]|0;do{if((m|0)!=0){l=c[(c[g>>2]|0)+(j<<2)>>2]|0;if((l|0)==0){b=0;l=19;break a}if((l|0)<0&(m|0)>0){b=0;l=19;break a}if((l|0)>0&(m|0)<0){b=0;l=19;break a}b=c[e+(j<<2)>>2]|0;if((l|0)<=(b|0)){b=0;l=19;break a}n=c[f+(j<<2)>>2]|0;if((l|0)>=(n|0)){b=0;l=19;break a}if((l|0)<(m|0)){k=_I(k,_I(l-b|0,65536,m-b|0)|0,65536)|0;break}else{k=_I(k,_I(n-l|0,65536,n-m|0)|0,65536)|0;break}}}while(0);j=j+1|0;if(j>>>0>=(c[a>>2]|0)>>>0){b=k;l=19;break}}if((l|0)==19){i=h;return b|0}return 0}function $R(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;h=i;i=i+8|0;g=c[a+28>>2]|0;c[h>>2]=0;m=QK(a)|0;f=m&255;c[d>>2]=f;if(m<<24>>24==0){m=-1;i=e;return m|0}if((f&128|0)!=0){f=(QK(a)|0)&255|f<<8&32512}g=oJ(g,2,0,f,0,h)|0;if((c[h>>2]|0)!=0){m=0;i=e;return m|0}if((f|0)>0){j=0}else{m=g;i=e;return m|0}while(1){k=QK(a)|0;h=k&255;if((h&128|0)==0){l=QK(a)|0;d=j+1|0;b[g+(j<<1)>>1]=l&255;if(k<<24>>24==0){a=18;break}if((h+d|0)>=(f|0)){a=18;break}j=h>>>0>1?h:1;l=l&255;k=d;m=0;while(1){l=((QK(a)|0)&255)+l|0;b[g+(k<<1)>>1]=l;m=m+1|0;if((m|0)<(h|0)){k=k+1|0}else{break}}j=d+j|0}else{h=h&127;l=RK(a)|0;d=j+1|0;b[g+(j<<1)>>1]=l;if((h|0)==0){a=18;break}if((h+d|0)>=(f|0)){a=18;break}j=k&127;j=j>>>0>1?j:1;m=l&65535;k=d;l=0;while(1){m=((RK(a)|0)&65535)+m|0;b[g+(k<<1)>>1]=m;l=l+1|0;if((l|0)<(h|0)){k=k+1|0}else{break}}j=d+j|0}if((j|0)>=(f|0)){a=18;break}}if((a|0)==18){i=e;return g|0}return 0}function aS(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;q=i;i=i+8|0;k=c[a+28>>2]|0;c[q>>2]=0;h=oJ(k,2,0,d,0,q)|0;if((c[q>>2]|0)==0){g=0}else{q=0;i=e;return q|0}while(1){if(g>>>0>=d>>>0){f=10;break}n=QK(a)|0;j=n&255;if((j&128|0)==0){l=j&63;m=g-d|0;n=~(n&63);m=m>>>0>n>>>0?m:n;n=0-m|0;if((j&64|0)==0){q=g;p=0;while(1){o=q+1|0;b[h+(q<<1)>>1]=(QK(a)|0)<<24>>24;p=p+1|0;if(p>>>0<=l>>>0&o>>>0<d>>>0){q=o}else{break}}}else{p=g;q=0;while(1){o=p+1|0;b[h+(p<<1)>>1]=RK(a)|0;q=q+1|0;if(q>>>0<=l>>>0&o>>>0<d>>>0){p=o}else{break}}}}else{l=g-d|0;m=~(n&63);m=l>>>0>m>>>0?l:m;bX(h+(g<<1)|0,0,da(m,-2)|0)|0;n=0-m|0}if(n>>>0>(j&63)>>>0){g=g-m|0}else{break}}if((f|0)==10){i=e;return h|0}lJ(k,h);q=0;i=e;return q|0}function bS(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;g=d+72|0;f=d+108|0;a[f]=0;l=c[d>>2]|0;k=d+44|0;$W(k|0,d+12|0,28)|0;j=b[k>>1]|0;if(j<<16>>16==0){n=151;i=h;return n|0}n=d+46|0;m=b[n>>1]|0;if(m<<16>>16==0){n=151;i=h;return n|0}if((b[l+176>>1]&8)!=0){o=l+68|0;m=d+48|0;c[m>>2]=bJ((j&65535)<<6,e[o>>1]|0)|0;o=bJ(e[n>>1]<<6,e[o>>1]|0)|0;j=d+52|0;c[j>>2]=o;c[d+56>>2]=(aJ(b[l+70>>1]|0,o)|0)+32&-64;c[d+60>>2]=(aJ(b[l+72>>1]|0,c[j>>2]|0)|0)+32&-64;c[d+64>>2]=(aJ(b[l+74>>1]|0,c[j>>2]|0)|0)+32&-64;c[d+68>>2]=(aJ(b[l+76>>1]|0,c[m>>2]|0)|0)+32&-64;m=b[n>>1]|0;j=b[k>>1]|0}if((j&65535)<(m&65535)){c[d+88>>2]=c[d+52>>2];b[d+80>>1]=m;c[g>>2]=_I(j&65535,65536,m&65535)|0;c[d+76>>2]=65536}else{c[d+88>>2]=c[d+48>>2];b[d+80>>1]=j;c[g>>2]=65536;c[d+76>>2]=_I(m&65535,65536,j&65535)|0}a[d+301|0]=0;a[f]=1;o=0;i=h;return o|0}function cS(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;j=i;r=i;i=i+8|0;s=r;q=i;i=i+8|0;t=q;z=i;i=i+8|0;B=z;O=i;i=i+16|0;N=O;v=i;i=i+16|0;u=v;C=i;i=i+8|0;K=C;H=i;i=i+8|0;P=H;m=i;i=i+8|0;L=m;M=i;i=i+8|0;J=M;F=i;i=i+8|0;I=F;n=i;i=i+40|0;w=n;x=i;i=i+8|0;k=x;G=c[d>>2]|0;p=d+12|0;y=c[p>>2]|0;c[F>>2]=0;do{if(g>>>0>1){if((e[G+290>>1]|0)>>>0<g>>>0){k=21}else{break}i=j;return k|0}}while(0);if((c[G+16>>2]|0)>>>0<=f>>>0){_=16;i=j;return _|0}A=d+20|0;c[A>>2]=f;o=d+16|0;Q=c[o>>2]|0;if((Q&1|0)==0){D=c[d+4>>2]|0;E=c[D+48>>2]|0;D=c[D+52>>2]|0}else{E=65536;D=65536}b[C>>1]=0;b[H>>1]=0;b[m>>1]=0;b[M>>1]=0;R=G+532|0;Cd[c[(c[R>>2]|0)+156>>2]&63](G,0,f,K,L)|0;do{if((Q&512|0)==0){if((c[G+480>>2]|0)==0){break}b[m>>1]=b[G+226>>1]|0}}while(0);if((a[G+296|0]|0)==0){b[H>>1]=0;L=b[G+68>>1]|0;b[M>>1]=L;K=0}else{Cd[c[(c[R>>2]|0)+156>>2]&63](G,1,f,P,J)|0;L=b[M>>1]|0;K=b[H>>1]|0}H=d+52|0;c[H>>2]=b[C>>1]|0;m=e[m>>1]|0;J=d+56|0;c[J>>2]=m;C=d+176|0;c[C>>2]=K;K=d+180|0;c[K>>2]=L&65535;M=d+64|0;if((a[M]|0)==0){a[M]=1;c[d+60>>2]=m}m=G+128|0;L=c[(c[m>>2]|0)+52>>2]|0;do{if((L|0)==0){n=0;w=dS(G,f,d+28|0)|0}else{L=sd[c[c[L>>2]>>2]&127](c[L+4>>2]|0,f,k)|0;if((L|0)==0){_=c[k+4>>2]|0;c[d+28>>2]=_;bX(n|0,0,40)|0;yJ(w,c[x>>2]|0,_);c[d+24>>2]=w;n=1;w=0;break}else{_=L;i=j;return _|0}}}while(0);x=d+28|0;P=c[x>>2]|0;do{if((P|0)>0){L=c[d+84>>2]|0;if((L|0)==0){if((c[(c[m>>2]|0)+52>>2]|0)==0){g=8;break}}w=pd[c[G+512>>2]&63](d,f,L+w|0,P)|0;if((w|0)!=0){g=w;break}l=jd[c[G+520>>2]&511](d)|0;if(!((l|0)==0&h<<24>>24==0)){g=l;l=120;break}P=c[x>>2]|0;L=1;l=24}else{L=0;l=24}}while(0);a:do{if((l|0)==24){do{if((P|0)==0){l=26}else{T=d+32|0;if((b[T>>1]|0)==0){l=26;break}W=c[H>>2]|0;R=(c[d+36>>2]|0)-W|0;v=d+68|0;c[v>>2]=R;S=d+72|0;c[S>>2]=0;U=c[J>>2]|0;w=d+76|0;c[w>>2]=U+R;R=d+80|0;c[R>>2]=0;h=d+184|0;c[h>>2]=0;V=(c[d+48>>2]|0)+(c[C>>2]|0)|0;Q=d+188|0;c[Q>>2]=V;u=d+192|0;c[u>>2]=0;P=d+196|0;c[P>>2]=V-(c[K>>2]|0);V=(c[d>>2]|0)+128|0;X=c[(c[V>>2]|0)+52>>2]|0;do{if((X|0)!=0){if((c[(c[X>>2]|0)+8>>2]|0)==0){break}c[O>>2]=W;c[N+4>>2]=0;W=N+8|0;c[W>>2]=U;c[N+12>>2]=0;_=c[(c[V>>2]|0)+52>>2]|0;if((pd[c[(c[_>>2]|0)+8>>2]&63](c[_+4>>2]|0,f,0,N)|0)!=0){break}_=c[W>>2]|0;c[H>>2]=c[O>>2]<<16>>16;H=_&65535;c[J>>2]=H;c[C>>2]=0;c[K>>2]=0;if((a[M]|0)!=0){break}a[M]=1;c[d+60>>2]=H}}while(0);C=b[T>>1]|0;if(C<<16>>16>0){g=jd[c[G+524>>2]&511](d)|0;if((g|0)!=0){break}fd[c[G+516>>2]&511](d);C=c[p>>2]|0;E=C+58|0;t=b[E>>1]|0;s=C+60|0;x=v;H=c[x+4>>2]|0;r=(c[s>>2]|0)+(t<<3)|0;c[r>>2]=c[x>>2];c[r+4>>2]=H;r=t+1|0;H=w;x=c[H+4>>2]|0;q=(c[s>>2]|0)+(r<<3)|0;c[q>>2]=c[H>>2];c[q+4>>2]=x;q=t+2|0;x=h;H=c[x+4>>2]|0;p=(c[s>>2]|0)+(q<<3)|0;c[p>>2]=c[x>>2];c[p+4>>2]=H;p=t+3|0;H=u;x=c[H+4>>2]|0;D=(c[s>>2]|0)+(p<<3)|0;c[D>>2]=c[H>>2];c[D+4>>2]=x;D=C+64|0;a[(c[D>>2]|0)+t|0]=0;a[(c[D>>2]|0)+r|0]=0;a[(c[D>>2]|0)+q|0]=0;a[(c[D>>2]|0)+p|0]=0;x=t+4|0;H=c[d>>2]|0;G=a[H+708|0]|0;if(G<<24>>24!=0){F=c[H+100>>2]|0;g=eS(c[H+104>>2]|0,G,c[H+712>>2]|0,c[A>>2]|0,B,x)|0;if((g|0)!=0){break a}A=c[z>>2]|0;if((x|0)>0){B=0;do{_=(c[s>>2]|0)+(B<<3)|0;c[_>>2]=(c[_>>2]|0)+(c[A+(B<<3)>>2]|0);_=(c[s>>2]|0)+(B<<3)+4|0;c[_>>2]=(c[_>>2]|0)+(c[A+(B<<3)+4>>2]|0);B=B+1|0;}while((B|0)<(x|0))}lJ(F,A);c[z>>2]=0}z=c[o>>2]|0;if((z&2|0)==0){z=b[E>>1]|0;b[d+132>>1]=z;b[d+134>>1]=b[C+56>>1]|0;c[d+136>>2]=c[C+76>>2];_=c[s>>2]|0;c[d+140>>2]=_;Z=c[C+80>>2]|0;c[d+144>>2]=Z;c[d+148>>2]=c[D>>2];c[d+152>>2]=c[C+68>>2];b[d+156>>1]=0;$W(Z|0,_|0,((z&65535)<<3)+32|0)|0;z=c[o>>2]|0}if((z&1|0)==0){D=c[s>>2]|0;C=D+(x<<3)|0;B=c[d+4>>2]|0;A=c[B+48>>2]|0;B=c[B+52>>2]|0;if((x|0)>0){do{c[D>>2]=aJ(c[D>>2]|0,A)|0;_=D+4|0;c[_>>2]=aJ(c[_>>2]|0,B)|0;D=D+8|0;}while(D>>>0<C>>>0);D=c[s>>2]|0;z=c[o>>2]|0}_=D+(t<<3)|0;Z=c[_+4>>2]|0;Y=v;c[Y>>2]=c[_>>2];c[Y+4>>2]=Z;Y=(c[s>>2]|0)+(r<<3)|0;Z=c[Y+4>>2]|0;_=w;c[_>>2]=c[Y>>2];c[_+4>>2]=Z;_=(c[s>>2]|0)+(q<<3)|0;Z=c[_+4>>2]|0;Y=h;c[Y>>2]=c[_>>2];c[Y+4>>2]=Z;Y=(c[s>>2]|0)+(p<<3)|0;Z=c[Y+4>>2]|0;_=u;c[_>>2]=c[Y>>2];c[_+4>>2]=Z}if((z&2|0)==0){g=d+132|0;b[g>>1]=(b[g>>1]|0)+4<<16>>16;g=fS(d,0)|0;if((g|0)!=0){break a}}sJ(y);g=0;break a}if(C<<16>>16!=-1){g=20;break}K=y+22|0;B=b[K>>1]|0;z=B<<16>>16;C=b[y+20>>1]|0;A=C<<16>>16;H=jd[c[G+528>>2]&511](d)|0;if((H|0)!=0){g=H;break}H=d+168|0;J=c[H>>2]|0;fd[c[G+516>>2]&511](d);N=a[G+708|0]|0;if(N<<24>>24!=0){L=c[G+100>>2]|0;M=y+84|0;G=eS(c[G+104>>2]|0,N,c[G+712>>2]|0,f,I,(c[M>>2]|0)+4|0)|0;if((G|0)!=0){g=G;break a}I=c[M>>2]|0;if((I|0)>0){f=0;G=(c[y+88>>2]|0)+(c[y+48>>2]<<5)|0;while(1){if((b[G+4>>1]&2)!=0){_=G+8|0;c[_>>2]=(c[(c[F>>2]|0)+(f<<3)>>2]<<16>>16)+(c[_>>2]|0);_=G+12|0;c[_>>2]=(c[(c[F>>2]|0)+(f<<3)+4>>2]<<16>>16)+(c[_>>2]|0)}f=f+1|0;if((f|0)<(I|0)){G=G+32|0}else{break}}}else{I=0}_=c[F>>2]|0;c[v>>2]=(c[v>>2]|0)+(c[_+(I<<3)>>2]|0);c[S>>2]=(c[S>>2]|0)+(c[_+(I<<3)+4>>2]|0);Z=I+1|0;c[w>>2]=(c[w>>2]|0)+(c[_+(Z<<3)>>2]|0);c[R>>2]=(c[R>>2]|0)+(c[_+(Z<<3)+4>>2]|0);Z=I+2|0;c[h>>2]=(c[h>>2]|0)+(c[_+(Z<<3)>>2]|0);c[Q>>2]=(c[Q>>2]|0)+(c[_+(Z<<3)+4>>2]|0);Z=I+3|0;c[u>>2]=(c[u>>2]|0)+(c[_+(Z<<3)>>2]|0);c[P>>2]=(c[P>>2]|0)+(c[_+(Z<<3)+4>>2]|0);lJ(L,_);c[F>>2]=0}F=c[o>>2]|0;if((F&1|0)==0){c[v>>2]=aJ(c[v>>2]|0,E)|0;c[w>>2]=aJ(c[w>>2]|0,E)|0;c[Q>>2]=aJ(c[Q>>2]|0,D)|0;c[P>>2]=aJ(c[P>>2]|0,D)|0;F=c[o>>2]|0}if((F&1024|0)!=0){sJ(y);c[(c[d+8>>2]|0)+72>>2]=1668246896;g=0;break a}G=c[y+84>>2]|0;I=c[y+48>>2]|0;D=d+24|0;F=c[D>>2]|0;E=c[x>>2]|0;sJ(y);if((G|0)==0){P=z;g=0}else{y=y+52|0;L=g+1|0;f=d+4|0;N=0;do{U=N+I|0;Z=v;P=c[Z>>2]|0;Z=c[Z+4>>2]|0;Y=w;S=c[Y>>2]|0;Y=c[Y+4>>2]|0;X=h;Q=c[X>>2]|0;X=c[X+4>>2]|0;T=u;W=c[T>>2]|0;T=c[T+4>>2]|0;O=b[K>>1]|0;M=O<<16>>16;g=cS(d,c[(c[y>>2]|0)+(U<<5)>>2]|0,L,0)|0;if((g|0)!=0){break a}V=c[y>>2]|0;g=V+(U<<5)|0;R=V+(U<<5)+4|0;if((b[R>>1]&512)==0){_=v;c[_>>2]=P;c[_+4>>2]=Z;_=w;c[_>>2]=S;c[_+4>>2]=Y;_=h;c[_>>2]=Q;c[_+4>>2]=X;_=u;c[_>>2]=W;c[_+4>>2]=T}_=b[K>>1]|0;P=_<<16>>16;b:do{if(_<<16>>16!=O<<16>>16){S=c[p>>2]|0;W=S+24|0;Q=c[W>>2]|0;S=b[S+22>>1]|0;T=S<<16>>16;Z=b[R>>1]|0;X=(Z&200)==0;if((S&65535)>(O&65535)&(X^1)){Z=V+(U<<5)+16|0;Y=M;do{IJ(Q+(Y<<3)|0,Z);Y=Y+1|0;}while(Y>>>0<T>>>0);Z=b[R>>1]|0}_=c[V+(U<<5)+8>>2]|0;Y=c[V+(U<<5)+12>>2]|0;do{if((Z&2)==0){U=_+z|0;V=Y+M|0;if(!(U>>>0<M>>>0&V>>>0<T>>>0)){break b}Y=c[W>>2]|0;R=(c[Y+(U<<3)>>2]|0)-(c[Y+(V<<3)>>2]|0)|0;Y=(c[Y+(U<<3)+4>>2]|0)-(c[Y+(V<<3)+4>>2]|0)|0}else{if((Y|_|0)==0){break b}do{if(!X){if((Z&2048)==0){break}X=c[V+(U<<5)+16>>2]|0;X=aJ(X,X)|0;Z=c[V+(U<<5)+20>>2]|0;X=fJ((aJ(Z,Z)|0)+X|0)|0;Z=c[V+(U<<5)+28>>2]|0;Z=aJ(Z,Z)|0;W=c[V+(U<<5)+24>>2]|0;Z=fJ((aJ(W,W)|0)+Z|0)|0;_=aJ(_,X)|0;Y=aJ(Y,Z)|0}}while(0);if((c[o>>2]&1|0)!=0){R=_;break}U=c[f>>2]|0;Z=c[U+52>>2]|0;U=aJ(_,c[U+48>>2]|0)|0;Y=aJ(Y,Z)|0;if((b[R>>1]&4)==0){R=U;break}R=U+32&-64;Y=Y+32&-64}}while(0);U=(Y|0)==0;if((R|Y|0)==0){break}T=T-M|0;S=S<<16>>16==O<<16>>16;if(!((R|0)==0|S)){O=0;do{_=Q+(O+M<<3)|0;c[_>>2]=(c[_>>2]|0)+R;O=O+1|0;}while(O>>>0<T>>>0)}if(U|S){break}else{O=0}do{_=Q+(O+M<<3)+4|0;c[_>>2]=(c[_>>2]|0)+Y;O=O+1|0;}while(O>>>0<T>>>0)}}while(0);N=N+1|0;}while(N>>>0<G>>>0)}c[D>>2]=F;c[x>>2]=E;c[H>>2]=J;if((c[o>>2]&2|0)!=0){g=0;break a}if(!((b[g+4>>1]&256)!=0&P>>>0>z>>>0)){g=0;break a}E=c[p>>2]|0;F=E+22|0;y=b[F>>1]|0;o=y+4|0;do{if((o|0)==0){l=103}else{if((o+y+(b[E+58>>1]|0)|0)>>>0<=(c[E+4>>2]|0)>>>0){l=103;break}_=pJ(E,o,0)|0;c[q>>2]=_;if((_|0)!=0){g=0;break a}}}while(0);if((l|0)==103){c[q>>2]=0}o=E+24|0;Y=v;_=c[Y+4>>2]|0;Z=(c[o>>2]|0)+(b[F>>1]<<3)|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=_;Z=w;_=c[Z+4>>2]|0;Y=(c[o>>2]|0)+((b[F>>1]|0)+1<<3)|0;c[Y>>2]=c[Z>>2];c[Y+4>>2]=_;Y=h;_=c[Y+4>>2]|0;Z=(c[o>>2]|0)+((b[F>>1]|0)+2<<3)|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=_;Z=u;_=c[Z+4>>2]|0;o=(c[o>>2]|0)+((b[F>>1]|0)+3<<3)|0;c[o>>2]=c[Z>>2];c[o+4>>2]=_;o=E+28|0;a[(c[o>>2]|0)+(b[F>>1]|0)|0]=0;a[(c[o>>2]|0)+((b[F>>1]|0)+1)|0]=0;a[(c[o>>2]|0)+((b[F>>1]|0)+2)|0]=0;a[(c[o>>2]|0)+((b[F>>1]|0)+3)|0]=0;o=c[D>>2]|0;_=PJ(o,c[H>>2]|0)|0;c[q>>2]=_;if((_|0)!=0){g=0;break a}u=EK(o,t)|0;if((c[q>>2]|0)!=0){g=0;break a}t=u&65535;if((u&65535)>(e[(c[d>>2]|0)+286>>1]|0)){if((t|0)>(c[x>>2]|0)){g=0;break a}u=d+160|0;w=c[u>>2]|0;v=c[w+388>>2]|0;h=w+392|0;if(v>>>0<t>>>0){c[h>>2]=oJ(c[w+8>>2]|0,1,v,t,c[h>>2]|0,s)|0;r=c[r>>2]|0;w=c[u>>2]|0;v=(r|0)==0?t:v}else{r=0}c[q>>2]=r;c[w+388>>2]=v&65535;if((c[q>>2]|0)!=0){g=0;break a}}else{if(u<<16>>16==0){g=0;break a}u=d+160|0}_=CK(o,c[(c[u>>2]|0)+392>>2]|0,t)|0;c[q>>2]=_;if((_|0)!=0){g=0;break a}Z=d+8|0;c[(c[Z>>2]|0)+136>>2]=c[(c[u>>2]|0)+392>>2];c[(c[Z>>2]|0)+140>>2]=t;Z=c[p>>2]|0;_=(e[Z+22>>1]|0)-z|0;q=_&65535;o=d+132|0;b[o>>1]=q;b[d+134>>1]=(b[Z+20>>1]|0)-C<<16>>16;c[d+136>>2]=(c[Z+40>>2]|0)+(z<<3);c[d+140>>2]=(c[Z+24>>2]|0)+(z<<3);c[d+144>>2]=(c[Z+44>>2]|0)+(z<<3);r=c[Z+28>>2]|0;p=d+148|0;c[p>>2]=r+z;c[d+152>>2]=(c[Z+32>>2]|0)+(A<<1);b[d+156>>1]=B;do{if((_&65535)>>>0>z>>>0){r=r+(z<<1)|0;a[r]=a[r]&-25;r=z+1|0;q=b[o>>1]|0;if(r>>>0>=(q&65535)>>>0){break}while(1){q=(c[p>>2]|0)+r|0;a[q]=a[q]&-25;r=r+1|0;q=b[o>>1]|0;if(r>>>0<(q&65535)>>>0){}else{break}}}}while(0);b[o>>1]=q+4<<16>>16;fS(d,1)|0;g=0;break a}}while(0);do{if((l|0)==26){bX(d+36|0,0,16)|0;if(h<<24>>24!=0){g=0;break}B=c[H>>2]|0;q=d+68|0;c[q>>2]=0-B;h=d+72|0;c[h>>2]=0;z=c[J>>2]|0;s=d+76|0;c[s>>2]=z-B;w=d+80|0;c[w>>2]=0;x=d+184|0;c[x>>2]=0;y=c[C>>2]|0;t=d+188|0;c[t>>2]=y;r=d+192|0;c[r>>2]=0;p=d+196|0;c[p>>2]=y-(c[K>>2]|0);y=(c[d>>2]|0)+128|0;A=c[(c[y>>2]|0)+52>>2]|0;do{if((A|0)!=0){if((c[(c[A>>2]|0)+8>>2]|0)==0){break}c[v>>2]=B;c[u+4>>2]=0;A=u+8|0;c[A>>2]=z;c[u+12>>2]=0;_=c[(c[y>>2]|0)+52>>2]|0;if((pd[c[(c[_>>2]|0)+8>>2]&63](c[_+4>>2]|0,f,0,u)|0)!=0){break}u=c[A>>2]|0;c[H>>2]=c[v>>2]<<16>>16;u=u&65535;c[J>>2]=u;c[C>>2]=0;c[K>>2]=0;if((a[M]|0)!=0){break}a[M]=1;c[d+60>>2]=u}}while(0);y=c[d>>2]|0;v=a[y+708|0]|0;if(v<<24>>24!=0){u=c[y+100>>2]|0;g=eS(c[y+104>>2]|0,v,c[y+712>>2]|0,f,I,4)|0;if((g|0)!=0){break}_=c[F>>2]|0;c[q>>2]=(c[q>>2]|0)+(c[_>>2]|0);c[h>>2]=(c[h>>2]|0)+(c[_+4>>2]|0);c[s>>2]=(c[s>>2]|0)+(c[_+8>>2]|0);c[w>>2]=(c[w>>2]|0)+(c[_+12>>2]|0);c[x>>2]=(c[x>>2]|0)+(c[_+16>>2]|0);c[t>>2]=(c[t>>2]|0)+(c[_+20>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[_+24>>2]|0);c[p>>2]=(c[p>>2]|0)+(c[_+28>>2]|0);lJ(u,_);c[F>>2]=0}if((c[o>>2]&1|0)!=0){g=0;break}c[q>>2]=aJ(c[q>>2]|0,E)|0;c[s>>2]=aJ(c[s>>2]|0,E)|0;c[t>>2]=aJ(c[t>>2]|0,D)|0;c[p>>2]=aJ(c[p>>2]|0,D)|0;g=0}}while(0);if(L<<24>>24!=0){l=120}}}while(0);if((l|0)==120){fd[c[G+516>>2]&511](d)}if(n<<24>>24==0){_=g;i=j;return _|0}_=c[(c[m>>2]|0)+52>>2]|0;hd[c[(c[_>>2]|0)+4>>2]&127](c[_+4>>2]|0,k);_=g;i=j;return _|0}function dS(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;h=c[a+732>>2]|0;do{if(h>>>0>e>>>0){j=c[a+736>>2]|0;if((b[a+210>>1]|0)!=0){e=e<<2;k=d[j+(e|1)|0]<<16|d[j+e|0]<<24|d[j+(e|2)|0]<<8|d[j+(e|3)|0];if((e+8|0)>(h<<2|0)){h=k;j=k;break}h=k;j=d[j+(e+5)|0]<<16|d[j+(e+4)|0]<<24|d[j+(e+6)|0]<<8|d[j+(e+7)|0];break}k=e<<1;e=(d[j+k|0]<<8&65535|d[j+(k|1)|0])&65535;if((k+4|0)>(h<<1|0)){j=e}else{j=(d[j+(k+2)|0]<<8&65535|d[j+(k+3)|0])&65535}h=e<<1;j=j<<1}else{h=0;j=0}}while(0);a=c[a+704>>2]|0;if(h>>>0>=a>>>0){k=0;j=0;e=f;c[e>>2]=j;i=g;return k|0}e=j>>>0<a>>>0?j:a;j=h;e=(e>>>0<h>>>0?a:e)-h|0;k=f;c[k>>2]=e;i=g;return j|0}function eS(a,d,f,g,h,j){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;k=i;l=i;i=i+8|0;s=l;n=i;i=i+8|0;o=n;m=i;i=i+8|0;t=m;p=c[a+28>>2]|0;c[m>>2]=0;if(d<<24>>24==0|(f|0)==0){I=6;i=k;return I|0}d=oJ(p,8,0,j,0,s)|0;q=c[l>>2]|0;if((q|0)!=0){I=q;i=k;return I|0}c[h>>2]=d;if((c[f+32>>2]|0)>>>0<=g>>>0){I=0;i=k;return I|0}r=f+36|0;I=c[r>>2]|0;u=c[I+(g<<2)>>2]|0;q=g+1|0;if((u|0)==(c[I+(q<<2)>>2]|0)){I=0;i=k;return I|0}I=PJ(a,u)|0;c[l>>2]=I;do{if((I|0)==0){I=c[r>>2]|0;I=MK(a,(c[I+(q<<2)>>2]|0)-(c[I+(g<<2)>>2]|0)|0)|0;c[l>>2]=I;if((I|0)!=0){break}r=a+32|0;v=(c[r>>2]|0)-(c[a>>2]|0)|0;q=oJ(p,4,0,c[f>>2]|0,0,s)|0;do{if((c[l>>2]|0)==0){g=oJ(p,4,0,c[f>>2]|0,0,s)|0;if((c[l>>2]|0)!=0){break}s=oJ(p,4,0,c[f>>2]|0,0,s)|0;if((c[l>>2]|0)!=0){break}u=(RK(a)|0)&65535;A=((RK(a)|0)&65535)+v|0;if((u&32768|0)==0){t=0}else{H=c[a>>2]|0;I=(c[r>>2]|0)-H|0;c[r>>2]=H+A;t=$R(a,t)|0;H=c[a>>2]|0;A=(c[r>>2]|0)-H|0;c[r>>2]=H+I}v=u&4095;a:do{if((v|0)!=0){w=f+24|0;x=f+28|0;u=(j|0)==0;z=0;D=0;b:while(1){y=(RK(a)|0)&65535;B=RK(a)|0;E=B&65535;do{if((E&32768|0)==0){C=E&4095;if(C>>>0>=(c[w>>2]|0)>>>0){break b}I=c[f>>2]|0;H=da(I,C)|0;$W(q|0,(c[x>>2]|0)+(H<<2)|0,I<<2|0)|0}else{if((c[f>>2]|0)==0){break}else{C=0}do{c[q+(C<<2)>>2]=(RK(a)|0)<<16>>16<<2;C=C+1|0;}while(C>>>0<(c[f>>2]|0)>>>0)}}while(0);do{if((E&16384|0)!=0){if((c[f>>2]|0)==0){break}else{C=0}do{c[g+(C<<2)>>2]=(RK(a)|0)<<16>>16<<2;C=C+1|0;F=c[f>>2]|0;}while(C>>>0<F>>>0);if((F|0)==0){break}else{C=0}do{c[s+(C<<2)>>2]=(RK(a)|0)<<16>>16<<2;C=C+1|0;}while(C>>>0<(c[f>>2]|0)>>>0)}}while(0);C=_R(f,B,q,g,s)|0;if((C|0)!=0){F=c[a>>2]|0;B=(c[r>>2]|0)-F|0;if((E&8192|0)==0){G=c[m>>2]|0;c[n>>2]=G;H=t}else{c[r>>2]=F+A;H=$R(a,o)|0;G=c[n>>2]|0;D=H}I=(G|0)==0;E=I?j:G;F=aS(a,E)|0;E=aS(a,E)|0;do{if(!((H|0)==0|(E|0)==0|(F|0)==0)){if((H|0)==-1){if(u){break}else{G=0}do{I=aJ(b[F+(G<<1)>>1]|0,C)|0;H=d+(G<<3)|0;c[H>>2]=(c[H>>2]|0)+I;H=aJ(b[E+(G<<1)>>1]|0,C)|0;I=d+(G<<3)+4|0;c[I>>2]=(c[I>>2]|0)+H;G=G+1|0;}while(G>>>0<j>>>0)}else{if(I){break}else{H=0}do{K=aJ(b[F+(H<<1)>>1]|0,C)|0;I=D+(H<<1)|0;J=d+(e[I>>1]<<3)|0;c[J>>2]=(c[J>>2]|0)+K;J=aJ(b[E+(H<<1)>>1]|0,C)|0;I=d+(e[I>>1]<<3)+4|0;c[I>>2]=(c[I>>2]|0)+J;H=H+1|0;}while(H>>>0<G>>>0)}}}while(0);if((D|0)==-1){D=-1}else{lJ(p,D);D=0}lJ(p,F);lJ(p,E);c[r>>2]=(c[a>>2]|0)+B}z=z+1|0;if(z>>>0<v>>>0){A=y+A|0}else{break a}}c[l>>2]=8}}while(0);lJ(p,q);lJ(p,g);lJ(p,s)}}while(0);PK(a);if((c[l>>2]|0)==0){j=0}else{break}i=k;return j|0}}while(0);lJ(p,d);c[h>>2]=0;K=c[l>>2]|0;i=k;return K|0}function fS(f,g){f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;m=f+124|0;l=c[(c[f+8>>2]|0)+140>>2]|0;k=f+132|0;p=b[k>>1]|0;o=p&65535;j=f+140|0;n=c[j>>2]|0;r=c[n+(o+ -4<<3)>>2]|0;q=r+32&-64;do{if((q|0)!=(r|0)){q=q-r|0;if(p<<16>>16==0){break}else{p=0}do{r=n+(p<<3)|0;c[r>>2]=q+(c[r>>2]|0);p=p+1|0;}while(p>>>0<o>>>0)}}while(0);o=(l|0)!=0;if(o){$W(c[f+136>>2]|0,c[j>>2]|0,e[k>>1]<<3|0)|0}n=f+160|0;p=f+4|0;$W((c[n>>2]|0)+284|0,(c[p>>2]|0)+172|0,68)|0;if(g<<24>>24==0){c[(c[n>>2]|0)+220>>2]=c[(c[p>>2]|0)+48>>2];c[(c[n>>2]|0)+224>>2]=c[(c[p>>2]|0)+52>>2]}else{c[(c[n>>2]|0)+220>>2]=65536;c[(c[n>>2]|0)+224>>2]=65536;$W(c[f+144>>2]|0,c[j>>2]|0,e[k>>1]<<3|0)|0}r=(c[j>>2]|0)+((e[k>>1]|0)+ -3<<3)|0;c[r>>2]=(c[r>>2]|0)+32&-64;r=(c[j>>2]|0)+((e[k>>1]|0)+ -1<<3)+4|0;c[r>>2]=(c[r>>2]|0)+32&-64;if(o){o=c[(c[f+12>>2]|0)+64>>2]|0;r=c[n>>2]|0;c[r+460>>2]=c[r+392>>2];c[r+464>>2]=l;a[(c[n>>2]|0)+560|0]=g;$W((c[n>>2]|0)+144|0,m|0,36)|0;l=c[n>>2]|0;c[l+356>>2]=c[l+460>>2];c[l+364>>2]=c[l+464>>2];c[l+360>>2]=0;c[l+352>>2]=3;r=l+144|0;$W(l+36|0,r|0,36)|0;$W(l+72|0,r|0,36)|0;$W(l+108|0,r|0,36)|0;b[l+344>>1]=1;b[l+346>>1]=1;b[l+348>>1]=1;r=l+294|0;b[r>>1]=16384;b[l+296>>1]=0;r=e[r>>1]|e[r+2>>1]<<16;m=l+298|0;b[m>>1]=r;b[m+2>>1]=r>>>16;m=l+290|0;b[m>>1]=r;b[m+2>>1]=r>>>16;c[l+312>>2]=1;c[l+304>>2]=1;c[l+16>>2]=0;c[l+428>>2]=0;l=jd[c[(c[l>>2]|0)+688>>2]&511](l)|0;m=c[n>>2]|0;do{if((l|0)!=0){if((a[m+561|0]|0)==0){break}i=h;return l|0}}while(0);a[o]=c[m+340>>2]<<5|d[o]|4}if((a[f+65|0]|0)!=0){r=0;i=h;return r|0}p=e[k>>1]|0;q=c[j>>2]|0;n=q+(p+ -4<<3)|0;o=c[n+4>>2]|0;r=f+68|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;r=q+(p+ -3<<3)|0;o=c[r+4>>2]|0;n=f+76|0;c[n>>2]=c[r>>2];c[n+4>>2]=o;n=q+(p+ -2<<3)|0;o=c[n+4>>2]|0;r=f+184|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;p=q+(p+ -1<<3)|0;q=c[p+4>>2]|0;r=f+192|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;r=0;i=h;return r|0}function gS(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;k=i;i=i+8|0;j=k;o=i;i=i+8|0;c[d>>2]=f;c[d+4>>2]=g;if((g|0)!=0){c[d+396>>2]=c[g+116>>2];c[d+400>>2]=c[g+120>>2];c[d+408>>2]=c[g+128>>2];c[d+412>>2]=c[g+132>>2];c[d+404>>2]=c[g+124>>2];c[d+416>>2]=c[g+136>>2];$W(d+244|0,g+72|0,40)|0;$W(d+216|0,g+44|0,28)|0;c[d+420>>2]=c[g+140>>2];c[d+424>>2]=c[g+144>>2];n=g+148|0;p=c[n+4>>2]|0;q=d+444|0;c[q>>2]=c[n>>2];c[q+4>>2]=p;q=g+156|0;p=c[q+4>>2]|0;n=d+452|0;c[n>>2]=c[q>>2];c[n+4>>2]=p;n=g+164|0;p=c[n+4>>2]|0;q=d+460|0;c[q>>2]=c[n>>2];c[q+4>>2]=p;$W(d+284|0,g+172|0,68)|0;c[d+380>>2]=c[g+240>>2];c[d+384>>2]=c[g+244>>2];b[d+468>>1]=b[g+248>>1]|0;c[d+472>>2]=c[g+252>>2];$W(d+180|0,g+256|0,36)|0;q=d+36|0;bX(q|0,0,36)|0;$W(d+72|0,q|0,36)|0;$W(d+108|0,q|0,36)|0}l=d+20|0;m=c[l>>2]|0;p=d+8|0;g=c[p>>2]|0;q=d+24|0;n=(e[f+284>>1]|0)+32|0;do{if(m>>>0<n>>>0){c[q>>2]=oJ(g,1,m<<2,n<<2,c[q>>2]|0,o)|0;if((c[o>>2]|0)==0){g=c[p>>2]|0;m=n;break}c[l>>2]=m;i=h;return}}while(0);c[l>>2]=m;l=d+388|0;m=c[l>>2]|0;n=d+392|0;f=e[f+286>>1]|0;do{if(m>>>0<f>>>0){c[n>>2]=oJ(g,1,m,f,c[n>>2]|0,j)|0;if((c[k>>2]|0)==0){m=f;break}c[l>>2]=m&65535;i=h;return}}while(0);c[l>>2]=m&65535;q=d+144|0;b[d+152>>1]=0;b[d+154>>1]=0;$W(d+72|0,q|0,36)|0;$W(d+108|0,q|0,36)|0;$W(d+36|0,q|0,36)|0;a[d+488|0]=0;i=h;return}function hS(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;f=c[b>>2]|0;e=b+292|0;if((a[e]|0)==0){g=(c[f+96>>2]|0)+40|0}else{g=b+296|0}g=c[g>>2]|0;if((g|0)==0){j=153;i=d;return j|0}gS(g,f,b);c[g+428>>2]=0;c[g+16>>2]=0;a[g+488|0]=0;j=c[f+664>>2]|0;k=f+660|0;h=c[k>>2]|0;c[g+452>>2]=j;c[g+456>>2]=h;c[g+460>>2]=0;c[g+464>>2]=0;do{if((c[k>>2]|0)==0){e=0}else{c[g+356>>2]=j;c[g+364>>2]=h;c[g+360>>2]=0;c[g+352>>2]=2;if((a[e]|0)!=0){e=0;break}e=jd[c[f+688>>2]&511](g)|0}}while(0);$W(b+172|0,g+284|0,68)|0;c[b+116>>2]=c[g+396>>2];c[b+128>>2]=c[g+408>>2];c[b+140>>2]=c[g+420>>2];c[b+144>>2]=c[g+424>>2];h=g+444|0;j=c[h+4>>2]|0;k=b+148|0;c[k>>2]=c[h>>2];c[k+4>>2]=j;k=g+452|0;j=c[k+4>>2]|0;h=b+156|0;c[h>>2]=c[k>>2];c[h+4>>2]=j;h=g+460|0;j=c[h+4>>2]|0;k=b+164|0;c[k>>2]=c[h>>2];c[k+4>>2]=j;k=e;i=d;return k|0}function iS(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;j=i;p=i;i=i+8|0;u=p;r=i;i=i+8|0;s=i;i=i+24|0;t=s;h=i;i=i+8|0;n=h;c[h>>2]=0;k=c[d+100>>2]|0;l=d+708|0;a[l]=0;o=d+712|0;m=c[o>>2]|0;do{if((m|0)==0){B=jS(d,0)|0;c[h>>2]=B;if((B|0)==0){m=c[o>>2]|0;break}else{B=h;B=c[B>>2]|0;i=j;return B|0}}}while(0);A=m+8|0;if((c[c[A>>2]>>2]|0)!=(f|0)){c[h>>2]=6;B=h;B=c[B>>2]|0;i=j;return B|0}o=(f|0)==0;a:do{if(!o){q=0;while(1){v=q+1|0;if(((c[g+(q<<2)>>2]|0)+65536|0)>>>0>131072){break}if(v>>>0<f>>>0){q=v}else{break a}}c[h>>2]=6;B=h;B=c[B>>2]|0;i=j;return B|0}}while(0);x=m+36|0;do{if((c[x>>2]|0)==0){q=c[d+104>>2]|0;v=c[q+28>>2]|0;r=pd[c[d+508>>2]&63](d,1735811442,q,r)|0;c[p>>2]=r;b:do{if((r|0)==0){w=IK(q)|0;r=ZK(q,274592,t)|0;c[p>>2]=r;if((r|0)!=0){A=r;break}r=m+24|0;c[r>>2]=e[t+6>>1]|0;B=e[t+12>>1]|0;z=m+32|0;c[z>>2]=B;y=(c[t+16>>2]|0)+w|0;do{if((c[s>>2]|0)==65536){s=t+4|0;if((b[s>>1]|0)!=(c[c[A>>2]>>2]&65535)<<16>>16){break}c[x>>2]=oJ(v,4,0,B+1|0,0,u)|0;A=c[p>>2]|0;if((A|0)!=0){break b}A=(c[z>>2]|0)+1|0;if((b[t+14>>1]&1)==0){A=MK(q,A<<1)|0;c[p>>2]=A;if((A|0)==0){A=0}else{break b}do{B=(((RK(q)|0)&65535)<<1)+y|0;c[(c[x>>2]|0)+(A<<2)>>2]=B;A=A+1|0;}while(A>>>0<=(c[z>>2]|0)>>>0);PK(q)}else{A=MK(q,A<<2)|0;c[p>>2]=A;if((A|0)==0){A=0}else{break b}do{B=(TK(q)|0)+y|0;c[(c[x>>2]|0)+(A<<2)>>2]=B;A=A+1|0;}while(A>>>0<=(c[z>>2]|0)>>>0);PK(q)}y=c[r>>2]|0;if((y|0)!=0){x=m+28|0;c[x>>2]=oJ(v,4,0,da(e[s>>1]|0,y)|0,0,u)|0;A=c[p>>2]|0;if((A|0)!=0){break b}A=PJ(q,(c[t+8>>2]|0)+w|0)|0;c[p>>2]=A;if((A|0)!=0){break b}A=MK(q,da(c[r>>2]<<1,e[s>>1]|0)|0)|0;c[p>>2]=A;if((A|0)!=0){break b}u=c[r>>2]|0;if((u|0)!=0){v=b[s>>1]|0;t=0;do{if(v<<16>>16==0){v=0}else{u=0;do{B=(RK(q)|0)<<16>>16<<2;v=(da(e[s>>1]|0,t)|0)+u|0;c[(c[x>>2]|0)+(v<<2)>>2]=B;u=u+1|0;v=b[s>>1]|0;}while(u>>>0<(v&65535)>>>0);u=c[r>>2]|0}t=t+1|0;}while(t>>>0<u>>>0)}PK(q)}A=c[p>>2]|0;break b}}while(0);c[p>>2]=8;A=8}else{A=r}}while(0);c[h>>2]=A;if((A|0)==0){break}B=h;B=c[B>>2]|0;i=j;return B|0}}while(0);q=m+4|0;p=c[q>>2]|0;c:do{if((p|0)==0){p=oJ(k,4,0,f,0,n)|0;c[q>>2]=p;if((c[h>>2]|0)==0){n=1;break}B=h;B=c[B>>2]|0;i=j;return B|0}else{if(o){n=0;break}else{n=0}while(1){o=n+1|0;if((c[p+(n<<2)>>2]|0)!=(c[g+(n<<2)>>2]|0)){n=2;break c}if(o>>>0<f>>>0){n=o}else{n=0;break}}}}while(0);c[m>>2]=f;$W(p|0,g|0,f<<2|0)|0;a[l]=1;l=d+672|0;g=c[l>>2]|0;if((g|0)==0){B=h;B=c[B>>2]|0;i=j;return B|0}if((n|0)==1){ZR(d,c[d+104>>2]|0)|0;B=h;B=c[B>>2]|0;i=j;return B|0}else if((n|0)==2){lJ(k,g);c[l>>2]=0;TR(d,c[d+104>>2]|0)|0;B=h;B=c[B>>2]|0;i=j;return B|0}else{B=h;B=c[B>>2]|0;i=j;return B|0}return 0}function jS(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=i;r=i;i=i+8|0;o=r;g=i;i=i+8|0;m=g;n=i;i=i+16|0;s=n;p=i;i=i+24|0;q=p;k=c[d+104>>2]|0;l=c[d+100>>2]|0;c[g>>2]=0;j=d+712|0;a:do{if((c[j>>2]|0)==0){t=d+508|0;x=pd[c[t>>2]&63](d,1735811442,k,o)|0;c[g>>2]=x;if((x|0)!=0){x=g;x=c[x>>2]|0;i=h;return x|0}x=pd[c[t>>2]&63](d,1719034226,k,o)|0;c[g>>2]=x;if((x|0)!=0){x=g;x=c[x>>2]|0;i=h;return x|0}d=IK(k)|0;x=ZK(k,274480,s)|0;c[g>>2]=x;if((x|0)!=0){x=g;x=c[x>>2]|0;i=h;return x|0}do{if((c[n>>2]|0)==65536){if((b[s+6>>1]|0)!=2){break}if((b[s+10>>1]|0)!=20){break}o=s+8|0;x=b[o>>1]|0;u=x&65535;if((x&65535)>16382){break}v=e[s+14>>1]|0;if((v|0)!=((u<<2)+4|0)){break}n=s+12|0;t=b[n>>1]|0;if((t&65535)>32511){break}s=s+4|0;x=(da(t&65535,v)|0)+(u*20|0)+(e[s>>1]|0)|0;if(x>>>0>(c[r>>2]|0)>>>0){break}r=jJ(l,40,m)|0;c[j>>2]=r;if((c[g>>2]|0)!=0){x=g;x=c[x>>2]|0;i=h;return x|0}x=e[n>>1]|0;c[r+12>>2]=(x<<3)+20+(da((x<<2)+29|0,e[o>>1]|0)|0);r=jJ(l,c[(c[j>>2]|0)+12>>2]|0,m)|0;if((c[g>>2]|0)!=0){x=g;x=c[x>>2]|0;i=h;return x|0}c[(c[j>>2]|0)+8>>2]=r;c[r>>2]=e[o>>1]|0;c[r+4>>2]=-1;c[r+8>>2]=e[n>>1]|0;v=r+20|0;t=r+12|0;c[t>>2]=v;v=v+((e[o>>1]|0)*24|0)|0;r=r+16|0;c[r>>2]=v;x=b[n>>1]|0;w=v+((x&65535)<<3)|0;b:do{if(x<<16>>16==0){v=b[o>>1]|0}else{u=0;while(1){c[v+(u<<3)>>2]=w;v=b[o>>1]|0;w=w+((v&65535)<<2)|0;u=u+1|0;if((u|0)>=(e[n>>1]|0)){break b}v=c[r>>2]|0}}}while(0);c:do{if(v<<16>>16!=0){u=0;while(1){c[(c[t>>2]|0)+(u*24|0)>>2]=w;u=u+1|0;if((u|0)>=(e[o>>1]|0)){break c}w=w+5|0}}}while(0);x=PJ(k,(e[s>>1]|0)+d|0)|0;c[g>>2]=x;if((x|0)!=0){x=g;x=c[x>>2]|0;i=h;return x|0}d:do{if((b[o>>1]|0)==0){w=0}else{d=q+4|0;s=q+8|0;u=q+12|0;v=q+18|0;t=c[t>>2]|0;x=0;while(1){w=ZK(k,274520,q)|0;c[g>>2]=w;if((w|0)!=0){break}y=c[p>>2]|0;w=t+16|0;c[w>>2]=y;c[t+4>>2]=c[d>>2];c[t+8>>2]=c[s>>2];c[t+12>>2]=c[u>>2];c[t+20>>2]=e[v>>1]|0;a[c[t>>2]|0]=y>>>24;a[(c[t>>2]|0)+1|0]=(c[w>>2]|0)>>>16;a[(c[t>>2]|0)+2|0]=(c[w>>2]|0)>>>8;a[(c[t>>2]|0)+3|0]=c[w>>2];a[(c[t>>2]|0)+4|0]=0;x=x+1|0;w=b[o>>1]|0;if((x|0)<(w&65535|0)){t=t+24|0}else{break d}}y=g;y=c[y>>2]|0;i=h;return y|0}}while(0);if((b[n>>1]|0)==0){break a}p=1;q=c[r>>2]|0;while(1){y=MK(k,((w&65535)<<2)+4|0)|0;c[g>>2]=y;if((y|0)!=0){break}c[q+4>>2]=(RK(k)|0)&65535;RK(k)|0;if((b[o>>1]|0)!=0){r=0;do{y=TK(k)|0;c[(c[q>>2]|0)+(r<<2)>>2]=y;r=r+1|0;}while((r|0)<(e[o>>1]|0))}PK(k);if((p|0)>=(e[n>>1]|0)){break a}w=b[o>>1]|0;p=p+1|0;q=q+8|0}y=g;y=c[y>>2]|0;i=h;return y|0}}while(0);c[g>>2]=8;y=g;y=c[y>>2]|0;i=h;return y|0}}while(0);if((f|0)==0){y=g;y=c[y>>2]|0;i=h;return y|0}k=jJ(l,c[(c[j>>2]|0)+12>>2]|0,m)|0;if((c[g>>2]|0)!=0){y=g;y=c[y>>2]|0;i=h;return y|0}p=c[j>>2]|0;$W(k|0,c[p+8>>2]|0,c[p+12>>2]|0)|0;p=k+20|0;j=k+12|0;c[j>>2]=p;n=c[k>>2]|0;p=p+(n*24|0)|0;l=k+16|0;c[l>>2]=p;m=k+8|0;y=c[m>>2]|0;o=p+(y<<3)|0;e:do{if((y|0)==0){p=n}else{n=0;while(1){c[p+(n<<3)>>2]=o;p=c[k>>2]|0;o=o+(p<<2)|0;n=n+1|0;if(n>>>0>=(c[m>>2]|0)>>>0){break e}p=c[l>>2]|0}}}while(0);if((p|0)!=0){j=c[j>>2]|0;l=0;while(1){c[j>>2]=o;m=c[j+16>>2]|0;if((m|0)==2003265652){c[j>>2]=274552}else if((m|0)==2003072104){c[j>>2]=274560}else if((m|0)==1869640570){c[j>>2]=274568}else if((m|0)==1936486004){c[j>>2]=274584}l=l+1|0;if(l>>>0<(c[k>>2]|0)>>>0){j=j+24|0;o=o+5|0}else{break}}}c[f>>2]=k;y=g;y=c[y>>2]|0;i=h;return y|0}function kS(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;j=i;p=i;i=i+8|0;o=p;r=i;i=i+8|0;s=r;h=i;i=i+8|0;m=h;c[h>>2]=0;k=c[d+100>>2]|0;t=d+712|0;n=c[t>>2]|0;do{if((n|0)==0){y=jS(d,0)|0;c[h>>2]=y;if((y|0)==0){n=c[t>>2]|0;break}else{y=0;lJ(k,y);y=h;y=c[y>>2]|0;i=j;return y|0}}}while(0);l=c[n+8>>2]|0;if((c[l>>2]|0)!=(f|0)){c[h>>2]=6;y=0;lJ(k,y);y=h;y=c[y>>2]|0;i=j;return y|0}m=oJ(k,4,0,f,0,m)|0;if((c[h>>2]|0)!=0){y=m;lJ(k,y);y=h;y=c[y>>2]|0;i=j;return y|0}a:do{if((c[l>>2]|0)!=0){q=c[l+12>>2]|0;x=0;while(1){w=c[g+(x<<2)>>2]|0;v=c[q+12>>2]|0;if((w|0)>(v|0)){break}u=c[q+4>>2]|0;if((w|0)<(u|0)){break}y=c[q+8>>2]|0;do{if((w|0)<(y|0)){c[m+(x<<2)>>2]=0-(_I(w-y|0,65536,u-y|0)|0)}else{if((v|0)==(y|0)){c[m+(x<<2)>>2]=0;break}else{c[m+(x<<2)>>2]=_I(w-y|0,65536,v-y|0)|0;break}}}while(0);x=x+1|0;if(x>>>0<(c[l>>2]|0)>>>0){q=q+24|0}else{break a}}c[h>>2]=6;y=m;lJ(k,y);y=h;y=c[y>>2]|0;i=j;return y|0}}while(0);do{if((a[n+16|0]|0)==0){q=c[d+104>>2]|0;g=c[q+28>>2]|0;t=c[t>>2]|0;c[p>>2]=0;a[t+16|0]=1;y=pd[c[d+508>>2]&63](d,1635148146,q,s)|0;c[p>>2]=y;if((y|0)!=0){break}y=MK(q,c[r>>2]|0)|0;c[p>>2]=y;if((y|0)!=0){break}y=TK(q)|0;s=TK(q)|0;b:do{if((y|0)==65536){if((s|0)!=(c[c[t+8>>2]>>2]|0)){break}u=oJ(g,8,0,s,0,o)|0;r=t+20|0;c[r>>2]=u;if((c[p>>2]|0)==0&(s|0)>0){t=0}else{break}while(1){y=RK(q)|0;b[u>>1]=y;v=u+4|0;c[v>>2]=oJ(g,8,0,y&65535,0,o)|0;if((c[p>>2]|0)!=0){break}if((b[u>>1]|0)!=0){w=0;do{y=(RK(q)|0)<<16>>16<<2;c[(c[v>>2]|0)+(w<<3)>>2]=y;y=(RK(q)|0)<<16>>16<<2;c[(c[v>>2]|0)+(w<<3)+4>>2]=y;w=w+1|0;}while((w|0)<(e[u>>1]|0))}t=t+1|0;if((t|0)<(s|0)){u=u+8|0}else{break b}}o=c[r>>2]|0;if((t|0)>0){while(1){t=t+ -1|0;lJ(g,c[o+(t<<3)+4>>2]|0);c[(c[r>>2]|0)+(t<<3)+4>>2]=0;o=c[r>>2]|0;if((t|0)>0){}else{break}}}lJ(g,o);c[r>>2]=0}}while(0);PK(q)}}while(0);o=c[n+20>>2]|0;do{if((o|0)!=0){n=c[l>>2]|0;if((n|0)==0){break}else{p=0}while(1){s=b[o>>1]|0;c:do{if((s&65535)>1){v=m+(p<<2)|0;w=c[v>>2]|0;u=o+4|0;g=c[u>>2]|0;q=1;while(1){t=c[g+(q<<3)>>2]|0;r=q+1|0;if((w|0)<(t|0)){break}if(r>>>0<(s&65535)>>>0){q=r}else{break c}}y=q+ -1|0;x=c[g+(y<<3)>>2]|0;x=_I(w-x|0,65536,t-x|0)|0;n=c[u>>2]|0;n=_I(x,(c[n+(q<<3)+4>>2]|0)-(c[n+(y<<3)+4>>2]|0)|0,65536)|0;c[v>>2]=(c[(c[u>>2]|0)+(y<<3)+4>>2]|0)+n;n=c[l>>2]|0}}while(0);p=p+1|0;if(p>>>0<n>>>0){o=o+8|0}else{break}}}}while(0);c[h>>2]=iS(d,f,m)|0;y=m;lJ(k,y);y=h;y=c[y>>2]|0;i=j;return y|0}function lS(a){a=a|0;i=i;return 0}function mS(a){a=a|0;i=i;return}function nS(a,b){a=a|0;b=b|0;var c=0;c=i;a=uJ(277360,b)|0;i=c;return a|0}function oS(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=i;n=i;i=i+8|0;m=i;i=i+1504|0;F=i;i=i+8|0;G=F;H=i;i=i+8|0;I=H;x=i;i=i+8|0;z=x;C=i;i=i+8|0;A=C;P=i;i=i+8|0;Q=P;L=i;i=i+8|0;O=L;B=i;i=i+376|0;u=B;s=i;i=i+8|0;v=s;j=i;i=i+16|0;h=j;c[f>>2]=1;y=f+96|0;k=oK(c[y>>2]|0,274760)|0;c[f+484>>2]=k;l=nK(c[(c[y>>2]|0)+4>>2]|0,274784)|0;p=f+488|0;c[p>>2]=l;c[f+552>>2]=nK(c[(c[y>>2]|0)+4>>2]|0,274744)|0;y=c[p>>2]|0;bX(B|0,0,376)|0;c[f+536>>2]=-1;c[f+540>>2]=-1;o=f+544|0;c[o>>2]=0;c[f+280>>2]=7;c[f+284>>2]=1;c[f+172>>2]=4;c[f+348>>2]=3932;c[f+276>>2]=2596864;N=c[f+104>>2]|0;w=f+100|0;M=c[w>>2]|0;D=y+4|0;Jd[c[c[D>>2]>>2]&63](u,0,0,M);J=u+72|0;c[J>>2]=N;E=u+80|0;t=u+76|0;K=u+92|0;r=u+93|0;bX(t|0,0,19)|0;S=QS(N,277328,14)|0;c[L>>2]=S;if((S|0)==2){S=QS(N,277344,10)|0;c[L>>2]=S;if((S|0)==0){q=3}else{q=20}}else if((S|0)==0){q=3}else{q=20}a:do{if((q|0)==3){S=PJ(N,0)|0;c[L>>2]=S;if((S|0)!=0){q=20;break}R=EK(N,Q)|0;S=c[P>>2]|0;b:do{if((S|0)==0){do{if((R+32767<<16>>16&65535)<2){Q=YK(N,Q)|0;S=c[P>>2]|0;if((S|0)!=0){break b}c[L>>2]=0;if(R<<16>>16!=-32767){q=10;break}a[K]=1}else{c[L>>2]=0;q=10}}while(0);if((q|0)==10){S=PJ(N,0)|0;c[L>>2]=S;if((S|0)!=0){q=20;break a}Q=c[N+4>>2]|0}if((c[N+20>>2]|0)==0){c[t>>2]=(c[N>>2]|0)+(c[N+8>>2]|0);c[E>>2]=Q;a[r]=1;S=DK(N,Q)|0;c[L>>2]=S;if((S|0)!=0){q=20;break a}Q=c[E>>2]|0}else{q=jJ(M,Q,O)|0;c[t>>2]=q;S=c[L>>2]|0;if((S|0)!=0){q=20;break a}S=CK(N,q,Q)|0;c[L>>2]=S;if((S|0)!=0){q=20;break a}c[E>>2]=Q}L=c[t>>2]|0;c[u+4>>2]=L;c[B>>2]=L;c[u+8>>2]=L+Q;c[s>>2]=0;q=24;break a}}while(0);c[L>>2]=S;q=20}}while(0);do{if((q|0)==20){if((a[r]|0)==0){lJ(M,c[t>>2]|0);c[t>>2]=0;S=c[L>>2]|0}c[s>>2]=S;if((S|0)!=0){break}Q=c[E>>2]|0;L=c[t>>2]|0;q=24}}while(0);c:do{if((q|0)==24){S=ES(f,u,L,Q)|0;c[s>>2]=S;if((S|0)!=0){break}L=c[J>>2]|0;J=c[u+16>>2]|0;c[x>>2]=0;d:do{if((a[K]|0)==0){S=c[t>>2]|0;N=c[E>>2]|0;F=u+8|0;H=u+32|0;K=u+12|0;I=u+28|0;L=N;M=S;G=S;N=S+N|0;e:while(1){O=G;f:while(1){do{if((a[O]|0)==101){G=O+9|0;if(G>>>0>=N>>>0){break}if((a[O+1|0]|0)!=101){break}if((a[O+2|0]|0)!=120){break}if((a[O+3|0]|0)!=101){break}if((a[O+4|0]|0)==99){break f}}}while(0);O=O+1|0;if(O>>>0>=N>>>0){q=55;break e}}c[B>>2]=M;c[F>>2]=G;if(M>>>0<G>>>0){do{if((a[M]|0)==101){if((vc(M|0,274824,5)|0)==0){break e}}fd[c[H>>2]&511](u);if((c[K>>2]|0)!=0){break}fd[c[I>>2]&511](u);M=c[B>>2]|0;}while(M>>>0<G>>>0);O=c[E>>2]|0;N=c[t>>2]|0}else{O=L;N=M}L=O;M=N;N=N+O|0}if((q|0)==55){c[x>>2]=3;C=3;q=78;break}c[F>>2]=(c[t>>2]|0)+(c[E>>2]|0);fd[c[H>>2]&511](u);q=c[B>>2]|0;g:do{if(q>>>0<G>>>0){while(1){S=a[q]|0;if(!(S<<24>>24==10|S<<24>>24==13|S<<24>>24==9|S<<24>>24==32)){break}q=q+1|0;if(q>>>0>=G>>>0){break g}}H=c[t>>2]|0;G=H-q+(c[E>>2]|0)|0;if((a[r]|0)==0){a[u+94|0]=1;c[u+84>>2]=H;c[u+88>>2]=G;c[t>>2]=0;c[E>>2]=0}else{H=jJ(J,G+1|0,z)|0;c[u+84>>2]=H;z=c[x>>2]|0;if((z|0)!=0){C=z;q=78;break d}c[u+88>>2]=G}S=d[q]|0;do{if((S+ -48|0)>>>0<10|(S+ -97|0)>>>0<6|(S+ -65|0)>>>0<6){S=d[q+1|0]|0;if(!((S+ -48|0)>>>0<10|(S+ -97|0)>>>0<6|(S+ -65|0)>>>0<6)){break}S=d[q+2|0]|0;if(!((S+ -48|0)>>>0<10|(S+ -97|0)>>>0<6|(S+ -65|0)>>>0<6)){break}S=d[q+3|0]|0;if(!((S+ -48|0)>>>0<10|(S+ -97|0)>>>0<6|(S+ -65|0)>>>0<6)){break}c[B>>2]=q;B=u+84|0;q=u+88|0;Cd[c[(c[D>>2]|0)+24>>2]&63](u,H,G,A,0)|0;z=c[C>>2]|0;c[q>>2]=z;a[(c[B>>2]|0)+z|0]=0;z=u;A=q;q=77;break d}}while(0);aX(H|0,q|0,G|0)|0;z=u;B=u+84|0;A=u+88|0;q=77;break d}}while(0);c[x>>2]=3;C=3;q=78}else{B=IK(L)|0;A=u+88|0;c[A>>2]=0;while(1){C=EK(L,I)|0;D=c[H>>2]|0;if((D|0)!=0){q=31;break}if((C+32767<<16>>16&65535)>=2){q=29;break}E=YK(L,I)|0;D=c[H>>2]|0;if((D|0)!=0){q=31;break}c[x>>2]=0;if(C<<16>>16!=-32766){break}c[A>>2]=(c[A>>2]|0)+E;C=DK(L,E)|0;c[x>>2]=C;if((C|0)!=0){q=78;break d}}if((q|0)==29){c[x>>2]=0}else if((q|0)==31){c[x>>2]=D;break}if((c[A>>2]|0)==0){c[x>>2]=3;C=3;q=78;break}C=PJ(L,B)|0;c[x>>2]=C;if((C|0)!=0){q=78;break}B=u+84|0;c[B>>2]=jJ(J,c[A>>2]|0,z)|0;C=c[x>>2]|0;if((C|0)!=0){q=78;break}c[A>>2]=0;C=EK(L,G)|0;D=c[F>>2]|0;h:do{if((D|0)==0){while(1){if((C+32767<<16>>16&65535)>=2){D=0;q=41;break h}z=YK(L,G)|0;D=c[F>>2]|0;if((D|0)!=0){q=41;break h}c[x>>2]=0;if(C<<16>>16!=-32766){break h}C=CK(L,(c[B>>2]|0)+(c[A>>2]|0)|0,z)|0;c[x>>2]=C;if((C|0)!=0){q=78;break d}c[A>>2]=(c[A>>2]|0)+z;C=EK(L,G)|0;D=c[F>>2]|0;if((D|0)!=0){q=41;break}}}else{q=41}}while(0);if((q|0)==41){c[x>>2]=D}c[x>>2]=0;z=u;F=u+8|0;q=77}}while(0);if((q|0)==77){Gd[c[y+16>>2]&255](c[B>>2]|0,c[A>>2]|0,-9871);a[c[B>>2]|0]=32;a[(c[B>>2]|0)+1|0]=32;a[(c[B>>2]|0)+2|0]=32;a[(c[B>>2]|0)+3|0]=32;D=c[B>>2]|0;c[u+4>>2]=D;c[z>>2]=D;c[F>>2]=D+(c[A>>2]|0);D=c[x>>2]|0}else if((q|0)==78){c[s>>2]=C;break}c[s>>2]=D;if((D|0)!=0){break}S=ES(f,u,c[u+84>>2]|0,c[u+88>>2]|0)|0;c[s>>2]=S;if((S|0)!=0){break}x=f+176|0;a[x]=a[x]&-2;x=f+532|0;A=c[x>>2]|0;do{if((A|0)!=0){y=A+416|0;z=c[y>>2]|0;if((z|0)!=0){if((z|0)!=(c[A+4>>2]|0)){c[y>>2]=0;A=c[x>>2]|0}if((A|0)==0){break}}if((c[A>>2]|0)==0){q=88}else{if((c[A+4>>2]|0)==0){q=88}}if((q|0)==88){DS(f);A=c[x>>2]|0}if((A|0)==0){break}B=c[A+4>>2]|0;if((B|0)!=0){z=0;while(1){y=z+1|0;if((a[A+88+(z*12|0)|0]|0)==0){q=93;break}if(y>>>0<B>>>0){z=y}else{break}}if((q|0)==93){DS(f);A=c[x>>2]|0}if((A|0)==0){break}}x=c[o>>2]|0;if((x|0)==0){break}c[f+548>>2]=oJ(c[w>>2]|0,4,0,x,0,v)|0;if((c[s>>2]|0)==0){break}c[o>>2]=0;break c}}while(0);v=f+416|0;c[v>>2]=c[u+152>>2];w=u+328|0;if((c[w>>2]|0)!=0){c[w>>2]=0;c[f+404>>2]=c[u+312>>2];c[f+392>>2]=c[u+316>>2];c[f+408>>2]=c[u+340>>2];c[f+412>>2]=c[u+344>>2]}w=u+220|0;do{if((c[(c[f+128>>2]|0)+52>>2]|0)==0){if((c[w>>2]|0)!=0){break}c[s>>2]=3}}while(0);c[w>>2]=0;c[f+396>>2]=c[u+208>>2];c[f+424>>2]=c[u+232>>2];c[f+428>>2]=c[u+236>>2];R=u+156|0;c[f+400>>2]=c[R>>2];S=u+180|0;y=f+420|0;c[y>>2]=c[S>>2];c[R>>2]=0;c[S>>2]=0;if((c[f+368>>2]|0)!=1){break}w=u+116|0;if((c[w>>2]|0)>0){z=f+384|0;x=f+388|0;A=u+124|0;B=0;C=0;D=0;do{b[(c[z>>2]|0)+(B<<1)>>1]=0;c[(c[x>>2]|0)+(B<<2)>>2]=274816;I=c[(c[A>>2]|0)+(B<<2)>>2]|0;i:do{if((I|0)!=0){G=c[v>>2]|0;if((G|0)<=0){break}E=c[y>>2]|0;H=0;while(1){J=c[E+(H<<2)>>2]|0;F=H+1|0;if((Qc(I|0,J|0)|0)==0){break}if((F|0)<(G|0)){H=F}else{break i}}b[(c[z>>2]|0)+(B<<1)>>1]=H;c[(c[x>>2]|0)+(B<<2)>>2]=J;if((Qc(274816,J|0)|0)==0){break}C=(B|0)<(C|0)?C:B+1|0;D=(B|0)<(D|0)?B:D}}while(0);B=B+1|0;}while((B|0)<(c[w>>2]|0))}else{C=0;D=0}c[f+376>>2]=D;c[f+380>>2]=C;c[f+372>>2]=c[u+96>>2]}}while(0);v=c[u+148>>2]|0;if((v|0)!=0){fd[v&511](u+100|0)}v=c[u+256>>2]|0;if((v|0)!=0){fd[v&511](u+208|0)}v=c[u+204>>2]|0;if((v|0)!=0){fd[v&511](u+156|0)}v=c[u+308>>2]|0;if((v|0)!=0){fd[v&511](u+260|0)}v=c[u+364>>2]|0;if((v|0)!=0){fd[v&511](u+316|0)}v=c[u+16>>2]|0;S=u+84|0;lJ(v,c[S>>2]|0);c[S>>2]=0;if((a[r]|0)==0){lJ(v,c[t>>2]|0);c[t>>2]=0}fd[c[u+24>>2]&511](u);r=c[s>>2]|0;if((r|0)!=0|(g|0)<0){S=r;i=e;return S|0}if((g|0)>0){S=6;i=e;return S|0}g=f+416|0;c[f+16>>2]=c[g>>2];c[f+4>>2]=0;t=f+8|0;s=(a[f+156|0]|0)==0?2577:2581;c[t>>2]=s;r=c[f+532>>2]|0;if((r|0)!=0){c[t>>2]=s|256}t=c[f+144>>2]|0;u=f+20|0;c[u>>2]=t;s=f+24|0;c[s>>2]=0;j:do{if((t|0)==0){q=c[f+364>>2]|0;if((q|0)==0){q=145;break}c[u>>2]=q;q=145}else{w=c[f+140>>2]|0;if((w|0)==0){q=145;break}v=a[w]|0;k:do{if(v<<24>>24!=0){while(1){u=a[t]|0;while(1){if(v<<24>>24==u<<24>>24){q=136;break}if(!(v<<24>>24==45|v<<24>>24==32)){q=140;break}w=w+1|0;v=a[w]|0;if(v<<24>>24==0){break k}}if((q|0)==136){q=0;w=w+1|0}else if((q|0)==140){q=0;if(!(u<<24>>24==45|u<<24>>24==32))if(u<<24>>24==0){break}else{q=145;break j}}v=a[w]|0;if(v<<24>>24==0){break k}else{t=t+1|0}}c[s>>2]=w;if((w|0)==0){q=145;break j}else{break j}}}while(0);c[s>>2]=274792}}while(0);do{if((q|0)==145){q=c[f+148>>2]|0;if((q|0)==0){c[s>>2]=274792;break}else{c[s>>2]=q;break}}}while(0);s=f+12|0;t=(c[f+152>>2]|0)!=0|0;c[s>>2]=t;q=c[f+148>>2]|0;do{if((q|0)!=0){if((Qc(q|0,274800)|0)!=0){if((Qc(q|0,274808)|0)!=0){break}}c[s>>2]=t|2}}while(0);c[f+28>>2]=0;c[f+32>>2]=0;c[f+52>>2]=c[f+460>>2]>>16;s=c[f+464>>2]>>16;c[f+56>>2]=s;t=(c[f+468>>2]|0)+65535>>16;c[f+60>>2]=t;q=(c[f+472>>2]|0)+65535>>16;c[f+64>>2]=q;u=f+68|0;v=b[u>>1]|0;if(v<<16>>16==0){b[u>>1]=1e3;v=1e3}S=q&65535;b[f+70>>1]=S;u=s&65535;b[f+72>>1]=u;s=((((v&65535)*12|0)>>>0)/10|0)&65535;q=f+74|0;u=(S<<16>>16)-(u<<16>>16)|0;b[q>>1]=(s<<16>>16|0)<(u|0)?u&65535:s;s=f+76|0;b[s>>1]=t;p=(c[p>>2]|0)+12|0;if((Fd[c[c[p>>2]>>2]&7](m,f,0,0,c[f+420>>2]|0,r,0,0,199)|0)==0){a[m+70|0]=1;a[m+68|0]=0;c[m+1364>>2]=c[f+404>>2];c[m+1368>>2]=c[f+408>>2];c[m+1372>>2]=c[f+412>>2];c[m+1488>>2]=c[f+548>>2];c[m+1492>>2]=c[o>>2];if((c[g>>2]|0)>0){r=m+4|0;o=m+40|0;t=0;u=0;do{do{if((CS(m,u,n)|0)==0){v=c[(c[(c[r>>2]|0)+128>>2]|0)+52>>2]|0;if((v|0)==0){break}hd[c[(c[v>>2]|0)+4>>2]&127](c[v+4>>2]|0,n)}}while(0);v=c[o>>2]|0;t=(u|0)==0|(v|0)>(t|0)?v:t;u=u+1|0;}while((u|0)<(c[g>>2]|0))}else{t=0}fd[c[(c[p>>2]|0)+4>>2]&511](m);b[s>>1]=(ZI(t)|0)>>>16}b[f+78>>1]=b[q>>1]|0;b[f+80>>1]=b[f+158>>1]|0;b[f+82>>1]=b[f+160>>1]|0;if((k|0)==0|(l|0)==0){S=0;i=e;return S|0}k=c[l+20>>2]|0;c[j>>2]=f;o=h+8|0;b[o>>1]=3;l=h+10|0;b[l>>1]=1;j=h+4|0;c[j>>2]=1970170211;m=k+12|0;n=eK(c[m>>2]|0,0,h,0)|0;if(!((n|0)==0|(n|0)==163)){S=n;i=e;return S|0}b[o>>1]=7;f=c[f+368>>2]|0;if((f|0)==4){c[j>>2]=1094992453;b[l>>1]=1;k=k+4|0}else if((f|0)==1){c[j>>2]=1094992451;b[l>>1]=2;k=k+8|0}else if((f|0)==3){c[j>>2]=1818326065;b[l>>1]=3;k=m}else if((f|0)==2){c[j>>2]=1094995778;b[l>>1]=0}else{S=0;i=e;return S|0}f=c[k>>2]|0;if((f|0)==0){S=0;i=e;return S|0}S=eK(f,0,h,0)|0;i=e;return S|0}function pS(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;if((a|0)==0){i=b;return}d=c[a+100>>2]|0;e=a+548|0;f=c[e>>2]|0;if((f|0)!=0){lJ(d,f);c[e>>2]=0;c[a+544>>2]=0}DS(a);c[a+532>>2]=0;e=a+132|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+136|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+140|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+144|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+148|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+428|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+424|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+420|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+408|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+412|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+392|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+396|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+400|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+384|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+388|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+364|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=c[a+492>>2]|0;if((e|0)!=0){f=e+36|0;lJ(d,c[f>>2]|0);c[f>>2]=0;c[e+40>>2]=0;f=e+28|0;lJ(d,c[f>>2]|0);c[f>>2]=0;c[e+32>>2]=0;lJ(d,e)}c[a+20>>2]=0;c[a+24>>2]=0;i=b;return}function qS(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=i;i=i+8|0;e=c[a>>2]|0;f=c[e+552>>2]|0;e=mK(c[(c[e+96>>2]|0)+4>>2]|0,274744)|0;if((e|0)==0|(f|0)==0){f=0;i=b;return f|0}f=c[f>>2]|0;if((f|0)==0){f=0;i=b;return f|0}e=jd[f&511](e)|0;if((e|0)==0){f=0;i=b;return f|0}f=c[a>>2]|0;e=sd[c[e>>2]&127](c[f+100>>2]|0,f+168|0,d)|0;if((e|0)!=0){f=e;i=b;return f|0}c[a+40>>2]=c[d>>2];f=0;i=b;return f|0}function rS(a){a=a|0;var b=0,d=0,e=0;b=i;d=a+40|0;if((c[d>>2]|0)==0){i=b;return}a=c[a>>2]|0;e=c[a+552>>2]|0;a=mK(c[(c[a+96>>2]|0)+4>>2]|0,274744)|0;do{if(!((a|0)==0|(e|0)==0)){e=c[e>>2]|0;if((e|0)==0){break}a=jd[e&511](a)|0;if((a|0)==0){break}fd[c[a+8>>2]&511](c[d>>2]|0)}}while(0);c[d>>2]=0;i=b;return}function sS(a){a=a|0;var b=0,d=0,e=0;b=i;e=c[a+4>>2]|0;d=c[e+552>>2]|0;if((d|0)==0){i=b;return 0}e=mK(c[(c[e+96>>2]|0)+4>>2]|0,274744)|0;if((e|0)==0){i=b;return 0}e=jd[c[d+4>>2]&511](e)|0;c[(c[a+156>>2]|0)+36>>2]=e;i=b;return 0}function tS(a){a=a|0;c[(c[a+156>>2]|0)+36>>2]=0;i=i;return}function uS(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;j=i;q=i;i=i+1504|0;x=i;i=i+16|0;w=x;m=i;i=i+8|0;k=m;o=i;i=i+16|0;n=o;y=i;i=i+8|0;v=y;l=c[d+4>>2]|0;s=c[(c[l+488>>2]|0)+12>>2]|0;do{if((c[l+16>>2]|0)>>>0<=g>>>0){if((c[(c[l+128>>2]|0)+52>>2]|0)==0){k=6}else{break}i=j;return k|0}}while(0);u=(h&1024|0)==0?h:h|3;B=(f|0)!=0;if(B){c[d+172>>2]=c[f+16>>2];c[d+176>>2]=c[f+20>>2]}else{c[d+172>>2]=65536;c[d+176>>2]=65536}h=d+108|0;b[d+110>>1]=0;b[h>>1]=0;z=(u&1|0)==0;if(z){r=(u>>>1&1^1)&255}else{r=0}A=d+72|0;c[A>>2]=1869968492;t=Fd[c[s>>2]&7](q,l,f,d,c[l+420>>2]|0,c[l+532>>2]|0,r,u>>>16&15,199)|0;if((t|0)!=0){D=t;i=j;return D|0}t=u&1024;a[q+69|0]=t>>>10;c[q+1364>>2]=c[l+404>>2];c[q+1368>>2]=c[l+408>>2];c[q+1372>>2]=c[l+412>>2];c[q+1488>>2]=c[l+548>>2];c[q+1492>>2]=c[l+544>>2];g=CS(q,g,k)|0;if((g|0)!=0){fd[c[s+4>>2]&511](q);D=g;i=j;return D|0}$W(x|0,q+1376|0,16)|0;C=c[q+1392>>2]|0;g=c[q+1396>>2]|0;fd[c[s+4>>2]&511](q);D=d+124|0;c[D>>2]=c[D>>2]&1|4;do{if((t|0)==0){t=d+24|0;E=q+40|0;s=d+40|0;c[s>>2]=(ZI(c[E>>2]|0)|0)>>16;c[d+56>>2]=(ZI(c[E>>2]|0)|0)>>16;a[(c[d+156>>2]|0)+8|0]=0;u=(u&16|0)!=0;if(u){E=l+460|0;E=(c[E+12>>2]|0)-(c[E+4>>2]|0)>>16;c[d+52>>2]=E;c[d+60>>2]=E}else{E=q+44|0;c[d+52>>2]=(ZI(c[E>>2]|0)|0)>>16;c[d+60>>2]=(ZI(c[E>>2]|0)|0)>>16}c[A>>2]=1869968492;do{if(B){if((e[f+14>>1]|0)>=24){break}c[D>>2]=c[D>>2]|256}}while(0);do{if((c[x>>2]|0)==65536){if((c[w+12>>2]|0)!=65536){p=22;break}if((c[w+4>>2]|0)!=0){p=22;break}if((c[w+8>>2]|0)!=0){p=22}}else{p=22}}while(0);if((p|0)==22){GJ(h,w)}if((g|C|0)!=0){HJ(h,C,g)}c[y>>2]=c[s>>2];E=v+4|0;c[E>>2]=0;IJ(v,w);c[s>>2]=(c[y>>2]|0)+C;c[y>>2]=0;x=d+52|0;c[E>>2]=c[x>>2];IJ(v,w);c[x>>2]=(c[E>>2]|0)+g;if(z){y=c[q+16>>2]|0;f=c[y+4>>2]|0;v=c[d+172>>2]|0;w=c[d+176>>2]|0;if(r<<24>>24==0){p=28}else{if((c[q+72>>2]|0)==0){p=28}}do{if((p|0)==28){p=b[y+2>>1]|0;if(p<<16>>16<=0){break}p=p<<16>>16;while(1){c[f>>2]=aJ(c[f>>2]|0,v)|0;E=f+4|0;c[E>>2]=aJ(c[E>>2]|0,w)|0;p=p+ -1|0;if((p|0)>0){f=f+8|0}else{break}}}}while(0);c[s>>2]=aJ(c[s>>2]|0,v)|0;c[x>>2]=aJ(c[x>>2]|0,w)|0}zK(h,n);D=c[o>>2]|0;c[t>>2]=(c[n+8>>2]|0)-D;E=c[n+12>>2]|0;c[d+28>>2]=E-(c[n+4>>2]|0);c[d+32>>2]=D;c[d+36>>2]=E;if(!u){break}XJ(t,c[x>>2]|0)}else{E=c[d+156>>2]|0;c[d+32>>2]=(ZI(c[q+32>>2]|0)|0)>>16;c[d+40>>2]=(ZI(c[q+40>>2]|0)|0)>>16;$W(E+12|0,x|0,16)|0;c[E+28>>2]=C;c[E+32>>2]=g;a[E+8|0]=1}}while(0);n=d+136|0;c[n>>2]=c[m>>2];d=d+140|0;c[d>>2]=c[k+4>>2];l=c[(c[l+128>>2]|0)+52>>2]|0;if((l|0)==0){E=0;i=j;return E|0}hd[c[(c[l>>2]|0)+4>>2]&127](c[l+4>>2]|0,k);c[n>>2]=0;c[d>>2]=0;E=0;i=j;return E|0}function vS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;c[e>>2]=0;f=e+4|0;c[f>>2]=0;a=c[a+492>>2]|0;if((a|0)==0){i=g;return 0}h=c[a+36>>2]|0;b=b<<16|d;a=(c[a+40>>2]|0)+ -1|0;a:do{if((a|0)>=0){a=h+(a<<4)|0;b:while(1){while(1){d=(a-h>>4|0)/2|0;j=c[h+(d<<4)>>2]<<16|c[h+(d<<4)+4>>2];if((j|0)==(b|0)){break b}if(j>>>0>=b>>>0){break}h=h+(d+1<<4)|0;if(h>>>0>a>>>0){break a}}a=d+ -1|0;if((a|0)<0){break a}else{a=h+(a<<4)|0}}c[e>>2]=c[h+(d<<4)+8>>2];c[f>>2]=c[h+(d<<4)+12>>2];i=g;return 0}}while(0);c[e>>2]=0;c[f>>2]=0;i=g;return 0}function wS(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=i;p=i;i=i+8|0;s=p;u=i;i=i+24|0;f=i;i=i+8|0;q=e+28|0;h=c[q>>2]|0;c[f>>2]=2;t=a+132|0;n=jJ(h,44,f)|0;do{if((c[f>>2]|0)==0){r=e+4|0;C=MK(e,c[r>>2]|0)|0;c[f>>2]=C;if((C|0)!=0){break}l=n+4|0;o=a+460|0;$W(l|0,o|0,16)|0;m=n+20|0;c[m>>2]=c[o+12>>2];k=n+24|0;c[k>>2]=c[o+4>>2];v=c[a+488>>2]|0;do{if((v|0)==0){j=7}else{v=v+24|0;w=c[v>>2]|0;if((w|0)==0){j=7;break}w=pd[c[w>>2]&63](u,c[q>>2]|0,c[e+32>>2]|0,c[e+36>>2]|0)|0;c[f>>2]=w;if((w|0)!=0){break}c[u+8>>2]=n;c[u+12>>2]=91;c[u+16>>2]=t;c[f>>2]=jd[c[(c[v>>2]|0)+8>>2]&511](u)|0;fd[c[(c[v>>2]|0)+4>>2]&511](u);j=7}}while(0);if((j|0)==7){w=c[f>>2]|0}do{if((w|0)==2){v=c[e+32>>2]|0;r=c[r>>2]|0;if(r>>>0<=6){break}if((d[v+1|0]|0)>=4){j=37;break}if((d[v+4|0]<<16|d[v+5|0]<<24|d[v+3|0]<<8|d[v+2|0]|0)!=(r|0)){j=37;break}q=c[q>>2]|0;w=c[e+36>>2]|0;c[p>>2]=0;a:do{if((v+101|0)>>>0>w>>>0){c[p>>2]=2;j=35}else{r=(d[v+100|0]<<8&65535|d[v+99|0])&65535;if((v+(r+135)|0)>>>0>w>>>0){w=0;break}if(((d[v+(r+118)|0]<<8&65535|d[v+(r+117)|0])&65535)<18){w=0;break}r=d[v+(r+133)|0]<<16|d[v+(r+134)|0]<<24|d[v+(r+132)|0]<<8|d[v+(r+131)|0];if((r|0)==0){w=0;break}u=r+2|0;t=v+u|0;if(t>>>0>w>>>0){c[p>>2]=2;j=35;break}y=d[v+(r+1)|0]<<8&65535|d[v+r|0];x=y&65535;r=n+40|0;c[r>>2]=x;if((v+((x<<2)+u)|0)>>>0>w>>>0){c[p>>2]=2;j=35;break}if(y<<16>>16==0){w=0;break}x=oJ(q,16,0,x,0,s)|0;s=n+36|0;c[s>>2]=x;if((c[p>>2]|0)!=0){j=35;break}y=(c[r>>2]<<2)+u|0;w=v+y|0;v=c[a+92>>2]|0;C=c[a+36>>2]|0;b:do{if((C|0)>0){A=c[a+40>>2]|0;z=0;while(1){B=c[A+(z<<2)>>2]|0;z=z+1|0;if((b[B+8>>1]|0)==7){break}if((z|0)>=(C|0)){break b}}C=dK(a,B)|0;c[p>>2]=C;if((C|0)!=0){j=35;break a}}}while(0);if((u|0)<(y|0)){while(1){c[x>>2]=KJ(a,d[t]|0)|0;c[x+4>>2]=KJ(a,d[t+1|0]|0)|0;c[x+8>>2]=(d[t+3|0]<<8&65535|d[t+2|0])<<16>>16;c[x+12>>2]=0;t=t+4|0;if(t>>>0<w>>>0){x=x+16|0}else{break}}}if((v|0)==0){t=c[p>>2]|0}else{t=dK(a,v)|0;c[p>>2]=t}if((t|0)!=0){j=35;break}pb(c[s>>2]|0,c[r>>2]|0,16,200);if((c[p>>2]|0)==0){w=0}else{j=35}}}while(0);if((j|0)==35){w=n+36|0;lJ(q,c[w>>2]|0);c[w>>2]=0;c[n+40>>2]=0;w=c[p>>2]|0}c[f>>2]=w;j=37}else{j=37}}while(0);do{if((j|0)==37){if((w|0)!=0){break}$W(o|0,l|0,16)|0;c[a+52>>2]=c[l>>2]>>16;c[a+56>>2]=c[n+8>>2]>>16;c[a+60>>2]=(c[n+12>>2]|0)+65535>>16;c[a+64>>2]=(c[n+16>>2]|0)+65535>>16;b[a+70>>1]=((c[m>>2]|0)+32768|0)>>>16;b[a+72>>1]=((c[k>>2]|0)+32768|0)>>>16;if((c[n+40>>2]|0)==0){break}C=a+8|0;c[C>>2]=c[C>>2]|64;c[a+492>>2]=n;n=0}}while(0);PK(e)}}while(0);if((n|0)==0){C=f;C=c[C>>2]|0;i=g;return C|0}C=n+36|0;lJ(h,c[C>>2]|0);c[C>>2]=0;c[n+40>>2]=0;C=n+28|0;lJ(h,c[C>>2]|0);c[C>>2]=0;c[n+32>>2]=0;lJ(h,n);C=f;C=c[C>>2]|0;i=g;return C|0}function xS(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;k=i;i=i+8|0;j=i;i=i+1504|0;if((f&16|0)!=0){if((e|0)==0){m=0;i=h;return m|0}bX(g|0,0,e<<2|0)|0;m=0;i=h;return m|0}f=Fd[c[c[(c[b+488>>2]|0)+12>>2]>>2]&7](j,b,0,0,c[b+420>>2]|0,c[b+532>>2]|0,0,0,199)|0;if((f|0)!=0){m=f;i=h;return m|0}a[j+70|0]=1;a[j+68|0]=0;c[j+1364>>2]=c[b+404>>2];c[j+1368>>2]=c[b+408>>2];c[j+1372>>2]=c[b+412>>2];c[j+1488>>2]=c[b+548>>2];c[j+1492>>2]=c[b+544>>2];if((e|0)==0){m=0;i=h;return m|0}f=j+4|0;b=j+40|0;m=0;while(1){if((CS(j,m+d|0,k)|0)==0){l=c[(c[(c[f>>2]|0)+128>>2]|0)+52>>2]|0;if((l|0)!=0){hd[c[(c[l>>2]|0)+4>>2]&127](c[l+4>>2]|0,k)}c[g+(m<<2)>>2]=(ZI(c[b>>2]|0)|0)>>16}else{c[g+(m<<2)>>2]=0}m=m+1|0;if(m>>>0>=e>>>0){g=0;break}}i=h;return g|0}function yS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=c[a>>2]|0;f=c[e+552>>2]|0;e=mK(c[(c[e+96>>2]|0)+4>>2]|0,274744)|0;do{if(!((e|0)==0|(f|0)==0)){f=c[f>>2]|0;if((f|0)==0){break}e=jd[f&511](e)|0;_J(c[a>>2]|0,b);if((e|0)==0){i=d;return 0}Cd[c[e+4>>2]&63](c[a+40>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0,0,0)|0;i=d;return 0}}while(0);_J(c[a>>2]|0,b);i=d;return 0}function zS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;if(d>>>0>65535){j=0;i=f;return j|0}g=c[e+284>>2]|0;if((g|0)<=0){j=0;i=f;return j|0}e=c[e+288>>2]|0;h=0;a:while(1){j=c[e+(h<<2)>>2]|0;do{if((j|0)!=0){if((a[j]|0)!=(a[b]|0)){break}if((ZW(j|0)|0)!=(d|0)){break}if((vc(j|0,b|0,d|0)|0)==0){d=9;break a}}}while(0);h=h+1|0;if((h|0)>=(g|0)){h=0;d=9;break}}if((d|0)==9){i=f;return h|0}return 0}function AS(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a>>2]<<16|c[a+4>>2];b=c[b>>2]<<16|c[b+4>>2];if(a>>>0>b>>>0){a=1;i=d;return a|0}a=(a>>>0<b>>>0)<<31>>31;i=d;return a|0}function BS(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=i;i=i+8|0;b=CS(a,b,e)|0;if((b|0)!=0){i=d;return b|0}a=c[(c[(c[a+4>>2]|0)+128>>2]|0)+52>>2]|0;if((a|0)==0){i=d;return b|0}hd[c[(c[a>>2]|0)+4>>2]&127](c[a+4>>2]|0,e);i=d;return b|0}function CS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;j=i;e=i;i=i+16|0;f=e;k=c[a+4>>2]|0;g=c[(c[k+128>>2]|0)+52>>2]|0;$W(a+1376|0,k+436|0,16)|0;m=k+452|0;l=c[m+4>>2]|0;h=a+1392|0;c[h>>2]=c[m>>2];c[h+4>>2]=l;h=(g|0)!=0;do{if(h){k=sd[c[c[g>>2]>>2]&127](c[g+4>>2]|0,b,d)|0;if((k|0)==0){k=c[d+4>>2]|0;d=c[d>>2]|0;break}else{m=k;i=j;return m|0}}else{m=c[(c[k+424>>2]|0)+(b<<2)>>2]|0;c[d>>2]=m;k=c[(c[k+428>>2]|0)+(b<<2)>>2]|0;c[d+4>>2]=k;d=m}}while(0);d=sd[c[a+1484>>2]&127](a,d,k)|0;if((d|0)!=0|h^1){m=d;i=j;return m|0}if((c[(c[g>>2]|0)+8>>2]|0)==0){m=0;i=j;return m|0}n=a+32|0;c[e>>2]=(ZI(c[n>>2]|0)|0)>>16;c[f+4>>2]=0;d=a+40|0;h=f+8|0;c[h>>2]=(ZI(c[d>>2]|0)|0)>>16;l=a+44|0;k=f+12|0;c[k>>2]=(ZI(c[l>>2]|0)|0)>>16;m=pd[c[(c[g>>2]|0)+8>>2]&63](c[g+4>>2]|0,b,0,f)|0;c[n>>2]=c[e>>2]<<16;c[d>>2]=c[h>>2]<<16;c[l>>2]=c[k>>2]<<16;i=j;return m|0}function DS(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;e=i;d=c[b+100>>2]|0;g=b+532|0;f=c[g>>2]|0;if((f|0)==0){i=e;return}h=c[f>>2]|0;b=c[f+4>>2]|0;j=f+24|0;lJ(d,c[j>>2]|0);c[j>>2]=0;if(h>>>0>1){bX(f+28|0,0,(h<<2)+ -4|0)|0}j=f+216|0;lJ(d,c[j>>2]|0);c[j>>2]=0;j=f+148|0;lJ(d,c[j>>2]|0);c[j>>2]=0;j=f+288|0;lJ(d,c[j>>2]|0);c[j>>2]=0;if((h|0)!=0){j=0;do{c[f+212+(j<<2)>>2]=0;c[f+144+(j<<2)>>2]=0;c[f+284+(j<<2)>>2]=0;j=j+1|0;}while(j>>>0<h>>>0)}h=f+136|0;lJ(d,c[h>>2]|0);c[h>>2]=0;c[f+140>>2]=0;h=(b|0)==0;do{if(!h){j=0;do{k=f+8+(j<<2)|0;lJ(d,c[k>>2]|0);c[k>>2]=0;j=j+1|0;}while(j>>>0<b>>>0);if(h){break}else{h=0}do{k=f+88+(h*12|0)+4|0;lJ(d,c[k>>2]|0);c[k>>2]=0;a[f+88+(h*12|0)|0]=0;h=h+1|0;}while(h>>>0<b>>>0)}}while(0);lJ(d,c[g>>2]|0);c[g>>2]=0;i=e;return}function ES(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;j=i;k=i;i=i+8|0;l=k;c[e>>2]=f;m=f+g|0;f=e+8|0;c[f>>2]=m;g=e+12|0;c[g>>2]=0;v=e+28|0;fd[c[v>>2]&511](e);A=c[e>>2]|0;a:do{if(A>>>0<m>>>0){s=e+372|0;t=e+32|0;q=e+36|0;u=b+532|0;r=b+132|0;p=e+68|0;o=e+64|0;x=b+132|0;y=b+164|0;n=b+168|0;w=b+460|0;B=0;z=0;b:while(1){C=a[A]|0;if(C<<24>>24==70){h=14}else if(C<<24>>24==101){D=A+6|0;do{if((D|0)==(m|0)){h=7}else{if(D>>>0>=m>>>0){break}switch(a[A+5|0]|0){case 37:case 125:case 123:case 93:case 91:case 62:case 60:case 41:case 40:case 47:case 0:case 12:case 9:case 10:case 13:case 32:{h=7;break};default:{}}}}while(0);if((h|0)==7){if((vc(A|0,274824,5)|0)==0){break a}}if(C<<24>>24==70){h=14}else if(C<<24>>24==99){h=9}else{h=21}}else if(C<<24>>24==99){h=9}else{h=21}if((h|0)==9){h=0;D=A+10|0;do{if((D|0)==(m|0)){h=12}else{if(D>>>0>=m>>>0){break}switch(a[A+9|0]|0){case 37:case 125:case 123:case 93:case 91:case 62:case 60:case 41:case 40:case 47:case 0:case 12:case 9:case 10:case 13:case 32:{h=12;break};default:{}}}}while(0);if((h|0)==12){if((vc(A|0,274832,9)|0)==0){break a}}if(C<<24>>24==70){h=14}else{h=21}}c:do{if((h|0)==14){h=0;D=A+14|0;if((D|0)!=(m|0)){if(D>>>0>=m>>>0){h=21;break}switch(a[A+13|0]|0){case 37:case 125:case 123:case 93:case 91:case 62:case 60:case 41:case 40:case 47:case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{h=21;break c}}}if((vc(A|0,274848,13)|0)!=0){h=21;break}C=c[s>>2]|0;if((C&1|0)!=0){c[s>>2]=C|2}c[e>>2]=A+13}}while(0);d:do{if((h|0)==21){h=0;if(((C&255)+ -48|0)>>>0<10){fd[c[t>>2]&511](e);if((c[g>>2]|0)==0){B=1;z=A;break}else{break a}}D=(A+6|0)>>>0<m>>>0;do{if(C<<24>>24==82&D){if((a[A+1|0]|0)!=68|B<<24>>24==0){break}c[e>>2]=z;A=c[f>>2]|0;fd[c[v>>2]&511](e);B=c[e>>2]|0;if(B>>>0>=A>>>0){h=29;break b}if(((d[B]|0)+ -48|0)>>>0>=10){h=29;break b}B=jd[c[q>>2]&511](e)|0;fd[c[t>>2]&511](e);C=c[e>>2]|0;if((B|0)<=-1){h=29;break b}if((B|0)>=(A-(C+1)|0)){h=29;break b}c[e>>2]=C+(B+1);if((c[g>>2]|0)==0){B=0;break d}else{A=3;h=73;break b}}}while(0);do{if(C<<24>>24==45&D){if((a[A+1|0]|0)!=124|B<<24>>24==0){break}c[e>>2]=z;A=c[f>>2]|0;fd[c[v>>2]&511](e);B=c[e>>2]|0;if(B>>>0>=A>>>0){h=37;break b}if(((d[B]|0)+ -48|0)>>>0>=10){h=37;break b}C=jd[c[q>>2]&511](e)|0;fd[c[t>>2]&511](e);B=c[e>>2]|0;if((C|0)<=-1){h=37;break b}if((C|0)>=(A-(B+1)|0)){h=37;break b}c[e>>2]=B+(C+1);if((c[g>>2]|0)==0){B=0;break d}else{A=3;h=73;break b}}}while(0);if(!(C<<24>>24==47&(A+2|0)>>>0<m>>>0)){fd[c[t>>2]&511](e);if((c[g>>2]|0)==0){B=0;break}else{break a}}C=A+1|0;c[e>>2]=C;fd[c[t>>2]&511](e);if((c[g>>2]|0)!=0){break a}E=c[e>>2]|0;D=E-C|0;if(!((D+ -1|0)>>>0<21&E>>>0<m>>>0)){B=0;break}B=a[C]|0;E=276576;A=274864;e:while(1){do{if(B<<24>>24==(a[E]|0)){if((D|0)!=(ZW(E|0)|0)){break}if((iX(C|0,E|0,D|0)|0)==0){break e}}}while(0);A=A+36|0;E=c[A>>2]|0;if((E|0)==0){B=0;break d}}B=c[s>>2]|0;if(((B&1)+1&c[A+32>>2]|0)==0){B=0;break}if((B&2|0)!=0){if((Qc(E|0,276560)|0)!=0){B=0;break}}D=c[u>>2]|0;C=c[A+8>>2]|0;do{if((C|0)==10){hd[c[A+12>>2]&127](b,e);A=c[g>>2]|0}else{f:do{switch(c[A+4>>2]|0){case 4:{c[k>>2]=n;if((D|0)==0){B=0;D=l;break f}B=c[D>>2]|0;D=D+212|0;break};case 5:{c[k>>2]=w;if((D|0)==0){B=0;D=l;break f}B=c[D>>2]|0;D=D+284|0;break};case 8:{c[k>>2]=D;B=0;D=l;break};case 3:{c[k>>2]=x;if((D|0)==0){B=0;D=l;break f}B=c[D>>2]|0;D=D+144|0;break};case 6:{c[k>>2]=e;B=0;D=l;break};case 7:{c[k>>2]=b;B=0;D=l;break};case 2:{c[k>>2]=y;B=0;D=l;break};default:{c[k>>2]=r;B=0;D=l}}}while(0);if((C+ -8|0)>>>0<2){A=Cd[c[p>>2]&63](e,A,D,B,0)|0;break}else{A=Cd[c[o>>2]&63](e,A,D,B,0)|0;break}}}while(0);c[g>>2]=A;if((A|0)==0){B=0;break}if((A&255|0)!=162){h=73;break b}c[g>>2]=0;B=0}}while(0);fd[c[v>>2]&511](e);A=c[e>>2]|0;if(A>>>0>=m>>>0){break a}}if((h|0)==29){c[g>>2]=3;E=3;i=j;return E|0}else if((h|0)==37){c[g>>2]=3;E=3;i=j;return E|0}else if((h|0)==73){i=j;return A|0}}}while(0);E=c[g>>2]|0;i=j;return E|0}function FS(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;e=i;i=i+24|0;g=e;if((pd[c[d+52>>2]&63](d,6,g,3)|0)<0){c[d+12>>2]=3;i=f;return}h=g+12|0;j=c[h>>2]|0;j=(j|0)<0?0-j|0:j;if((j|0)==0){c[d+12>>2]=3;i=f;return}b[a+68>>1]=(bJ(65536e3,j)|0)>>>16;if((j|0)==65536){d=c[g+20>>2]|0;k=c[h>>2]|0;h=g+4|0;j=g+8|0;g=g+16|0}else{c[e>>2]=bJ(c[e>>2]|0,j)|0;n=g+4|0;c[n>>2]=bJ(c[n>>2]|0,j)|0;m=g+8|0;c[m>>2]=bJ(c[m>>2]|0,j)|0;l=g+16|0;c[l>>2]=bJ(c[l>>2]|0,j)|0;k=g+20|0;d=bJ(c[k>>2]|0,j)|0;c[k>>2]=d;k=c[h>>2]>>31&-131072|65536;c[h>>2]=k;h=n;j=m;g=l}c[a+436>>2]=c[e>>2];c[a+444>>2]=c[h>>2];c[a+440>>2]=c[j>>2];c[a+448>>2]=k;c[a+452>>2]=c[g>>2]>>16;c[a+456>>2]=d>>16;i=f;return}function GS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=i;m=i;i=i+8|0;p=m;g=c[d+8>>2]|0;o=c[b+488>>2]|0;h=d+28|0;fd[c[h>>2]&511](d);l=c[d>>2]|0;if(l>>>0>=g>>>0){c[d+12>>2]=3;i=e;return}t=a[l]|0;k=t<<24>>24==91;if(!(((t&255)+ -48|0)>>>0<10|k)){do{if((l+17|0)>>>0<g>>>0){if((vc(l|0,277264,16)|0)!=0){break}c[b+368>>2]=2;i=e;return}}while(0);do{if((l+15|0)>>>0<g>>>0){if((vc(l|0,277288,14)|0)!=0){break}c[b+368>>2]=4;i=e;return}}while(0);do{if((l+18|0)>>>0<g>>>0){if((vc(l|0,277304,17)|0)!=0){break}c[b+368>>2]=3;i=e;return}}while(0);c[d+12>>2]=162;i=e;return}j=d+100|0;n=c[d+16>>2]|0;if(k){c[d>>2]=l+1;k=256;q=1}else{k=jd[c[d+36>>2]&511](d)|0;q=0}fd[c[h>>2]&511](d);if((c[d>>2]|0)>>>0>=g>>>0){i=e;return}c[b+372>>2]=k;c[d+96>>2]=k;c[b+384>>2]=oJ(n,2,0,k,0,p)|0;r=c[m>>2]|0;do{if((r|0)==0){c[b+388>>2]=oJ(n,4,0,k,0,p)|0;r=c[m>>2]|0;if((r|0)!=0){break}r=sd[c[c[o>>2]>>2]&127](j,k,n)|0;c[m>>2]=r;if((r|0)!=0){break}if((k|0)>0){m=d+144|0;n=0;do{pd[c[m>>2]&63](j,n,274816,8)|0;n=n+1|0;}while((n|0)<(k|0))}fd[c[h>>2]&511](d);r=c[d>>2]|0;a:do{if(r>>>0<g>>>0){m=d+32|0;l=d+12|0;o=d+144|0;n=d+124|0;p=d+36|0;b:do{if(q<<24>>24==0){q=0;c:while(1){s=a[r]|0;do{if(s<<24>>24==100){t=r+3|0;if(t>>>0>=g>>>0){break}if((a[r+1|0]|0)!=101){break}if((a[r+2|0]|0)!=102){break}switch(a[t]|0){case 37:case 125:case 123:case 93:case 91:case 62:case 60:case 41:case 40:case 47:case 0:case 12:case 9:case 10:case 13:case 32:{l=t;break a};default:{}}}else if(s<<24>>24==93){f=r;break b}}while(0);do{if(((s&255)+ -48|0)>>>0>9){fd[c[m>>2]&511](d);if((c[l>>2]|0)!=0){g=52;break c}}else{r=jd[c[p>>2]&511](d)|0;fd[c[h>>2]&511](d);s=c[d>>2]|0;if(!((a[s]|0)==47&(s+2|0)>>>0<g>>>0&(q|0)<(k|0))){r=s;break}t=s+1|0;c[d>>2]=t;fd[c[m>>2]&511](d);if((c[l>>2]|0)!=0){g=52;break c}s=(c[d>>2]|0)-t|0;u=pd[c[o>>2]&63](j,r,t,s+1|0)|0;c[l>>2]=u;if((u|0)!=0){g=52;break c}a[(c[(c[n>>2]|0)+(r<<2)>>2]|0)+s|0]=0;r=t;q=q+1|0}}while(0);fd[c[h>>2]&511](d);s=c[d>>2]|0;if(s>>>0<g>>>0){r=s}else{l=r;break a}}if((g|0)==52){i=e;return}}else{p=0;while(1){s=a[r]|0;if(s<<24>>24==93){f=r;break b}else if(s<<24>>24==100){q=r+3|0;if(q>>>0>=g>>>0){g=39;break}do{if((a[r+1|0]|0)==101){if((a[r+2|0]|0)!=102){break}switch(a[q]|0){case 37:case 125:case 123:case 93:case 91:case 62:case 60:case 41:case 40:case 47:case 0:case 12:case 9:case 10:case 13:case 32:{l=q;break a};default:{}}}}while(0);if(s<<24>>24==93){f=r;break b}}if(!(s<<24>>24==47&(r+2|0)>>>0<g>>>0&(p|0)<(k|0))){g=39;break}q=r+1|0;c[d>>2]=q;fd[c[m>>2]&511](d);if((c[l>>2]|0)!=0){g=52;break}r=(c[d>>2]|0)-q|0;u=pd[c[o>>2]&63](j,p,q,r+1|0)|0;c[l>>2]=u;if((u|0)!=0){g=52;break}a[(c[(c[n>>2]|0)+(p<<2)>>2]|0)+r|0]=0;fd[c[h>>2]&511](d);r=c[d>>2]|0;if(r>>>0<g>>>0){p=p+1|0}else{l=q;break a}}if((g|0)==39){c[l>>2]=2;i=e;return}else if((g|0)==52){i=e;return}}}while(0);l=f+1|0}}while(0);c[b+368>>2]=1;c[d>>2]=l;i=e;return}}while(0);c[d+12>>2]=r;i=e;return}function HS(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=i;l=i;i=i+8|0;j=l;n=e+316|0;h=c[e+16>>2]|0;t=c[b+488>>2]|0;k=e+28|0;fd[c[k>>2]&511](e);m=c[e>>2]|0;g=e+8|0;do{if(m>>>0<(c[g>>2]|0)>>>0){if((a[m]|0)!=91){break}fd[c[e+32>>2]&511](e);fd[c[k>>2]&511](e);h=c[e>>2]|0;do{if(h>>>0<(c[g>>2]|0)>>>0){if((a[h]|0)!=93){break}i=f;return}}while(0);c[e+12>>2]=3;i=f;return}}while(0);q=e+36|0;o=jd[c[q>>2]&511](e)|0;p=e+32|0;fd[c[p>>2]&511](e);m=e+12|0;if((c[m>>2]|0)!=0){i=f;return}fd[c[k>>2]&511](e);r=e+312|0;if((c[r>>2]|0)==0){x=sd[c[c[t>>2]>>2]&127](n,o,h)|0;c[l>>2]=x;if((x|0)==0){s=9}}else{s=9}a:do{if((s|0)==9){b:do{if((vc(c[e>>2]|0,277248,3)|0)==0){s=b+172|0;t=t+16|0;b=e+360|0;while(1){fd[c[p>>2]&511](e);u=jd[c[q>>2]&511](e)|0;x=c[g>>2]|0;fd[c[k>>2]&511](e);v=c[e>>2]|0;if(v>>>0>=x>>>0){s=15;break}if(((d[v]|0)+ -48|0)>>>0>=10){s=15;break}v=jd[c[q>>2]&511](e)|0;fd[c[p>>2]&511](e);y=c[e>>2]|0;w=y+1|0;if((v|0)<=-1){s=15;break}if((v|0)>=(x-w|0)){s=15;break}c[e>>2]=y+(v+1);if((c[m>>2]|0)!=0){s=32;break}fd[c[p>>2]&511](e);if((c[m>>2]|0)!=0){s=32;break}fd[c[k>>2]&511](e);if((vc(c[e>>2]|0,277256,3)|0)==0){fd[c[p>>2]&511](e);fd[c[k>>2]&511](e)}if((c[r>>2]|0)==0){x=c[s>>2]|0;if((x|0)>-1){if((v|0)<(x|0)){s=24;break}y=jJ(h,v,j)|0;x=c[l>>2]|0;if((x|0)!=0){break a}$W(y|0,w|0,v|0)|0;Gd[c[t>>2]&255](y,v,4330);x=c[s>>2]|0;c[l>>2]=pd[c[b>>2]&63](n,u,y+x|0,v-x|0)|0;lJ(h,y);x=c[l>>2]|0}else{x=pd[c[b>>2]&63](n,u,w,v)|0;c[l>>2]=x}if((x|0)!=0){break a}}if((vc(c[e>>2]|0,277248,3)|0)!=0){break b}}if((s|0)==15){c[m>>2]=3;i=f;return}else if((s|0)==24){c[l>>2]=3;x=3;break a}else if((s|0)==32){i=f;return}}}while(0);if((c[r>>2]|0)!=0){i=f;return}c[r>>2]=o;i=f;return}}while(0);c[m>>2]=x;i=f;return}function IS(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;f=i;h=i;i=i+8|0;p=h;o=i;i=i+8|0;n=o;j=e+208|0;k=e+156|0;l=e+260|0;q=c[e+16>>2]|0;z=c[b+488>>2]|0;r=e+8|0;t=c[r>>2]|0;s=e+36|0;y=jd[c[s>>2]&511](e)|0;if((y|0)==0){i=f;return}g=e+12|0;if((c[g>>2]|0)!=0){i=f;return}m=e+152|0;do{if((c[m>>2]|0)==0){v=y+6|0;G=sd[c[c[z>>2]>>2]&127](j,v,q)|0;c[h>>2]=G;if((G|0)!=0){break}G=sd[c[c[z>>2]>>2]&127](k,v,q)|0;c[h>>2]=G;if((G|0)!=0){break}G=sd[c[c[z>>2]>>2]&127](l,4,q)|0;c[h>>2]=G;if((G|0)==0){u=7}}else{u=7}}while(0);a:do{if((u|0)==7){x=e+28|0;fd[c[x>>2]&511](e);E=c[e>>2]|0;do{if(E>>>0<t>>>0){u=e+32|0;v=e+200|0;w=e+180|0;b=b+172|0;y=y+5|0;A=z+16|0;z=e+252|0;B=0;D=0;C=0;b:while(1){G=(B|0)==0;while(1){F=E+3|0;c:do{if(F>>>0<t>>>0){switch(a[F]|0){case 37:case 125:case 123:case 93:case 91:case 62:case 60:case 41:case 40:case 47:case 0:case 12:case 9:case 10:case 13:case 32:{break};default:{break c}}F=a[E]|0;if(F<<24>>24==100){if((a[E+1|0]|0)!=101){break}if(!((a[E+2|0]|0)!=102|G)){u=42;break b}if(F<<24>>24!=101){break}}else if(F<<24>>24!=101){break}if((a[E+1|0]|0)!=110){break}if((a[E+2|0]|0)==100){u=42;break b}}}while(0);fd[c[u>>2]&511](e);if((c[g>>2]|0)!=0){u=60;break b}if((a[E]|0)==47){I=E+1|0;if(I>>>0>=t>>>0){u=24;break b}H=(c[e>>2]|0)-I|0;J=c[r>>2]|0;fd[c[x>>2]&511](e);E=c[e>>2]|0;if(E>>>0>=J>>>0){u=29;break b}if(((d[E]|0)+ -48|0)>>>0>=10){u=29;break b}F=jd[c[s>>2]&511](e)|0;fd[c[u>>2]&511](e);K=c[e>>2]|0;E=K+1|0;if((F|0)<=-1){u=29;break b}if((F|0)>=(J-E|0)){u=29;break b}c[e>>2]=K+(F+1);if((c[g>>2]|0)!=0){u=60;break b}if((c[m>>2]|0)==0){break}}fd[c[x>>2]&511](e);E=c[e>>2]|0;if(E>>>0>=t>>>0){u=42;break b}}G=pd[c[v>>2]&63](k,B,I,H+1|0)|0;c[h>>2]=G;if((G|0)!=0){break a}a[(c[(c[w>>2]|0)+(B<<2)>>2]|0)+H|0]=0;if((a[I]|0)==46){G=(Qc(274816,c[(c[w>>2]|0)+(B<<2)>>2]|0)|0)==0;D=G?1:D;C=G?B:C}G=c[b>>2]|0;if((G|0)>-1&(B|0)<(y|0)){if((F|0)<=(G|0)){u=37;break}H=jJ(q,F,p)|0;G=c[h>>2]|0;if((G|0)!=0){break a}$W(H|0,E|0,F|0)|0;Gd[c[A>>2]&255](H,F,4330);G=c[b>>2]|0;c[h>>2]=pd[c[z>>2]&63](j,B,H+G|0,F-G|0)|0;lJ(q,H);G=c[h>>2]|0}else{G=pd[c[z>>2]&63](j,B,E,F)|0;c[h>>2]=G}B=B+1|0;if((G|0)!=0){break a}fd[c[x>>2]&511](e);E=c[e>>2]|0;if(E>>>0>=t>>>0){u=42;break}}if((u|0)==24){c[h>>2]=3;G=3;break a}else if((u|0)==29){c[g>>2]=3;i=f;return}else if((u|0)==37){c[h>>2]=3;G=3;break a}else if((u|0)==42){c[m>>2]=B;if(D<<24>>24==0){break}n=e+180|0;p=c[c[n>>2]>>2]|0;if((Qc(274816,p|0)|0)==0){i=f;return}m=e+304|0;o=e+184|0;G=pd[c[m>>2]&63](l,0,p,c[c[o>>2]>>2]|0)|0;c[h>>2]=G;if((G|0)!=0){break a}q=e+232|0;p=e+236|0;G=pd[c[m>>2]&63](l,1,c[c[q>>2]>>2]|0,c[c[p>>2]>>2]|0)|0;c[h>>2]=G;if((G|0)!=0){break a}G=pd[c[m>>2]&63](l,2,c[(c[n>>2]|0)+(C<<2)>>2]|0,c[(c[o>>2]|0)+(C<<2)>>2]|0)|0;c[h>>2]=G;if((G|0)!=0){break a}G=pd[c[m>>2]&63](l,3,c[(c[q>>2]|0)+(C<<2)>>2]|0,c[(c[p>>2]|0)+(C<<2)>>2]|0)|0;c[h>>2]=G;if((G|0)!=0){break a}n=e+200|0;l=e+284|0;m=e+288|0;G=pd[c[n>>2]&63](k,C,c[c[l>>2]>>2]|0,c[c[m>>2]>>2]|0)|0;c[h>>2]=G;if((G|0)!=0){break a}e=e+252|0;G=pd[c[e>>2]&63](j,C,c[(c[l>>2]|0)+4>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;c[h>>2]=G;if((G|0)!=0){break a}G=pd[c[n>>2]&63](k,0,c[(c[l>>2]|0)+8>>2]|0,c[(c[m>>2]|0)+8>>2]|0)|0;c[h>>2]=G;if((G|0)!=0){break a}G=pd[c[e>>2]&63](j,0,c[(c[l>>2]|0)+12>>2]|0,c[(c[m>>2]|0)+12>>2]|0)|0;c[h>>2]=G;if((G|0)!=0){break a}i=f;return}else if((u|0)==60){i=f;return}}else{c[m>>2]=0;B=0}}while(0);$W(o|0,277240,5)|0;o=e+304|0;G=pd[c[o>>2]&63](l,0,c[c[e+180>>2]>>2]|0,c[c[e+184>>2]>>2]|0)|0;c[h>>2]=G;if((G|0)!=0){break}G=pd[c[o>>2]&63](l,1,c[c[e+232>>2]>>2]|0,c[c[e+236>>2]>>2]|0)|0;c[h>>2]=G;if((G|0)!=0){break}o=e+200|0;G=pd[c[o>>2]&63](k,0,274816,8)|0;c[h>>2]=G;if((G|0)!=0){break}l=e+252|0;G=pd[c[l>>2]&63](j,0,n,5)|0;c[h>>2]=G;if((G|0)!=0){break}n=e+284|0;e=e+288|0;G=pd[c[o>>2]&63](k,B,c[c[n>>2]>>2]|0,c[c[e>>2]>>2]|0)|0;c[h>>2]=G;if((G|0)!=0){break}G=pd[c[l>>2]&63](j,B,c[(c[n>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;c[h>>2]=G;if((G|0)!=0){break}c[m>>2]=(c[m>>2]|0)+1;i=f;return}}while(0);c[g>>2]=G;i=f;return}function JS(a,b){a=a|0;b=b|0;a=b+372|0;c[a>>2]=c[a>>2]|1;i=i;return}function KS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=i;l=i;i=i+192|0;j=i;i=i+8|0;m=i;i=i+48|0;h=i;i=i+8|0;n=h;k=b+60|0;Jd[c[k>>2]&63](b,l,16,j);p=c[j>>2]|0;if((p|0)<0){t=162;u=b+12|0;c[u>>2]=t;i=d;return}if((p|0)==0|(p|0)>16){t=3;u=b+12|0;c[u>>2]=t;i=d;return}f=c[b>>2]|0;e=b+8|0;g=c[e>>2]|0;o=a+532|0;a:do{if((p|0)>0){p=b+40|0;r=c[o>>2]|0;q=0;u=0;while(1){c[b>>2]=c[l+(q*12|0)>>2];c[e>>2]=c[l+(q*12|0)+4>>2];Jd[c[k>>2]&63](b,m,4,n);s=c[h>>2]|0;if((q|0)==0){if((s+ -1|0)>>>0>3){r=3;a=15;break}r=PS(a,c[j>>2]|0,s)|0;if((r|0)!=0){a=15;break}t=c[h>>2]|0;r=c[o>>2]|0}else{if((s|0)==(u|0)){t=u;s=u}else{r=3;a=15;break}}if((t|0)>0){u=r+24+(q<<2)|0;t=0;do{c[b>>2]=c[m+(t*12|0)>>2];c[e>>2]=c[m+(t*12|0)+4>>2];v=Bd[c[p>>2]&255](b,0)|0;c[(c[u>>2]|0)+(t<<2)>>2]=v;t=t+1|0;}while((t|0)<(c[h>>2]|0))}q=q+1|0;if((q|0)<(c[j>>2]|0)){u=s}else{break a}}if((a|0)==15){v=b+12|0;c[v>>2]=r;i=d;return}}}while(0);c[b>>2]=f;c[e>>2]=g;u=0;v=b+12|0;c[v>>2]=u;i=d;return}function LS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=i;j=i;i=i+8|0;r=j;p=i;i=i+48|0;n=i;i=i+8|0;q=i;i=i+240|0;m=i;i=i+8|0;l=m;c[j>>2]=0;k=c[b+100>>2]|0;o=d+60|0;Jd[c[o>>2]&63](d,p,4,n);s=c[n>>2]|0;if((s|0)<0){c[j>>2]=162;w=162;x=d+12|0;c[x>>2]=w;i=e;return}if((s|0)==0|(s|0)>4){c[j>>2]=3;w=3;x=d+12|0;c[x>>2]=w;i=e;return}g=c[d>>2]|0;h=d+8|0;f=c[h>>2]|0;s=PS(b,0,s)|0;c[j>>2]=s;if((s|0)!=0){w=s;x=d+12|0;c[x>>2]=w;i=e;return}b=c[b+532>>2]|0;do{if((c[n>>2]|0)>0){s=d+36|0;t=d+40|0;u=0;while(1){c[d>>2]=c[p+(u*12|0)>>2];c[h>>2]=c[p+(u*12|0)+4>>2];Jd[c[o>>2]&63](d,q,20,l);v=c[m>>2]|0;if((v+ -1|0)>>>0>19){k=9;break}w=oJ(k,4,0,v<<1,0,r)|0;v=b+88+(u*12|0)+4|0;c[v>>2]=w;x=c[j>>2]|0;if((x|0)!=0){k=16;break}x=b+88+(u*12|0)+8|0;c[x>>2]=w+(c[m>>2]<<2);a[b+88+(u*12|0)|0]=c[m>>2];if((c[m>>2]|0)>0){w=0;do{c[d>>2]=(c[q+(w*12|0)>>2]|0)+1;c[h>>2]=(c[q+(w*12|0)+4>>2]|0)+ -1;y=jd[c[s>>2]&511](d)|0;c[(c[v>>2]|0)+(w<<2)>>2]=y;y=Bd[c[t>>2]&255](d,0)|0;c[(c[x>>2]|0)+(w<<2)>>2]=y;w=w+1|0;}while((w|0)<(c[m>>2]|0))}u=u+1|0;if((u|0)>=(c[n>>2]|0)){k=14;break}}if((k|0)==9){c[j>>2]=3;x=3;y=d+12|0;c[y>>2]=x;i=e;return}else if((k|0)==14){j=c[j>>2]|0;break}else if((k|0)==16){y=d+12|0;c[y>>2]=x;i=e;return}}else{j=0}}while(0);c[d>>2]=g;c[h>>2]=f;x=j;y=d+12|0;c[y>>2]=x;i=e;return}function MS(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;h=i;i=i+48|0;j=i;i=i+8|0;f=i;i=i+8|0;g=f;c[f>>2]=0;Jd[c[d+60>>2]&63](d,h,4,j);k=c[j>>2]|0;a:do{if((k|0)<0){c[f>>2]=162;p=162}else{if((k|0)==0|(k|0)>4){c[f>>2]=3;p=3;break}p=PS(b,0,k)|0;c[f>>2]=p;if((p|0)!=0){break}k=c[b+532>>2]|0;b=c[b+100>>2]|0;if((c[j>>2]|0)>0){l=0}else{p=0;break}while(1){m=h+(l*12|0)|0;o=c[m>>2]|0;if((a[o]|0)==47){o=o+1|0;c[m>>2]=o}p=c[h+(l*12|0)+4>>2]|0;n=p-o|0;if((p|0)==(o|0)){g=10;break}o=jJ(b,n+1|0,g)|0;c[k+8+(l<<2)>>2]=o;p=c[f>>2]|0;if((p|0)!=0){break a}$W(o|0,c[m>>2]|0,n|0)|0;a[o+n|0]=0;l=l+1|0;if((l|0)>=(c[j>>2]|0)){g=13;break}}if((g|0)==10){c[f>>2]=3;p=3;break}else if((g|0)==13){p=c[f>>2]|0;break}}}while(0);c[d+12>>2]=p;i=e;return}function NS(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;e=i;i=i+192|0;f=i;i=i+8|0;h=a+532|0;l=c[h>>2]|0;Jd[c[b+60>>2]&63](b,e,16,f);k=c[f>>2]|0;if((k|0)<0){a=162;m=b+12|0;c[m>>2]=a;i=d;return}if((k|0)==0|(k|0)>16){a=3;m=b+12|0;c[m>>2]=a;i=d;return}do{if((l|0)==0){g=5}else{j=c[l>>2]|0;if((j|0)==0){g=5;break}if((j|0)==(k|0)){break}else{e=3}m=b+12|0;c[m>>2]=e;i=d;return}}while(0);do{if((g|0)==5){g=PS(a,k,0)|0;if((g|0)==0){k=c[f>>2]|0;l=c[h>>2]|0;break}else{a=g;m=b+12|0;c[m>>2]=a;i=d;return}}}while(0);j=c[b>>2]|0;g=b+8|0;h=c[g>>2]|0;if((k|0)>0){a=b+40|0;k=l+136|0;l=l+140|0;m=0;do{c[b>>2]=c[e+(m*12|0)>>2];c[g>>2]=c[e+(m*12|0)+4>>2];n=Bd[c[a>>2]&255](b,0)|0;c[(c[k>>2]|0)+(m<<2)>>2]=n;c[(c[l>>2]|0)+(m<<2)>>2]=n;m=m+1|0;}while((m|0)<(c[f>>2]|0))}c[b>>2]=j;c[g>>2]=h;m=0;n=b+12|0;c[n>>2]=m;i=d;return}function OS(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+544>>2]=pd[c[b+52>>2]&63](b,0,0,0)|0;i=d;return}function PS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;e=i;i=i+8|0;j=e;h=c[a+100>>2]|0;c[e>>2]=0;l=a+532|0;g=c[l>>2]|0;do{if((g|0)==0){g=jJ(h,420,j)|0;if((c[e>>2]|0)==0){c[g+416>>2]=0;c[l>>2]=g;break}else{n=e;n=c[n>>2]|0;i=f;return n|0}}}while(0);do{if((b|0)==0){k=15}else{l=c[g>>2]|0;if((l|0)!=0){if((l|0)==(b|0)){k=15;break}else{break}}l=g+148|0;c[l>>2]=oJ(h,32,0,b,0,j)|0;if((c[e>>2]|0)!=0){n=e;n=c[n>>2]|0;i=f;return n|0}k=g+216|0;c[k>>2]=oJ(h,196,0,b,0,j)|0;if((c[e>>2]|0)!=0){n=e;n=c[n>>2]|0;i=f;return n|0}m=g+288|0;c[m>>2]=oJ(h,16,0,b,0,j)|0;if((c[e>>2]|0)!=0){n=e;n=c[n>>2]|0;i=f;return n|0}n=oJ(h,4,0,b<<1,0,j)|0;c[g+136>>2]=n;if((c[e>>2]|0)!=0){n=e;n=c[n>>2]|0;i=f;return n|0}c[g+140>>2]=n+(b<<2);c[g+144>>2]=a+132;c[g+212>>2]=a+168;c[g+284>>2]=a+460;if(b>>>0>=2){a=c[m>>2]|0;l=c[l>>2]|0;m=c[k>>2]|0;k=2;do{m=m+196|0;c[g+212+(k<<2)>>2]=m;l=l+32|0;c[g+144+(k<<2)>>2]=l;a=a+16|0;c[g+284+(k<<2)>>2]=a;k=k+1|0;}while(k>>>0<=b>>>0)}c[g>>2]=b;k=15}}while(0);do{if((k|0)==15){b=g+4|0;a=c[b>>2]|0;if((d|0)==0){d=a}else{if(!((a|0)==0|(a|0)==(d|0))){break}c[b>>2]=d}a=c[g>>2]|0;if((a|0)==0|(d|0)==0){n=e;n=c[n>>2]|0;i=f;return n|0}b=g+24|0;if((c[b>>2]|0)!=0){n=e;n=c[n>>2]|0;i=f;return n|0}h=oJ(h,4,0,da(d,a)|0,0,j)|0;c[b>>2]=h;if((c[e>>2]|0)==0&a>>>0>1){j=1}else{n=e;n=c[n>>2]|0;i=f;return n|0}while(1){c[g+24+(j<<2)>>2]=h+((da(j,d)|0)<<2);j=j+1|0;if(j>>>0>=a>>>0){break}h=c[b>>2]|0}n=e;n=c[n>>2]|0;i=f;return n|0}}while(0);c[e>>2]=3;n=e;n=c[n>>2]|0;i=f;return n|0}function QS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;g=i;i=i+8|0;h=g;j=PJ(a,0)|0;if((j|0)!=0){k=j;i=e;return k|0}j=EK(a,h)|0;k=c[g>>2]|0;if((k|0)!=0){i=e;return k|0}do{if((j+32767<<16>>16&65535)<2){YK(a,h)|0;g=c[g>>2]|0;if((g|0)==0){if(j<<16>>16==-32767){break}else{f=6;break}}else{k=g;i=e;return k|0}}else{f=6}}while(0);do{if((f|0)==6){f=PJ(a,0)|0;if((f|0)==0){break}i=e;return f|0}}while(0);f=MK(a,d)|0;if((f|0)!=0){k=f;i=e;return k|0}k=(iX(c[a+32>>2]|0,b|0,d|0)|0)==0;PK(a);k=k?0:2;i=e;return k|0}function RS(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;e=i;a=c[a+532>>2]|0;if((a|0)==0){g=6;i=e;return g|0}f=a+4|0;c[b>>2]=c[f>>2];c[b+4>>2]=c[a>>2];if((c[f>>2]|0)==0){g=0;i=e;return g|0}else{g=0}while(1){c[b+8+(g*12|0)>>2]=c[a+8+(g<<2)>>2];h=a+88+(g*12|0)+4|0;c[b+8+(g*12|0)+4>>2]=c[c[h>>2]>>2];c[b+8+(g*12|0)+8>>2]=c[(c[h>>2]|0)+((d[a+88+(g*12|0)|0]|0)+ -1<<2)>>2];g=g+1|0;if(g>>>0<(c[f>>2]|0)>>>0){}else{b=0;break}}i=e;return b|0}function SS(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;g=i;i=i+64|0;j=b+532|0;k=c[j>>2]|0;if((k|0)==0){u=6;i=f;return u|0}b=k+4|0;if((c[b>>2]|0)!=(d|0)){u=6;i=f;return u|0}if((d|0)!=0){m=d;l=0;do{r=c[e+(l<<2)>>2]|0;q=c[k+88+(l*12|0)+4>>2]|0;n=c[k+88+(l*12|0)+8>>2]|0;o=a[k+88+(l*12|0)|0]|0;do{if(o<<24>>24==0){h=10}else{s=-1;p=0;while(1){t=c[q+(p<<2)>>2]|0;if((r|0)==(t|0)){h=7;break}u=p+1|0;if((r|0)<(t|0)){t=p;p=s;break}if(u>>>0<(o&255)>>>0){s=p;p=u}else{t=-1;break}}if((h|0)==7){h=0;n=c[n+(p<<2)>>2]|0;break}if((p|0)<0){h=10;break}if((t|0)<0){n=c[n+((o&255)+ -1<<2)>>2]|0;break}else{m=c[q+(p<<2)>>2]|0;n=_I(r-m|0,(c[n+(t<<2)>>2]|0)-(c[n+(p<<2)>>2]|0)|0,(c[q+(t<<2)>>2]|0)-m|0)|0;m=c[b>>2]|0;break}}}while(0);if((h|0)==10){h=0;n=c[n>>2]|0}c[g+(l<<2)>>2]=n;l=l+1|0;}while(l>>>0<m>>>0);k=c[j>>2]|0}if((k|0)==0){u=6;i=f;return u|0}e=k+4|0;if((c[e>>2]|0)!=(d|0)){u=6;i=f;return u|0}if((c[k>>2]|0)==0){u=0;i=f;return u|0}h=k+136|0;b=0;while(1){if((d|0)==0){d=65536}else{j=0;d=65536;while(1){l=c[g+(j<<2)>>2]|0;l=(l|0)<0?0:l;l=(l|0)>65536?65536:l;d=aJ(d,(1<<j&b|0)==0?65536-l|0:l)|0;j=j+1|0;if(j>>>0<(c[e>>2]|0)>>>0){}else{break}}}c[(c[h>>2]|0)+(b<<2)>>2]=d;b=b+1|0;if(b>>>0>=(c[k>>2]|0)>>>0){g=0;break}d=c[e>>2]|0}i=f;return g|0}function TS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;a=c[a+532>>2]|0;if((a|0)==0){k=6;i=e;return k|0}f=a+4|0;if((c[f>>2]|0)!=(b|0)){k=6;i=e;return k|0}if((c[a>>2]|0)==0){k=0;i=e;return k|0}g=a+136|0;h=0;while(1){if((b|0)==0){j=65536}else{b=0;j=65536;while(1){k=c[d+(b<<2)>>2]|0;k=(k|0)<0?0:k;k=(k|0)>65536?65536:k;j=aJ(j,(1<<b&h|0)==0?65536-k|0:k)|0;b=b+1|0;if(b>>>0<(c[f>>2]|0)>>>0){}else{break}}}c[(c[g>>2]|0)+(h<<2)>>2]=j;h=h+1|0;if(h>>>0>=(c[a>>2]|0)>>>0){d=0;break}b=c[f>>2]|0}i=e;return d|0}function US(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;g=i;o=i;i=i+56|0;n=o;h=i;i=i+8|0;j=h;l=i;i=i+16|0;f=l;p=c[b+100>>2]|0;b=c[b+532>>2]|0;if((b|0)==0){c[h>>2]=6;s=6;i=g;return s|0}m=b+4|0;q=c[m>>2]|0;c[o>>2]=q;k=n+4|0;c[k>>2]=c[b>>2];if((q|0)==0){o=0}else{r=0;do{c[n+8+(r*12|0)>>2]=c[b+8+(r<<2)>>2];s=c[b+88+(r*12|0)+4>>2]|0;c[n+8+(r*12|0)+4>>2]=c[s>>2];c[n+8+(r*12|0)+8>>2]=c[s+((d[b+88+(r*12|0)|0]|0)+ -1<<2)>>2];r=r+1|0;}while(r>>>0<q>>>0);o=c[o>>2]|0}c[h>>2]=0;j=jJ(p,(o*24|0)+20|0,j)|0;p=c[h>>2]|0;if((p|0)!=0){s=p;i=g;return s|0}c[j>>2]=o;c[j+4>>2]=c[k>>2];c[j+8>>2]=-1;q=j+20|0;k=j+12|0;c[k>>2]=q;c[j+16>>2]=0;a:do{if((o|0)==0){n=0}else{p=0;while(1){c[q+(p*24|0)>>2]=c[n+8+(p*12|0)>>2];c[(c[k>>2]|0)+(p*24|0)+4>>2]=c[n+8+(p*12|0)+4>>2]<<16;c[(c[k>>2]|0)+(p*24|0)+12>>2]=c[n+8+(p*12|0)+8>>2]<<16;q=c[k>>2]|0;c[q+(p*24|0)+8>>2]=((c[q+(p*24|0)+12>>2]|0)+(c[q+(p*24|0)+4>>2]|0)|0)/2|0;c[(c[k>>2]|0)+(p*24|0)+20>>2]=-1;c[(c[k>>2]|0)+(p*24|0)+16>>2]=-1;q=c[k>>2]|0;r=c[q+(p*24|0)>>2]|0;do{if((Qc(r|0,276624)|0)==0){c[q+(p*24|0)+16>>2]=2003265652}else{if((Qc(r|0,277592)|0)==0){c[q+(p*24|0)+16>>2]=2003072104;break}if((Qc(r|0,277600)|0)!=0){break}c[q+(p*24|0)+16>>2]=1869640570}}while(0);p=p+1|0;if(p>>>0>=o>>>0){n=o;break a}q=c[k>>2]|0}}}while(0);m=c[m>>2]|0;b:do{if((c[b>>2]|0)==(1<<m|0)){o=c[b+140>>2]|0;if((m|0)==2){r=c[o+12>>2]|0;s=(c[o+4>>2]|0)+r|0;c[l>>2]=s;c[f+4>>2]=(c[o+8>>2]|0)+r;l=s}else if((m|0)==3){p=c[o+28>>2]|0;r=c[o+20>>2]|0;q=c[o+12>>2]|0;s=r+p+q+(c[o+4>>2]|0)|0;c[l>>2]=s;l=(c[o+24>>2]|0)+p|0;c[f+4>>2]=l+q+(c[o+8>>2]|0);c[f+8>>2]=l+r+(c[o+16>>2]|0);l=s}else if((m|0)==1){s=c[o+4>>2]|0;c[l>>2]=s;l=s}else{v=c[o+60>>2]|0;p=c[o+52>>2]|0;q=c[o+44>>2]|0;r=c[o+36>>2]|0;u=c[o+28>>2]|0;m=c[o+20>>2]|0;w=c[o+12>>2]|0;s=p+v+q+r+u+m+w+(c[o+4>>2]|0)|0;c[l>>2]=s;v=(c[o+56>>2]|0)+v|0;l=c[o+40>>2]|0;t=c[o+24>>2]|0;c[f+4>>2]=v+q+l+u+t+w+(c[o+8>>2]|0);p=v+p+(c[o+48>>2]|0)|0;c[f+8>>2]=p+u+t+m+(c[o+16>>2]|0);c[f+12>>2]=p+q+l+r+(c[o+32>>2]|0);l=s}if((n|0)==0){break}else{m=0}while(1){s=c[b+88+(m*12|0)+8>>2]|0;c:do{if((c[s>>2]|0)<(l|0)){w=a[b+88+(m*12|0)|0]|0;r=w&255;d:do{if((w&255)>1){p=1;while(1){q=c[s+(p<<2)>>2]|0;o=p+1|0;if((q|0)>=(l|0)){break}if((o|0)<(r|0)){p=o}else{break d}}u=p+ -1|0;v=c[s+(u<<2)>>2]|0;v=_I(l-v|0,65536,q-v|0)|0;w=c[b+88+(m*12|0)+4>>2]|0;l=c[w+(u<<2)>>2]|0;l=(_I(v,(c[w+(p<<2)>>2]|0)-l|0,1)|0)+(l<<16)|0;break c}}while(0);l=c[(c[b+88+(m*12|0)+4>>2]|0)+(r+ -1<<2)>>2]<<16}else{l=c[c[b+88+(m*12|0)+4>>2]>>2]<<16}}while(0);c[(c[k>>2]|0)+(m*24|0)+8>>2]=l;m=m+1|0;if(m>>>0>=n>>>0){break b}l=c[f+(m<<2)>>2]|0}}}while(0);c[e>>2]=j;w=c[h>>2]|0;i=g;return w|0}function VS(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;e=i;i=i+16|0;if(b>>>0<5&(b|0)!=0){g=0}else{g=6;i=f;return g|0}do{c[e+(g<<2)>>2]=(ZI(c[d+(g<<2)>>2]|0)|0)>>16;g=g+1|0;}while(g>>>0<b>>>0);g=SS(a,b,e)|0;i=f;return g|0}function WS(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;g=c[a+492>>2]|0;if((g|0)==0){l=6;i=f;return l|0}a=g+32|0;if((c[a>>2]|0)<=0){l=0;i=f;return l|0}g=g+28|0;h=0;while(1){j=c[g>>2]|0;do{if((c[j+(h*20|0)>>2]|0)==(d|0)){k=c[j+(h*20|0)+4>>2]|0;if((k|0)>(b|0)){c[e>>2]=c[j+(h*20|0)+8>>2];break}l=c[j+(h*20|0)+12>>2]|0;if((l|0)<(b|0)){c[e>>2]=c[j+(h*20|0)+16>>2];break}else{m=j+(h*20|0)+8|0;l=_I(b-k|0,(c[j+(h*20|0)+16>>2]|0)-(c[m>>2]|0)|0,l-k|0)|0;c[e>>2]=(c[m>>2]|0)+l;break}}}while(0);h=h+1|0;if((h|0)>=(c[a>>2]|0)){e=0;break}}i=f;return e|0}function XS(a,b){a=a|0;b=b|0;var c=0;c=i;$W(b|0,a+132|0,32)|0;i=c;return 0}function YS(a,c){a=a|0;c=c|0;b[c>>1]=b[a+164>>1]|0;i=i;return 0}function ZS(a){a=a|0;i=i;return 1}function _S(a,b){a=a|0;b=b|0;var c=0;c=i;$W(b|0,a+168|0,196)|0;i=c;return 0}function $S(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;bL(d,c[(c[a+420>>2]|0)+(b<<2)>>2]|0,e)|0;i=f;return 0}function aT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;e=c[a+416>>2]|0;if((e|0)<=0){g=0;i=d;return g|0}f=c[a+420>>2]|0;a=0;while(1){g=a+1|0;if((Qc(b|0,c[f+(a<<2)>>2]|0)|0)==0){b=5;break}if((g|0)<(e|0)){a=g}else{a=0;b=5;break}}if((b|0)==5){i=d;return a|0}return 0}function bT(a){a=a|0;i=i;return c[a+364>>2]|0}function cT(a){a=a|0;i=i;return 0}function dT(a){a=a|0;i=i;return}function eT(a,b){a=a|0;b=b|0;var c=0;c=i;a=uJ(280448,b)|0;i=c;return a|0}function fT(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;h=i;m=i;i=i+8|0;n=m;p=i;i=i+256|0;x=i;i=i+8|0;y=x;q=i;i=i+272|0;s=q;z=i;i=i+104|0;j=z;l=i;i=i+8|0;v=l;c[f>>2]=1;o=f+136|0;if((c[o>>2]|0)==0){c[o>>2]=nK(c[(c[f+96>>2]|0)+4>>2]|0,277744)|0}r=f+320|0;if((c[r>>2]|0)==0){c[r>>2]=nK(c[(c[f+96>>2]|0)+4>>2]|0,277728)|0}e=PJ(e,0)|0;if((e|0)!=0){T=e;i=h;return T|0}r=f+100|0;w=c[r>>2]|0;bX(z|0,0,104)|0;u=f+104|0;F=c[u>>2]|0;e=c[o>>2]|0;bX(z|0,0,100)|0;Jd[c[c[e+4>>2]>>2]&63](j,0,0,w);e=j+72|0;c[e>>2]=F;E=IK(F)|0;T=MK(F,31)|0;a:do{if((T|0)==0){T=(vc(c[F+32>>2]|0,280384,31)|0)==0;PK(F);if(!T){c[l>>2]=2;break}L=F+4|0;M=s+10|0;H=10-s|0;I=j+76|0;t=j+84|0;J=j+80|0;N=j+4|0;G=j+8|0;D=j+96|0;A=j+32|0;C=j+28|0;B=j+12|0;K=7-s|0;b:while(1){O=IK(F)|0;P=c[L>>2]|0;k=IK(F)|0;if((P|0)==(k|0)){T=2;k=36;break a}P=P-k|0;k=s;Q=266;c:while(1){P=(Q|0)<(P|0)?Q:P;T=CK(F,k,P)|0;if((T|0)!=0){k=36;break a}if((P|0)<256){a[k+P|0]=0}k=k+(P+ -10)|0;if(s>>>0<k>>>0){R=a[q]|0;P=s;while(1){if(R<<24>>24==83){if((vc(P|0,280416,9)|0)==0){k=18;break c}}Q=P+1|0;R=a[Q]|0;if(R<<24>>24==115){if((vc(P|0,280432,6)|0)==0){k=22;break c}}if(Q>>>0<k>>>0){P=Q}else{break}}}else{Q=s}aX(q|0,Q|0,10)|0;P=c[L>>2]|0;k=IK(F)|0;if((P|0)==(k|0)){T=2;k=36;break a}else{P=P-k|0;O=O+256|0;k=M;Q=256}}if((k|0)==18){k=0;P=H+P|0}else if((k|0)==22){k=0;P=K+P|0}O=P+O|0;P=O-E|0;T=PJ(F,E)|0;if((T|0)!=0){k=36;break a}T=LK(F,P,I)|0;if((T|0)!=0){k=36;break a}c[t>>2]=O;c[J>>2]=P;R=c[I>>2]|0;c[N>>2]=R;c[z>>2]=R;c[G>>2]=R+P;c[D>>2]=-1;fd[c[A>>2]&511](j);fd[c[C>>2]&511](j);Q=c[z>>2]|0;fd[c[A>>2]&511](j);fd[c[C>>2]&511](j);P=c[G>>2]|0;S=c[z>>2]|0;if(S>>>0<P>>>0){while(1){T=c[B>>2]|0;if((T|0)!=0){k=36;break a}if((a[S]|0)==83){if((vc(S|0,280416,9)|0)==0){break b}}if((a[S+1|0]|0)==115){if((vc(S|0,280432,6)|0)==0){T=2;k=36;break a}}fd[c[A>>2]&511](j);fd[c[C>>2]&511](j);R=c[z>>2]|0;if(R>>>0<P>>>0){U=S;T=Q;S=R;Q=U;R=T}else{break}}}NK(F,I);T=PJ(F,O)|0;if((T|0)!=0){k=36;break a}}if((vc(R|0,280440,5)|0)==0){c[j+88>>2]=ec(Q|0)|0}c[l>>2]=0;M=c[I>>2]|0;K=c[J>>2]|0;c[z>>2]=M;E=M+K|0;c[G>>2]=E;c[B>>2]=0;q=f+300|0;F=f+140|0;s=f+304|0;L=j+68|0;G=j+64|0;H=f+164|0;I=f+312|0;J=f+196|0;K=M+(K+ -18)|0;d:while(1){c[z>>2]=M;fd[c[C>>2]&511](j);N=c[z>>2]|0;P=N>>>0<E>>>0;O=P?N+ -17|0:K;if(M>>>0<O>>>0){do{do{if((a[M]|0)==37){if((vc(M|0,277776,17)|0)!=0){break}if((c[q>>2]|0)<=0){break}c[D>>2]=(c[D>>2]|0)+1}}while(0);M=M+1|0;}while(M>>>0<O>>>0)}if(!P){k=74;break}fd[c[A>>2]&511](j);M=c[z>>2]|0;if(M>>>0>=E>>>0){k=74;break}if((c[B>>2]|0)!=0){k=74;break}if(!((a[N]|0)==47&(N+2|0)>>>0<E>>>0)){continue}P=N+1|0;O=M-P|0;if((O+ -1|0)>>>0>=21){continue}P=a[P]|0;Q=279640;S=277800;e:do{if((O|0)>1){Q=279640;S=277800;while(1){f:do{if(P<<24>>24==(a[Q]|0)){if((O|0)==(ZW(Q|0)|0)){R=1}else{break}while(1){T=R+1|0;if((a[N+T|0]|0)!=(a[Q+R|0]|0)){break f}if((T|0)<(O|0)){R=T}else{break e}}}}while(0);S=S+36|0;Q=c[S>>2]|0;if((Q|0)==0){continue d}}}else{N=Q;while(1){if(P<<24>>24==(a[N]|0)){if((O|0)==(ZW(N|0)|0)){break e}}S=S+36|0;N=c[S>>2]|0;if((N|0)==0){continue d}}}}while(0);M=c[S+8>>2]|0;do{if((M|0)==10){hd[c[S+12>>2]&127](f,j);M=c[B>>2]|0}else{N=c[S+4>>2]|0;if((N|0)==0){N=F}else if((N|0)==2){N=I}else if((N|0)==3){N=H}else if((N|0)==5){N=J}else{N=c[D>>2]|0;if((N|0)<0){k=65;break d}N=(c[s>>2]|0)+(N*252|0)|0}c[x>>2]=N;if((M+ -8|0)>>>0<2){M=Cd[c[L>>2]&63](j,S,y,0,0)|0;break}else{M=Cd[c[G>>2]&63](j,S,y,0,0)|0;break}}}while(0);c[B>>2]=M;if((M|0)!=0){break}M=c[z>>2]|0}if((k|0)==65){c[B>>2]=160;M=160}else if((k|0)==74){U=c[B>>2]|0;c[l>>2]=U;if((U|0)!=0|(g|0)<0){break}z=jJ(w,40,v)|0;x=f+328|0;c[x>>2]=z;if((c[l>>2]|0)!=0){break}y=j+88|0;A=c[y>>2]|0;if((A|0)==0){$W(z|0,c[u>>2]|0,40)|0;c[f+308>>2]=c[t>>2]}else{A=jJ(w,A,v)|0;v=f+324|0;c[v>>2]=A;if((c[l>>2]|0)!=0){break}w=c[y>>2]|0;u=c[u>>2]|0;if((PJ(u,c[t>>2]|0)|0)!=0){break}t=A+w|0;g:do{if((w|0)>0){w=u+4|0;C=p;B=p;z=1;while(1){h:while(1){if(C>>>0>=B>>>0){B=IK(u)|0;U=c[w>>2]|0;C=U-B|0;if((U|0)==(B|0)){break a}if((CK(u,p,C>>>0<256?C:256)|0)!=0){break a}C=p;B=p+((IK(u)|0)-B)|0}F=a[C]|0;if(((F&255)+ -48|0)>>>0<10){k=91;break}E=F+ -97<<24>>24;if((E&255)<6){D=0;break}if((F+ -65<<24>>24&255)<6){k=92;break}switch(F<<24>>24){case 0:case 12:case 10:case 13:case 9:case 32:{break};case 62:{D=1;E=0;break h};default:{break a}}C=C+1|0}if((k|0)==91){k=0;D=0;E=F+ -48<<24>>24}else if((k|0)==92){k=0;D=0;E=F+ -55<<24>>24}if(z<<24>>24==0){a[A]=(a[A]|0)+E<<24>>24;A=A+1|0}else{a[A]=E<<4}if(D<<24>>24!=0){break g}if(A>>>0<t>>>0){C=C+1|0;z=1-z<<24>>24}else{break}}}}while(0);yJ(c[x>>2]|0,c[v>>2]|0,c[y>>2]|0);c[f+308>>2]=0}p=c[r>>2]|0;r=c[x>>2]|0;v=c[o>>2]|0;x=oJ(p,8,0,c[q>>2]|0,0,n)|0;o=f+316|0;c[o>>2]=x;i:do{if((c[m>>2]|0)==0){if((c[q>>2]|0)<=0){A=0;break}u=f+308|0;t=r+32|0;v=v+16|0;z=0;w=0;A=0;while(1){D=c[s>>2]|0;B=c[D+(w*252|0)+4>>2]|0;y=c[D+(w*252|0)+240>>2]|0;C=y+1|0;if(C>>>0>z>>>0){E=y+4&-4;A=oJ(p,4,z,E,A,n)|0;if((c[m>>2]|0)==0){z=E}else{break}}U=PJ(r,(c[D+(w*252|0)+244>>2]|0)+(c[u>>2]|0)|0)|0;c[m>>2]=U;if((U|0)!=0){break}D=D+(w*252|0)+248|0;U=MK(r,da(c[D>>2]|0,C)|0)|0;c[m>>2]=U;if((U|0)!=0){break}E=0;G=c[t>>2]|0;do{F=c[D>>2]&255;if(F<<24>>24==0){I=0}else{J=F;H=G;I=0;while(1){I=d[H]|I<<8;J=J+ -1<<24>>24;if(J<<24>>24==0){break}else{H=H+1|0}}G=G+((F+ -1<<24>>24&255)+1)|0}c[A+(E<<2)>>2]=I;E=E+1|0;}while(E>>>0<=y>>>0);PK(r);E=(c[A+(y<<2)>>2]|0)-(c[A>>2]|0)|0;D=x+4|0;c[D>>2]=oJ(p,4,0,C,0,n)|0;if((c[m>>2]|0)!=0){break}U=jJ(p,E,n)|0;c[c[D>>2]>>2]=U;if((c[m>>2]|0)!=0){break}U=PJ(r,(c[A>>2]|0)+(c[u>>2]|0)|0)|0;c[m>>2]=U;if((U|0)!=0){break}U=CK(r,c[c[D>>2]>>2]|0,E)|0;c[m>>2]=U;if((U|0)!=0){break}do{if((y|0)!=0){C=1;do{T=C+ -1|0;U=c[D>>2]|0;c[U+(C<<2)>>2]=(c[U+(T<<2)>>2]|0)+((c[A+(C<<2)>>2]|0)-(c[A+(T<<2)>>2]|0));C=C+1|0;}while(C>>>0<=y>>>0);if((B|0)<0){break}else{C=0}while(1){B=C+1|0;Gd[c[v>>2]&255](c[(c[D>>2]|0)+(C<<2)>>2]|0,(c[A+(B<<2)>>2]|0)-(c[A+(C<<2)>>2]|0)|0,4330);if(B>>>0<y>>>0){C=B}else{break}}}}while(0);c[x>>2]=y;w=w+1|0;if((w|0)<(c[q>>2]|0)){x=x+8|0}else{break i}}r=c[o>>2]|0;if((r|0)==0){break}if((c[q>>2]|0)>0){n=0;do{r=c[r+(n<<3)+4>>2]|0;if((r|0)==0){r=0}else{lJ(p,c[r>>2]|0);c[c[(c[o>>2]|0)+(n<<3)+4>>2]>>2]=0;r=c[(c[o>>2]|0)+(n<<3)+4>>2]|0}lJ(p,r);c[(c[o>>2]|0)+(n<<3)+4>>2]=0;n=n+1|0;r=c[o>>2]|0}while((n|0)<(c[q>>2]|0))}lJ(p,r);c[o>>2]=0}else{A=0}}while(0);lJ(p,A);c[l>>2]=c[m>>2];break}c[l>>2]=M}else{k=36}}while(0);if((k|0)==36){c[l>>2]=T}m=j+76|0;if((c[m>>2]|0)!=0){NK(c[e>>2]|0,m)}fd[c[j+24>>2]&511](j);j=c[l>>2]|0;if((j|0)!=0|(g|0)<0){U=j;i=h;return U|0}if((g|0)!=0){U=6;i=h;return U|0}g=f+140|0;j=g+24|0;c[f+16>>2]=c[g+156>>2];c[f+36>>2]=0;c[f+4>>2]=0;c[f+8>>2]=(a[g+48|0]|0)==0?2065:2069;n=c[g+36>>2]|0;m=f+20|0;c[m>>2]=n;l=f+24|0;c[l>>2]=277752;j:do{if((n|0)==0){k=c[g>>2]|0;if((k|0)==0){break}c[m>>2]=k}else{e=c[g+32>>2]|0;if((e|0)==0){break}m=a[e]|0;if(m<<24>>24==0){break}k:while(1){while(1){o=a[n]|0;if(m<<24>>24==o<<24>>24){k=137;break}if(m<<24>>24==45|m<<24>>24==32){break}if(o<<24>>24==0){break k}else if(!(o<<24>>24==45|o<<24>>24==32)){break j}if(m<<24>>24==0){break j}else{n=n+1|0}}if((k|0)==137){k=0;n=n+1|0}e=e+1|0;m=a[e]|0;if(m<<24>>24==0){break j}}c[l>>2]=e}}while(0);l=f+12|0;k=(c[g+44>>2]|0)!=0|0;c[l>>2]=k;m=c[g+40>>2]|0;do{if((m|0)!=0){if((Qc(m|0,277760)|0)!=0){if((Qc(m|0,277768)|0)!=0){break}}c[l>>2]=k|2}}while(0);c[f+28>>2]=0;c[f+32>>2]=0;c[f+52>>2]=c[g+56>>2]>>16;l=c[g+60>>2]>>16;c[f+56>>2]=l;c[f+60>>2]=(c[g+64>>2]|0)+65535>>16;k=(c[g+68>>2]|0)+65535>>16;c[f+64>>2]=k;m=f+68|0;e=b[m>>1]|0;if(e<<16>>16==0){b[m>>1]=1e3;e=1e3}U=k&65535;b[f+70>>1]=U;k=l&65535;b[f+72>>1]=k;l=((((e&65535)*12|0)>>>0)/10|0)&65535;k=(U<<16>>16)-(k<<16>>16)|0;b[f+74>>1]=(l<<16>>16|0)<(k|0)?k&65535:l;b[f+80>>1]=b[j+26>>1]|0;b[f+82>>1]=b[g+52>>1]|0;U=0;i=h;return U|0}function gT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;if((a|0)==0){i=h;return}g=a+140|0;f=g+24|0;b=c[a+100>>2]|0;d=a+316|0;l=c[d>>2]|0;e=g+160|0;if((l|0)!=0){j=c[e>>2]|0;if((j|0)>0){k=0;do{m=l+(k<<3)+4|0;n=c[m>>2]|0;if((n|0)!=0){lJ(b,c[n>>2]|0);c[c[m>>2]>>2]=0;lJ(b,c[m>>2]|0);c[m>>2]=0;l=c[d>>2]|0;j=c[e>>2]|0}k=k+1|0;}while((k|0)<(j|0))}lJ(b,l);c[d>>2]=0}lJ(b,c[f>>2]|0);c[f>>2]=0;n=g+28|0;lJ(b,c[n>>2]|0);c[n>>2]=0;n=g+32|0;lJ(b,c[n>>2]|0);c[n>>2]=0;n=g+36|0;lJ(b,c[n>>2]|0);c[n>>2]=0;n=g+40|0;lJ(b,c[n>>2]|0);c[n>>2]=0;n=g+164|0;lJ(b,c[n>>2]|0);c[n>>2]=0;c[e>>2]=0;lJ(b,c[g>>2]|0);c[g>>2]=0;n=g+12|0;lJ(b,c[n>>2]|0);c[n>>2]=0;n=g+16|0;lJ(b,c[n>>2]|0);c[n>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;n=a+324|0;lJ(b,c[n>>2]|0);c[n>>2]=0;n=a+328|0;lJ(b,c[n>>2]|0);c[n>>2]=0;i=h;return}function hT(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=i;i=i+8|0;e=c[a>>2]|0;f=c[e+320>>2]|0;e=mK(c[(c[e+96>>2]|0)+4>>2]|0,277728)|0;if((e|0)==0|(f|0)==0){f=0;i=b;return f|0}f=c[f>>2]|0;if((f|0)==0){f=0;i=b;return f|0}e=jd[f&511](e)|0;if((e|0)==0){f=0;i=b;return f|0}f=c[a>>2]|0;e=sd[c[e>>2]&127](c[f+100>>2]|0,(c[f+304>>2]|0)+((c[f+4>>2]|0)*252|0)|0,d)|0;if((e|0)!=0){f=e;i=b;return f|0}c[a+40>>2]=c[d>>2];f=0;i=b;return f|0}function iT(a){a=a|0;var b=0,d=0,e=0;b=i;d=a+40|0;if((c[d>>2]|0)==0){i=b;return}a=c[a>>2]|0;e=c[a+320>>2]|0;a=mK(c[(c[a+96>>2]|0)+4>>2]|0,277728)|0;do{if(!((a|0)==0|(e|0)==0)){e=c[e>>2]|0;if((e|0)==0){break}a=jd[e&511](a)|0;if((a|0)==0){break}fd[c[a+8>>2]&511](c[d>>2]|0)}}while(0);c[d>>2]=0;i=b;return}function jT(a){a=a|0;var b=0,d=0,e=0;b=i;e=c[a+4>>2]|0;d=c[e+320>>2]|0;if((d|0)==0){i=b;return 0}e=mK(c[(c[e+96>>2]|0)+4>>2]|0,277728)|0;if((e|0)==0){i=b;return 0}e=jd[c[d+4>>2]&511](e)|0;c[(c[a+156>>2]|0)+36>>2]=e;i=b;return 0}function kT(a){a=a|0;c[(c[a+156>>2]|0)+36>>2]=0;i=i;return}function lT(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;j=i;n=i;i=i+1504|0;s=i;i=i+16|0;v=s;l=i;i=i+16|0;k=l;u=i;i=i+8|0;w=u;x=c[d+4>>2]|0;t=c[x+136>>2]|0;if((c[x+16>>2]|0)>>>0<=g>>>0){C=6;i=j;return C|0}h=(h&1024|0)==0?h:h|3;r=d+164|0;c[r>>2]=c[f+16>>2];q=d+168|0;c[q>>2]=c[f+20>>2];m=d+108|0;b[d+110>>1]=0;b[m>>1]=0;z=(h&1|0)==0;if(z){p=(h>>>1&1^1)&255}else{p=0}y=d+72|0;c[y>>2]=1869968492;t=t+12|0;A=Fd[c[c[t>>2]>>2]&7](n,x,f,d,0,0,p,h>>>16&15,201)|0;if((A|0)!=0){C=A;i=j;return C|0}B=h&1024;a[n+69|0]=B>>>10;g=nT(n,g)|0;if((g|0)!=0){C=g;i=j;return C|0}$W(s|0,n+1376|0,16)|0;A=c[n+1392>>2]|0;g=c[n+1396>>2]|0;fd[c[(c[t>>2]|0)+4>>2]&511](n);C=d+124|0;c[C>>2]=c[C>>2]&1|4;if((B|0)!=0){C=c[d+156>>2]|0;c[d+32>>2]=(ZI(c[n+32>>2]|0)|0)>>16;c[d+40>>2]=(ZI(c[n+40>>2]|0)|0)>>16;$W(C+12|0,s|0,16)|0;c[C+28>>2]=A;c[C+32>>2]=g;a[C+8|0]=1;C=0;i=j;return C|0}t=d+24|0;B=n+40|0;s=d+40|0;c[s>>2]=(ZI(c[B>>2]|0)|0)>>16;c[d+56>>2]=(ZI(c[B>>2]|0)|0)>>16;a[(c[d+156>>2]|0)+8|0]=0;B=x+140|0;B=(c[B+68>>2]|0)-(c[B+60>>2]|0)>>16;x=d+52|0;c[x>>2]=B;c[d+60>>2]=B;c[y>>2]=1869968492;if((e[f+14>>1]|0)<24){c[C>>2]=c[C>>2]|256}GJ(m,v);HJ(m,A,g);c[u>>2]=c[s>>2];C=w+4|0;c[C>>2]=0;IJ(w,v);c[s>>2]=(c[u>>2]|0)+A;c[u>>2]=0;c[C>>2]=c[x>>2];IJ(w,v);c[x>>2]=(c[C>>2]|0)+g;if(z){u=c[n+16>>2]|0;f=c[u+4>>2]|0;r=c[r>>2]|0;q=c[q>>2]|0;if(p<<24>>24==0){o=13}else{if((c[n+72>>2]|0)==0){o=13}}do{if((o|0)==13){n=b[u+2>>1]|0;if(n<<16>>16<=0){break}n=n<<16>>16;while(1){c[f>>2]=aJ(c[f>>2]|0,r)|0;C=f+4|0;c[C>>2]=aJ(c[C>>2]|0,q)|0;n=n+ -1|0;if((n|0)>0){f=f+8|0}else{break}}}}while(0);c[s>>2]=aJ(c[s>>2]|0,r)|0;c[x>>2]=aJ(c[x>>2]|0,q)|0}zK(m,k);B=c[l>>2]|0;c[t>>2]=(c[k+8>>2]|0)-B;C=c[k+12>>2]|0;c[d+28>>2]=C-(c[k+4>>2]|0);c[d+32>>2]=B;c[d+36>>2]=C;if((h&16|0)==0){C=0;i=j;return C|0}XJ(t,c[x>>2]|0);C=0;i=j;return C|0}function mT(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;_J(c[a>>2]|0,b);b=c[a>>2]|0;e=c[b+320>>2]|0;b=mK(c[(c[b+96>>2]|0)+4>>2]|0,277728)|0;if((b|0)==0|(e|0)==0){i=d;return 0}e=c[e>>2]|0;if((e|0)==0){i=d;return 0}b=jd[e&511](b)|0;if((b|0)==0){i=d;return 0}Cd[c[b+4>>2]&63](c[a+40>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0,0,0)|0;i=d;return 0}function nT(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;e=i;j=i;i=i+8|0;p=j;t=i;i=i+8|0;r=t;h=i;i=i+16|0;f=h;o=c[a+4>>2]|0;n=o+140|0;q=c[o+328>>2]|0;c[j>>2]=0;m=c[o+100>>2]|0;l=c[o+136>>2]|0;k=c[(c[o+128>>2]|0)+52>>2]|0;g=(k|0)!=0;do{if(g){q=k+4|0;s=sd[c[c[k>>2]>>2]&127](c[q>>2]|0,b,r)|0;c[j>>2]=s;if((s|0)!=0){A=s;i=e;return A|0}u=n+148|0;v=c[u>>2]|0;x=v&255;if(x<<24>>24==0){s=0}else{w=c[t>>2]|0;s=0;while(1){s=d[w]|0|s<<8;x=x+ -1<<24>>24;if(x<<24>>24==0){break}else{w=w+1|0}}}w=c[r+4>>2]|0;do{if((w|0)==0){p=0;t=0}else{v=w-v|0;p=jJ(m,v,p)|0;if((c[j>>2]|0)!=0){t=v;break}$W(p|0,(c[t>>2]|0)+(c[u>>2]|0)|0,v|0)|0;t=v}}while(0);hd[c[(c[k>>2]|0)+4>>2]&127](c[q>>2]|0,r);q=c[j>>2]|0;if((q|0)==0){break}i=e;return q|0}else{s=n+148|0;u=n+152|0;t=(c[u>>2]|0)+(c[s>>2]|0)|0;r=n+168|0;v=PJ(q,(c[n+144>>2]|0)+(c[r>>2]|0)+(da(t,b)|0)|0)|0;c[j>>2]=v;if((v|0)!=0){A=v;i=e;return A|0}t=MK(q,t<<1)|0;c[j>>2]=t;if((t|0)!=0){A=t;i=e;return A|0}v=c[q+32>>2]|0;t=c[s>>2]|0;y=t&255;if(y<<24>>24==0){s=0}else{w=y+ -1<<24>>24&255;x=v;s=0;while(1){s=d[x]|0|s<<8;y=y+ -1<<24>>24;if(y<<24>>24==0){break}else{x=x+1|0}}v=v+(w+1)|0}z=c[u>>2]&255;y=z<<24>>24==0;do{if(y){u=0;v=0}else{w=z+ -1<<24>>24&255;A=z;x=v;u=0;while(1){u=d[x]|0|u<<8;A=A+ -1<<24>>24;if(A<<24>>24==0){break}else{x=x+1|0}}if(y){v=0;break}t=v+(w+1+t)|0;v=0;while(1){v=d[t]|0|v<<8;z=z+ -1<<24>>24;if(z<<24>>24==0){break}else{t=t+1|0}}}}while(0);t=v-u|0;PK(q);if(s>>>0>=(c[n+160>>2]|0)>>>0){c[j>>2]=9;A=9;i=e;return A|0}if((v|0)==(u|0)){A=c[j>>2]|0;i=e;return A|0}p=jJ(m,t,p)|0;v=c[j>>2]|0;if((v|0)!=0){A=v;i=e;return A|0}q=JK(q,(c[r>>2]|0)+u|0,p,t)|0;c[j>>2]=q;if((q|0)==0){break}i=e;return q|0}}while(0);o=c[o+316>>2]|0;c[a+1364>>2]=c[o+(s<<3)>>2];c[a+1368>>2]=c[o+(s<<3)+4>>2];c[a+1372>>2]=0;o=c[n+164>>2]|0;$W(a+1376|0,o+(s*252|0)+216|0,16)|0;z=o+(s*252|0)+232|0;A=c[z+4>>2]|0;n=a+1392|0;c[n>>2]=c[z>>2];c[n+4>>2]=A;o=c[o+(s*252|0)+4>>2]|0;c[a+1360>>2]=o;n=(o|0)>-1;o=n?o:0;if(n){Gd[c[l+16>>2]&255](p,t,4330)}c[j>>2]=sd[c[a+1484>>2]&127](a,p+o|0,t-o|0)|0;lJ(m,p);l=c[j>>2]|0;if((l|0)!=0|g^1){A=l;i=e;return A|0}if((c[(c[k>>2]|0)+8>>2]|0)==0){A=0;i=e;return A|0}v=a+32|0;c[h>>2]=(ZI(c[v>>2]|0)|0)>>16;c[f+4>>2]=0;x=a+40|0;w=f+8|0;c[w>>2]=(ZI(c[x>>2]|0)|0)>>16;z=a+44|0;y=f+12|0;c[y>>2]=(ZI(c[z>>2]|0)|0)>>16;A=pd[c[(c[k>>2]|0)+8>>2]&63](c[k+4>>2]|0,b,0,f)|0;c[j>>2]=A;c[v>>2]=c[h>>2]<<16;c[x>>2]=c[w>>2]<<16;c[z>>2]=c[y>>2]<<16;i=e;return A|0}function oT(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;f=i;i=i+8|0;g=c[a+100>>2]|0;c[f>>2]=0;e=jd[c[b+36>>2]&511](b)|0;b=a+304|0;if((c[b>>2]|0)!=0){i=d;return}g=oJ(g,252,0,e,0,f)|0;c[b>>2]=g;if((c[f>>2]|0)!=0){i=d;return}a=a+300|0;c[a>>2]=e;if((e|0)>0){e=0}else{i=d;return}while(1){c[g+(e*252|0)+4>>2]=4;e=e+1|0;if((e|0)>=(c[a>>2]|0)){break}g=c[b>>2]|0}i=d;return}function pT(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;h=i;e=i;i=i+24|0;j=e;f=c[d+96>>2]|0;if((f|0)<=-1){i=h;return}g=c[a+304>>2]|0;pd[c[d+52>>2]&63](d,6,j,3)|0;d=j+12|0;k=c[d>>2]|0;k=(k|0)<0?0-k|0:k;b[a+68>>1]=bJ(65536,bJ(k,1e3)|0)|0;if((k|0)==65536){l=j+4|0;a=j+8|0;k=j+16|0;j=j+20|0}else{c[e>>2]=bJ(c[e>>2]|0,k)|0;l=j+4|0;c[l>>2]=bJ(c[l>>2]|0,k)|0;a=j+8|0;c[a>>2]=bJ(c[a>>2]|0,k)|0;m=j+16|0;c[m>>2]=bJ(c[m>>2]|0,k)|0;j=j+20|0;c[j>>2]=bJ(c[j>>2]|0,k)|0;c[d>>2]=65536;k=m}c[g+(f*252|0)+216>>2]=c[e>>2];c[g+(f*252|0)+224>>2]=c[l>>2];c[g+(f*252|0)+220>>2]=c[a>>2];c[g+(f*252|0)+228>>2]=c[d>>2];c[g+(f*252|0)+232>>2]=c[k>>2]>>16;c[g+(f*252|0)+236>>2]=c[j>>2]>>16;i=h;return}function qT(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[b+96>>2]|0;if((e|0)<=-1){i=d;return}a=c[a+304>>2]|0;b=Bd[c[b+40>>2]&255](b,0)|0;c[a+(e*252|0)+208>>2]=b;c[a+(e*252|0)+180>>2]=b;i=d;return}function rT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;if((b|0)!=0){c[b>>2]=c[a+152>>2]}if((d|0)!=0){c[d>>2]=c[a+156>>2]}if((e|0)==0){i=f;return 0}c[e>>2]=c[a+160>>2];i=f;return 0}function sT(b,c){b=b|0;c=c|0;if((c|0)!=0){a[c]=1}i=i;return 0}function tT(a,b,d){a=a|0;b=b|0;d=d|0;if((d|0)!=0){c[d>>2]=b}i=i;return 0}function uT(a,b){a=a|0;b=b|0;var c=0;c=i;$W(b|0,a+164|0,32)|0;i=c;return 0}function vT(a,c){a=a|0;c=c|0;b[c>>1]=b[a+312>>1]|0;i=i;return 0}function wT(b){b=b|0;var d=0;d=i;b=c[b+140>>2]|0;if((b|0)==0){i=d;return 0}else{i=d;return((a[b]|0)==47?b+1|0:b)|0}return 0}function xT(a){a=a|0;var b=0;b=i;c[a+40>>2]=c[(mK(c[a+4>>2]|0,282048)|0)>>2];i=b;return 0}function yT(a){a=a|0;i=i;return}function zT(a,b){a=a|0;b=b|0;var c=0;c=i;a=uJ(281888,b)|0;i=c;return a|0}function AT(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;d=i;x=i;i=i+8|0;w=x;v=i;i=i+16|0;B=i;i=i+8|0;F=B;C=i;i=i+304|0;t=C;u=i;i=i+8|0;p=i;i=i+32|0;s=p;k=i;i=i+16|0;j=k;n=e+500|0;c[n>>2]=0;c[e>>2]=1;q=e+96|0;l=oK(c[q>>2]|0,280728)|0;c[e+484>>2]=l;m=nK(c[(c[q>>2]|0)+4>>2]|0,280752)|0;c[e+488>>2]=m;z=c[e+100>>2]|0;bX(C|0,0,304)|0;o=e+492|0;c[o>>2]=jJ(z,12,u)|0;a:do{if((c[u>>2]|0)==0){E=c[e+104>>2]|0;A=c[c[m+4>>2]>>2]|0;c[B>>2]=0;Jd[A&63](t,0,0,z);c[t+72>>2]=E;A=t+80|0;c[A>>2]=0;y=t+76|0;c[y>>2]=0;D=t+84|0;a[D]=0;G=PJ(E,0)|0;c[B>>2]=G;do{if((G|0)==0){G=MK(E,17)|0;c[B>>2]=G;if((G|0)!=0){F=G;r=15;break}if((iX(c[E+32>>2]|0,281864,17)|0)!=0){c[B>>2]=2}PK(E);G=c[B>>2]|0;if((G|0)!=0){F=G;r=15;break}G=PJ(E,0)|0;c[B>>2]=G;if((G|0)!=0){F=G;r=15;break}G=c[E+4>>2]|0;if((c[E+20>>2]|0)==0){c[y>>2]=(c[E>>2]|0)+(c[E+8>>2]|0);c[A>>2]=G;a[D]=1;F=DK(E,G)|0;c[B>>2]=F;if((F|0)!=0){r=15;break}G=c[A>>2]|0}else{H=jJ(z,G,F)|0;c[y>>2]=H;F=c[B>>2]|0;if((F|0)!=0){r=15;break}F=CK(E,H,G)|0;c[B>>2]=F;if((F|0)!=0){r=15;break}c[A>>2]=G}z=c[y>>2]|0;c[t+4>>2]=z;c[C>>2]=z;A=t+8|0;c[A>>2]=z+G;c[u>>2]=0;y=t}else{F=G;r=15}}while(0);if((r|0)==15){if((a[D]|0)!=0){c[u>>2]=F;break}lJ(z,c[y>>2]|0);c[y>>2]=0;P=c[B>>2]|0;c[u>>2]=P;if((P|0)!=0){break}G=c[A>>2]|0;z=0;A=t+8|0;y=t}c[y>>2]=z;z=z+G|0;c[A>>2]=z;I=t+12|0;c[I>>2]=0;J=t+28|0;fd[c[J>>2]&511](t);L=c[y>>2]|0;b:do{if(L>>>0<z>>>0){F=t+32|0;E=t+56|0;D=v+8|0;B=e+132|0;K=t+68|0;H=t+64|0;C=e+132|0;A=e+164|0;G=e+460|0;c:while(1){M=a[L]|0;do{if(M<<24>>24==70&(L+25|0)>>>0<z>>>0){if((vc(L|0,280776,13)|0)!=0){r=30;break}fd[c[F>>2]&511](t);fd[c[J>>2]&511](t);L=c[y>>2]|0;d:do{if(L>>>0<z>>>0){M=L;while(1){if((a[M]|0)==107&(M+5|0)>>>0<z>>>0){if((vc(M|0,280792,5)|0)==0){break}}fd[c[F>>2]&511](t);M=c[I>>2]|0;if((M|0)!=0){r=51;break c}fd[c[J>>2]&511](t);M=c[y>>2]|0;if(M>>>0>=z>>>0){break d}}fd[c[F>>2]&511](t);hd[c[E>>2]&127](t,v);L=(c[D>>2]|0)==3?c[y>>2]|0:L}}while(0);c[y>>2]=L}else{r=30}}while(0);e:do{if((r|0)==30){r=0;if(!(M<<24>>24==47&(L+2|0)>>>0<z>>>0)){fd[c[F>>2]&511](t);M=c[I>>2]|0;if((M|0)==0){break}else{r=52;break c}}L=L+1|0;c[y>>2]=L;fd[c[F>>2]&511](t);M=c[I>>2]|0;if((M|0)!=0){r=52;break c}P=c[y>>2]|0;N=P-L|0;if((N+ -1|0)>>>0<21&P>>>0<z>>>0){O=0}else{break}f:while(1){M=280800+(O*36|0)|0;P=c[M>>2]|0;do{if((P|0)!=0){if((a[L]|0)!=(a[P]|0)){break}if((N|0)!=(ZW(P|0)|0)){break}if((iX(L|0,P|0,N|0)|0)==0){break f}}}while(0);O=O+1|0;if((O|0)>=20){break e}}L=c[280808+(O*36|0)>>2]|0;do{if((O+ -15|0)>>>0<4){hd[c[280812+(O*36|0)>>2]&127](e,t);M=c[I>>2]|0}else{N=c[280804+(O*36|0)>>2]|0;if((N|0)==5){c[x>>2]=G}else if((N|0)==2){c[x>>2]=A}else if((N|0)==3){c[x>>2]=C}else{c[x>>2]=B}if((L+ -8|0)>>>0<2){M=Cd[c[K>>2]&63](t,M,w,0,0)|0;break}else{M=Cd[c[H>>2]&63](t,M,w,0,0)|0;break}}}while(0);c[I>>2]=M;if((M|0)!=0){r=51;break c}}}while(0);fd[c[J>>2]&511](t);L=c[y>>2]|0;if(L>>>0>=z>>>0){break b}}if((r|0)==51){c[u>>2]=M;break a}else if((r|0)==52){c[u>>2]=M;break a}}}while(0);P=c[I>>2]|0;c[u>>2]=P;if((P|0)!=0){break}if((a[e+433|0]|0)!=42){c[u>>2]=2;break}v=e+416|0;c[v>>2]=c[t+144>>2];w=t+212|0;if((c[w>>2]|0)==0){c[u>>2]=3}c[w>>2]=0;c[e+396>>2]=c[t+200>>2];c[e+424>>2]=c[t+224>>2];c[e+428>>2]=c[t+228>>2];O=t+148|0;c[e+400>>2]=c[O>>2];P=t+172|0;w=e+420|0;c[w>>2]=c[P>>2];c[O>>2]=0;c[P>>2]=0;if((c[e+368>>2]|0)!=1){break}z=t+108|0;if((c[z>>2]|0)>0){A=e+384|0;y=e+388|0;x=t+116|0;B=0;D=0;C=0;do{b[(c[A>>2]|0)+(B<<1)>>1]=0;c[(c[y>>2]|0)+(B<<2)>>2]=280768;E=c[(c[x>>2]|0)+(B<<2)>>2]|0;g:do{if((E|0)!=0){J=c[v>>2]|0;if((J|0)<=0){break}G=c[w>>2]|0;I=0;while(1){F=c[G+(I<<2)>>2]|0;H=I+1|0;if((Qc(E|0,F|0)|0)==0){break}if((H|0)<(J|0)){I=H}else{break g}}b[(c[A>>2]|0)+(B<<1)>>1]=I;c[(c[y>>2]|0)+(B<<2)>>2]=F;if((Qc(280768,F|0)|0)==0){break}D=(B|0)<(D|0)?D:B+1|0;C=(B|0)<(C|0)?B:C}}while(0);B=B+1|0;}while((B|0)<(c[z>>2]|0))}else{D=0;C=0}c[e+376>>2]=C;c[e+380>>2]=D;c[e+372>>2]=c[t+88>>2]}}while(0);v=c[t+140>>2]|0;if((v|0)!=0){fd[v&511](t+92|0)}v=c[t+248>>2]|0;if((v|0)!=0){fd[v&511](t+200|0)}v=c[t+196>>2]|0;if((v|0)!=0){fd[v&511](t+148|0)}v=c[t+300>>2]|0;if((v|0)!=0){fd[v&511](t+252|0)}if((a[t+84|0]|0)==0){P=t+76|0;lJ(c[t+16>>2]|0,c[P>>2]|0);c[P>>2]=0}fd[c[t+24>>2]&511](t);t=c[u>>2]|0;if((t|0)!=0|(f|0)<0){P=t;i=d;return P|0}if((f|0)>0){P=6;i=d;return P|0}c[e+16>>2]=c[e+416>>2];c[e+36>>2]=0;c[e+4>>2]=0;f=e+8|0;c[f>>2]=(a[e+156|0]|0)==0?2577:2581;w=c[e+144>>2]|0;u=e+20|0;c[u>>2]=w;t=e+24|0;c[t>>2]=280760;h:do{if((w|0)==0){r=c[e+364>>2]|0;if((r|0)==0){break}c[u>>2]=r}else{v=c[e+140>>2]|0;if((v|0)==0){break}u=a[v]|0;if(u<<24>>24==0){break}i:while(1){while(1){x=a[w]|0;if(u<<24>>24==x<<24>>24){r=87;break}if(u<<24>>24==45|u<<24>>24==32){break}if(x<<24>>24==0){break i}else if(!(x<<24>>24==45|x<<24>>24==32)){break h}if(u<<24>>24==0){break h}else{w=w+1|0}}if((r|0)==87){r=0;w=w+1|0}v=v+1|0;u=a[v]|0;if(u<<24>>24==0){break h}}c[t>>2]=v}}while(0);c[e+28>>2]=0;c[e+32>>2]=0;c[p>>2]=1;c[s+4>>2]=c[o>>2];c[s+8>>2]=c[e+496>>2];if((g|0)!=0){c[p>>2]=17;c[s+24>>2]=g;c[s+28>>2]=h}h=MJ(c[(c[q>>2]|0)+4>>2]|0,s,0,n)|0;if((h|0)!=0){P=h;i=d;return P|0}VJ(c[(c[n>>2]|0)+88>>2]|0)|0;h=c[n>>2]|0;$W(e+52|0,h+52|0,16)|0;b[e+68>>1]=b[h+68>>1]|0;b[e+70>>1]=b[h+70>>1]|0;b[e+72>>1]=b[h+72>>1]|0;b[e+74>>1]=b[h+74>>1]|0;b[e+76>>1]=b[h+76>>1]|0;b[e+78>>1]=b[h+78>>1]|0;b[e+80>>1]=b[e+158>>1]|0;b[e+82>>1]=b[e+160>>1]|0;n=e+12|0;g=(c[e+152>>2]|0)!=0|0;c[n>>2]=g;if((c[h+12>>2]&2|0)!=0){c[n>>2]=g|2}if((c[h+8>>2]&32|0)!=0){c[f>>2]=c[f>>2]|32}if((l|0)==0|(m|0)==0){P=0;i=d;return P|0}l=c[m+20>>2]|0;c[k>>2]=e;g=j+8|0;b[g>>1]=3;m=j+10|0;b[m>>1]=1;h=j+4|0;c[h>>2]=1970170211;k=l+12|0;n=eK(c[k>>2]|0,0,j,0)|0;if(!((n|0)==0|(n|0)==163)){P=n;i=d;return P|0}b[g>>1]=7;e=c[e+368>>2]|0;if((e|0)==4){c[h>>2]=1094992453;b[m>>1]=1;l=l+4|0}else if((e|0)==2){c[h>>2]=1094995778;b[m>>1]=0}else if((e|0)==3){c[h>>2]=1818326065;b[m>>1]=3;l=k}else if((e|0)==1){c[h>>2]=1094992451;b[m>>1]=2;l=l+8|0}else{P=0;i=d;return P|0}e=c[l>>2]|0;if((e|0)==0){P=0;i=d;return P|0}P=eK(e,0,j,0)|0;i=d;return P|0}function BT(a){a=a|0;var b=0,d=0,e=0;b=i;if((a|0)==0){i=b;return}d=c[a+100>>2]|0;e=c[a+500>>2]|0;if((e|0)!=0){SJ(e)|0}e=a+132|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+136|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+140|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+144|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+148|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+428|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+424|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+420|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+396|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+400|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+384|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+388|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+364|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+492|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+556|0;lJ(d,c[e>>2]|0);c[e>>2]=0;c[a+552>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;i=b;return}function CT(a){a=a|0;var b=0,d=0,e=0;d=i;e=i;i=i+8|0;b=RJ(c[(c[a>>2]|0)+500>>2]|0,e)|0;e=c[e>>2]|0;c[a+44>>2]=e;hK(e)|0;i=d;return b|0}function DT(a){a=a|0;var b=0,d=0;b=i;d=a+44|0;if((TJ((c[(c[a>>2]|0)+500>>2]|0)+108|0,c[d>>2]|0)|0)==0){i=b;return}VJ(c[d>>2]|0)|0;c[d>>2]=0;i=b;return}function ET(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;e=i;i=i+8|0;f=c[a+4>>2]|0;d=c[f+500>>2]|0;if((c[f+84>>2]|0)==0){c[a+160>>2]=c[d+84>>2];f=0;i=b;return f|0}else{f=DJ(d,e)|0;c[a+160>>2]=c[e>>2];i=b;return f|0}return 0}function FT(a){a=a|0;var b=0;b=i;EJ(c[a+160>>2]|0);i=b;return}function GT(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;h=c[(c[(c[a+4>>2]|0)+96>>2]|0)+40>>2]|0;g=a+160|0;j=c[g>>2]|0;AJ(j);c[j+152>>2]=0;bX(j+24|0,0,40)|0;bX(j+72|0,0,72)|0;e=pd[c[h+80>>2]&63](c[g>>2]|0,c[b+44>>2]|0,d,e|8)|0;if((e|0)!=0){i=f;return e|0}j=c[g>>2]|0;$W(a+24|0,j+24|0,32)|0;c[a+56>>2]=c[j+56>>2];c[a+60>>2]=c[j+60>>2];c[a+72>>2]=c[j+72>>2];$W(a+108|0,j+108|0,20)|0;$W(a+76|0,j+76|0,24)|0;c[a+100>>2]=c[j+100>>2];c[a+104>>2]=c[j+104>>2];c[a+128>>2]=c[j+128>>2];c[a+132>>2]=c[j+132>>2];c[a+136>>2]=c[j+136>>2];c[a+140>>2]=c[j+140>>2];i=f;return e|0}function HT(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[a>>2]|0;hK(c[a+44>>2]|0)|0;e=e+500|0;b=aK(c[e>>2]|0,b)|0;if((b|0)!=0){i=d;return b|0}$W(a+12|0,(c[(c[e>>2]|0)+88>>2]|0)+12|0,28)|0;i=d;return b|0}function IT(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[a>>2]|0;hK(c[a+44>>2]|0)|0;e=e+500|0;b=$J(c[e>>2]|0,b)|0;if((b|0)!=0){i=d;return b|0}$W(a+12|0,(c[(c[e>>2]|0)+88>>2]|0)+12|0,28)|0;i=d;return b|0}function JT(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=i;i=i+24|0;g=f;pd[c[d+52>>2]&63](d,6,g,3)|0;h=g+12|0;d=c[h>>2]|0;d=(d|0)<0?0-d|0:d;b[a+68>>1]=(bJ(65536e3,d)|0)>>>16;if((d|0)==65536){d=c[g+20>>2]|0;h=c[h>>2]|0;j=g+4|0;k=g+8|0;g=g+16|0}else{c[f>>2]=bJ(c[f>>2]|0,d)|0;j=g+4|0;c[j>>2]=bJ(c[j>>2]|0,d)|0;k=g+8|0;c[k>>2]=bJ(c[k>>2]|0,d)|0;l=g+16|0;c[l>>2]=bJ(c[l>>2]|0,d)|0;g=g+20|0;d=bJ(c[g>>2]|0,d)|0;c[g>>2]=d;c[h>>2]=65536;h=65536;g=l}c[a+436>>2]=c[f>>2];c[a+444>>2]=c[j>>2];c[a+440>>2]=c[k>>2];c[a+448>>2]=h;c[a+452>>2]=c[g>>2]>>16;c[a+456>>2]=d>>16;i=e;return}function KT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=i;m=i;i=i+8|0;s=m;j=c[d+8>>2]|0;o=c[b+488>>2]|0;f=d+28|0;fd[c[f>>2]&511](d);l=c[d>>2]|0;if(l>>>0>=j>>>0){c[d+12>>2]=3;i=e;return}v=a[l]|0;k=v<<24>>24==91;if(!(((v&255)+ -48|0)>>>0<10|k)){do{if((l+17|0)>>>0<j>>>0){if((vc(l|0,281800,16)|0)!=0){break}c[b+368>>2]=2;i=e;return}}while(0);do{if((l+15|0)>>>0<j>>>0){if((vc(l|0,281824,14)|0)!=0){break}c[b+368>>2]=4;i=e;return}}while(0);do{if((l+18|0)>>>0<j>>>0){if((vc(l|0,281840,17)|0)!=0){break}c[b+368>>2]=3;i=e;return}}while(0);c[d+12>>2]=3;i=e;return}g=d+92|0;p=c[d+16>>2]|0;if(k){c[d>>2]=l+1;k=256;t=1}else{k=jd[c[d+36>>2]&511](d)|0;t=0}fd[c[f>>2]&511](d);if((c[d>>2]|0)>>>0>=j>>>0){i=e;return}c[b+372>>2]=k;c[d+88>>2]=k;c[b+384>>2]=oJ(p,2,0,k,0,s)|0;u=c[m>>2]|0;do{if((u|0)==0){c[b+388>>2]=oJ(p,4,0,k,0,s)|0;u=c[m>>2]|0;if((u|0)!=0){break}u=sd[c[c[o>>2]>>2]&127](g,k,p)|0;c[m>>2]=u;if((u|0)!=0){break}if((k|0)!=0){o=d+136|0;m=0;do{pd[c[o>>2]&63](g,m,280768,8)|0;m=m+1|0;}while(m>>>0<k>>>0)}fd[c[f>>2]&511](d);u=c[d>>2]|0;a:do{if(u>>>0<j>>>0){o=d+32|0;l=d+12|0;s=d+36|0;p=d+136|0;m=d+116|0;b:do{if(t<<24>>24==0){n=0;c:while(1){q=a[u]|0;do{if(q<<24>>24==93){h=u;break b}else if(q<<24>>24==100){r=u+3|0;if(r>>>0>=j>>>0){break}if((a[u+1|0]|0)!=101){break}if((a[u+2|0]|0)!=102){break}switch(a[r]|0){case 0:case 12:case 10:case 13:case 9:case 32:{break a};default:{}}}}while(0);do{if(((q&255)+ -48|0)>>>0>9){fd[c[o>>2]&511](d);if((c[l>>2]|0)==0){r=u}else{n=52;break c}}else{q=jd[c[s>>2]&511](d)|0;fd[c[f>>2]&511](d);r=c[d>>2]|0;if(!((a[r]|0)==47&(r+2|0)>>>0<j>>>0&n>>>0<k>>>0)){break}r=r+1|0;c[d>>2]=r;fd[c[o>>2]&511](d);if((c[l>>2]|0)!=0){n=52;break c}t=(c[d>>2]|0)-r|0;v=pd[c[p>>2]&63](g,q,r,t+1|0)|0;c[l>>2]=v;if((v|0)!=0){n=52;break c}a[(c[(c[m>>2]|0)+(q<<2)>>2]|0)+t|0]=0;n=n+1|0}}while(0);fd[c[f>>2]&511](d);u=c[d>>2]|0;if(u>>>0>=j>>>0){break a}}if((n|0)==52){i=e;return}}else{s=0;d:while(1){t=a[u]|0;do{if(t<<24>>24==93){h=u;break b}else if(t<<24>>24==100){v=u+3|0;if(v>>>0>=j>>>0){r=u;q=s;break}do{if((a[u+1|0]|0)==101){if((a[u+2|0]|0)!=102){break}switch(a[v]|0){case 0:case 12:case 10:case 13:case 9:case 32:{r=v;break a};default:{}}}}while(0);if(t<<24>>24==93){h=u;break b}else{n=36}}else{n=36}}while(0);do{if((n|0)==36){n=0;if(!(t<<24>>24==47&(u+2|0)>>>0<j>>>0&s>>>0<k>>>0)){r=u;q=s;break}r=u+1|0;c[d>>2]=r;fd[c[o>>2]&511](d);if((c[l>>2]|0)!=0){n=52;break d}q=(c[d>>2]|0)-r|0;v=pd[c[p>>2]&63](g,s,r,q+1|0)|0;c[l>>2]=v;if((v|0)!=0){n=52;break d}a[(c[(c[m>>2]|0)+(s<<2)>>2]|0)+q|0]=0;q=s+1|0}}while(0);fd[c[f>>2]&511](d);u=c[d>>2]|0;if(u>>>0<j>>>0){s=q}else{break a}}if((n|0)==52){i=e;return}}}while(0);r=h+1|0}else{r=l}}while(0);c[b+368>>2]=1;c[d>>2]=r;i=e;return}}while(0);c[d+12>>2]=u;i=e;return}function LT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=i;f=d+200|0;g=d+148|0;j=d+252|0;o=c[d+16>>2]|0;p=c[b+488>>2]|0;n=c[d+8>>2]|0;b=d+28|0;fd[c[b>>2]&511](d);r=c[d>>2]|0;a:do{if(r>>>0<n>>>0){r=a[r]|0;b:do{if(((r&255)+ -48|0)>>>0<10){c[d+144>>2]=jd[c[d+36>>2]&511](d)|0;if((c[d+12>>2]|0)==0){q=c[d>>2]|0;break}else{i=e;return}}else{if(r<<24>>24!=60){B=3;break a}r=d+32|0;fd[c[r>>2]&511](d);s=d+12|0;if((c[s>>2]|0)!=0){i=e;return}fd[c[b>>2]&511](d);t=c[d>>2]|0;if(t>>>0<n>>>0){w=t;v=0}else{q=t;break}while(1){u=a[w]|0;if(u<<24>>24==62){m=10;break}else if(u<<24>>24==47){u=v+1|0}else{u=v}fd[c[r>>2]&511](d);if((c[s>>2]|0)!=0){m=46;break}fd[c[b>>2]&511](d);w=c[d>>2]|0;if(w>>>0<n>>>0){v=u}else{q=w;break b}}if((m|0)==10){c[d+144>>2]=v;c[d>>2]=t;q=t;break}else if((m|0)==46){i=e;return}}}while(0);if(q>>>0>=n>>>0){B=3;break}s=d+144|0;B=sd[c[c[p>>2]>>2]&127](f,c[s>>2]|0,o)|0;if((B|0)!=0){break}B=sd[c[c[p>>2]>>2]&127](g,c[s>>2]|0,o)|0;if((B|0)!=0){break}B=sd[c[c[p>>2]>>2]&127](j,4,o)|0;if((B|0)!=0){break}v=d+32|0;t=d+12|0;p=d+192|0;r=d+172|0;u=d+36|0;o=d+244|0;q=d+224|0;w=0;y=0;x=0;c:while(1){do{fd[c[b>>2]&511](d);A=c[d>>2]|0;if(A>>>0>=n>>>0){l=w;k=y;h=x;break c}z=a[A]|0;do{if(z<<24>>24==62){l=w;k=y;h=x;break c}else if(z<<24>>24==101){B=A+3|0;if(B>>>0>=n>>>0){break}do{if((a[A+1|0]|0)==110){if((a[A+2|0]|0)!=100){break}switch(a[B]|0){case 0:case 12:case 10:case 13:case 9:case 32:{l=w;k=y;h=x;break c};default:{}}}}while(0);if(z<<24>>24==62){l=w;k=y;h=x;break c}}}while(0);fd[c[v>>2]&511](d);if((c[t>>2]|0)!=0){m=46;break c}}while((a[A]|0)!=47);z=A+1|0;if(z>>>0>=n>>>0){B=3;break a}A=(c[d>>2]|0)-z|0;B=pd[c[p>>2]&63](g,w,z,A+1|0)|0;if((B|0)!=0){break a}a[(c[(c[r>>2]|0)+(w<<2)>>2]|0)+A|0]=0;if((a[z]|0)==46){z=(Qc(280768,c[(c[r>>2]|0)+(w<<2)>>2]|0)|0)==0;y=z?1:y;x=z?w:x}fd[c[b>>2]&511](d);z=c[d>>2]|0;jd[c[u>>2]&511](d)|0;A=c[d>>2]|0;if(A>>>0>=n>>>0){B=3;break a}A=A-z|0;B=pd[c[o>>2]&63](f,w,z,A+1|0)|0;if((B|0)!=0){break a}a[(c[(c[q>>2]|0)+(w<<2)>>2]|0)+A|0]=0;w=w+1|0;if(w>>>0>=(c[s>>2]|0)>>>0){l=w;k=y;h=x;break}}if((m|0)==46){i=e;return}c[s>>2]=l;if(k<<24>>24==0){B=3;break}m=c[c[r>>2]>>2]|0;if((Qc(280768,m|0)|0)==0){i=e;return}k=d+296|0;l=d+176|0;B=pd[c[k>>2]&63](j,0,m,c[c[l>>2]>>2]|0)|0;if((B|0)!=0){break}m=d+228|0;B=pd[c[k>>2]&63](j,1,c[c[q>>2]>>2]|0,c[c[m>>2]>>2]|0)|0;if((B|0)!=0){break}B=pd[c[k>>2]&63](j,2,c[(c[r>>2]|0)+(h<<2)>>2]|0,c[(c[l>>2]|0)+(h<<2)>>2]|0)|0;if((B|0)!=0){break}B=pd[c[k>>2]&63](j,3,c[(c[q>>2]|0)+(h<<2)>>2]|0,c[(c[m>>2]|0)+(h<<2)>>2]|0)|0;if((B|0)!=0){break}j=d+276|0;k=d+280|0;B=pd[c[p>>2]&63](g,h,c[c[j>>2]>>2]|0,c[c[k>>2]>>2]|0)|0;if((B|0)!=0){break}B=pd[c[o>>2]&63](f,h,c[(c[j>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0;if((B|0)!=0){break}B=pd[c[p>>2]&63](g,0,c[(c[j>>2]|0)+8>>2]|0,c[(c[k>>2]|0)+8>>2]|0)|0;if((B|0)!=0){break}B=pd[c[o>>2]&63](f,0,c[(c[j>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+12>>2]|0)|0;if((B|0)!=0){break}i=e;return}else{B=3}}while(0);c[d+12>>2]=B;i=e;return}function MT(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=i;h=i;i=i+8|0;l=h;k=i;i=i+8|0;j=k;g=c[e+16>>2]|0;n=c[e+8>>2]|0;m=e+28|0;fd[c[m>>2]&511](e);o=c[e>>2]|0;a:do{if(o>>>0<n>>>0){c[e>>2]=o+1;if((a[o]|0)!=91){t=3;break}fd[c[m>>2]&511](e);B=c[e>>2]|0;b:do{if(B>>>0<n>>>0){p=e+36|0;o=e+32|0;q=e+12|0;r=b+492|0;b=b+496|0;s=e+44|0;u=0;C=0;A=0;w=0;z=0;v=0;x=0;y=0;c:while(1){D=a[B]|0;do{if(D<<24>>24==60){fd[c[o>>2]&511](e);if((c[q>>2]|0)!=0){break a}t=((c[e>>2]|0)+~B|0)/2|0;v=oJ(g,1,w,t,v,l)|0;w=c[h>>2]|0;if((w|0)!=0){t=42;break a}c[e>>2]=B;Cd[c[s>>2]&63](e,v,t,j,1)|0;u=1;w=t;x=c[k>>2]|0;t=20}else if(D<<24>>24==93){t=7;break c}else{if(((D&255)+ -48|0)>>>0>=10){t=20;break}if(u<<24>>24!=0){t=13;break c}x=jd[c[p>>2]&511](e)|0;if((x|0)<0){t=15;break c}fd[c[o>>2]&511](e);if((c[q>>2]|0)!=0){t=45;break c}u=c[e>>2]|0;v=u+1|0;if((n-u|0)<(x|0)){t=18;break c}c[e>>2]=u+(x+1);u=0}}while(0);if((t|0)==20){t=0;if((v|0)==0){t=21;break}}B=x+ -1|0;if((a[v+B|0]|0)==0){x=((x|0)%2|0|0)==1?B:x}if((x|0)==0){t=26;break}if((x|0)>0){B=0;do{do{if((z|0)==0){if(C>>>0<12){a[(c[r>>2]|0)+C|0]=a[v+B|0]|0;C=C+1|0;z=0;break}else{t=c[r>>2]|0;A=(d[t+4|0]<<4)+(d[t+5|0]|0)|0;y=A<<4|12;c[r>>2]=oJ(g,1,12,y,t,l)|0;t=c[h>>2]|0;if((t|0)==0){t=31;break}else{w=t;t=42;break a}}}else if((z|0)==2){t=36}else if((z|0)==1){t=31}}while(0);do{if((t|0)==31){t=0;if(C>>>0<y>>>0){a[(c[r>>2]|0)+C|0]=a[v+B|0]|0;C=C+1|0;z=1;break}t=c[r>>2]|0;if((A|0)>0){z=0;while(1){D=z<<4|12;y=((d[t+(D+13)|0]<<16|d[t+(D+12)|0]<<24|d[t+(D+14)|0]<<8|d[t+(D+15)|0])+3&-4)+y|0;z=z+1|0;if((z|0)<(A|0)){}else{break}}}c[b>>2]=y;c[r>>2]=oJ(g,1,A<<4|12,y+1|0,t,l)|0;t=c[h>>2]|0;if((t|0)==0){t=36}else{w=t;t=42;break a}}}while(0);if((t|0)==36){t=0;if(C>>>0>=y>>>0){t=37;break c}a[(c[r>>2]|0)+C|0]=a[v+B|0]|0;C=C+1|0;z=2}B=B+1|0;}while((B|0)<(x|0))}fd[c[m>>2]&511](e);B=c[e>>2]|0;if(B>>>0>=n>>>0){break b}}if((t|0)==7){c[e>>2]=B+1;break a}else if((t|0)==13){c[h>>2]=3;w=3;t=42;break a}else if((t|0)==15){c[h>>2]=3;w=3;u=0;t=42;break a}else if((t|0)==18){c[h>>2]=3;w=3;u=0;t=42;break a}else if((t|0)==21){c[h>>2]=3;w=3;v=0;t=42;break a}else if((t|0)==26){c[h>>2]=3;w=3;t=42;break a}else if((t|0)==37){c[h>>2]=3;w=3;t=42;break a}else if((t|0)==45){i=f;return}}else{u=0;v=0}}while(0);c[h>>2]=3;w=3;t=42}else{t=3}}while(0);if((t|0)==3){c[h>>2]=3;w=3;u=0;v=0;t=42}if((t|0)==42){c[e+12>>2]=w}if(u<<24>>24==0){i=f;return}lJ(g,v);i=f;return}function NT(a,b){a=a|0;b=b|0;var c=0;c=i;$W(b|0,a+132|0,32)|0;i=c;return 0}function OT(a,c){a=a|0;c=c|0;b[c>>1]=b[a+164>>1]|0;i=i;return 0}function PT(a){a=a|0;i=i;return 1}function QT(a,b){a=a|0;b=b|0;var c=0;c=i;$W(b|0,a+168|0,196)|0;i=c;return 0}function RT(a){a=a|0;i=i;return c[a+364>>2]|0}function ST(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;bL(d,c[(c[a+420>>2]|0)+(b<<2)>>2]|0,e)|0;i=f;return 0}function TT(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;g=c[b+416>>2]|0;if((g|0)<=0){l=0;i=f;return l|0}h=c[b+420>>2]|0;j=a[d]|0;k=0;while(1){l=c[h+(k<<2)>>2]|0;if(j<<24>>24==(a[l]|0)){if((Qc(d|0,l|0)|0)==0){break}}k=k+1|0;if((k|0)>=(g|0)){g=0;e=7;break}}if((e|0)==7){i=f;return g|0}l=ec(c[(c[b+424>>2]|0)+(k<<2)>>2]|0)|0;i=f;return l|0}function UT(a,b){a=a|0;b=b|0;var c=0;c=i;a=uJ(282624,b)|0;i=c;return a|0}function VT(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;k=i;t=i;i=i+8|0;v=t;K=i;i=i+8|0;L=K;J=i;i=i+8|0;H=J;G=i;i=i+24|0;E=G;F=i;i=i+24|0;I=i;i=i+16|0;x=i;i=i+16|0;D=i;i=i+16|0;B=i;i=i+8|0;y=B;w=i;i=i+8|0;C=i;i=i+8|0;z=i;i=i+16|0;A=z;j=i;i=i+8|0;o=j;q=i;i=i+16|0;r=q;n=g+100|0;p=c[n>>2]|0;m=g+104|0;u=c[m>>2]|0;l=g+132|0;c[l>>2]=0;Y=PJ(u,0)|0;c[t>>2]=Y;a:do{if((Y|0)==0){Y=ZK(u,282416,L)|0;c[t>>2]=Y;if((Y|0)!=0){break}c[t>>2]=2;b:do{if((b[K>>1]|0)==23117){K=L+2|0;Y=PJ(u,e[K>>1]|0)|0;c[t>>2]=Y;if((Y|0)!=0){break a}Y=ZK(u,282440,H)|0;c[t>>2]=Y;if((Y|0)!=0){break a}c[t>>2]=2;J=b[J>>1]|0;c:do{if(J<<16>>16==17744){Y=PJ(u,e[K>>1]|0)|0;c[t>>2]=Y;if((Y|0)!=0){break a}Y=ZK(u,282464,E)|0;c[t>>2]=Y;if((Y|0)!=0){break a}do{if((c[G>>2]|0)==17744){if((b[E+4>>1]|0)!=332){break}if((b[E+8>>1]|0)!=224){break}if((b[E+10>>1]|0)!=267){break}c[g>>2]=0;G=E+6|0;d:do{if((b[G>>1]|0)!=0){J=E+12|0;E=F+8|0;H=0;while(1){Y=ZK(u,282520,F)|0;c[t>>2]=Y;if((Y|0)!=0){break a}H=H+1<<16>>16;if((c[J>>2]|0)==(c[E>>2]|0)){break}if((H&65535)>=(e[G>>1]|0)){break d}}F=F+16|0;Y=PJ(u,c[F>>2]|0)|0;c[t>>2]=Y;if((Y|0)!=0){break a}Y=ZK(u,282552,I)|0;c[t>>2]=Y;if((Y|0)!=0){break a}G=c[F>>2]|0;H=I+12|0;N=I+14|0;if(((e[N>>1]|0)+(e[H>>1]|0)|0)<=0){u=0;v=g;break c}R=G+16|0;I=y+4|0;J=x+12|0;L=x+14|0;M=w+4|0;Q=D+12|0;K=D+14|0;O=C+4|0;P=A+4|0;T=0;S=0;e:while(1){Y=PJ(u,R+(T<<3)|0)|0;c[t>>2]=Y;if((Y|0)!=0){break a}Y=ZK(u,282584,y)|0;c[t>>2]=Y;if((Y|0)!=0){break a}T=c[I>>2]|0;if((T|0)>=0){s=46;break}T=T&2147483647;c[I>>2]=T;T=(c[F>>2]|0)+T|0;Y=PJ(u,T)|0;c[t>>2]=Y;if((Y|0)!=0){break a}Y=ZK(u,282552,x)|0;c[t>>2]=Y;if((Y|0)!=0){break a}if(((e[L>>1]|0)+(e[J>>1]|0)|0)>0){U=T+16|0;V=0;T=0;do{Y=PJ(u,U+(V<<3)|0)|0;c[t>>2]=Y;if((Y|0)!=0){break a}Y=ZK(u,282584,w)|0;c[t>>2]=Y;if((Y|0)!=0){break a}V=c[M>>2]|0;if((V|0)>=0){s=54;break e}V=V&2147483647;c[M>>2]=V;V=(c[F>>2]|0)+V|0;Y=PJ(u,V)|0;c[t>>2]=Y;if((Y|0)!=0){break a}Y=ZK(u,282552,D)|0;c[t>>2]=Y;if((Y|0)!=0){break a}if(((e[K>>1]|0)+(e[Q>>1]|0)|0)>0){W=V+16|0;X=0;V=0;do{Y=PJ(u,W+(X<<3)|0)|0;c[t>>2]=Y;if((Y|0)!=0){break a}Y=ZK(u,282584,C)|0;c[t>>2]=Y;if((Y|0)!=0){break a}if((c[M>>2]|0)<0){s=62;break e}if((c[B>>2]|0)==8){Y=PJ(u,(c[O>>2]|0)+G|0)|0;c[t>>2]=Y;if((Y|0)!=0){break a}Y=ZK(u,282600,A)|0;c[t>>2]=Y;if((Y|0)!=0){break a}X=c[g>>2]|0;if((X|0)==(h|0)){X=jJ(p,172,v)|0;c[l>>2]=X;Y=c[t>>2]|0;if((Y|0)!=0){break a}c[X>>2]=(c[z>>2]|0)+(c[F>>2]|0)-(c[E>>2]|0);c[(c[l>>2]|0)+164>>2]=c[P>>2];Y=_T(c[l>>2]|0,u)|0;c[t>>2]=Y;if((Y|0)!=0){s=79;break b}X=c[g>>2]|0}c[g>>2]=X+1}V=V+1<<16>>16;X=V&65535;}while((X|0)<((e[K>>1]|0)+(e[Q>>1]|0)|0))}T=T+1<<16>>16;V=T&65535;}while((V|0)<((e[L>>1]|0)+(e[J>>1]|0)|0))}S=S+1<<16>>16;T=S&65535;if((T|0)>=((e[N>>1]|0)+(e[H>>1]|0)|0)){u=0;v=g;break c}}if((s|0)==46){c[t>>2]=3;Y=3;break a}else if((s|0)==54){c[t>>2]=3;Y=3;break a}else if((s|0)==62){c[t>>2]=3;Y=3;break a}}}while(0);c[t>>2]=3;Y=3;break a}}while(0);c[t>>2]=3;Y=3;break a}else if(J<<16>>16==17742){w=H+2|0;Y=PJ(u,(e[w>>1]|0)+(e[K>>1]|0)|0)|0;c[t>>2]=Y;if((Y|0)!=0){break a}Y=MK(u,(e[H+4>>1]|0)-(e[w>>1]|0)|0)|0;c[t>>2]=Y;if((Y|0)!=0){break a}w=SK(u)|0;z=SK(u)|0;f:do{if(z<<16>>16==0){y=0;x=0}else{x=u+32|0;while(1){y=SK(u)|0;if(z<<16>>16==-32760){break}c[x>>2]=(c[x>>2]|0)+(((y&65535)*12|0)+4);z=SK(u)|0;if(z<<16>>16==0){y=0;x=0;break f}}Y=IK(u)|0;x=Y+4+(c[x>>2]|0)-(c[u+36>>2]|0)|0}}while(0);PK(u);if(y<<16>>16==0|(x|0)==0){c[t>>2]=3;Y=3;break a}y=y&65535;if((y*118|0)>>>0>(c[u+4>>2]|0)>>>0){c[t>>2]=3;Y=3;break a}c[g>>2]=y;if((y|0)<=(h|0)){c[t>>2]=6;Y=6;break a}if((h|0)<0){break b}c[l>>2]=jJ(p,172,v)|0;Y=c[t>>2]|0;if((Y|0)!=0){break a}Y=PJ(u,x+(h*12|0)|0)|0;c[t>>2]=Y;if((Y|0)!=0){s=79;break b}Y=MK(u,12)|0;c[t>>2]=Y;if((Y|0)!=0){s=79;break b}v=w&65535;Y=((SK(u)|0)&65535)<<v;c[c[l>>2]>>2]=Y;v=((SK(u)|0)&65535)<<v;c[(c[l>>2]|0)+164>>2]=v;v=u+32|0;c[v>>2]=(c[v>>2]|0)+8;PK(u);u=_T(c[l>>2]|0,u)|0;c[t>>2]=u;v=g}else{u=2;v=g}}while(0);v=c[v>>2]|0;if((v|0)==0){c[t>>2]=3;Y=3;break a}if((v|0)>(h|0)){if((u|0)==0){break}else{s=79;break}}else{c[t>>2]=6;Y=6;break a}}else{s=79}}while(0);do{if((s|0)==79){u=c[n>>2]|0;w=c[l>>2]|0;if((w|0)==0){break}v=w+160|0;if((c[v>>2]|0)!=0){NK(c[m>>2]|0,v)}Y=w+168|0;lJ(u,c[Y>>2]|0);c[Y>>2]=0;lJ(u,w);c[l>>2]=0}}while(0);Y=c[t>>2]|0}}while(0);c[j>>2]=Y;t=(h|0)<0;if((Y|0)==0&t){Y=0;i=k;return Y|0}do{if((Y|0)==2){u=jJ(p,172,o)|0;c[l>>2]=u;v=c[j>>2]|0;if((v|0)!=0){Y=v;i=k;return Y|0}c[g>>2]=1;c[u>>2]=0;c[u+164>>2]=c[f+4>>2];Y=_T(u,f)|0;c[j>>2]=Y;if((Y|0)!=0){break}if((h|0)>0){c[j>>2]=6;Y=6;break}if(t){g=0}else{s=91;break}i=k;return g|0}else if((Y|0)==0){s=91}}while(0);do{if((s|0)==91){s=c[l>>2]|0;c[g+4>>2]=h;h=g+8|0;c[h>>2]=18;f=s+100|0;c[h>>2]=(b[f>>1]|0)==(b[s+102>>1]|0)?22:18;if((a[s+86|0]|0)!=0){Y=g+12|0;c[Y>>2]=c[Y>>2]|1}if((e[s+90>>1]|0)>799){Y=g+12|0;c[Y>>2]=c[Y>>2]|2}h=oJ(p,16,0,1,0,o)|0;c[g+32>>2]=h;Y=c[j>>2]|0;if((Y|0)!=0){break}c[g+28>>2]=1;b[h+2>>1]=b[f>>1]|0;x=s+96|0;b[h>>1]=(b[s+84>>1]|0)+(b[x>>1]|0)<<16>>16;u=e[s+74>>1]<<6;t=h+4|0;c[t>>2]=u;f=b[s+78>>1]|0;v=b[s+76>>1]|0;w=v<<16>>16!=0?v&65535:72;v=h+12|0;Y=(_I(u,w,72)|0)+32&-64;c[v>>2]=Y;u=e[x>>1]<<6;if((Y|0)>(u|0)){c[v>>2]=u;Y=_I(u,72,w)|0;c[t>>2]=Y;t=Y}else{t=c[t>>2]|0}c[h+8>>2]=(_I(t,f<<16>>16!=0?f&65535:72,72)|0)+32&-64;h=r+4|0;Y=h;c[Y>>2]=0;c[Y+4>>2]=0;c[q>>2]=g;if((a[s+92|0]|0)==77){c[h>>2]=1634889070;b[r+8>>1]=1}Y=eK(282224,0,r,0)|0;c[j>>2]=Y;if((Y|0)!=0){break}if((c[g+36>>2]|0)!=0){c[g+92>>2]=c[c[g+40>>2]>>2]}c[g+16>>2]=(d[s+105|0]|0)+2-(d[s+104|0]|0);q=s+116|0;r=c[q>>2]|0;h=c[s+8>>2]|0;if(r>>>0>=h>>>0){c[j>>2]=3;Y=3;break}h=h-r|0;f=jJ(p,h+1|0,o)|0;r=s+168|0;c[r>>2]=f;Y=c[j>>2]|0;if((Y|0)!=0){break}$W(f|0,(c[s+160>>2]|0)+(c[q>>2]|0)|0,h|0)|0;a[(c[r>>2]|0)+h|0]=0;Y=c[r>>2]|0;o=oJ(p,1,h,(ZW(Y|0)|0)+1|0,Y,o)|0;c[r>>2]=o;Y=c[j>>2]|0;if((Y|0)!=0){break}c[g+20>>2]=o;j=g+24|0;c[j>>2]=282184;Y=c[g+12>>2]|0;g=(Y&1|0)!=0;if((Y&2|0)==0){if(!g){Y=0;i=k;return Y|0}c[j>>2]=282216;Y=0;i=k;return Y|0}if(g){c[j>>2]=282192;Y=0;i=k;return Y|0}else{c[j>>2]=282208;Y=0;i=k;return Y|0}}}while(0);if((g|0)==0){i=k;return Y|0}n=c[n>>2]|0;o=c[m>>2]|0;p=c[l>>2]|0;if((p|0)!=0){m=p+160|0;if((c[m>>2]|0)!=0){NK(o,m)}Y=p+168|0;lJ(n,c[Y>>2]|0);c[Y>>2]=0;lJ(n,p);c[l>>2]=0}Y=g+32|0;lJ(n,c[Y>>2]|0);c[Y>>2]=0;c[g+28>>2]=0;Y=c[j>>2]|0;i=k;return Y|0}function WT(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;if((a|0)==0){i=b;return}d=c[a+100>>2]|0;g=c[a+104>>2]|0;f=a+132|0;e=c[f>>2]|0;if((e|0)!=0){h=e+160|0;if((c[h>>2]|0)!=0){NK(g,h)}h=e+168|0;lJ(d,c[h>>2]|0);c[h>>2]=0;lJ(d,e);c[f>>2]=0}h=a+32|0;lJ(d,c[h>>2]|0);c[h>>2]=0;c[a+28>>2]=0;i=b;return}function XT(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;k=i;i=i+8|0;n=k;l=c[g>>2]|0;c[k>>2]=0;if((l|0)==0){c[k>>2]=6;t=6;i=j;return t|0}g=c[l+132>>2]|0;do{if((g|0)!=0){if((c[l+16>>2]|0)>>>0<=h>>>0){break}if((h|0)==0){h=d[g+106|0]|0}else{h=h+ -1|0}o=(b[g+4>>1]|0)==768;m=g+160|0;p=c[m>>2]|0;r=(da(o?6:4,h)|0)+(o?148:118)|0;l=(d[p+(r|1)|0]<<8&65535|d[p+r|0])<<16>>16;h=f+80|0;c[h>>2]=l;q=p+(r+2)|0;if(o){o=d[p+(r+4)|0]<<16|d[p+(r+5)|0]<<24|d[p+(r+3)|0]<<8|d[q]}else{o=(d[p+(r+3)|0]<<8&65535|d[q])&65535}r=g+8|0;if(o>>>0>=(c[r>>2]|0)>>>0){c[k>>2]=3;t=3;i=j;return t|0}p=c[m>>2]|0;s=c[(c[f+4>>2]|0)+100>>2]|0;q=l+7>>3;l=f+84|0;c[l>>2]=q;t=e[g+96>>1]|0;m=f+76|0;c[m>>2]=t;a[f+94|0]=1;u=(da(q,t)|0)+o|0;if(u>>>0>=(c[r>>2]|0)>>>0){c[k>>2]=3;u=3;i=j;return u|0}n=oJ(s,t,0,q,0,n)|0;c[f+88>>2]=n;r=c[k>>2]|0;if((r|0)!=0){u=r;i=j;return u|0}a:do{if((q|0)>0){p=p+o|0;while(1){u=c[m>>2]|0;o=p+u|0;if((u|0)>0){r=p;p=n;while(1){a[p]=a[r]|0;r=r+1|0;if(r>>>0<o>>>0){p=p+(c[l>>2]|0)|0}else{p=r;break}}}q=q+ -1|0;if((q|0)<=0){break a}n=n+1|0}}}while(0);c[(c[f+156>>2]|0)+4>>2]=1;c[f+100>>2]=0;s=e[g+80>>1]|0;c[f+104>>2]=s;c[f+72>>2]=1651078259;r=c[h>>2]<<6;t=f+24|0;c[t>>2]=r;u=c[m>>2]<<6;c[f+28>>2]=u;c[f+40>>2]=r;c[f+32>>2]=0;c[f+36>>2]=s<<6;XJ(t,u);u=c[k>>2]|0;i=j;return u|0}}while(0);c[k>>2]=6;u=6;i=j;return u|0}function YT(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;g=i;d=c[a>>2]|0;f=c[d+132>>2]|0;h=c[b+16>>2]|0;j=c[b+8>>2]|0;if((h|0)!=0){j=((da(j,h)|0)+36|0)/72|0}h=j+32>>6;b=c[b>>2]|0;if((b|0)==0){b=(c[(c[d+32>>2]|0)+12>>2]|0)+32>>6}else if((b|0)==1){b=e[f+96>>1]|0}else{j=7;i=g;return j|0}b=(h|0)==(b|0);if(!b){j=b?0:23;i=g;return j|0}YJ(d,0);j=f+80|0;c[a+24>>2]=(e[j>>1]|0)<<6;c[a+28>>2]=(e[j>>1]|0)-(e[f+96>>1]|0)<<6;c[a+36>>2]=(e[f+102>>1]|0)<<6;j=0;i=g;return j|0}function ZT(a,b){a=a|0;b=b|0;var d=0,f=0;b=i;f=c[a>>2]|0;d=c[f+132>>2]|0;YJ(f,0);f=d+80|0;c[a+24>>2]=(e[f>>1]|0)<<6;c[a+28>>2]=(e[f>>1]|0)-(e[d+96>>1]|0)<<6;c[a+36>>2]=(e[d+102>>1]|0)<<6;i=b;return 0}function _T(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;e=i;f=a+4|0;g=PJ(d,c[a>>2]|0)|0;do{if((g|0)==0){g=ZK(d,282264,f)|0;if((g|0)!=0){break}g=b[f>>1]|0;if(!(g<<16>>16==768|g<<16>>16==512)){g=2;break}f=a+8|0;if((c[f>>2]|0)>>>0<(g<<16>>16==768?148:118)>>>0){g=2;break}if(g<<16>>16==512){bX(a+132|0,0,12)|0}if((b[a+72>>1]&1)!=0){g=2;break}g=PJ(d,c[a>>2]|0)|0;if((g|0)!=0){break}g=LK(d,c[f>>2]|0,a+160|0)|0}}while(0);i=e;return g|0}function $T(a,b){a=a|0;b=b|0;var e=0;b=c[(c[a>>2]|0)+132>>2]|0;e=d[b+104|0]|0;c[a+16>>2]=e;c[a+20>>2]=1-e+(d[b+105|0]|0);i=i;return 0}function aU(a,b){a=a|0;b=b|0;b=b-(c[a+16>>2]|0)|0;i=i;return(b>>>0<(c[a+20>>2]|0)>>>0?b+1|0:0)|0}function bU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=(c[b>>2]|0)+1|0;e=c[a+16>>2]|0;if(d>>>0>e>>>0){f=d-e|0;e=f>>>0<(c[a+20>>2]|0)>>>0;a=e?f+1|0:0;e=e?d:0}else{a=1}c[b>>2]=e;i=i;return a|0}function cU(a,b){a=a|0;b=b|0;var d=0;d=i;$W(b|0,(c[a+132>>2]|0)+4|0,156)|0;i=d;return 0}function dU(a,b){a=a|0;b=b|0;c[a+112>>2]=b;c[a+104>>2]=c[b+28>>2];i=i;return 0}function eU(a,b,c){a=a|0;b=b|0;c=c|0;i=i;return 0}function fU(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;h=i;j=i;i=i+8|0;k=j;l=i;i=i+48|0;m=i;i=i+48|0;g=c[f+92>>2]|0;c[d+36>>2]=e[f+68>>1]|0;p=0;while(1){n=p+1|0;if((cK(f,c[283320+(p<<2)>>2]|0)|0)==0){break}if((n|0)==4){o=56;break}else{p=n}}if((o|0)==56){dK(f,g)|0;i=h;return 0}GU(d,f,111);r=c[f+84>>2]|0;p=d+652|0;u=r+110|0;s=r+112|0;t=r+108|0;q=r+116|0;r=r+120|0;o=0;a:while(1){y=283356+(o*13|0)|0;w=(o&-3|0)==0;n=(o|0)==3;v=w|n;z=0;x=0;A=283344+(o*13|0)|0;do{B=a[A]|0;if(B<<24>>24==0){break}B=KJ(f,B<<24>>24)|0;b:do{if((B|0)!=0){if((YI(f,B,1)|0)!=0){break}if((b[u>>1]|0)<1){break}B=c[s>>2]|0;D=b[t>>1]|0;do{if(D<<16>>16>0){C=c[r>>2]|0;D=D<<16>>16;F=0;G=0;I=-1;K=0;J=0;H=0;while(1){E=b[C+(H<<1)>>1]|0;if((E|0)>(J|0)){L=(J|0)>(E|0);do{if(v){if(L){L=I;break}else{L=I;M=J}while(1){O=c[B+(M<<3)+4>>2]|0;N=(L|0)<0|(O|0)>(K|0);L=N?M:L;K=N?O:K;if((M|0)<(E|0)){M=M+1|0}else{break}}}else{if(L){L=I;break}else{L=I;M=J}while(1){N=c[B+(M<<3)+4>>2]|0;O=(L|0)<0|(N|0)<(K|0);L=O?M:L;K=O?N:K;if((M|0)<(E|0)){M=M+1|0}else{break}}}}while(0);I=(L|0)==(I|0);F=I?F:J;G=I?G:E;I=L}H=H+1|0;if((H|0)<(D|0)){J=E+1|0}else{break}}C=5-K|0;if((I|0)>-1){D=I}else{break}while(1){D=(D|0)>(F|0)?D+ -1|0:G;if(((c[B+(D<<3)+4>>2]|0)+C|0)>>>0>10|(D|0)==(I|0)){E=I;break}else{}}do{E=(E|0)<(G|0)?E+1|0:F;}while(!(((c[B+(E<<3)+4>>2]|0)+C|0)>>>0>10|(E|0)==(I|0)));B=c[q>>2]|0;if((a[B+D|0]&3)==1){if((a[B+E|0]&3)==1){break}}c[m+(x<<2)>>2]=K;x=x+1|0;break b}else{K=0}}while(0);c[l+(z<<2)>>2]=K;z=z+1|0}}while(0);A=A+1|0;}while(A>>>0<y>>>0);A=(z|0)==0;y=(x|0)==0;do{if((x|z|0)!=0){if(x>>>0>1){F=1;do{D=c[m+(F<<2)>>2]|0;B=F;while(1){C=B+ -1|0;G=m+(C<<2)|0;E=c[G>>2]|0;if((D|0)>(E|0)){break}c[m+(B<<2)>>2]=E;c[G>>2]=D;if((C|0)==0){break}else{B=C}}F=F+1|0;}while(F>>>0<x>>>0)}if(z>>>0>1){G=1;do{D=c[l+(G<<2)>>2]|0;E=G;while(1){F=E+ -1|0;C=l+(F<<2)|0;B=c[C>>2]|0;if((D|0)>(B|0)){break}c[l+(E<<2)>>2]=B;c[C>>2]=D;if((F|0)==0){break}else{E=F}}G=G+1|0;}while(G>>>0<z>>>0)}C=c[p>>2]|0;B=d+656+(C*28|0)|0;D=d+656+(C*28|0)+12|0;c[p>>2]=C+1;do{if(A){O=c[m+(((x|0)/2|0)<<2)>>2]|0;c[D>>2]=O;c[B>>2]=O}else{z=c[l+(((z|0)/2|0)<<2)>>2]|0;if(y){c[D>>2]=z;c[B>>2]=z;break}c[B>>2]=z;x=c[m+(((x|0)/2|0)<<2)>>2]|0;c[D>>2]=x;if((x|0)==(z|0)){break}if(((w?1:n&1)|0)==((x|0)>(z|0)|0)){break}O=(x+z|0)/2|0;c[B>>2]=O;c[D>>2]=O}}while(0);w=d+656+(C*28|0)+24|0;v=v?2:0;c[w>>2]=v;if(!n){break}c[w>>2]=v|4;o=4;continue a}}while(0);o=o+1|0;if((o|0)>=6){break}}l=48;n=0;m=0;c:while(1){o=KJ(f,l)|0;do{if((o|0)!=0){if((WI(f,o,2051,k)|0)!=0){break}o=c[j>>2]|0;if(m<<24>>24==0){n=o;m=1;break}if((o|0)!=(n|0)){j=0;break c}}}while(0);l=l+1|0;if(l>>>0>=58){j=1;break}}a[d+32|0]=j;dK(f,g)|0;i=h;return 0}function gU(a,b){a=a|0;b=b|0;var d=0;d=i;c[a+24>>2]=c[b+20>>2];c[a+4>>2]=c[b>>2];KU(a,b,0);KU(a,b,1);i=d;return}function hU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;e=i;f=c[b+4>>2]|0;c[a+112>>2]=b;g=c[b+28>>2]|0;d=a+104|0;c[d>>2]=g;c[a+4>>2]=c[b+40>>2];c[a+8>>2]=c[b+44>>2];c[a+12>>2]=c[b+436>>2];c[a+16>>2]=c[b+440>>2];h=c[b+24>>2]|0;b=(h|0)==2;j=(h&-2|0)==2|0;j=b|(h|0)==4?j|2:j;h=(h|0)==1;j=h?j:j|4;b=b?j|8:j;do{if(!h){if((c[f+12>>2]&1|0)!=0){break}j=d;c[j>>2]=g;j=a+108|0;c[j>>2]=b;i=e;return 0}}while(0);h=g|1;j=d;c[j>>2]=h;j=a+108|0;c[j>>2]=b;i=e;return 0}function iU(f,g,h){f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;j=i;k=xU(f,g)|0;if((k|0)!=0){D=k;i=j;return D|0}k=f+104|0;m=c[k>>2]|0;do{if((m&1|0)==0){m=IU(f,0)|0;if((m|0)==0){m=c[k>>2]|0;break}else{D=m;i=j;return D|0}}}while(0);do{if((m&2|0)==0){m=IU(f,1)|0;if((m|0)!=0){D=m;i=j;return D|0}q=c[f+96>>2]|0;D=c[f+88>>2]|0;p=q+(D*48|0)|0;m=c[h+436>>2]|0;if((D|0)<=0){break}o=h+36|0;n=f+100|0;do{u=aJ(((c[o>>2]|0)>>>0)/40|0,m)|0;s=q+13|0;r=q+12|0;t=0;w=0;u=(u|0)>32?32:u;do{v=h+656+(t*28|0)|0;x=c[h+656+(t*28|0)+24>>2]|0;do{if((x&1|0)!=0){x=(x&2|0)!=0;if(!((a[s]|0)==(c[n>>2]|0)^x)){break}y=(b[q>>1]|0)-(c[v>>2]|0)|0;y=aJ((y|0)<0?0-y|0:y,m)|0;z=(y|0)<(u|0);u=z?y:u;w=z?v:w;if((a[r]&1)==0|(y|0)==0){break}y=b[q>>1]|0;if(!((y|0)<(c[v>>2]|0)^x)){break}v=h+656+(t*28|0)+12|0;x=y-(c[v>>2]|0)|0;y=aJ((x|0)<0?0-x|0:x,m)|0;x=(y|0)<(u|0);w=x?v:w;u=x?y:u}}while(0);t=t+1|0;}while((t|0)<6);if((w|0)!=0){c[q+20>>2]=w}q=q+48|0;}while(q>>>0<p>>>0)}}while(0);n=f+108|0;m=f+112|0;h=0;a:while(1){do{if((h|0)==1){if((c[k>>2]&2|0)!=0){break a}p=c[f+96>>2]|0;q=c[f+88>>2]|0;o=p+(q*48|0)|0;if((q|0)>0){v=0;l=p}else{l=93;break}while(1){do{if((a[l+12|0]&4)==0){s=c[l+20>>2]|0;t=c[l+24>>2]|0;if((s|0)==0){if((t|0)==0){break}s=c[t+20>>2]|0;u=(s|0)==0;r=u?0:t;t=u?t:l}else{r=l}if((r|0)==0){break}s=c[s+8>>2]|0;c[r+8>>2]=s;D=r+12|0;u=a[D]|4;a[D]=u;do{if((t|0)!=0){if((c[t+20>>2]|0)!=0){break}D=t+12|0;C=a[D]|0;c[t+8>>2]=(JU(c[n>>2]|0,c[m>>2]|0,1,(c[t+4>>2]|0)-(c[r+4>>2]|0)|0,u&255,C&255)|0)+s;a[D]=C|4}}while(0);v=(v|0)==0?l:v}}while(0);l=l+48|0;if(l>>>0>=o>>>0){l=26;break}}}else if((h|0)==0){if((c[k>>2]&1|0)==0){p=c[f+68>>2]|0;q=c[f+60>>2]|0;o=p+(q*48|0)|0;v=0;l=26;break}else{h=h+1|0;continue a}}}while(0);do{if((l|0)==26){l=0;if((q|0)>0){r=p;s=0;while(1){t=r+12|0;B=a[t]|0;z=B&255;do{if((z&4|0)==0){u=c[r+24>>2]|0;if((u|0)==0){s=s+1|0;break}if((c[u+20>>2]|0)!=0){D=c[u+8>>2]|0;c[r+8>>2]=(JU(c[n>>2]|0,c[m>>2]|0,h,(c[r+4>>2]|0)-(c[u+4>>2]|0)|0,d[u+12|0]|0,z)|0)+D;a[t]=B|4;break}if((v|0)==0){v=u+4|0;x=r+4|0;A=c[x>>2]|0;C=(c[v>>2]|0)-A|0;w=u+12|0;y=JU(c[n>>2]|0,c[m>>2]|0,h,C,z,d[w]|0)|0;z=(y|0)<65;if((y|0)<96){C=(C>>1)+A|0;D=C+32&-64;B=D-(z?32:38)|0;A=C-B|0;z=(z?32:26)|D;C=C-z|0;B=((((A|0)<0?0-A|0:A)|0)<(((C|0)<0?0-C|0:C)|0)?B:z)-((y|0)/2|0)|0;A=r+8|0;c[A>>2]=B;u=u+8|0;c[u>>2]=B+y;B=a[t]|0;y=c[A>>2]|0;A=c[x>>2]|0}else{y=A+32&-64;c[r+8>>2]=y;u=u+8|0}D=B|4;a[t]=D;c[u>>2]=(JU(c[n>>2]|0,c[m>>2]|0,h,(c[v>>2]|0)-A|0,D&255,d[w]|0)|0)+y;v=r;break}C=c[r+4>>2]|0;B=C-(c[v+4>>2]|0)+(c[v+8>>2]|0)|0;C=(c[u+4>>2]|0)-C|0;y=(C>>1)+B|0;w=u+12|0;D=d[w]|0;x=JU(c[n>>2]|0,c[m>>2]|0,h,C,z,D)|0;do{if((D&4|0)==0){if((x|0)<96){C=y+32&-64;B=(x|0)<65;z=C-(B?32:38)|0;A=y-z|0;B=(B?32:26)|C;y=y-B|0;D=(((A|0)<0?0-A|0:A)|0)<(((y|0)<0?0-y|0:y)|0)?z:B;C=(x|0)/2|0;c[r+8>>2]=D-C;c[u+8>>2]=C+D;break}else{z=B+32&-64;D=x>>1;A=D+(z-y)|0;B=(C+32+B&-64)-x|0;y=D-y+B|0;D=(((A|0)<0?0-A|0:A)|0)<(((y|0)<0?0-y|0:y)|0)?z:B;c[r+8>>2]=D;c[u+8>>2]=D+x;break}}else{c[r+8>>2]=(c[u+8>>2]|0)-x}}while(0);a[t]=a[t]|4;a[w]=a[w]|4;if(r>>>0<=p>>>0){break}t=r+8|0;u=c[r+ -40>>2]|0;if((c[t>>2]|0)>=(u|0)){break}c[t>>2]=u}}while(0);r=r+48|0;if(r>>>0>=o>>>0){r=0;break}}}else{r=1;s=0}t=q*48|0;do{if((h|0)==0){q=(t|0)==576;if((t|0)==288){w=p;u=p+96|0;t=p+192|0}else if((t|0)==576){w=p+48|0;u=p+240|0;t=p+432|0}else{break}x=c[u+4>>2]|0;x=x-(c[t+4>>2]|0)+(x-(c[w+4>>2]|0))|0;if((((x|0)<0?0-x|0:x)|0)>=8){break}x=t+8|0;u=(c[u+8>>2]<<1)-(c[w+8>>2]|0)|0;w=(c[x>>2]|0)-u|0;c[x>>2]=u;u=t+24|0;x=c[u>>2]|0;if((x|0)!=0){D=x+8|0;c[D>>2]=(c[D>>2]|0)-w}if(q){D=p+392|0;c[D>>2]=(c[D>>2]|0)-w;D=p+536|0;c[D>>2]=(c[D>>2]|0)-w}q=t+12|0;a[q]=a[q]|4;q=c[u>>2]|0;if((q|0)==0){break}D=q+12|0;a[D]=a[D]|4}}while(0);if((v|0)!=0&(s|0)==0|r){l=93;break}else{q=p}while(1){r=q+12|0;s=a[r]|0;do{if((s&4)==0){x=c[q+28>>2]|0;do{if((x|0)==0){l=73}else{u=c[x+4>>2]|0;t=c[q+4>>2]|0;w=u-t|0;if((((w|0)<0?0-w|0:w)|0)>=80){l=73;break}t=(c[x+8>>2]|0)-u+t|0;c[q+8>>2]=t}}while(0);b:do{if((l|0)==73){l=0;if((v|0)==0){t=(c[q+4>>2]|0)+32&-64;c[q+8>>2]=t;v=q;break}else{u=q}while(1){y=u+ -48|0;if(y>>>0<p>>>0){w=0;break}if((a[u+ -36|0]&4)==0){u=y}else{w=1;break}}t=q;while(1){x=t+48|0;if(x>>>0>=o>>>0){break}if((a[t+60|0]&4)==0){t=x}else{l=80;break}}do{if((l|0)==80){l=0;if(!(w&y>>>0<q>>>0&x>>>0>q>>>0)){break}x=c[t+52>>2]|0;w=c[u+ -44>>2]|0;u=c[u+ -40>>2]|0;if((x|0)==(w|0)){c[q+8>>2]=u;t=u;break b}else{t=(_I((c[q+4>>2]|0)-w|0,(c[t+56>>2]|0)-u|0,x-w|0)|0)+u|0;c[q+8>>2]=t;s=a[r]|0;break b}}}while(0);t=((c[q+4>>2]|0)+16-(c[v+4>>2]|0)&-32)+(c[v+8>>2]|0)|0;c[q+8>>2]=t}}while(0);a[r]=s|4;do{if(q>>>0>p>>>0){r=c[q+ -40>>2]|0;if((t|0)>=(r|0)){break}c[q+8>>2]=r;t=r}}while(0);s=q+48|0;if(s>>>0>=o>>>0){q=s;break}if((a[q+60|0]&4)==0){q=s;break}r=c[q+56>>2]|0;if((t|0)<=(r|0)){q=s;break}c[q+8>>2]=r;q=s}else{q=q+48|0}}while(0);if(q>>>0>=o>>>0){l=93;break}}}}while(0);if((l|0)==93){l=0;p=c[f+48+(h*28|0)+8>>2]|0;q=c[f+48+(h*28|0)>>2]|0;o=p+(q*52|0)|0;q=(q|0)>0;do{if((h|0)==0){if(!q){break}do{r=c[p+12>>2]|0;if((r|0)!=0){q=c[p+44>>2]|0;r=r+8|0;s=p+40|0;while(1){s=c[s>>2]|0;c[s+16>>2]=c[r>>2];b[s>>1]=b[s>>1]|64;if((s|0)==(q|0)){break}else{s=s+32|0}}}p=p+52|0;}while(p>>>0<o>>>0)}else{if(!q){break}do{r=c[p+12>>2]|0;if((r|0)!=0){q=c[p+44>>2]|0;r=r+8|0;s=p+40|0;while(1){s=c[s>>2]|0;c[s+20>>2]=c[r>>2];b[s>>1]=b[s>>1]|128;if((s|0)==(q|0)){break}else{s=s+32|0}}}p=p+52|0;}while(p>>>0<o>>>0)}}while(0);zU(f,h);AU(f,h)}h=h+1|0;if((h|0)>=2){break}}D=c[f+28>>2]|0;l=c[f+32>>2]|0;f=l+(D*40|0)|0;if((D|0)<=0){D=0;i=j;return D|0}k=c[g+8>>2]|0;g=c[g+4>>2]|0;while(1){c[g>>2]=c[l+16>>2];c[g+4>>2]=c[l+20>>2];h=e[l>>1]|0;do{if((h&1|0)==0){if((h&2|0)==0){a[k]=1;break}else{a[k]=2;break}}else{a[k]=0}}while(0);l=l+40|0;if(l>>>0<f>>>0){k=k+1|0;g=g+8|0}else{g=0;break}}i=j;return g|0}function jU(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;h=i;i=i+8|0;j=h;k=d+92|0;f=c[k>>2]|0;c[b+36>>2]=e[d+68>>1]|0;if((cK(d,1970170211)|0)!=0){c[k>>2]=0;dK(d,f)|0;i=g;return 0}GU(b,d,3e4);k=48;m=0;l=0;a:while(1){n=KJ(d,k)|0;do{if((n|0)!=0){if((WI(d,n,2051,j)|0)!=0){break}n=c[h>>2]|0;if(l<<24>>24==0){m=n;l=1;break}if((n|0)!=(m|0)){h=0;break a}}}while(0);k=k+1|0;if(k>>>0>=58){h=1;break}}a[b+32|0]=h;dK(d,f)|0;i=g;return 0}function kU(a,b){a=a|0;b=b|0;var d=0;d=i;$W(a+4|0,b|0,28)|0;c[a+40>>2]=c[b+4>>2];c[a+44>>2]=c[b+12>>2];c[a+436>>2]=c[b+8>>2];c[a+440>>2]=c[b+16>>2];i=d;return}function lU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[a+112>>2]=b;d=c[b+28>>2]|0;e=a+104|0;c[e>>2]=d;c[a+4>>2]=c[b+40>>2];c[a+8>>2]=c[b+44>>2];c[a+12>>2]=c[b+436>>2];c[a+16>>2]=c[b+440>>2];f=c[b+24>>2]|0;b=(f|0)==2;g=(f&-2|0)==2|0;g=b|(f|0)==4?g|2:g;f=(f|0)==1?g:g|4;c[e>>2]=d|4;c[a+108>>2]=b?f|8:f;i=i;return 0}function mU(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=i;j=xU(d,f)|0;if((j|0)!=0){A=j;i=g;return A|0}j=d+104|0;k=c[j>>2]|0;do{if((k&1|0)==0){k=yU(d,0)|0;if((k|0)==0){k=c[j>>2]|0;break}else{A=k;i=g;return A|0}}}while(0);do{if((k&2|0)==0){k=yU(d,1)|0;if((k|0)==0){break}i=g;return k|0}}while(0);k=d+108|0;l=d+112|0;m=0;a:while(1){do{if((m|0)==0){if((c[j>>2]&1|0)==0){h=12;break}m=m+1|0;continue a}else if((m|0)==1){if((c[j>>2]&2|0)==0){h=12}else{break a}}}while(0);if((h|0)==12){h=0;p=d+48+(m*28|0)+20|0;q=c[p>>2]|0;o=d+48+(m*28|0)+12|0;n=c[o>>2]|0;r=q+(n*48|0)|0;s=(n|0)>0;if(s){u=(m|0)!=1;w=0;x=0;v=q;t=0;do{z=v+12|0;A=a[z]|0;do{if((A&4)==0){y=c[v+24>>2]|0;if((y|0)==0){t=t+1|0;break}if(y>>>0<v>>>0){B=c[y+8>>2]|0;c[v+8>>2]=(DU(c[k>>2]|0,c[l>>2]|0,m,(c[v+4>>2]|0)-(c[y+4>>2]|0)|0)|0)+B;a[z]=A|4;break}if(u&(w|0)==0){x=CU(d,v,y,0,0)|0}else{CU(d,v,y,x,m)|0}a[z]=a[z]|4;w=y+12|0;a[w]=a[w]|4;w=v}}while(0);v=v+48|0;}while(v>>>0<r>>>0)}else{t=0}v=n*48|0;n=(m|0)==0;do{if(n){u=(v|0)==576;if((v|0)==288){A=q;z=q+96|0;w=q+192|0}else if((v|0)==576){A=q+48|0;z=q+240|0;w=q+432|0}else{break}y=c[z+4>>2]|0;y=y-(c[w+4>>2]|0)+(y-(c[A+4>>2]|0))|0;if((c[A+24>>2]|0)!=(A+48|0)){break}if((c[z+24>>2]|0)!=(z+48|0)){break}v=w+24|0;x=c[v>>2]|0;if(!((x|0)==(w+48|0)&(((y|0)<0?0-y|0:y)|0)<8)){break}B=w+8|0;A=(c[z+8>>2]<<1)-(c[A+8>>2]|0)|0;y=(c[B>>2]|0)-A|0;c[B>>2]=A;if((x|0)!=0){B=x+8|0;c[B>>2]=(c[B>>2]|0)-y}if(u){B=q+392|0;c[B>>2]=(c[B>>2]|0)-y;B=q+536|0;c[B>>2]=(c[B>>2]|0)-y}u=w+12|0;a[u]=a[u]|4;u=c[v>>2]|0;if((u|0)==0){break}B=u+12|0;a[B]=a[B]|4}}while(0);do{if(!((t|0)==0|s^1)){s=q;do{w=s+12|0;v=a[w]|0;do{if((v&4)==0){u=c[s+28>>2]|0;if((u|0)==0){break}c[s+8>>2]=(c[u+8>>2]|0)-(c[u+4>>2]|0)+(c[s+4>>2]|0);a[w]=v|4;t=t+ -1|0}}while(0);s=s+48|0;}while(s>>>0<r>>>0);if((t|0)==0){break}else{t=q}do{do{if((a[t+12|0]&4)==0){u=t;while(1){v=u+ -48|0;if(v>>>0<q>>>0){w=1;y=0;break}if((a[u+ -36|0]&4)==0){u=v}else{w=0;y=1;break}}s=t;while(1){x=s+48|0;if(x>>>0>=r>>>0){h=49;break}if((a[s+60|0]&4)==0){s=x}else{y=1;break}}if((h|0)==49){h=0;if(y){y=0}else{break}}if(w){c[t+8>>2]=(c[s+56>>2]|0)-(c[s+52>>2]|0)+(c[t+4>>2]|0);break}if(!y){c[t+8>>2]=(c[u+ -40>>2]|0)-(c[u+ -44>>2]|0)+(c[t+4>>2]|0);break}w=b[x>>1]|0;B=b[v>>1]|0;v=B<<16>>16;u=c[u+ -40>>2]|0;if(w<<16>>16==B<<16>>16){c[t+8>>2]=u;break}else{c[t+8>>2]=(_I((b[t>>1]|0)-v|0,(c[s+56>>2]|0)-u|0,(w<<16>>16)-v|0)|0)+u;break}}}while(0);t=t+48|0;}while(t>>>0<r>>>0)}}while(0);r=c[p>>2]|0;q=c[o>>2]|0;o=r+(q*48|0)|0;do{if(n){p=c[k>>2]&1}else{if((m|0)!=1){p=0;break}p=(c[k>>2]|0)>>>1&1}}while(0);if((q|0)>0){p=p<<24>>24==0;do{q=r+40|0;t=c[q>>2]|0;s=r+8|0;if(p){s=(c[s>>2]|0)-(c[r+4>>2]|0)|0;do{v=t+40|0;u=t+44|0;if(n){while(1){v=c[v>>2]|0;B=v+16|0;c[B>>2]=(c[B>>2]|0)+s;b[v>>1]=b[v>>1]|64;if((v|0)==(c[u>>2]|0)){break}else{v=v+32|0}}}else{while(1){v=c[v>>2]|0;B=v+20|0;c[B>>2]=(c[B>>2]|0)+s;b[v>>1]=b[v>>1]|128;if((v|0)==(c[u>>2]|0)){break}else{v=v+32|0}}}t=c[t+16>>2]|0;}while((t|0)!=(c[q>>2]|0))}else{do{v=t+40|0;u=t+44|0;if(n){while(1){v=c[v>>2]|0;c[v+16>>2]=c[s>>2];b[v>>1]=b[v>>1]|64;if((v|0)==(c[u>>2]|0)){break}else{v=v+32|0}}}else{while(1){v=c[v>>2]|0;c[v+20>>2]=c[s>>2];b[v>>1]=b[v>>1]|128;if((v|0)==(c[u>>2]|0)){break}else{v=v+32|0}}}t=c[t+16>>2]|0;}while((t|0)!=(c[q>>2]|0))}r=r+48|0;}while(r>>>0<o>>>0)}zU(d,m);AU(d,m)}m=m+1|0;if((m|0)>=2){break}}B=c[d+28>>2]|0;j=c[d+32>>2]|0;d=j+(B*40|0)|0;if((B|0)<=0){B=0;i=g;return B|0}h=c[f+8>>2]|0;f=c[f+4>>2]|0;while(1){c[f>>2]=c[j+16>>2];c[f+4>>2]=c[j+20>>2];k=e[j>>1]|0;do{if((k&1|0)==0){if((k&2|0)==0){a[h]=1;break}else{a[h]=2;break}}else{a[h]=0}}while(0);j=j+40|0;if(j>>>0<d>>>0){h=h+1|0;f=f+8|0}else{k=0;break}}i=g;return k|0}function nU(a,b){a=a|0;b=b|0;var c=0;c=i;jU(a,b)|0;i=c;return 0}function oU(a,b){a=a|0;b=b|0;var d=0;d=i;$W(a+4|0,b|0,28)|0;c[a+40>>2]=c[b+4>>2];c[a+44>>2]=c[b+12>>2];c[a+436>>2]=c[b+8>>2];c[a+440>>2]=c[b+16>>2];i=d;return}function pU(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;c[a+112>>2]=b;d=c[b+28>>2]|0;e=a+104|0;c[e>>2]=d;c[a+4>>2]=c[b+40>>2];c[a+8>>2]=c[b+44>>2];c[a+12>>2]=c[b+436>>2];c[a+16>>2]=c[b+440>>2];f=c[b+24>>2]|0;b=(f|0)==2;g=(f&-2|0)==2|0;g=b|(f|0)==4?g|2:g;f=(f|0)==1?g:g|4;c[e>>2]=d|4;c[a+108>>2]=b?f|8:f;i=i;return 0}function qU(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=i;a=mU(a,b,c)|0;i=d;return a|0}function rU(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;e=i;l=i;i=i+8|0;m=l;t=i;i=i+8|0;s=t;q=i;i=i+8|0;k=i;i=i+32|0;h=k;j=b+20|0;d=c[d+4>>2]|0;n=c[d+88>>2]|0;if((n|0)==0){z=6;i=e;return z|0}bX(k|0,0,28)|0;c[k>>2]=d;c[h+4>>2]=c[n+16>>2];c[h+12>>2]=0;c[h+8>>2]=c[n+20>>2];c[h+16>>2]=0;c[h+20>>2]=g>>>16&15;c[h+24>>2]=0;c[j>>2]=d;n=d+116|0;o=b+24|0;c[o>>2]=c[n>>2];kJ(c[b+28>>2]|0);p=c[o>>2]|0;if((p|0)==0){r=d+16|0;p=jJ(c[d+100>>2]|0,(c[r>>2]|0)+28|0,q)|0;q=c[q>>2]|0;if((q|0)!=0){c[o>>2]=p;z=q;i=e;return z|0}c[p>>2]=d;z=c[r>>2]|0;r=p+4|0;c[r>>2]=z;y=p+28|0;c[p+8>>2]=y;q=c[d+92>>2]|0;bX(y|0,127,z|0)|0;if((cK(d,1970170211)|0)==0){v=0;while(1){w=c[(c[283296+(v<<2)>>2]|0)+4>>2]|0;do{if((w|0)!=0){y=c[w>>2]|0;if((y|0)==0){break}u=v&255;do{x=KJ(d,y)|0;c[t>>2]=x;do{if((x|0)!=0){if(x>>>0>=(c[r>>2]|0)>>>0){break}x=p+(x+28)|0;if((a[x]|0)!=127){break}a[x]=u}}while(0);x=w+4|0;z=fK(d,y,s)|0;y=c[t>>2]|0;a:do{if((y|0)!=0){do{if(z>>>0>(c[x>>2]|0)>>>0){break a}do{if(y>>>0<(c[r>>2]|0)>>>0){y=p+(y+28)|0;if((a[y]|0)!=127){break}a[y]=u}}while(0);z=fK(d,z,s)|0;y=c[t>>2]|0;}while((y|0)!=0)}}while(0);w=w+8|0;y=c[w>>2]|0;}while((y|0)!=0)}}while(0);v=v+1|0;if((v|0)==4){t=48;break}}do{s=KJ(d,t)|0;do{if((s|0)!=0){if(s>>>0>=(c[r>>2]|0)>>>0){break}z=p+(s+28)|0;a[z]=a[z]|-128}}while(0);t=t+1|0;}while(t>>>0<58)}t=c[r>>2]|0;if((t|0)>0){s=0;do{u=p+(s+28)|0;v=a[u]|0;if((v&127)==127){a[u]=v&-128|2;t=c[r>>2]|0}s=s+1|0;}while((s|0)<(t|0))}dK(d,q)|0;c[o>>2]=p;c[n>>2]=p;c[d+120>>2]=341;o=c[o>>2]|0}else{o=p}c[l>>2]=0;if((c[o+4>>2]|0)>>>0<=f>>>0){c[l>>2]=6;z=6;i=e;return z|0}n=c[283296+((a[(c[o+8>>2]|0)+f|0]&127)<<2)>>2]|0;d=c[o+12+(c[n>>2]<<2)>>2]|0;b:do{if((d|0)==0){d=c[(c[o>>2]|0)+100>>2]|0;m=jJ(d,c[n+8>>2]|0,m)|0;p=c[l>>2]|0;if((p|0)!=0){z=p;i=e;return z|0}c[m>>2]=n;p=c[n+12>>2]|0;do{if((p|0)!=0){z=Bd[p&255](m,c[o>>2]|0)|0;c[l>>2]=z;if((z|0)==0){break}n=c[n+20>>2]|0;if((n|0)!=0){fd[n&511](m)}lJ(d,m);m=0;break b}}while(0);c[o+12+(c[n>>2]<<2)>>2]=m}else{m=d}}while(0);l=c[l>>2]|0;if((l|0)!=0){z=l;i=e;return z|0}c[b+156>>2]=m;d=c[m>>2]|0;l=c[d+16>>2]|0;if((l|0)==0){$W(m+4|0,k|0,28)|0}else{hd[l&127](m,h);d=c[m>>2]|0}g=g&-2054|2049;k=c[d+24>>2]|0;do{if((k|0)!=0){b=Bd[k&255](b+32|0,m)|0;if((b|0)==0){break}i=e;return b|0}}while(0);z=vU(j,h,f,g,0)|0;i=e;return z|0}function sU(a){a=a|0;var b=0,d=0;b=i;d=c[c[a+4>>2]>>2]|0;bX(a+20|0,0,184)|0;c[a+32>>2]=d;a=iJ(d,a+28|0)|0;i=b;return a|0}function tU(a){a=a|0;var b=0;b=i;uU(a+32|0);c[a+20>>2]=0;c[a+24>>2]=0;a=a+28|0;mJ(c[a>>2]|0);c[a>>2]=0;i=b;return}function uU(a){a=a|0;var b=0,d=0,e=0;b=i;if((a|0)==0){i=b;return}d=c[a>>2]|0;if((d|0)==0){i=b;return}c[a+48>>2]=0;c[a+52>>2]=0;e=a+56|0;lJ(d,c[e>>2]|0);c[e>>2]=0;c[a+60>>2]=0;c[a+64>>2]=0;e=a+68|0;lJ(d,c[e>>2]|0);c[e>>2]=0;c[a+76>>2]=0;c[a+80>>2]=0;e=a+84|0;lJ(d,c[e>>2]|0);c[e>>2]=0;c[a+88>>2]=0;c[a+92>>2]=0;e=a+96|0;lJ(d,c[e>>2]|0);c[e>>2]=0;e=a+44|0;lJ(d,c[e>>2]|0);c[e>>2]=0;c[a+36>>2]=0;c[a+40>>2]=0;e=a+32|0;lJ(d,c[e>>2]|0);c[e>>2]=0;c[a+28>>2]=0;c[a+24>>2]=0;c[a>>2]=0;i=b;return}function vU(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;j=i;s=i;i=i+16|0;t=s;x=i;i=i+24|0;y=x;r=i;i=i+16|0;q=r;p=i;i=i+8|0;v=p;u=c[d>>2]|0;o=c[d+8>>2]|0;n=c[d+136>>2]|0;z=d+12|0;k=c[u+84>>2]|0;l=c[k+156>>2]|0;u=YI(u,f,g)|0;if((u|0)!=0){Z=u;i=j;return Z|0}Z=a[l+8|0]|0;w=d+140|0;a[w]=Z;if(Z<<24>>24!=0){Y=d+144|0;$W(Y|0,l+12|0,16)|0;Z=d+160|0;V=l+28|0;W=c[V+4>>2]|0;X=Z;c[X>>2]=c[V>>2];c[X+4>>2]=W;$W(s|0,Y|0,16)|0;cJ(t)|0;IJ(Z,t)}u=k+40|0;c[k+56>>2]=c[u>>2];t=k+52|0;c[k+60>>2]=c[t>>2];s=k+72|0;A=c[s>>2]|0;a:do{if((A|0)==1869968492){x=k+108|0;if((a[w]|0)!=0){HJ(x,c[d+160>>2]|0,c[d+164>>2]|0)}y=k+110|0;A=b[y>>1]|0;g=(A<<16>>16)+4|0;do{if((g|0)==0){m=10}else{if(((b[o+22>>1]|0)+g+(b[o+58>>1]|0)|0)>>>0<=(c[o+4>>2]|0)>>>0){m=10;break}B=b[x>>1]|0;m=12}}while(0);do{if((m|0)==10){B=b[x>>1]|0;if(B<<16>>16==0){g=A;break}if(((b[o+20>>1]|0)+(B<<16>>16)+(b[o+56>>1]|0)|0)>>>0>(c[o+8>>2]|0)>>>0){m=12}else{g=A}}}while(0);do{if((m|0)==12){g=pJ(o,g,B<<16>>16)|0;if((g|0)==0){g=b[y>>1]|0;break}else{Z=g;i=j;return Z|0}}}while(0);A=o+56|0;$W(c[o+60>>2]|0,c[k+112>>2]|0,g<<16>>16<<3|0)|0;$W(c[o+68>>2]|0,c[k+120>>2]|0,b[x>>1]<<1|0)|0;$W(c[o+64>>2]|0,c[k+116>>2]|0,b[y>>1]|0)|0;b[o+58>>1]=b[y>>1]|0;b[A>>1]=b[x>>1]|0;X=d+20|0;g=d+168|0;c[g>>2]=c[X>>2];Z=d+28|0;c[d+172>>2]=c[Z>>2];Y=aJ(c[u>>2]|0,c[d+16>>2]|0)|0;x=d+176|0;c[x>>2]=(c[X>>2]|0)+Y;c[d+180>>2]=c[Z>>2];if((b[y>>1]|0)==0){e=0;break}y=c[(c[n>>2]|0)+28>>2]|0;if((y|0)!=0){sd[y&127](z,A,n)|0}b:do{if((c[e+20>>2]|0)==1){Y=c[g>>2]|0;Z=c[x>>2]|0;X=Y+32+(c[d+128>>2]|0)&-64;c[g>>2]=X;c[x>>2]=Z+32+(c[d+132>>2]|0)&-64;c[k+144>>2]=X-Y;c[k+148>>2]=(c[x>>2]|0)-Z}else{C=c[d+80>>2]|0;Z=c[d+72>>2]|0;A=Z+ -1|0;do{if((Z|0)>1){if((c[d+116>>2]&4|0)!=0){break}e=(c[x>>2]|0)-(c[C+(A*48|0)+4>>2]|0)|0;z=c[C+4>>2]|0;y=c[C+8>>2]|0;B=y-z|0;A=C+(A*48|0)+8|0;C=(c[A>>2]|0)+e|0;B=(z|0)<24?B+ -8|0:B;C=(e|0)<24?C+8|0:C;E=B+32&-64;c[g>>2]=E;D=C+32&-64;c[x>>2]=D;if((E|0)>=(y|0)&(z|0)>0){E=E+ -64|0;c[g>>2]=E}if((D|0)<=(c[A>>2]|0)&(e|0)>0){c[x>>2]=D+64}c[k+144>>2]=E-B;c[k+148>>2]=(c[x>>2]|0)-C;break b}}while(0);Y=c[g>>2]|0;Z=c[x>>2]|0;X=Y+32&-64;c[g>>2]=X;c[x>>2]=Z+32&-64;c[k+144>>2]=X-Y;c[k+148>>2]=(c[x>>2]|0)-Z}}while(0);sJ(o);e=0}else if((A|0)==1668246896){C=c[k+128>>2]|0;B=o+20|0;z=o+22|0;A=b[z>>1]|0;D=qJ(o,C)|0;if((D|0)!=0){Z=D;i=j;return Z|0}$W(c[o+88>>2]|0,c[k+132>>2]|0,C<<5|0)|0;c[o+84>>2]=C;O=c[o+48>>2]|0;if((C|0)==0){e=0;break}E=o+52|0;D=d+168|0;G=d+176|0;F=h+1|0;L=o+24|0;N=y+4|0;M=y+2|0;K=d+16|0;J=d+20|0;I=d+24|0;H=d+28|0;Q=0;while(1){R=Q+O|0;T=D;Z=c[T>>2]|0;T=c[T+4>>2]|0;X=G;W=c[X>>2]|0;X=c[X+4>>2]|0;V=b[z>>1]|0;P=V<<16>>16;S=vU(d,e,c[(c[E>>2]|0)+(R<<5)>>2]|0,g,F)|0;if((S|0)!=0){m=58;break}S=c[E>>2]|0;U=S+(R<<5)+4|0;Y=b[U>>1]|0;if((Y&512)==0){Y=D;c[Y>>2]=Z;c[Y+4>>2]=T;Y=G;c[Y>>2]=W;c[Y+4>>2]=X;Y=b[U>>1]|0}Z=b[z>>1]|0;X=Z<<16>>16;T=X-P|0;do{if((Y&200)!=0){W=c[L>>2]|0;X=W+(X<<3)|0;if(V<<16>>16>=Z<<16>>16){break}V=S+(R<<5)+16|0;W=W+(P<<3)|0;do{IJ(W,V);W=W+8|0;}while(W>>>0<X>>>0);Y=b[U>>1]|0}}while(0);U=c[S+(R<<5)+8>>2]|0;if((Y&2)==0){R=c[S+(R<<5)+12>>2]|0;S=U+A|0;if(!(S>>>0<P>>>0&R>>>0<T>>>0)){S=21;m=58;break}Y=c[L>>2]|0;Z=P+A+R|0;R=(c[Y+(S<<3)>>2]|0)-(c[Y+(Z<<3)>>2]|0)|0;S=(c[Y+(S<<3)+4>>2]|0)-(c[Y+(Z<<3)+4>>2]|0)|0}else{Y=aJ(U,c[K>>2]|0)|0;Z=c[J>>2]|0;S=aJ(c[S+(R<<5)+12>>2]|0,c[I>>2]|0)|0;R=Y+32+Z&-64;S=S+32+(c[H>>2]|0)&-64}$W(x|0,B|0,20)|0;c[N>>2]=(c[N>>2]|0)+(P<<3);b[M>>1]=T;HJ(y,R,S);Q=Q+1|0;if(Q>>>0>=C>>>0){e=0;break a}}if((m|0)==58){i=j;return S|0}}else{e=7}}while(0);if((h|0)!=0){Z=e;i=j;return Z|0}z=k+44|0;g=k+32|0;e=(c[z>>2]|0)-(c[g>>2]|0)|0;c[p>>2]=e;y=k+48|0;A=k+36|0;x=v+4|0;c[x>>2]=(c[y>>2]|0)-(c[A>>2]|0);h=n+8|0;c[p>>2]=aJ(e,c[h>>2]|0)|0;e=n+12|0;c[x>>2]=aJ(c[x>>2]|0,c[e>>2]|0)|0;if((a[w]|0)!=0){Z=d+144|0;GJ(o+20|0,Z);IJ(v,Z)}v=d+168|0;w=c[v>>2]|0;B=o+20|0;if((w|0)!=0){HJ(B,0-w|0,0)}zK(B,q);X=c[r>>2]&-64;c[r>>2]=X;Y=q+4|0;c[Y>>2]=c[Y>>2]&-64;Z=q+8|0;W=(c[Z>>2]|0)+63&-64;c[Z>>2]=W;Z=q+12|0;c[Z>>2]=(c[Z>>2]|0)+63&-64;c[k+24>>2]=W-X;c[k+28>>2]=(c[Z>>2]|0)-(c[Y>>2]|0);c[g>>2]=c[r>>2];c[A>>2]=c[Z>>2];c[z>>2]=(c[p>>2]|0)+(c[r>>2]|0)&-64;c[y>>2]=(c[x>>2]|0)+(c[Z>>2]|0)&-64;c:do{if((c[(c[k+4>>2]|0)+8>>2]&4|0)==0){p=c[d+4>>2]|0;do{if((c[p+4>>2]|0)>>>0>f>>>0){if((a[(c[p+8>>2]|0)+f|0]|0)>-1){break}if((a[n+32|0]|0)!=0){m=53;break c}}}while(0);if((c[u>>2]|0)==0){break}c[u>>2]=(c[d+176>>2]|0)-(c[v>>2]|0)}else{m=53}}while(0);if((m|0)==53){c[u>>2]=aJ(c[u>>2]|0,c[h>>2]|0)|0;c[k+144>>2]=0;c[k+148>>2]=0}m=aJ(c[t>>2]|0,c[e>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+32&-64;c[t>>2]=m+32&-64;kJ(c[l>>2]|0);m=tJ(c[l>>2]|0,o)|0;if((m|0)!=0){Z=m;i=j;return Z|0}$W(k+108|0,(c[l>>2]|0)+20|0,20)|0;c[s>>2]=1869968492;Z=0;i=j;return Z|0}function wU(a){a=a|0;var b=0,d=0,e=0,f=0;d=i;if((a|0)==0){i=d;return}b=c[(c[a>>2]|0)+100>>2]|0;e=a+12|0;f=c[e>>2]|0;if((f|0)!=0){lJ(b,f);c[e>>2]=0}f=a+16|0;e=c[f>>2]|0;if((e|0)!=0){lJ(b,e);c[f>>2]=0}e=a+20|0;f=c[e>>2]|0;if((f|0)!=0){lJ(b,f);c[e>>2]=0}f=a+24|0;e=c[f>>2]|0;if((e|0)!=0){lJ(b,e);c[f>>2]=0}c[a+4>>2]=0;c[a+8>>2]=0;c[a>>2]=0;lJ(b,a);i=d;return}function xU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=i;f=i;i=i+8|0;t=f;c[f>>2]=0;s=d+4|0;l=c[s>>2]|0;r=d+12|0;o=c[r>>2]|0;q=d+8|0;m=c[q>>2]|0;p=d+16|0;n=c[p>>2]|0;u=c[d>>2]|0;j=d+28|0;c[j>>2]=0;k=d+40|0;c[k>>2]=0;c[d+48>>2]=0;c[d+60>>2]=0;c[d+76>>2]=0;c[d+88>>2]=0;x=b[e>>1]|0;w=d+36|0;v=c[w>>2]|0;do{if(x>>>0>v>>>0){x=x+3&-4;z=d+44|0;c[z>>2]=oJ(u,4,v,x,c[z>>2]|0,t)|0;if((c[f>>2]|0)==0){c[w>>2]=x;break}else{z=f;z=c[z>>2]|0;i=g;return z|0}}}while(0);x=e+2|0;y=b[x>>1]|0;z=y<<16>>16;v=d+24|0;w=c[v>>2]|0;do{if((z+2|0)>>>0>w>>>0){y=z+11&-8;z=d+32|0;c[z>>2]=oJ(u,40,w,y,c[z>>2]|0,t)|0;if((c[f>>2]|0)==0){c[v>>2]=y;y=b[x>>1]|0;break}else{z=f;z=c[z>>2]|0;i=g;return z|0}}}while(0);c[j>>2]=y<<16>>16;c[k>>2]=b[e>>1]|0;t=d+72|0;c[t>>2]=2;u=d+100|0;c[u>>2]=-1;if((AK(e)|0)==1){c[t>>2]=-2;c[u>>2]=1}c[s>>2]=l;c[r>>2]=o;c[q>>2]=m;c[p>>2]=n;c[d+116>>2]=0;c[d+120>>2]=0;p=c[d+32>>2]|0;q=c[j>>2]|0;if((q|0)==0){z=f;z=c[z>>2]|0;i=g;return z|0}j=p+(q*40|0)|0;r=e+12|0;s=p+((b[c[r>>2]>>1]|0)*40|0)|0;q=(q|0)>0;if(q){v=0;w=s;u=p;x=s;s=c[e+8>>2]|0;t=c[e+4>>2]|0;while(1){b[u+12>>1]=c[t>>2];y=t+4|0;b[u+14>>1]=c[y>>2];z=(aJ(c[t>>2]|0,l)|0)+m|0;c[u+16>>2]=z;c[u+4>>2]=z;y=(aJ(c[y>>2]|0,o)|0)+n|0;c[u+20>>2]=y;c[u+8>>2]=y;y=a[s]&3;if((y|0)==0){b[u>>1]=1}else if((y|0)==2){b[u>>1]=2}else{b[u>>1]=0}c[u+36>>2]=x;c[x+32>>2]=u;do{if((u|0)==(w|0)){v=v+1|0;if((v|0)>=(b[e>>1]|0)){w=u;x=u;break}x=p+((b[(c[r>>2]|0)+(v<<1)>>1]|0)*40|0)|0;w=x}else{x=u}}while(0);u=u+40|0;if(u>>>0<j>>>0){s=s+1|0;t=t+8|0}else{break}}}m=c[d+44>>2]|0;z=c[k>>2]|0;k=m+(z<<2)|0;if((z|0)>0){d=c[r>>2]|0;l=0;while(1){c[m>>2]=p+((l<<16>>16)*40|0);m=m+4|0;if(m>>>0<k>>>0){l=(b[d>>1]|0)+1<<16>>16;d=d+2|0}else{break}}}if(q){m=p;l=4;n=0;d=0;k=p}else{z=f;z=c[z>>2]|0;i=g;return z|0}while(1){if((k|0)==(m|0)){m=c[k+36>>2]|0;p=b[k+12>>1]|0;o=(p<<16>>16)-(b[m+12>>1]|0)|0;e=b[k+14>>1]|0;d=(e<<16>>16)-(b[m+14>>1]|0)|0;n=0-o|0;q=(d|0)>=(n|0);if((d|0)<(o|0)){l=q?1:-2;n=q?o:d;q=q?d:o}else{l=q?2:-1;n=q?d:n;q=q?o:d}r=q*14|0;l=(((n|0)<0?0-n|0:n)|0)>(((q|0)<0?0-r|0:r)|0)?l:4;m=m+40|0;q=d}else{e=b[k+14>>1]|0;p=b[k+12>>1]|0;o=n;q=d}a[k+2|0]=l;d=c[k+32>>2]|0;n=(b[d+12>>1]|0)-(p<<16>>16)|0;d=(b[d+14>>1]|0)-(e<<16>>16)|0;p=0-n|0;r=(d|0)>=(p|0);if((d|0)<(n|0)){e=r?1:-2;p=r?n:d;s=r?d:n}else{e=r?2:-1;p=r?d:p;s=r?n:d}r=s*14|0;e=(((p|0)<0?0-p|0:p)|0)>(((s|0)<0?0-r|0:r)|0)?e:4;a[k+3|0]=e;p=b[k>>1]|0;do{if((p&3)==0){if(e<<24>>24!=l<<24>>24){if((l<<24>>24|0)==(0-(e<<24>>24)|0)){h=34;break}else{break}}if(l<<24>>24!=4){h=34;break}if((hJ(o,q,n,d)|0)==0){break}p=b[k>>1]|0;h=34}else{h=34}}while(0);if((h|0)==34){h=0;b[k>>1]=p|256}k=k+40|0;if(k>>>0<j>>>0){l=e}else{break}}z=f;z=c[z>>2]|0;i=g;return z|0}function yU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=i;j=i;i=i+8|0;h=j;k=d+48+(e*28|0)+8|0;n=c[k>>2]|0;l=d+48+(e*28|0)|0;o=c[l>>2]|0;m=n+(o*52|0)|0;p=FU(d,e)|0;if((p|0)!=0){G=p;i=f;return G|0}if((o|0)>0){do{r=c[n+40>>2]|0;p=c[n+44>>2]|0;q=b[r>>1]|0;o=a[n]|0;a[n]=o&-2;a:do{if((r|0)!=(p|0)){q=q&3;s=r;while(1){s=c[s+32>>2]|0;r=b[s>>1]&3;if((r|q|0)==0){break a}if((s|0)==(p|0)){break}else{q=r}}a[n]=o|1}}while(0);n=n+52|0;}while(n>>>0<m>>>0)}p=c[k>>2]|0;s=c[l>>2]|0;n=p+(s*52|0)|0;r=c[d+48+(e*28|0)+24>>2]|0;m=d+112|0;q=(c[(c[m>>2]|0)+36>>2]<<3|0)/2048|0;l=(e|0)==0?d+4|0:d+12|0;o=bJ(192,c[l>>2]|0)|0;if((s|0)>0){A=p;while(1){do{if((c[A+40>>2]|0)!=(c[A+44>>2]|0)){z=A+1|0;if((a[z]|0)!=(r|0)){break}w=A+2|0;u=A+4|0;v=A+6|0;s=A+32|0;x=A+36|0;t=A+20|0;B=p;do{do{if((B|0)!=(A|0)){if((a[z]|0)!=(0-(a[B+1|0]|0)|0)){break}y=(b[B+2>>1]|0)-(b[w>>1]|0)|0;if((y|0)<0){break}E=b[u>>1]|0;F=b[v>>1]|0;D=b[B+4>>1]|0;C=b[B+6>>1]|0;C=((F<<16>>16>C<<16>>16?C:F)<<16>>16)-((E<<16>>16<D<<16>>16?D:E)<<16>>16)|0;if((C|0)<(q|0)){break}D=y<<3;E=c[s>>2]|0;do{if((D|0)<(E*9|0)){if((D|0)>=(E*7|0)){if((c[x>>2]|0)>=(C|0)){break}}c[s>>2]=y;c[x>>2]=C;c[t>>2]=B}}while(0);G=B+32|0;F=c[G>>2]|0;if((D|0)>=(F*9|0)){break}E=B+36|0;if((D|0)>=(F*7|0)){if((c[E>>2]|0)>=(C|0)){break}}c[G>>2]=y;c[E>>2]=C;c[B+20>>2]=A}}while(0);B=B+52|0;}while(B>>>0<n>>>0)}}while(0);A=A+52|0;if(A>>>0>=n>>>0){t=p;break}}do{s=t+20|0;q=c[s>>2]|0;b:do{if((q|0)!=0){u=q+20|0;if((c[u>>2]|0)!=(t|0)){break}v=q+2|0;w=t+2|0;A=b[w>>1]|0;if((b[v>>1]|0)<=A<<16>>16){break}x=t+32|0;if((c[x>>2]|0)>=(o|0)){break}r=t+36|0;y=p;c:while(1){D=b[y+2>>1]|0;do{if(!(D<<16>>16>A<<16>>16|(t|0)==(y|0))){z=c[y+20>>2]|0;if((z|0)==0){break}if((c[z+20>>2]|0)!=(y|0)){break}B=b[z+2>>1]|0;C=b[v>>1]|0;if(B<<16>>16<C<<16>>16){break}if(A<<16>>16==D<<16>>16&C<<16>>16==B<<16>>16){break}G=c[y+32>>2]|0;F=c[x>>2]|0;if(!((G|0)>(F|0)&(F<<2|0)>(G|0))){break}if((c[r>>2]|0)<((c[y+36>>2]|0)*3|0)){break c}else{B=p}do{C=B+20|0;A=c[C>>2]|0;do{if((A|0)==(y|0)){c[C>>2]=0;c[B+24>>2]=q}else{if((A|0)!=(z|0)){break}c[C>>2]=0;c[B+24>>2]=t}}while(0);B=B+52|0;}while(B>>>0<n>>>0)}}while(0);y=y+52|0;if(y>>>0>=n>>>0){break b}A=b[w>>1]|0}c[u>>2]=0;c[s>>2]=0}}while(0);t=t+52|0;}while(t>>>0<n>>>0);do{t=p+20|0;s=c[t>>2]|0;d:do{if((s|0)!=0){q=s+28|0;c[q>>2]=(c[q>>2]|0)+1;r=s+20|0;if((c[r>>2]|0)==(p|0)){break}c[t>>2]=0;s=c[s+32>>2]|0;do{if((s|0)>=(o|0)){if((c[p+32>>2]|0)<(s<<2|0)){break}c[q>>2]=(c[q>>2]|0)+ -1;break d}}while(0);c[p+24>>2]=c[r>>2]}}while(0);p=p+52|0;}while(p>>>0<n>>>0)}n=d+48+(e*28|0)|0;o=c[d>>2]|0;p=(c[m>>2]|0)+40|0;q=c[k>>2]|0;r=c[n>>2]|0;m=q+(r*52|0)|0;k=d+48+(e*28|0)+12|0;c[k>>2]=0;l=c[l>>2]|0;p=p+(e*396|0)+204|0;if((aJ(c[p>>2]|0,l)|0)>16){p=bJ(16,l)|0}else{p=c[p>>2]|0}d=d+48+(e*28|0)+20|0;e:do{if((r|0)>0){e=q;while(1){t=c[k>>2]|0;do{if((t|0)>0){s=c[d>>2]|0;u=a[e+1|0]|0;q=e+2|0;r=e+20|0;w=65535;v=0;y=0;while(1){x=s+(v*48|0)|0;do{if((a[s+(v*48|0)+13|0]|0)==u<<24>>24){z=(b[q>>1]|0)-(b[x>>1]|0)|0;z=(z|0)<0?0-z|0:z;if(!((z|0)<(p|0)&(z|0)<(w|0))){x=y;break}B=c[r>>2]|0;if((B|0)!=0){A=c[s+(v*48|0)+40>>2]|0;B=B+2|0;D=0;C=A;do{E=c[C+20>>2]|0;if((E|0)!=0){F=b[B>>1]|0;D=F<<16>>16;G=b[E+2>>1]|0;E=G<<16>>16;D=F<<16>>16>G<<16>>16?D-E|0:E-D|0;if((D|0)>=(p|0)){break}}C=c[C+16>>2]|0;}while((C|0)!=(A|0));if((D|0)>=(p|0)){x=y;break}}w=z}else{x=y}}while(0);v=v+1|0;if((v|0)<(t|0)){y=x}else{break}}if((x|0)==0){g=73;break}c[e+16>>2]=c[x+40>>2];G=x+44|0;c[(c[G>>2]|0)+16>>2]=e;c[G>>2]=e}else{u=a[e+1|0]|0;q=e+2|0;g=73}}while(0);if((g|0)==73){g=0;r=EU(n,b[q>>1]|0,u<<24>>24,o,h)|0;if((r|0)!=0){break}G=c[j>>2]|0;bX(G|0,0,40)|0;c[G+40>>2]=e;c[G+44>>2]=e;b[G>>1]=b[q>>1]|0;F=aJ(b[q>>1]|0,l)|0;c[G+8>>2]=F;c[G+4>>2]=F;c[e+16>>2]=e;a[(c[j>>2]|0)+13|0]=a[e+1|0]|0}e=e+52|0;if(e>>>0>=m>>>0){break e}}i=f;return r|0}}while(0);h=c[d>>2]|0;G=c[k>>2]|0;g=h+(G*48|0)|0;if((G|0)>0){d=h}else{G=0;i=f;return G|0}do{j=d+40|0;e=c[j>>2]|0;if((e|0)!=0){do{c[e+12>>2]=d;e=c[e+16>>2]|0;}while((e|0)!=(c[j>>2]|0))}d=d+48|0;}while(d>>>0<g>>>0);while(1){e=h+40|0;k=c[e>>2]|0;d=h+24|0;j=h+28|0;l=k;m=0;n=0;do{p=(a[k]&1^1)&255;m=(p^1)+m|0;n=p+n|0;p=k+24|0;o=c[p>>2]|0;if((o|0)==0){o=0}else{o=(c[o+12>>2]|0)!=(h|0)|0}q=k+20|0;do{if(!((c[q>>2]|0)==0&o<<24>>24==0)){o=o<<24>>24!=0;t=c[(o?p:q)>>2]|0;p=c[(o?j:d)>>2]|0;do{if((p|0)==0){p=c[t+12>>2]|0}else{r=(b[h>>1]|0)-(b[p>>1]|0)|0;F=b[k+2>>1]|0;s=F<<16>>16;G=b[t+2>>1]|0;q=G<<16>>16;if(((F<<16>>16>G<<16>>16?s-q|0:q-s|0)|0)>=(((r|0)<0?0-r|0:r)|0)){break}p=c[t+12>>2]|0}}while(0);if(o){c[j>>2]=p;l=p+12|0;a[l]=a[l]|2;l=c[e>>2]|0;break}else{c[d>>2]=p;break}}}while(0);k=c[k+16>>2]|0;}while((k|0)!=(l|0));a[h+12|0]=((m|0)<1|(m|0)<(n|0))&1^1;do{if((c[j>>2]|0)!=0){if((c[d>>2]|0)==0){break}c[j>>2]=0}}while(0);h=h+48|0;if(h>>>0>=g>>>0){r=0;break}}i=f;return r|0}function zU(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=i;s=c[a+32>>2]|0;k=c[a+28>>2]|0;f=s+(k*40|0)|0;h=c[a+48+(d*28|0)+20>>2]|0;p=c[a+48+(d*28|0)+12>>2]|0;j=(d|0)==0;a=j?64:128;if(!((p|0)>0&(k|0)>0)){i=g;return}k=(d|0)==1;l=h+8|0;m=h+4|0;o=p+ -1|0;d=h+(o*48|0)|0;n=h+(o*48|0)+8|0;o=h+(o*48|0)+4|0;q=p*48|0;p=(q|0)/48|0;r=(q|0)<432;q=(q|0)>0;do{y=e[s>>1]|0;if(!((y&a|0)!=0|(y&768|0)==256)){if(k){v=s+8|0;t=s+14|0}else{v=s+4|0;t=s+12|0}u=b[t>>1]|0;t=u<<16>>16;v=c[v>>2]|0;x=b[h>>1]|0;a:do{if(((x<<16>>16)-t|0)>-1){t=(c[l>>2]|0)+v-(c[m>>2]|0)|0}else{if((t-(b[d>>1]|0)|0)>-1){t=(c[n>>2]|0)+v-(c[o>>2]|0)|0;break}b:do{if(r){c:do{if(q){v=0;while(1){w=v+1|0;if(x<<16>>16>=u<<16>>16){break c}x=b[h+(w*48|0)>>1]|0;if((w|0)<(p|0)){v=w}else{v=w;break}}}else{v=0}}while(0);if(x<<16>>16!=u<<16>>16){break}t=c[h+(v*48|0)+8>>2]|0;break a}else{y=p;v=0;while(1){while(1){if((v|0)>=(y|0)){break b}w=y+v>>1;x=b[h+(w*48|0)>>1]|0;if(u<<16>>16<x<<16>>16){y=w}else{break}}if(u<<16>>16>x<<16>>16){v=w+1|0}else{break}}t=c[h+(w*48|0)+8>>2]|0;break a}}while(0);w=v+ -1|0;u=h+(w*48|0)|0;x=h+(w*48|0)+16|0;y=c[x>>2]|0;if((y|0)==0){w=h+(w*48|0)+8|0;v=bJ((c[h+(v*48|0)+8>>2]|0)-(c[w>>2]|0)|0,(b[h+(v*48|0)>>1]|0)-(b[u>>1]|0)|0)|0;c[x>>2]=v}else{v=y;w=h+(w*48|0)+8|0}y=c[w>>2]|0;t=(aJ(t-(b[u>>1]|0)|0,v)|0)+y|0}}while(0);if(j){c[s+16>>2]=t}else{c[s+20>>2]=t}b[s>>1]=e[s>>1]|a}s=s+40|0;}while(s>>>0<f>>>0);i=g;return}function AU(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=i;g=c[a+32>>2]|0;h=c[a+28>>2]|0;f=g+(h*40|0)|0;k=c[a+44>>2]|0;l=c[a+40>>2]|0;a=k+(l<<2)|0;b=(b|0)==0;j=(h|0)>0;do{if(b){if(j){j=g}else{j=64;break}while(1){c[j+24>>2]=c[j+16>>2];c[j+28>>2]=c[j+4>>2];j=j+40|0;if(j>>>0<f>>>0){}else{j=64;break}}}else{if(j){j=g}else{j=128;break}while(1){c[j+24>>2]=c[j+20>>2];c[j+28>>2]=c[j+8>>2];j=j+40|0;if(j>>>0<f>>>0){}else{j=128;break}}}}while(0);if((l|0)>0){do{o=c[k>>2]|0;l=c[o+36>>2]|0;a:do{if(o>>>0<=l>>>0){m=o;while(1){n=m+40|0;if(((e[m>>1]|0)&j|0)!=0){p=m;break}if(n>>>0>l>>>0){break a}else{m=n}}b:while(1){q=p>>>0<l>>>0;if(q){r=p+40|0;if(((e[p+40>>1]|0)&j|0)!=0){p=r;continue}}else{r=p+40|0}if(r>>>0>l>>>0){break}else{s=r}while(1){t=s+40|0;if(((e[s>>1]|0)&j|0)!=0){break}if(t>>>0>l>>>0){break b}else{s=t}}BU(r,s+ -40|0,p,s);p=s}if((p|0)!=(m|0)){if(q){BU(r,l,p,m)}if(m>>>0<=g>>>0){break}BU(o,m+ -40|0,p,m);break}s=c[m+24>>2]|0;t=c[m+28>>2]|0;p=s-t|0;if((s|0)==(t|0)){break}if(o>>>0<m>>>0){do{c[o+24>>2]=(c[o+28>>2]|0)+p;o=o+40|0;}while(o>>>0<m>>>0)}if(n>>>0>l>>>0){break}while(1){c[m+64>>2]=(c[m+68>>2]|0)+p;o=n+40|0;if(o>>>0>l>>>0){break}else{m=n;n=o}}}}while(0);k=k+4|0;}while(k>>>0<a>>>0)}h=(h|0)>0;if(b){if(!h){i=d;return}do{c[g+16>>2]=c[g+24>>2];g=g+40|0;}while(g>>>0<f>>>0);i=d;return}else{if(!h){i=d;return}do{c[g+20>>2]=c[g+24>>2];g=g+40|0;}while(g>>>0<f>>>0);i=d;return}}function BU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;f=c[d+28>>2]|0;h=c[e+28>>2]|0;j=d+24|0;d=(c[j>>2]|0)-f|0;k=e+24|0;e=(c[k>>2]|0)-h|0;if(a>>>0>b>>>0){i=g;return}if((f|0)==(h|0)){do{h=c[a+28>>2]|0;c[a+24>>2]=((h|0)>(f|0)?e:d)+h;a=a+40|0;}while(a>>>0<=b>>>0);i=g;return}l=h-f|0;if((f|0)<(h|0)){do{m=c[a+28>>2]|0;do{if((m|0)>(f|0)){if((m|0)<(h|0)){n=c[j>>2]|0;m=(_I(m-f|0,(c[k>>2]|0)-n|0,l)|0)+n|0;break}else{m=m+e|0;break}}else{m=m+d|0}}while(0);c[a+24>>2]=m;a=a+40|0;}while(a>>>0<=b>>>0);i=g;return}else{do{m=c[a+28>>2]|0;do{if((m|0)>(h|0)){if((m|0)<(f|0)){n=c[j>>2]|0;m=(_I(m-f|0,(c[k>>2]|0)-n|0,l)|0)+n|0;break}else{m=m+d|0;break}}else{m=m+e|0}}while(0);c[a+24>>2]=m;a=a+40|0;}while(a>>>0<=b>>>0);i=g;return}}function CU(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;n=c[b+108>>2]|0;l=(n&4|0)==0;a:do{if(l){do{if((a[d+12|0]&1)!=0){if((a[e+12|0]&1)==0){break}m=(g|0)==1?55:49;break a}}while(0);m=(g|0)==1?61:59}else{m=64}}while(0);k=c[e+4>>2]|0;h=c[d+4>>2]|0;g=DU(n,c[b+112>>2]|0,g,k-h|0)|0;f=((h+k|0)/2|0)+f+((g|0)/-2|0)|0;p=f&63;b=f+g&63;n=64-p|0;o=64-b|0;do{if((p|0)==0|(b|0)==0){m=0}else{if((g|0)<=(m|0)){if((b|0)>=(g|0)){m=0;break}m=n>>>0>b>>>0?0-b|0:n;break}if(m>>>0<64){if(!(p>>>0<m>>>0&n>>>0<m>>>0&b>>>0<m>>>0&o>>>0<m>>>0)){m=0;break}}p=(g|0)%64|0;if((p|0)<32){if(!((n|0)>(p|0)&(b|0)>(p|0))){m=0;break}}else{p=64-m|0}o=m-n|0;n=n-p|0;m=m-b|0;b=b-p|0;n=(o|0)>(n|0)?n:0-o|0;m=(b|0)>(m|0)?m:0-b|0;m=(((n|0)<0?0-n|0:n)|0)>(((m|0)<0?0-m|0:m)|0)?m:n}}while(0);do{if(l){if((m|0)>14){m=14;break}m=(m|0)<-14?-14:m}}while(0);l=m+f|0;if((h|0)<(k|0)){c[d+8>>2]=l;c[e+8>>2]=l+g;i=j;return m|0}else{c[d+8>>2]=l+g;c[e+8>>2]=l;i=j;return m|0}return 0}function DU(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;j=b+40|0;h=(d|0)==1;if((a&4|0)==0){q=e;i=f;return q|0}b=(e|0)<0?0-e|0:e;if(h){if((a&2|0)==0){g=5}else{g=15}}else{if((a&1|0)==0){g=5}else{g=15}}a:do{if((g|0)==5){do{if((c[j+(d*396|0)+8>>2]|0)!=0){g=c[j+(d*396|0)+16>>2]|0;a=b-g|0;if((((a|0)<0?0-a|0:a)|0)>=40){break}b=(g|0)<48?48:g;break a}}while(0);if((b|0)<54){b=((54-b|0)/2|0)+b|0;break}if((b|0)>=192){break}g=b&63;a=b&-64;if(g>>>0<10){break}if(g>>>0<22){b=a|10;break}else{b=(g+ -42|0)>>>0<12?a|54:b;break}}else if((g|0)==15){l=c[j+(d*396|0)+8>>2]|0;do{if((l|0)>0){k=98;n=0;o=b;while(1){q=c[j+(d*396|0)+12+(n*12|0)+4>>2]|0;m=b-q|0;p=(m|0)<0?0-m|0:m;m=(p|0)<(k|0);o=m?q:o;n=n+1|0;if((n|0)<(l|0)){k=m?p:k}else{break}}d=o+32&-64;if((o|0)<=(b|0)){g=19;break}b=(d+ -48|0)<(b|0)?o:b}else{d=b+32&-64;o=b;g=19}}while(0);if((g|0)==19){b=(d|48|0)>(b|0)?o:b}if(h){if((b|0)<=63){b=64;break}b=b+16&-64;break}if((a&8|0)!=0){if((b|0)<64){b=64;break}b=b+32&-64;break}if((b|0)<48){b=b+64>>1;break}if((b|0)<128){b=b+22&-64;break}else{b=b+32&-64;break}}}while(0);q=(e|0)>-1?b:0-b|0;i=f;return q|0}function EU(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;l=i;i=i+8|0;n=l;c[l>>2]=0;k=d+12|0;p=c[k>>2]|0;m=d+16|0;o=c[m>>2]|0;do{if((p|0)<(o|0)){m=c[d+20>>2]|0}else{if((o|0)>44739241){c[l>>2]=64;p=64;o=0;g=h;c[g>>2]=o;i=j;return p|0}q=(o>>2)+4|0;p=q+o|0;p=(q|0)<0|(p|0)>44739242?44739242:p;q=d+20|0;n=oJ(g,48,o,p,c[q>>2]|0,n)|0;c[q>>2]=n;o=c[l>>2]|0;if((o|0)==0){c[m>>2]=p;m=n;p=c[k>>2]|0;break}else{q=o;g=0;p=h;c[p>>2]=g;i=j;return q|0}}}while(0);n=m+(p*48|0)|0;d=d+24|0;a:do{if((p|0)>0){while(1){o=n+ -48|0;g=b[o>>1]|0;if((g|0)<(e|0)){break a}if((g|0)==(e|0)){if((c[d>>2]|0)==(f|0)){break a}}$W(n|0,o|0,48)|0;if(o>>>0>m>>>0){n=o}else{n=o;break}}}}while(0);c[k>>2]=(c[k>>2]|0)+1;bX(n|0,0,48)|0;b[n>>1]=e;a[n+13|0]=f;q=c[l>>2]|0;g=n;p=h;c[p>>2]=g;i=j;return q|0}function FU(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;g=i;n=i;i=i+8|0;m=n;o=i;i=i+32|0;k=i;i=i+16|0;l=c[d>>2]|0;s=c[d+44>>2]|0;r=c[d+40>>2]|0;p=s+(r<<2)|0;bX(o|0,0,31)|0;bX(k|0,0,16)|0;j=c[d+48+(f*28|0)+24>>2]|0;q=(j|0)<0?0-j|0:j;j=d+48+(f*28|0)|0;c[j>>2]=0;v=c[d+32>>2]|0;u=c[d+28>>2]|0;t=v+(u*40|0)|0;u=(u|0)>0;do{if((f|0)==0){if(!u){break}do{c[v+24>>2]=b[v+12>>1]|0;c[v+28>>2]=b[v+14>>1]|0;v=v+40|0;}while(v>>>0<t>>>0)}else{if(!u){break}do{c[v+24>>2]=b[v+14>>1]|0;c[v+28>>2]=b[v+12>>1]|0;v=v+40|0;}while(v>>>0<t>>>0)}}while(0);a:do{if((r|0)>0){r=d+48+(f*28|0)+4|0;d=d+48+(f*28|0)+8|0;w=0;u=q;b:while(1){f=c[s>>2]|0;t=c[f+36>>2]|0;c:do{if((f|0)!=(t|0)){v=a[t+3|0]|0;x=v<<24>>24;d:do{if(((v<<24>>24<0?0-x|0:x)|0)==(q|0)){A=a[f+3|0]|0;x=A<<24>>24;if(((A<<24>>24<0?0-x|0:x)|0)!=(q|0)){break}while(1){x=v<<24>>24;if(((v<<24>>24<0?0-x|0:x)|0)!=(q|0)){break}if((t|0)==(f|0)){break d}A=c[t+36>>2]|0;v=a[A+3|0]|0;t=A}f=c[t+32>>2]|0}}while(0);y=-32e3;z=32e3;x=0;v=0;t=f;while(1){do{if((x|0)==0){x=0;A=w}else{A=c[t+24>>2]|0;z=(A|0)<(z|0)?A:z;y=(A|0)>(y|0)?A:y;if(!((a[t+3|0]|0)!=(u|0)|(t|0)==(f|0))){A=w;break}c[w+44>>2]=t;b[w+2>>1]=(z+y|0)>>>1;y=c[w+40>>2]|0;if(((b[t>>1]|b[y>>1])&3)!=0){a[w]=a[w]|1}x=c[t+28>>2]|0;y=c[y+28>>2]|0;z=(y|0)<(x|0)?y:x;y=(y|0)>(x|0)?y:x;x=z&65535;b[w+4>>1]=x;A=y&65535;b[w+6>>1]=A;b[w+8>>1]=A-x<<16>>16;x=0;A=0}}while(0);if((t|0)==(f|0)){if(v<<24>>24==0){v=1}else{w=A;break c}}do{if((x|0)==0){x=a[t+3|0]|0;w=x<<24>>24;if(((x<<24>>24<0?0-w|0:w)|0)!=(q|0)){x=0;break}c[n>>2]=0;y=c[j>>2]|0;u=c[r>>2]|0;if((y|0)<(u|0)){u=c[d>>2]|0}else{if((u|0)>41297761){break b}A=(u>>2)+4|0;y=A+u|0;y=(A|0)<0|(y|0)>41297762?41297762:y;u=oJ(l,52,u,y,c[d>>2]|0,m)|0;c[d>>2]=u;z=c[n>>2]|0;if((z|0)!=0){h=47;break b}c[r>>2]=y;y=c[j>>2]|0}c[j>>2]=y+1;A=u+(y*52|0)|0;a[A]=0;z=u+(y*52|0)+1|0;$W(z|0,o|0,31)|0;c[u+(y*52|0)+32>>2]=32e3;$W(u+(y*52|0)+36|0,k|0,16)|0;a[z]=x;z=c[t+24>>2]|0;c[u+(y*52|0)+40>>2]=t;c[u+(y*52|0)+44>>2]=t;c[u+(y*52|0)+48>>2]=s;y=z;x=1;u=w}}while(0);t=c[t+32>>2]|0;w=A}}}while(0);s=s+4|0;if(s>>>0>=p>>>0){break a}}if((h|0)==47){i=g;return z|0}c[n>>2]=64;A=64;i=g;return A|0}else{d=d+48+(f*28|0)+8|0}}while(0);k=c[d>>2]|0;A=c[j>>2]|0;h=k+(A*52|0)|0;if((A|0)>0){j=k}else{A=0;i=g;return A|0}while(1){n=c[j+40>>2]|0;l=c[j+44>>2]|0;m=c[n+28>>2]|0;k=c[l+28>>2]|0;do{if((n|0)!=(l|0)){n=c[(c[n+36>>2]|0)+28>>2]|0;if((m|0)<(k|0)){if((n|0)<(m|0)){A=j+8|0;b[A>>1]=(e[A>>1]|0)+((m-n|0)>>>1)}l=c[(c[l+32>>2]|0)+28>>2]|0;if((l|0)<=(k|0)){break}A=j+8|0;b[A>>1]=(e[A>>1]|0)+((l-k|0)>>>1);break}else{if((n|0)>(m|0)){A=j+8|0;b[A>>1]=(e[A>>1]|0)+((n-m|0)>>>1)}l=c[(c[l+32>>2]|0)+28>>2]|0;if((l|0)>=(k|0)){break}A=j+8|0;b[A>>1]=(e[A>>1]|0)+((k-l|0)>>>1);break}}}while(0);j=j+52|0;if(j>>>0>=h>>>0){z=0;break}}i=g;return z|0}function GU(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;l=i;i=i+16|0;k=i;i=i+128|0;j=k;n=i;i=i+832|0;m=n;h=c[e+100>>2]|0;bX(k|0,0,124)|0;c[k>>2]=h;k=d+48|0;c[k>>2]=0;h=d+444|0;c[h>>2]=0;f=KJ(e,f)|0;a:do{if((f|0)!=0){if((YI(e,f,1)|0)!=0){break}f=c[e+84>>2]|0;if((b[f+110>>1]|0)<1){break}bX(n|0,0,832)|0;c[m+36>>2]=c[d+36>>2];c[m+12>>2]=65536;c[m+8>>2]=65536;c[m+20>>2]=0;c[m+16>>2]=0;c[m+4>>2]=e;c[m+24>>2]=0;c[m+28>>2]=0;c[j+112>>2]=m;c[j+104>>2]=0;if((xU(j,f+108|0)|0)!=0){break}e=0;do{if((FU(j,e)|0)!=0){break a}HU(j,e);f=c[j+48+(e*28|0)+8>>2]|0;p=c[j+48+(e*28|0)>>2]|0;n=f+(p*52|0)|0;do{if((p|0)>0){m=0;do{o=c[f+20>>2]|0;do{if((o|0)!=0){if(!((c[o+20>>2]|0)==(f|0)&o>>>0>f>>>0)){break}o=(b[f+2>>1]|0)-(b[o+2>>1]|0)|0;if(m>>>0>=16){break}c[d+40+(e*396|0)+12+(m*12|0)>>2]=(o|0)<0?0-o|0:o;m=m+1|0}}while(0);f=f+52|0;}while(f>>>0<n>>>0);if(m>>>0>1){p=1}else{break}do{o=p;do{f=d+40+(e*396|0)+12+(o*12|0)|0;o=o+ -1|0;n=d+40+(e*396|0)+12+(o*12|0)|0;if((c[f>>2]|0)>(c[n>>2]|0)){break}$W(l|0,f|0,12)|0;$W(f|0,n|0,12)|0;$W(n|0,l|0,12)|0;}while((o|0)!=0);p=p+1|0;}while(p>>>0<m>>>0)}else{m=0}}while(0);c[d+40+(e*396|0)+8>>2]=m;e=e+1|0;}while((e|0)<2)}}while(0);l=d+36|0;if((c[k>>2]|0)==0){k=((c[l>>2]|0)*50|0)/2048|0}else{k=c[d+52>>2]|0}c[d+244>>2]=(k|0)/5|0;c[d+248>>2]=k;a[d+252|0]=0;if((c[h>>2]|0)==0){o=((c[l>>2]|0)*50|0)/2048|0;f=(o|0)/5|0;p=d+640|0;c[p>>2]=f;p=d+644|0;c[p>>2]=o;p=d+648|0;a[p]=0;uU(j);i=g;return}else{o=c[d+448>>2]|0;f=(o|0)/5|0;p=d+640|0;c[p>>2]=f;p=d+644|0;c[p>>2]=o;p=d+648|0;a[p]=0;uU(j);i=g;return}}function HU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=i;h=c[d+48+(e*28|0)+8>>2]|0;l=c[d+48+(e*28|0)>>2]|0;g=h+(l*52|0)|0;k=c[(c[d+112>>2]|0)+36>>2]|0;j=k<<3;j=(j+2047|0)>>>0<4095?1:(j|0)/2048|0;k=(k*6e3|0)/2048|0;l=(l|0)>0;if(!l){i=f;return}n=d+48+(e*28|0)+24|0;o=h;do{p=o+1|0;t=a[p]|0;a:do{if((t<<24>>24|0)==(c[n>>2]|0)){if((c[o+40>>2]|0)==(c[o+44>>2]|0)){break}q=o+2|0;m=o+4|0;e=o+6|0;r=o+32|0;d=o+20|0;s=h;while(1){do{if((t<<24>>24|0)==(0-(a[s+1|0]|0)|0)){u=b[s+2>>1]|0;t=b[q>>1]|0;if(u<<16>>16<=t<<16>>16){break}t=(u<<16>>16)-(t<<16>>16)|0;x=b[m>>1]|0;u=b[e>>1]|0;w=b[s+4>>1]|0;v=b[s+6>>1]|0;u=((u<<16>>16>v<<16>>16?v:u)<<16>>16)-((x<<16>>16<w<<16>>16?w:x)<<16>>16)|0;if((u|0)<(j|0)){break}t=((k|0)/(u|0)|0)+((t|0)<0?0-t|0:t)|0;if((t|0)<(c[r>>2]|0)){c[r>>2]=t;c[d>>2]=s}u=s+32|0;if((t|0)>=(c[u>>2]|0)){break}c[u>>2]=t;c[s+20>>2]=o}}while(0);s=s+52|0;if(s>>>0>=g>>>0){break a}t=a[p]|0}}}while(0);o=o+52|0;}while(o>>>0<g>>>0);if(!l){i=f;return}do{j=h+20|0;k=c[j>>2]|0;do{if((k|0)!=0){k=k+20|0;if((c[k>>2]|0)==(h|0)){break}c[j>>2]=0;c[h+24>>2]=c[k>>2]}}while(0);h=h+52|0;}while(h>>>0<g>>>0);i=f;return}function IU(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=i;k=i;i=i+8|0;j=k;h=FU(d,e)|0;if((h|0)!=0){A=h;i=f;return A|0}HU(d,e);o=d+48+(e*28|0)|0;m=c[d>>2]|0;q=(c[d+112>>2]|0)+40|0;s=c[d+48+(e*28|0)+8>>2]|0;r=c[o>>2]|0;l=s+(r*52|0)|0;h=d+48+(e*28|0)+12|0;c[h>>2]=0;p=(e|0)==0;t=d+12|0;n=c[(p?d+4|0:t)>>2]|0;if(p){p=bJ(64,c[t>>2]|0)|0}else{p=0}q=aJ(c[q+(e*396|0)+204>>2]|0,n)|0;q=bJ((q|0)>16?16:q,n)|0;a:do{if((r|0)>0){r=p*3|0;e=d+48+(e*28|0)+20|0;b:while(1){d=b[s+8>>1]|0;c:do{if((d|0)>=(p|0)){if((c[s+24>>2]|0)!=0){if((d<<1|0)<(r|0)){break}}x=c[h>>2]|0;d:do{if((x|0)>0){v=c[e>>2]|0;t=s+2|0;d=b[t>>1]|0;w=d<<16>>16;u=s+1|0;y=0;while(1){z=v+(y*48|0)|0;A=w-(b[z>>1]|0)|0;if((((A|0)<0?0-A|0:A)|0)<(q|0)){A=a[v+(y*48|0)+13|0]|0;if(A<<24>>24==(a[u]|0)){break}}y=y+1|0;if((y|0)>=(x|0)){g=17;break d}}if((z|0)==0){break}c[s+16>>2]=c[v+(y*48|0)+40>>2];A=v+(y*48|0)+44|0;c[(c[A>>2]|0)+16>>2]=s;c[A>>2]=s;break c}else{u=s+1|0;d=b[s+2>>1]|0;g=17}}while(0);if((g|0)==17){g=0;A=a[u]|0;t=s+2|0}d=EU(o,d<<16>>16,A<<24>>24,m,j)|0;if((d|0)!=0){break b}A=c[k>>2]|0;bX(A|0,0,40)|0;c[A+40>>2]=s;c[A+44>>2]=s;b[A>>1]=b[t>>1]|0;a[A+13|0]=a[s+1|0]|0;z=aJ(b[t>>1]|0,n)|0;c[A+8>>2]=z;c[A+4>>2]=z;c[s+16>>2]=s}}while(0);s=s+52|0;if(s>>>0>=l>>>0){break a}}i=f;return d|0}else{e=d+48+(e*28|0)+20|0}}while(0);l=c[e>>2]|0;A=c[h>>2]|0;h=l+(A*48|0)|0;if((A|0)>0){k=l}else{A=0;i=f;return A|0}do{j=k+40|0;m=c[j>>2]|0;if((m|0)!=0){do{c[m+12>>2]=k;m=c[m+16>>2]|0;}while((m|0)!=(c[j>>2]|0))}k=k+48|0;}while(k>>>0<h>>>0);while(1){j=l+40|0;n=c[j>>2]|0;k=l+24|0;m=l+28|0;o=n;p=0;q=0;do{e=(a[n]&1^1)&255;p=(e^1)+p|0;q=e+q|0;e=n+24|0;r=c[e>>2]|0;do{if((r|0)==0){d=0}else{r=c[r+12>>2]|0;if((r|0)==0){d=0;break}d=(r|0)!=(l|0)|0}}while(0);s=n+20|0;r=c[s>>2]|0;if((r|0)==0){if(d<<24>>24!=0){g=33}}else{if(!((c[r+12>>2]|0)==0&d<<24>>24==0)){g=33}}do{if((g|0)==33){g=0;r=d<<24>>24!=0;e=c[(r?e:s)>>2]|0;t=c[(r?m:k)>>2]|0;do{if((t|0)==0){t=c[e+12>>2]|0}else{s=(b[l>>1]|0)-(b[t>>1]|0)|0;d=(b[n+2>>1]|0)-(b[e+2>>1]|0)|0;if((((d|0)<0?0-d|0:d)|0)>=(((s|0)<0?0-s|0:s)|0)){break}t=c[e+12>>2]|0}}while(0);if(r){c[m>>2]=t;o=t+12|0;a[o]=a[o]|2;o=c[j>>2]|0;break}else{c[k>>2]=t;break}}}while(0);n=c[n+16>>2]|0;}while((n|0)!=(o|0));a[l+12|0]=((p|0)<1|(p|0)<(q|0))&1^1;do{if((c[m>>2]|0)!=0){if((c[k>>2]|0)==0){break}c[m>>2]=0}}while(0);l=l+48|0;if(l>>>0>=h>>>0){d=0;break}}i=f;return d|0}function JU(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;m=d+40|0;l=(e|0)==1;if((b&4|0)==0){r=f;i=j;return r|0}if((a[m+(e*396|0)+212|0]|0)!=0){r=f;i=j;return r|0}d=(f|0)<0?0-f|0:f;do{if(l){if((b&2|0)!=0){k=19;break}if(!(l&(h&2|0)!=0&(d|0)<192)){k=7}}else{if((b&1|0)==0){k=7}else{k=19}}}while(0);do{if((k|0)==7){if((g&1|0)==0){d=(d|0)<56?56:d}else{d=(d|0)<80?64:d}if((c[m+(e*396|0)+8>>2]|0)==0){break}k=c[m+(e*396|0)+16>>2]|0;b=d-k|0;if((((b|0)<0?0-b|0:b)|0)<40){d=(k|0)<48?48:k;break}if((d|0)>=192){d=d+32&-64;break}b=d&63;k=d&-64;if(b>>>0<10){break}if(b>>>0<32){d=k|10;break}else{d=b>>>0<54?k|54:d;break}}else if((k|0)==19){h=c[m+(e*396|0)+8>>2]|0;do{if((h|0)>0){g=98;o=0;p=d;while(1){r=c[m+(e*396|0)+12+(o*12|0)+4>>2]|0;n=d-r|0;q=(n|0)<0?0-n|0:n;n=(q|0)<(g|0);p=n?r:p;o=o+1|0;if((o|0)<(h|0)){g=n?q:g}else{break}}e=p+32&-64;if((p|0)<=(d|0)){k=23;break}e=(e+ -48|0)<(d|0)?p:d}else{e=d+32&-64;p=d;k=23}}while(0);if((k|0)==23){e=(e|48|0)>(d|0)?p:d}if(l){if((e|0)<=63){d=64;break}d=e+16&-64;break}if((b&8|0)!=0){if((e|0)<64){d=64;break}d=e+32&-64;break}if((e|0)<48){d=e+64>>1;break}if((e|0)>=128){d=e+32&-64;break}k=e+22&-64;b=k-d|0;if((((b|0)<0?0-b|0:b)|0)<=15){d=k;break}if((d|0)>=48){break}d=d+64>>1}}while(0);r=(f|0)>-1?d:0-d|0;i=j;return r|0}function KU(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;k=(e|0)==0;if(k){g=d+12|0;h=d+4|0}else{g=d+16|0;h=d+8|0}j=c[h>>2]|0;g=c[g>>2]|0;l=b+40+(e*396|0)+388|0;h=b+40+(e*396|0)+392|0;do{if((c[l>>2]|0)==(j|0)){if((c[h>>2]|0)!=(g|0)){break}i=f;return}}while(0);c[l>>2]=j;c[h>>2]=g;h=b+652|0;l=c[h>>2]|0;a:do{if((l|0)!=0){n=0;while(1){m=n+1|0;if((c[b+656+(n*28|0)+24>>2]&4|0)!=0){break}if(m>>>0<l>>>0){n=m}else{break a}}l=aJ(c[b+656+(n*28|0)+12>>2]|0,c[d+8>>2]|0)|0;d=l+40&-64;if(!((l|0)!=(d|0)&(e|0)==1)){break}j=_I(j,d,l)|0}}while(0);c[b+40+(e*396|0)>>2]=j;c[b+40+(e*396|0)+4>>2]=g;if(k){c[b+8>>2]=j;c[b+16>>2]=g}else{c[b+12>>2]=j;c[b+20>>2]=g}k=b+40+(e*396|0)+8|0;if((c[k>>2]|0)!=0){d=0;do{o=aJ(c[b+40+(e*396|0)+12+(d*12|0)>>2]|0,j)|0;c[b+40+(e*396|0)+12+(d*12|0)+4>>2]=o;c[b+40+(e*396|0)+12+(d*12|0)+8>>2]=o;d=d+1|0;}while(d>>>0<(c[k>>2]|0)>>>0)}a[b+40+(e*396|0)+212|0]=(aJ(c[b+40+(e*396|0)+208>>2]|0,j)|0)<40|0;if((e|0)!=1){i=f;return}if((c[h>>2]|0)==0){i=f;return}else{d=0}do{o=b+656+(d*28|0)|0;n=(aJ(c[o>>2]|0,j)|0)+g|0;l=b+656+(d*28|0)+4|0;c[l>>2]=n;e=b+656+(d*28|0)+8|0;c[e>>2]=n;n=b+656+(d*28|0)+12|0;m=(aJ(c[n>>2]|0,j)|0)+g|0;c[b+656+(d*28|0)+16>>2]=m;k=b+656+(d*28|0)+20|0;c[k>>2]=m;m=b+656+(d*28|0)+24|0;c[m>>2]=c[m>>2]&-2;if(((aJ((c[o>>2]|0)-(c[n>>2]|0)|0,j)|0)+48|0)>>>0<97){o=(c[n>>2]|0)-(c[o>>2]|0)|0;n=(o|0)<0;o=aJ(n?0-o|0:o,j)|0;do{if((o|0)<32){o=0}else{if((o|0)<64){o=o+16&-32;break}else{o=o+32&-64;break}}}while(0);l=(c[l>>2]|0)+32&-64;c[e>>2]=l;c[k>>2]=l+(n?0-o|0:o);c[m>>2]=c[m>>2]|1}d=d+1|0;}while(d>>>0<(c[h>>2]|0)>>>0);i=f;return}function LU(a,b){a=a|0;b=b|0;b=c[a>>2]|0;c[a+16>>2]=c[(c[b+140>>2]|0)+52>>2];c[a+20>>2]=c[b+144>>2];i=i;return 0}function MU(a){a=a|0;c[a+20>>2]=0;c[a+16>>2]=0;i=i;return}function NU(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0;f=i;g=c[a+20>>2]|0;a=c[a+16>>2]|0;if((a|0)==0){k=0;i=f;return k|0}else{j=0}while(1){h=(j+a|0)>>>1;k=c[g+(h<<3)>>2]|0;if((k|0)==(b|0)){break}k=k>>>0>b>>>0;a=k?h:a;j=k?j:h+1|0;if(j>>>0>=a>>>0){g=0;d=5;break}}if((d|0)==5){i=f;return g|0}k=(e[g+(h<<3)+4>>1]|0)+1&65535;i=f;return k|0}function OU(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;g=c[a+20>>2]|0;h=(c[d>>2]|0)+1|0;a=c[a+16>>2]|0;a:do{if((a|0)==0){k=0;e=5}else{l=a;k=0;while(1){j=(k+l|0)>>>1;m=c[g+(j<<3)>>2]|0;if((h|0)==(m|0)){break}m=h>>>0<m>>>0;l=m?j:l;k=m?k:j+1|0;if(k>>>0>=l>>>0){e=5;break a}}g=(b[g+(j<<3)+4>>1]|0)+1<<16>>16}}while(0);do{if((e|0)==5){if(k>>>0>=a>>>0){h=0;g=0;break}h=c[g+(k<<3)>>2]|0;g=(b[g+(k<<3)+4>>1]|0)+1<<16>>16}}while(0);c[d>>2]=h;i=f;return g&65535|0}function PU(a,b){a=a|0;b=b|0;var c=0;c=i;a=uJ(286872,b)|0;i=c;return a|0}function QU(d,f,g,h,j){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;j=i;r=i;i=i+8|0;s=r;D=i;i=i+8|0;C=D;A=i;i=i+8|0;B=A;t=i;i=i+8|0;q=t;g=i;i=i+8|0;m=g;v=i;i=i+16|0;w=v;k=i;i=i+16|0;h=k;n=i;i=i+16|0;o=n;c[g>>2]=0;u=f+100|0;l=c[u>>2]|0;x=PJ(d,0)|0;c[g>>2]=x;if((x|0)!=0){Q=x;i=j;return Q|0}c[v>>2]=1;c[w+4>>2]=1;c[w+8>>2]=0;c[w+12>>2]=8;c[t>>2]=0;v=jJ(l,8252,q)|0;a:do{if((c[t>>2]|0)==0){z=v+36|0;c[z>>2]=w;y=v+12|0;b[y>>1]=32767;c[v+8248>>2]=l;w=v+8232|0;bX(w|0,0,12)|0;x=v+8244|0;c[x>>2]=l;E=c[d+28>>2]|0;c[A>>2]=0;I=oJ(E,1,0,1024,0,B)|0;b:do{if((c[A>>2]|0)==0){c[D>>2]=40;a[I]=0;K=0;H=1024;L=0;M=0;F=1;N=0;J=0;G=256;c:while(1){d:while(1){e:do{if((J|0)==0){J=K;p=7}else{if(!N){L=KK(d,I+M|0,H-M|0)|0;K=L+M|0;M=0}f:do{if((J|0)<(K|0)){O=a[I+J|0]|0;if((O<<24>>24|0)==(G|0)){break e}else{N=J}while(1){if(O<<24>>24==10|O<<24>>24==13){G=O;break d}N=N+1|0;if((N|0)>=(K|0)){break f}O=a[I+N|0]|0}}}while(0);if((L|0)==0){break b}M=K-J|0;$W(I|0,I+J|0,M|0)|0;L=M;N=0;p=7}}while(0);g:do{if((p|0)==7){while(1){p=0;if(!N){L=KK(d,I+M|0,H-M|0)|0;J=L+M|0;M=0}h:do{if((J|0)>0){K=a[I]|0;if((K<<24>>24|0)==(G|0)){K=J;J=0;break g}else{N=0}while(1){if(K<<24>>24==10|K<<24>>24==13){G=K;K=J;J=0;break d}N=N+1|0;if((N|0)>=(J|0)){break h}K=a[I+N|0]|0}}}while(0);if((L|0)==0){break b}if(H>>>0>65535){break c}p=H<<1;I=oJ(E,1,H,p,I,B)|0;if((c[A>>2]|0)==0){M=H;H=p;N=0;p=7}else{break b}}}}while(0);N=1;J=J+1|0;G=256}O=I+N|0;a[O]=0;P=I+J|0;Q=a[P]|0;do{if(!(Q<<24>>24==26|Q<<24>>24==35)){if((N|0)<=(J|0)){break}Q=N-J|0;J=Cd[c[D>>2]&63](P,Q,F,C,v)|0;c[A>>2]=J;if((J|0)==-1){J=Cd[c[D>>2]&63](P,Q,F,C,v)|0;c[A>>2]=J}if((J|0)!=0){break b}}}while(0);F=F+1|0;a[O]=G;J=N+1|0;if(G<<24>>24==10){N=1;G=13;continue}else if(G<<24>>24==13){N=1;G=10;continue}else{N=1;G=256;continue}}c[A>>2]=6}}while(0);lJ(E,I);Q=c[A>>2]|0;c[t>>2]=Q;p=v+32|0;i:do{if((Q|0)==0){d=c[p>>2]|0;do{if((d|0)!=0){if((c[d+28>>2]|0)!=8){b[d+32>>1]=b[d+4>>1]|0;d=c[p>>2]|0}if((c[v+4>>2]|0)!=((c[d+64>>2]|0)+(c[d+52>>2]|0)|0)){b[d+16516>>1]=1}if((c[c[z>>2]>>2]|0)==0){break}d=c[p>>2]|0;if((c[d+52>>2]|0)==0){if((c[d+64>>2]|0)==0){break}}z=b[y>>1]|0;B=(b[v+16>>1]|0)-(z<<16>>16)|0;A=d+4|0;if((B|0)!=(e[A>>1]|0)){b[A>>1]=B;b[(c[p>>2]|0)+16516>>1]=1;z=b[y>>1]|0;d=c[p>>2]|0}y=d+8|0;if((b[y>>1]|0)!=z<<16>>16){b[y>>1]=z;b[(c[p>>2]|0)+16516>>1]=1;d=c[p>>2]|0}A=d+12|0;y=v+18|0;z=b[y>>1]|0;if((b[A>>1]|0)==z<<16>>16){C=d}else{b[A>>1]=z;b[(c[p>>2]|0)+16516>>1]=1;C=c[p>>2]|0}B=C+14|0;z=b[B>>1]|0;d=v+20|0;A=b[d>>1]|0;if(z<<16>>16==A<<16>>16){A=C}else{b[B>>1]=A;b[(c[p>>2]|0)+10>>1]=0-(b[d>>1]|0)<<16>>16;b[(c[p>>2]|0)+16516>>1]=1;A=c[p>>2]|0;z=b[d>>1]|0}y=(b[y>>1]|0)+(z<<16>>16)|0;d=A+6|0;if((y|0)==(e[d>>1]|0)){break}b[d>>1]=y}}while(0);y=c[v>>2]|0;if((y&1|0)!=0){if((y&32|0)==0){c[t>>2]=185;p=66;break a}else{c[t>>2]=186;p=66;break a}}y=c[p>>2]|0;do{if((y|0)==0){if((c[t>>2]|0)!=0){break}c[t>>2]=3}else{d=c[y+88>>2]|0;if((d|0)==0){break}Q=oJ(c[y+16520>>2]|0,1,d,d+1|0,c[y+84>>2]|0,q)|0;c[(c[p>>2]|0)+84>>2]=Q;if((c[t>>2]|0)!=0){break i}Q=c[p>>2]|0;a[(c[Q+84>>2]|0)+(c[Q+88>>2]|0)|0]=0}}while(0);q=c[p>>2]|0;p=68;break a}}while(0);VU(c[p>>2]|0);lJ(l,c[p>>2]|0);c[p>>2]=0;p=66}else{p=66}}while(0);do{if((p|0)==66){if((v|0)==0){q=0;break}q=0;x=v+8244|0;w=v+8232|0;p=68}}while(0);if((p|0)==68){x=c[x>>2]|0;if((x|0)!=0){lJ(x,c[w>>2]|0);bX(w|0,0,16)|0}lJ(l,v)}t=c[t>>2]|0;c[g>>2]=t;if((t|0)==176){RU(f);Q=2;i=j;return Q|0}else if((t|0)==0){v=f+140|0;c[v>>2]=q;c[f>>2]=1;c[f+4>>2]=0;x=f+8|0;c[x>>2]=146;t=(q|0)==0;j:do{if(t){p=97}else{w=q+72|0;if((c[w>>2]|0)==0){p=97;break}d=c[q+128>>2]|0;y=c[d+12>>2]|0;d=c[d+4>>2]|0;A=y+((3000791075%(d>>>0)|0)<<2)|0;z=c[A>>2]|0;k:do{if((z|0)!=0){d=y+(d+ -1<<2)|0;while(1){B=c[z>>2]|0;if((a[B]|0)==83){if((Qc(B|0,283576)|0)==0){break}}z=A+ -4|0;A=z>>>0<y>>>0?d:z;z=c[A>>2]|0;if((z|0)==0){break k}}if((z|0)==0){break}y=c[q+80>>2]|0;d=c[z+4>>2]|0;if((y+(d<<4)|0)==0){break}if((c[y+(d<<4)+4>>2]|0)!=1){break}y=c[y+(d<<4)+12>>2]|0;if((y|0)==0){break}Q=a[y]|0;if(!(Q<<24>>24==99|Q<<24>>24==67|Q<<24>>24==109|Q<<24>>24==77)){break}c[x>>2]=150}}while(0);if((c[w>>2]|0)==0){p=97;break}x=c[q+128>>2]|0;w=c[x+12>>2]|0;x=c[x+4>>2]|0;d=w+((1183963782%(x>>>0)|0)<<2)|0;y=c[d>>2]|0;if((y|0)==0){p=97;break}x=w+(x+ -1<<2)|0;while(1){z=c[y>>2]|0;if((a[z]|0)==70){if((Qc(z|0,283584)|0)==0){break}}y=d+ -4|0;d=y>>>0<w>>>0?x:y;y=c[d>>2]|0;if((y|0)==0){p=97;break j}}if((y|0)==0){p=97;break}w=c[q+80>>2]|0;x=c[y+4>>2]|0;if((w+(x<<4)|0)==0){p=97;break}w=c[w+(x<<4)+12>>2]|0;if((w|0)==0){p=97;break}c[f+20>>2]=aL(l,w,m)|0;w=c[g>>2]|0;if((w|0)==0){v=c[v>>2]|0;break}else{Q=w;i=j;return Q|0}}}while(0);if((p|0)==97){c[f+20>>2]=0;v=q}c[r>>2]=0;u=c[u>>2]|0;d=f+12|0;c[d>>2]=0;do{if((v|0)==0){v=1;x=0;z=1;E=0;F=0;d=0;w=0;y=0;B=0;C=1;A=0;D=0}else{y=v+72|0;if((c[y>>2]|0)==0){v=1;x=0;z=1;E=0;F=0;d=0;w=0;y=0;B=0;C=1;A=0;D=0;break}x=v+128|0;z=c[x>>2]|0;w=c[z+12>>2]|0;z=c[z+4>>2]|0;B=w+((78981326%(z>>>0)|0)<<2)|0;A=c[B>>2]|0;l:do{if((A|0)==0){A=2;w=0}else{z=w+(z+ -1<<2)|0;while(1){C=c[A>>2]|0;if((a[C]|0)==83){if((Qc(C|0,283752)|0)==0){break}}A=B+ -4|0;B=A>>>0<w>>>0?z:A;A=c[B>>2]|0;if((A|0)==0){A=2;w=0;break l}}if((A|0)==0){A=2;w=0;break}w=c[v+80>>2]|0;z=c[A+4>>2]|0;if((w+(z<<4)|0)==0){A=2;w=0;break}if((c[w+(z<<4)+4>>2]|0)!=1){A=2;w=0;break}w=w+(z<<4)+12|0;z=c[w>>2]|0;if((z|0)==0){A=2;w=0;break}Q=a[z]|0;if(!(Q<<24>>24==105|Q<<24>>24==73|Q<<24>>24==111|Q<<24>>24==79)){A=2;w=0;break}c[d>>2]=1;w=a[c[w>>2]|0]|0;if(w<<24>>24==79){A=3;w=283760;break}A=3;w=w<<24>>24==111?283760:283768}}while(0);z=c[y>>2]|0;do{if((z|0)==0){z=1;E=0;F=0;d=0;y=0;B=0;D=0}else{C=c[x>>2]|0;B=c[C+12>>2]|0;C=c[C+4>>2]|0;E=B+((4260511730%(C>>>0)|0)<<2)|0;D=c[E>>2]|0;if((D|0)==0){y=0;p=125}else{C=B+(C+ -1<<2)|0;while(1){F=c[D>>2]|0;if((a[F]|0)==87){if((Qc(F|0,283776)|0)==0){p=118;break}}D=E+ -4|0;E=D>>>0<B>>>0?C:D;D=c[E>>2]|0;if((D|0)==0){d=0;break}}do{if((p|0)==118){if((D|0)==0){d=0;break}B=c[v+80>>2]|0;C=c[D+4>>2]|0;if((B+(C<<4)|0)==0){d=0;break}if((c[B+(C<<4)+4>>2]|0)!=1){d=0;break}B=c[B+(C<<4)+12>>2]|0;if((B|0)==0){d=0;break}Q=a[B]|0;if(!(Q<<24>>24==98|Q<<24>>24==66)){d=0;break}c[d>>2]=A;d=283792;z=c[y>>2]|0}}while(0);if((z|0)==0){y=d;d=0;F=0;E=0;D=0}else{y=d;p=125}}m:do{if((p|0)==125){z=c[x>>2]|0;x=c[z+12>>2]|0;z=c[z+4>>2]|0;B=x+((41411398%(z>>>0)|0)<<2)|0;A=c[B>>2]|0;n:do{if((A|0)==0){d=0}else{d=x+(z+ -1<<2)|0;do{C=c[A>>2]|0;if((a[C]|0)==83){if((Qc(C|0,283800)|0)==0){p=130;break}}A=B+ -4|0;B=A>>>0<x>>>0?d:A;A=c[B>>2]|0;}while((A|0)!=0);do{if((p|0)==130){if((A|0)==0){break}d=c[v+80>>2]|0;A=c[A+4>>2]|0;if((d+(A<<4)|0)==0){break}if((c[d+(A<<4)+4>>2]|0)!=1){break}d=c[d+(A<<4)+12>>2]|0;if((d|0)==0){break}Q=a[d]|0;if(!(Q<<24>>24==110|Q<<24>>24==78|Q<<24>>24==0)){break n}}}while(0);d=0}}while(0);B=x+((657458935%(z>>>0)|0)<<2)|0;A=c[B>>2]|0;if((A|0)==0){F=0;E=0;D=0;break}z=x+(z+ -1<<2)|0;while(1){C=c[A>>2]|0;if((a[C]|0)==65){if((Qc(C|0,283816)|0)==0){break}}A=B+ -4|0;B=A>>>0<x>>>0?z:A;A=c[B>>2]|0;if((A|0)==0){F=0;E=0;D=0;break m}}if((A|0)==0){F=0;E=0;D=0;break}v=c[v+80>>2]|0;x=c[A+4>>2]|0;if((v+(x<<4)|0)==0){F=0;E=0;D=0;break}if((c[v+(x<<4)+4>>2]|0)!=1){F=0;E=0;D=0;break}F=c[v+(x<<4)+12>>2]|0;if((F|0)==0){F=0;E=0;D=0;break}Q=a[F]|0;if(Q<<24>>24==110|Q<<24>>24==78|Q<<24>>24==0){F=0;E=0;D=0;break}D=ZW(F|0)|0;E=D;D=D+1|0}}while(0);if((y|0)==0){z=1;y=0;B=0;break}Q=ZW(y|0)|0;z=0;B=Q;D=D+1+Q|0}}while(0);if((w|0)==0){C=1;w=0;x=0}else{Q=ZW(w|0)|0;C=0;x=Q;D=D+1+Q|0}if((d|0)==0){v=1;d=0;A=0;break}Q=ZW(d|0)|0;v=0;A=Q;D=D+1+Q|0}}while(0);G=(D|0)==0;E=G?7:E;F=G?283832:F;u=jJ(u,G?8:D,s)|0;s=f+24|0;c[s>>2]=u;D=c[r>>2]|0;if((D|0)!=0){c[g>>2]=D;Q=D;i=j;return Q|0}if((F|0)!=0){$W(u|0,F|0,E|0)|0;if((E|0)!=0){F=0;do{D=u+F|0;if((a[D]|0)==32){a[D]=45}F=F+1|0;}while(F>>>0<E>>>0)}u=u+E|0}if(!z){if((u|0)!=(c[s>>2]|0)){a[u]=32;u=u+1|0}$W(u|0,y|0,B|0)|0;u=u+B|0}if(!C){if((u|0)!=(c[s>>2]|0)){a[u]=32;u=u+1|0}$W(u|0,w|0,x|0)|0;u=u+x|0}if(!v){if((u|0)!=(c[s>>2]|0)){a[u]=32;u=u+1|0}$W(u|0,d|0,A|0)|0;if((A|0)!=0){s=0;do{v=u+s|0;if((a[v]|0)==32){a[v]=45}s=s+1|0;}while(s>>>0<A>>>0)}u=u+A|0}a[u]=0;r=c[r>>2]|0;c[g>>2]=r;if((r|0)!=0){Q=r;i=j;return Q|0}r=q+48|0;c[f+16>>2]=(c[r>>2]|0)+1;c[f+28>>2]=1;s=oJ(l,16,0,1,0,m)|0;c[f+32>>2]=s;u=c[g>>2]|0;if((u|0)!=0){Q=u;i=j;return Q|0}bX(s|0,0,16)|0;u=(c[q+44>>2]|0)+(c[q+40>>2]|0)&65535;b[s>>1]=u;o:do{if(t){p=189}else{if((c[q+72>>2]|0)==0){p=189;break}w=c[q+128>>2]|0;v=c[w+12>>2]|0;w=c[w+4>>2]|0;y=v+((3825651940%(w>>>0)|0)<<2)|0;x=c[y>>2]|0;if((x|0)==0){p=189;break}w=v+(w+ -1<<2)|0;while(1){d=c[x>>2]|0;if((a[d]|0)==65){if((Qc(d|0,283600)|0)==0){break}}x=y+ -4|0;y=x>>>0<v>>>0?w:x;x=c[y>>2]|0;if((x|0)==0){p=189;break o}}if((x|0)==0){p=189;break}v=c[q+80>>2]|0;w=c[x+4>>2]|0;if((v+(w<<4)|0)==0){p=189;break}u=(((c[v+(w<<4)+12>>2]|0)+5|0)/10|0)&65535;b[s+2>>1]=u}}while(0);if((p|0)==189){u=((u<<16>>16<<1|0)/3|0)&65535;b[s+2>>1]=u}p:do{if(t){p=200}else{if((c[q+72>>2]|0)==0){p=200;break}w=c[q+128>>2]|0;v=c[w+12>>2]|0;w=c[w+4>>2]|0;y=v+((1780881776%(w>>>0)|0)<<2)|0;x=c[y>>2]|0;if((x|0)==0){p=200;break}w=v+(w+ -1<<2)|0;while(1){d=c[x>>2]|0;if((a[d]|0)==80){if((Qc(d|0,283616)|0)==0){break}}x=y+ -4|0;y=x>>>0<v>>>0?w:x;x=c[y>>2]|0;if((x|0)==0){p=200;break p}}if((x|0)==0){p=200;break}v=c[q+80>>2]|0;w=c[x+4>>2]|0;if((v+(w<<4)|0)==0){p=200;break}u=(((c[v+(w<<4)+12>>2]|0)*460800|0)+36135|0)/72270|0;c[s+4>>2]=u}}while(0);if((p|0)==200){u=u<<16>>16<<6;c[s+4>>2]=u}do{if(t){c[s+12>>2]=u;p=236}else{w=q+72|0;if((c[w>>2]|0)==0){c[s+12>>2]=u;p=236;break}x=c[q+128>>2]|0;v=c[x+12>>2]|0;x=c[x+4>>2]|0;d=v+((486426170%(x>>>0)|0)<<2)|0;y=c[d>>2]|0;q:do{if((y|0)==0){v=0}else{x=v+(x+ -1<<2)|0;while(1){z=c[y>>2]|0;if((a[z]|0)==80){if((Qc(z|0,283632)|0)==0){break}}y=d+ -4|0;d=y>>>0<v>>>0?x:y;y=c[d>>2]|0;if((y|0)==0){v=0;break q}}if((y|0)==0){v=0;break}v=c[q+80>>2]|0;x=c[y+4>>2]|0;if((v+(x<<4)|0)==0){v=0;break}v=c[v+(x<<4)+12>>2]<<16>>10;c[s+12>>2]=v}}while(0);w=(c[w>>2]|0)==0;r:do{if(w){w=0;x=0}else{y=c[q+128>>2]|0;x=c[y+12>>2]|0;y=c[y+4>>2]|0;z=x+((2286220677%(y>>>0)|0)<<2)|0;d=c[z>>2]|0;s:do{if((d|0)==0){w=0}else{y=x+(y+ -1<<2)|0;do{A=c[d>>2]|0;if((a[A]|0)==82){if((Qc(A|0,283648)|0)==0){p=219;break}}d=z+ -4|0;z=d>>>0<x>>>0?y:d;d=c[z>>2]|0;}while((d|0)!=0);do{if((p|0)==219){if((d|0)==0){break}x=c[q+80>>2]|0;y=c[d+4>>2]|0;if((x+(y<<4)|0)==0){break}x=c[x+(y<<4)+12>>2]<<16>>16;if(w){w=x;x=0;break r}else{w=x;break s}}}while(0);if(w){w=0;x=0;break r}else{w=0}}}while(0);y=c[q+128>>2]|0;x=c[y+12>>2]|0;y=c[y+4>>2]|0;z=x+((2286220678%(y>>>0)|0)<<2)|0;d=c[z>>2]|0;if((d|0)==0){x=0;break}y=x+(y+ -1<<2)|0;while(1){A=c[d>>2]|0;if((a[A]|0)==82){if((Qc(A|0,283664)|0)==0){break}}d=z+ -4|0;z=d>>>0<x>>>0?y:d;d=c[z>>2]|0;if((d|0)==0){x=0;break r}}if((d|0)==0){x=0;break}x=c[q+80>>2]|0;y=c[d+4>>2]|0;if((x+(y<<4)|0)==0){x=0;break}x=c[x+(y<<4)+12>>2]&65535}}while(0);y=s+12|0;if((v|0)==0){c[y>>2]=u;if(x<<16>>16==0){p=236;break}u=(da(u,x<<16>>16)|0)/72|0;c[y>>2]=u}else{u=v}if((w|0)==0|x<<16>>16==0){p=236;break}c[s+8>>2]=(da(u,w)|0)/(x<<16>>16|0)|0}}while(0);if((p|0)==236){c[s+8>>2]=u}s=c[q+56>>2]|0;x=oJ(l,8,0,c[r>>2]|0,0,m)|0;u=f+144|0;c[u>>2]=x;v=c[g>>2]|0;if((v|0)!=0){Q=v;i=j;return Q|0}w=f+164|0;c[w>>2]=0;t:do{if((c[r>>2]|0)!=0){v=q+36|0;y=0;while(1){Q=s+(y*36|0)+4|0;c[x+(y<<3)>>2]=c[Q>>2];b[(c[u>>2]|0)+(y<<3)+4>>1]=y;if((c[Q>>2]|0)==(c[v>>2]|0)){c[w>>2]=y}y=y+1|0;if(y>>>0>=(c[r>>2]|0)>>>0){break t}x=c[u>>2]|0}}}while(0);u:do{if(!t){s=(c[q+72>>2]|0)==0;if(s){break}t=c[q+128>>2]|0;r=c[t+12>>2]|0;t=c[t+4>>2]|0;v=r+((3781719536%(t>>>0)|0)<<2)|0;u=c[v>>2]|0;if((u|0)==0){r=0}else{t=r+(t+ -1<<2)|0;while(1){w=c[u>>2]|0;if((a[w]|0)==67){if((Qc(w|0,283680)|0)==0){p=251;break}}u=v+ -4|0;v=u>>>0<r>>>0?t:u;u=c[v>>2]|0;if((u|0)==0){r=0;break}}do{if((p|0)==251){if((u|0)==0){r=0;break}r=(c[q+80>>2]|0)+(c[u+4>>2]<<4)|0}}while(0);if(s){break}}t=c[q+128>>2]|0;s=c[t+12>>2]|0;t=c[t+4>>2]|0;v=s+((1888187142%(t>>>0)|0)<<2)|0;u=c[v>>2]|0;if((u|0)==0){break}t=s+(t+ -1<<2)|0;while(1){w=c[u>>2]|0;if((a[w]|0)==67){if((Qc(w|0,283704)|0)==0){break}}u=v+ -4|0;v=u>>>0<s>>>0?t:u;u=c[v>>2]|0;if((u|0)==0){break u}}if((u|0)==0){break}s=c[q+80>>2]|0;t=c[u+4>>2]|0;if((r|0)==0|(s+(t<<4)|0)==0){break}if((c[r+4>>2]|0)!=1){break}if((c[s+(t<<4)+4>>2]|0)!=1){break}q=r+12|0;if((c[q>>2]|0)==0){break}r=c[s+(t<<4)+12>>2]|0;if((r|0)==0){break}n=f+132|0;c[n>>2]=aL(l,r,m)|0;o=c[g>>2]|0;if((o|0)!=0){Q=o;i=j;return Q|0}m=aL(l,c[q>>2]|0,m)|0;c[f+136>>2]=m;l=c[g>>2]|0;if((l|0)!=0){Q=l;i=j;return Q|0}Q=a[m]|0;do{if(Q<<24>>24==73|Q<<24>>24==105){Q=a[m+1|0]|0;if(!(Q<<24>>24==83|Q<<24>>24==115)){p=273;break}Q=a[m+2|0]|0;if(!(Q<<24>>24==79|Q<<24>>24==111)){p=273;break}l=m+3|0;if((Qc(l|0,283728)|0)!=0){if((Qc(l|0,283736)|0)!=0){p=273;break}if((Qc(c[n>>2]|0,283744)|0)!=0){p=273;break}}c[k>>2]=f;Q=h+4|0;P=Q;c[P>>2]=0;c[P+4>>2]=0;c[Q>>2]=1970170211;b[h+8>>1]=3;b[h+10>>1]=1}else{p=273}}while(0);if((p|0)==273){c[k>>2]=f;Q=h+4|0;c[Q>>2]=0;c[Q+4>>2]=0}Q=eK(283424,0,h,0)|0;c[g>>2]=Q;i=j;return Q|0}}while(0);c[n>>2]=f;c[o+4>>2]=1094995778;b[o+8>>1]=7;b[o+10>>1]=0;h=eK(283424,0,o,0)|0;c[g>>2]=h;if((c[f+36>>2]|0)==0){Q=h;i=j;return Q|0}c[f+92>>2]=c[c[f+40>>2]>>2];Q=h;i=j;return Q|0}else{Q=t;i=j;return Q|0}return 0}function RU(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;if((a|0)==0){i=b;return}e=c[a+100>>2]|0;d=a+140|0;VU(c[d>>2]|0);f=a+144|0;lJ(e,c[f>>2]|0);c[f>>2]=0;f=a+132|0;lJ(e,c[f>>2]|0);c[f>>2]=0;f=a+136|0;lJ(e,c[f>>2]|0);c[f>>2]=0;f=a+20|0;lJ(e,c[f>>2]|0);c[f>>2]=0;f=a+24|0;lJ(e,c[f>>2]|0);c[f>>2]=0;a=a+32|0;lJ(e,c[a>>2]|0);c[a>>2]=0;lJ(e,c[d>>2]|0);c[d>>2]=0;i=b;return}function SU(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;l=c[f>>2]|0;f=l+140|0;k=c[f>>2]|0;j=e[k+16518>>1]|0;if((l|0)==0){n=6;i=h;return n|0}if((c[l+16>>2]|0)>>>0<=g>>>0){n=6;i=h;return n|0}if((g|0)==0){n=c[l+164>>2]|0}else{n=g+ -1|0}r=c[k+56>>2]|0;k=b[r+(n*36|0)+10>>1]|0;q=b[r+(n*36|0)+12>>1]|0;m=b[r+(n*36|0)+16>>1]|0;g=b[r+(n*36|0)+20>>1]|0;o=c[r+(n*36|0)+24>>2]|0;p=c[r+(n*36|0)+28>>2]|0;l=d+76|0;c[l>>2]=e[r+(n*36|0)+14>>1]|0;n=d+80|0;c[n>>2]=q&65535;c[d+84>>2]=p;BJ(d,o);if((j|0)==4){a[d+94|0]=4}else if((j|0)==2){a[d+94|0]=3}else if((j|0)==8){a[d+94|0]=2;b[d+92>>1]=256}else if((j|0)==1){a[d+94|0]=1}c[d+72>>2]=1651078259;p=m<<16>>16;c[d+100>>2]=p;q=g<<16>>16;c[d+104>>2]=q;r=d+24|0;c[d+40>>2]=(k&65535)<<6;c[d+32>>2]=p<<6;c[d+36>>2]=q<<6;c[r>>2]=c[n>>2]<<6;c[d+28>>2]=c[l>>2]<<6;XJ(r,(e[(c[f>>2]|0)+6>>1]|0)<<6);r=0;i=h;return r|0}function TU(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,j=0;g=i;d=c[a>>2]|0;f=c[d+140>>2]|0;h=c[b+16>>2]|0;j=c[b+8>>2]|0;if((h|0)!=0){j=((da(j,h)|0)+36|0)/72|0}h=j+32>>6;b=c[b>>2]|0;if((b|0)==0){b=(c[(c[d+32>>2]|0)+12>>2]|0)+32>>6}else if((b|0)==1){b=(c[f+44>>2]|0)+(c[f+40>>2]|0)|0}else{j=7;i=g;return j|0}b=(h|0)==(b|0);if(!b){j=b?0:23;i=g;return j|0}YJ(d,0);c[a+24>>2]=c[f+40>>2]<<6;c[a+28>>2]=0-(c[f+44>>2]|0)<<6;c[a+36>>2]=(e[f+4>>1]|0)<<6;j=0;i=g;return j|0}function UU(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;d=i;g=c[a>>2]|0;f=c[g+140>>2]|0;YJ(g,b);c[a+24>>2]=c[f+40>>2]<<6;c[a+28>>2]=0-(c[f+44>>2]|0)<<6;c[a+36>>2]=(e[f+4>>1]|0)<<6;i=d;return 0}function VU(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;if((a|0)==0){i=d;return}b=c[a+16520>>2]|0;lJ(b,c[a>>2]|0);c[a>>2]=0;f=a+128|0;g=c[f>>2]|0;if((g|0)!=0){e=c[g+4>>2]|0;g=g+12|0;if((e|0)>0){h=c[g>>2]|0;j=0;while(1){lJ(b,c[h>>2]|0);c[h>>2]=0;j=j+1|0;if((j|0)<(e|0)){h=h+4|0}else{break}}}lJ(b,c[g>>2]|0);c[g>>2]=0;lJ(b,c[f>>2]|0);c[f>>2]=0}f=a+84|0;lJ(b,c[f>>2]|0);c[f>>2]=0;f=a+72|0;g=c[f>>2]|0;e=a+80|0;j=c[e>>2]|0;if((g|0)!=0){h=0;do{if((c[j+(h<<4)+4>>2]|0)==1){lJ(b,c[j+(h<<4)+12>>2]|0);c[(c[e>>2]|0)+(h<<4)+12>>2]=0;j=c[e>>2]|0;g=c[f>>2]|0}h=h+1|0;}while(h>>>0<g>>>0)}lJ(b,j);c[e>>2]=0;e=a+56|0;g=a+52|0;if((c[g>>2]|0)!=0){f=c[e>>2]|0;h=0;while(1){lJ(b,c[f>>2]|0);c[f>>2]=0;j=f+24|0;lJ(b,c[j>>2]|0);c[j>>2]=0;h=h+1|0;if(h>>>0<(c[g>>2]|0)>>>0){f=f+36|0}else{break}}}h=a+68|0;g=a+64|0;if((c[g>>2]|0)!=0){f=c[h>>2]|0;j=0;while(1){lJ(b,c[f>>2]|0);c[f>>2]=0;k=f+24|0;lJ(b,c[k>>2]|0);c[k>>2]=0;j=j+1|0;if(j>>>0<(c[g>>2]|0)>>>0){f=f+36|0}else{break}}}lJ(b,c[e>>2]|0);c[e>>2]=0;lJ(b,c[h>>2]|0);c[h>>2]=0;g=a+104|0;f=a+112|0;if((c[f>>2]|0)!=0){e=c[g>>2]|0;h=0;while(1){lJ(b,c[e>>2]|0);c[e>>2]=0;k=e+24|0;lJ(b,c[k>>2]|0);c[k>>2]=0;h=h+1|0;if(h>>>0<(c[f>>2]|0)>>>0){e=e+36|0}else{break}}}lJ(b,c[g>>2]|0);c[g>>2]=0;g=c[a+16536>>2]|0;f=a+16544|0;if((g|0)>0){e=c[f>>2]|0;h=0;while(1){lJ(b,c[e>>2]|0);c[e>>2]=0;h=h+1|0;if((h|0)<(g|0)){e=e+4|0}else{break}}}lJ(b,c[f>>2]|0);c[f>>2]=0;e=a+16524|0;f=a+16528|0;if((c[f>>2]|0)!=0){g=0;a=c[e>>2]|0;while(1){lJ(b,c[a>>2]|0);c[a>>2]=0;if((c[a+4>>2]|0)==1){k=a+12|0;lJ(b,c[k>>2]|0);c[k>>2]=0}g=g+1|0;if(g>>>0<(c[f>>2]|0)>>>0){a=a+16|0}else{break}}}lJ(b,c[e>>2]|0);c[e>>2]=0;i=d;return}function WU(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;g=i;C=i;i=i+8|0;A=C;E=i;i=i+8|0;B=E;s=i;i=i+256|0;r=s;p=i;i=i+16|0;q=p;u=i;i=i+8|0;t=u;z=i;i=i+8|0;y=z;v=i;i=i+8|0;x=v;k=i;i=i+8|0;n=k;D=i;i=i+128|0;c[k>>2]=0;l=j+32|0;w=c[l>>2]|0;F=(w|0)==0;if(F){o=0}else{o=c[w+16520>>2]|0}if((iX(e|0,283840,7)|0)==0){if((c[(c[j+36>>2]|0)+8>>2]|0)==0|F){F=k;F=c[F>>2]|0;i=g;return F|0}l=e+7|0;if((a[l]|0)==0){j=f+ -7|0}else{j=f+ -8|0;l=e+8|0}F=c[w+16520>>2]|0;c[v>>2]=0;m=w+88|0;o=c[m>>2]|0;n=j+1|0;p=w+84|0;o=oJ(F,1,o,o+n|0,c[p>>2]|0,x)|0;c[p>>2]=o;p=c[v>>2]|0;if((p|0)==0){p=c[m>>2]|0;$W(o+p|0,l|0,j|0)|0;a[o+(p+j)|0]=10;c[m>>2]=(c[m>>2]|0)+n;p=c[v>>2]|0}c[k>>2]=p;F=k;F=c[F>>2]|0;i=g;return F|0}v=c[j>>2]|0;if((v&1|0)==0){p=j+8248|0;o=c[p>>2]|0;if((iX(e|0,283848,9)|0)!=0){c[k>>2]=176;F=k;F=c[F>>2]|0;i=g;return F|0}c[j>>2]=1;c[l>>2]=0;q=jJ(o,16548,n)|0;if((c[k>>2]|0)!=0){F=k;F=c[F>>2]|0;i=g;return F|0}c[l>>2]=q;c[q+16520>>2]=c[p>>2];c[p>>2]=0;p=q+16532|0;c[z>>2]=0;c[q+16536>>2]=241;c[p>>2]=80;c[q+16540>>2]=0;c[q+16544>>2]=oJ(o,4,0,241,0,y)|0;F=c[z>>2]|0;c[k>>2]=F;if((F|0)==0){r=0;q=283864}else{F=k;F=c[F>>2]|0;i=g;return F|0}while(1){F=XU(c[q>>2]|0,r,p,o)|0;c[k>>2]=F;if((F|0)!=0){m=151;break}r=r+1|0;if(r>>>0<83){q=q+16|0}else{break}}if((m|0)==151){F=k;F=c[F>>2]|0;i=g;return F|0}F=jJ(o,16,n)|0;c[(c[l>>2]|0)+128>>2]=F;if((c[k>>2]|0)!=0){F=k;F=c[F>>2]|0;i=g;return F|0}F=c[(c[l>>2]|0)+128>>2]|0;c[u>>2]=0;c[F+4>>2]=241;c[F>>2]=80;c[F+8>>2]=0;c[F+12>>2]=oJ(o,4,0,241,0,t)|0;F=c[u>>2]|0;c[k>>2]=F;if((F|0)!=0){F=k;F=c[F>>2]|0;i=g;return F|0}c[(c[l>>2]|0)+28>>2]=c[(c[j+36>>2]|0)+12>>2];c[(c[l>>2]|0)+36>>2]=-1;F=k;F=c[F>>2]|0;i=g;return F|0}if((iX(e|0,285192,15)|0)==0){if((v&8|0)==0){c[k>>2]=179;F=k;F=c[F>>2]|0;i=g;return F|0}m=j+8232|0;F=YU(m,285208,e,f)|0;c[k>>2]=F;if((F|0)!=0){F=k;F=c[F>>2]|0;i=g;return F|0}s=c[(c[m>>2]|0)+4>>2]|0;a:do{if((s|0)==0){q=0}else{q=a[s]|0;p=285544;do{if(q<<24>>24==0){q=0;break a}else if(q<<24>>24==48){F=a[s+1|0]|0;if(!(F<<24>>24==88|F<<24>>24==120)){q=48;m=10;p=285544;break}s=s+2|0;q=a[s]|0;m=16;p=285512}else{m=10}}while(0);r=q<<24>>24;if((d[p+(r>>3)|0]&1<<(r&7)|0)==0){q=0;break}else{q=0}while(1){q=da(q,m)|0;q=(d[285344+r|0]|0)+q|0;s=s+1|0;r=a[s]|0;if((1<<(r&7)&d[p+(r>>3)|0]|0)==0){break}else{}}}}while(0);c[(c[l>>2]|0)+72>>2]=q;c[j+4>>2]=q;F=oJ(o,16,0,q,0,n)|0;c[(c[l>>2]|0)+80>>2]=F;if((c[k>>2]|0)!=0){F=k;F=c[F>>2]|0;i=g;return F|0}c[j>>2]=c[j>>2]|16;c[h>>2]=41;F=k;F=c[F>>2]|0;i=g;return F|0}if((iX(e|0,285216,15)|0)==0){if((v&4|0)==0){c[k>>2]=178;F=k;F=c[F>>2]|0;i=g;return F|0}m=j+8232|0;F=YU(m,285208,e,f)|0;c[k>>2]=F;if((F|0)!=0){F=k;F=c[F>>2]|0;i=g;return F|0}o=c[(c[m>>2]|0)+4>>2]|0;do{if((o|0)==0){n=0}else{n=a[o]|0;if(n<<24>>24==0){n=0;break}n=n<<24>>24==45;q=n?o+1|0:o;r=a[q]|0;p=285544;do{if(r<<24>>24==48){F=a[q+1|0]|0;if(!(F<<24>>24==88|F<<24>>24==120)){r=48;o=10;p=285544;break}q=q+2|0;r=a[q]|0;o=16;p=285512}else{o=10}}while(0);r=r<<24>>24;if((d[p+(r>>3)|0]&1<<(r&7)|0)==0){s=0}else{s=0;while(1){s=da(s,o)|0;q=q+1|0;s=(d[285344+r|0]|0)+s<<16>>16;r=a[q]|0;if((1<<(r&7)&d[p+(r>>3)|0]|0)==0){break}else{}}}n=(n?0-s|0:s)&65535}}while(0);b[(c[l>>2]|0)+4>>1]=n;o=c[(c[m>>2]|0)+8>>2]|0;do{if((o|0)==0){n=0}else{n=a[o]|0;if(n<<24>>24==0){n=0;break}n=n<<24>>24==45;s=n?o+1|0:o;q=a[s]|0;p=285544;do{if(q<<24>>24==48){F=a[s+1|0]|0;if(!(F<<24>>24==88|F<<24>>24==120)){q=48;o=10;p=285544;break}s=s+2|0;q=a[s]|0;o=16;p=285512}else{o=10}}while(0);r=q<<24>>24;if((d[p+(r>>3)|0]&1<<(r&7)|0)==0){q=0}else{q=0;while(1){q=da(q,o)|0;s=s+1|0;q=(d[285344+r|0]|0)+q<<16>>16;r=a[s]|0;if((1<<(r&7)&d[p+(r>>3)|0]|0)==0){break}else{}}}n=(n?0-q|0:q)&65535}}while(0);b[(c[l>>2]|0)+6>>1]=n;o=c[(c[m>>2]|0)+12>>2]|0;do{if((o|0)==0){n=0}else{n=a[o]|0;if(n<<24>>24==0){n=0;break}n=n<<24>>24==45;q=n?o+1|0:o;r=a[q]|0;p=285544;do{if(r<<24>>24==48){F=a[q+1|0]|0;if(!(F<<24>>24==88|F<<24>>24==120)){r=48;o=10;p=285544;break}q=q+2|0;r=a[q]|0;o=16;p=285512}else{o=10}}while(0);r=r<<24>>24;if((d[p+(r>>3)|0]&1<<(r&7)|0)==0){s=0}else{s=0;while(1){s=da(s,o)|0;q=q+1|0;s=(d[285344+r|0]|0)+s<<16>>16;r=a[q]|0;if((1<<(r&7)&d[p+(r>>3)|0]|0)==0){break}else{}}}n=(n?0-s|0:s)&65535}}while(0);b[(c[l>>2]|0)+8>>1]=n;n=c[(c[m>>2]|0)+16>>2]|0;do{if((n|0)==0){m=0}else{m=a[n]|0;if(m<<24>>24==0){m=0;break}m=m<<24>>24==45;p=m?n+1|0:n;q=a[p]|0;o=285544;do{if(q<<24>>24==48){F=a[p+1|0]|0;if(!(F<<24>>24==88|F<<24>>24==120)){q=48;n=10;o=285544;break}p=p+2|0;q=a[p]|0;n=16;o=285512}else{n=10}}while(0);r=q<<24>>24;if((d[o+(r>>3)|0]&1<<(r&7)|0)==0){q=0}else{q=0;while(1){q=da(q,n)|0;p=p+1|0;q=(d[285344+r|0]|0)+q<<16>>16;r=a[p]|0;if((1<<(r&7)&d[o+(r>>3)|0]|0)==0){break}else{}}}m=(m?0-q|0:q)&65535}}while(0);b[(c[l>>2]|0)+10>>1]=m;F=c[l>>2]|0;b[F+12>>1]=(b[F+10>>1]|0)+(b[F+6>>1]|0)<<16>>16;F=c[l>>2]|0;b[F+14>>1]=0-(b[F+10>>1]|0)<<16>>16;c[j>>2]=c[j>>2]|8;F=k;F=c[F>>2]|0;i=g;return F|0}if((iX(e|0,285232,4)|0)==0){m=j+8232|0;F=YU(m,285208,e,f)|0;c[k>>2]=F;if((F|0)!=0){F=k;F=c[F>>2]|0;i=g;return F|0}h=j+8240|0;e=c[h>>2]|0;do{if((e|0)!=0){if(e>>>0<2){c[h>>2]=0;break}e=0;t=1;while(1){u=c[m>>2]|0;c[u+(e<<2)>>2]=c[u+(t<<2)>>2];t=t+1|0;u=c[h>>2]|0;if(t>>>0<u>>>0){e=e+1|0}else{break}}w=u+ -1|0;c[h>>2]=w;if((w|0)==0){break}e=c[c[m>>2]>>2]|0;u=e;t=1;f=0;while(1){v=a[u]|0;if(v<<24>>24!=0){w=f;while(1){u=u+1|0;f=w+1|0;a[e+w|0]=v;v=a[u]|0;if(v<<24>>24==0){break}else{w=f}}w=c[h>>2]|0}if(t>>>0<w>>>0){a[e+f|0]=32;w=c[h>>2]|0;f=f+1|0}if(t>>>0>=w>>>0){break}u=c[(c[m>>2]|0)+(t<<2)>>2]|0;t=t+1|0}if((e|0)==285600){e=285600}else{a[e+f|0]=0;if((e|0)==0){break}}lJ(o,c[c[l>>2]>>2]|0);c[c[l>>2]>>2]=0;m=f+1|0;F=oJ(o,1,0,m,0,n)|0;c[c[l>>2]>>2]=F;if((c[k>>2]|0)!=0){F=k;F=c[F>>2]|0;i=g;return F|0}$W(c[c[l>>2]>>2]|0,e|0,m|0)|0;m=c[l>>2]|0;o=c[j+36>>2]|0;do{if((m|0)!=0){n=c[m>>2]|0;if((n|0)==0){break}if((a[n]|0)==0){break}F=c[m+16520>>2]|0;bX(p|0,0,12)|0;l=q+12|0;c[l>>2]=F;m=m+28|0;c[m>>2]=c[o+12>>2];o=(ZW(n|0)|0)+1|0;if(o>>>0>255){break}$W(s|0,n|0,o|0)|0;o=YU(q,285592,r,o)|0;n=(o|0)==0;b:do{if(n){if((c[q+8>>2]|0)!=15){break}switch(a[c[(c[p>>2]|0)+44>>2]|0]|0){case 99:case 67:{c[m>>2]=32;break b};case 109:case 77:{c[m>>2]=16;break b};case 112:case 80:{c[m>>2]=8;break b};default:{break b}}}}while(0);l=c[l>>2]|0;if((l|0)!=0){lJ(l,c[p>>2]|0);bX(p|0,0,16)|0}c[k>>2]=o;if(!n){F=k;F=c[F>>2]|0;i=g;return F|0}c[j>>2]=c[j>>2]|2;F=k;F=c[F>>2]|0;i=g;return F|0}}while(0);c[k>>2]=6;F=k;F=c[F>>2]|0;i=g;return F|0}}while(0);c[k>>2]=3;F=k;F=c[F>>2]|0;i=g;return F|0}if((iX(e|0,285240,4)|0)!=0){if((iX(e|0,285248,5)|0)!=0){c[k>>2]=3;F=k;F=c[F>>2]|0;i=g;return F|0}if((v&8|0)==0){c[k>>2]=179;F=k;F=c[F>>2]|0;i=g;return F|0}c[w+40>>2]=b[w+12>>1]|0;c[E>>2]=b[(c[l>>2]|0)+12>>1]|0;Lb(D|0,285256,B|0)|0;F=_U(c[l>>2]|0,285264,D)|0;c[k>>2]=F;if((F|0)!=0){F=k;F=c[F>>2]|0;i=g;return F|0}F=c[l>>2]|0;c[F+44>>2]=b[F+14>>1]|0;c[C>>2]=b[(c[l>>2]|0)+14>>1]|0;Lb(D|0,285256,A|0)|0;F=_U(c[l>>2]|0,285280,D)|0;c[k>>2]=F;if((F|0)!=0){F=k;F=c[F>>2]|0;i=g;return F|0}b[(c[l>>2]|0)+16516>>1]=1;c[h>>2]=42;c[k>>2]=-1;F=k;F=c[F>>2]|0;i=g;return F|0}if((v&2|0)==0){c[k>>2]=177;F=k;F=c[F>>2]|0;i=g;return F|0}n=j+8232|0;F=YU(n,285208,e,f)|0;c[k>>2]=F;if((F|0)!=0){F=k;F=c[F>>2]|0;i=g;return F|0}r=c[(c[n>>2]|0)+4>>2]|0;c:do{if((r|0)==0){s=0}else{q=a[r]|0;p=285544;do{if(q<<24>>24==48){F=a[r+1|0]|0;if(!(F<<24>>24==88|F<<24>>24==120)){q=48;o=10;p=285544;break}r=r+2|0;q=a[r]|0;o=16;p=285512}else if(q<<24>>24==0){s=0;break c}else{o=10}}while(0);q=q<<24>>24;if((d[p+(q>>3)|0]&1<<(q&7)|0)==0){s=0;break}else{s=0}while(1){s=da(s,o)|0;s=(d[285344+q|0]|0)+s|0;r=r+1|0;q=a[r]|0;if((1<<(q&7)&d[p+(q>>3)|0]|0)==0){break}else{}}}}while(0);c[(c[l>>2]|0)+16>>2]=s;r=c[(c[n>>2]|0)+8>>2]|0;d:do{if((r|0)==0){s=0}else{q=a[r]|0;p=285544;do{if(q<<24>>24==0){s=0;break d}else if(q<<24>>24==48){F=a[r+1|0]|0;if(!(F<<24>>24==88|F<<24>>24==120)){q=48;o=10;p=285544;break}r=r+2|0;q=a[r]|0;o=16;p=285512}else{o=10}}while(0);q=q<<24>>24;if((d[p+(q>>3)|0]&1<<(q&7)|0)==0){s=0;break}else{s=0}while(1){s=da(s,o)|0;s=(d[285344+q|0]|0)+s|0;r=r+1|0;q=a[r]|0;if((1<<(q&7)&d[p+(q>>3)|0]|0)==0){break}else{}}}}while(0);c[(c[l>>2]|0)+20>>2]=s;q=c[(c[n>>2]|0)+12>>2]|0;e:do{if((q|0)==0){r=0}else{r=a[q]|0;p=285544;do{if(r<<24>>24==0){r=0;break e}else if(r<<24>>24==48){F=a[q+1|0]|0;if(!(F<<24>>24==88|F<<24>>24==120)){r=48;o=10;p=285544;break}q=q+2|0;r=a[q]|0;o=16;p=285512}else{o=10}}while(0);s=r<<24>>24;if((d[p+(s>>3)|0]&1<<(s&7)|0)==0){r=0;break}else{r=0}while(1){r=da(r,o)|0;r=(d[285344+s|0]|0)+r|0;q=q+1|0;s=a[q]|0;if((1<<(s&7)&d[p+(s>>3)|0]|0)==0){break}else{}}}}while(0);c[(c[l>>2]|0)+24>>2]=r;do{if((c[j+8240>>2]|0)==5){o=c[(c[n>>2]|0)+16>>2]|0;do{if((o|0)==0){n=0}else{n=a[o]|0;if(n<<24>>24==0){n=0;break}n=n<<24>>24==45;q=n?o+1|0:o;r=a[q]|0;p=285544;do{if(r<<24>>24==48){F=a[q+1|0]|0;if(!(F<<24>>24==88|F<<24>>24==120)){r=48;o=10;p=285544;break}q=q+2|0;r=a[q]|0;o=16;p=285512}else{o=10}}while(0);r=r<<24>>24;if((d[p+(r>>3)|0]&1<<(r&7)|0)==0){s=0}else{s=0;while(1){s=da(s,o)|0;q=q+1|0;s=(d[285344+r|0]|0)+s<<16>>16;r=a[q]|0;if((1<<(r&7)&d[p+(r>>3)|0]|0)==0){break}else{}}}n=(n?0-s|0:s)&65535}}while(0);b[(c[l>>2]|0)+16518>>1]=n;l=(c[l>>2]|0)+16518|0;n=b[l>>1]|0;if(n<<16>>16==0){p=0;m=139}else{p=0;o=0;q=n;while(1){p=(q&1)==0?p:o;q=(q&65535)>>>1;if(q<<16>>16==0){break}else{o=o+1<<16>>16}}if((p&65535)>3){o=8}else{m=139}}if((m|0)==139){o=1<<(p&65535)&65535}if((n&65535|0)==(o|0)){break}b[l>>1]=o<<1}else{b[(c[l>>2]|0)+16518>>1]=1}}while(0);c[j>>2]=c[j>>2]|4;F=k;F=c[F>>2]|0;i=g;return F|0}function XU(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=i;k=i;i=i+8|0;n=k;g=i;i=i+8|0;m=g;j=e+12|0;p=c[j>>2]|0;o=a[b]|0;if(o<<24>>24==0){q=0}else{l=o;r=b;q=0;while(1){r=r+1|0;q=(q*31|0)+(l<<24>>24)|0;l=a[r]|0;if(l<<24>>24==0){break}else{}}}l=e+4|0;t=c[l>>2]|0;s=p+(((q>>>0)%(t>>>0)|0)<<2)|0;r=c[s>>2]|0;a:do{if((r|0)!=0){q=p+(t+ -1<<2)|0;do{r=c[r>>2]|0;if((a[r]|0)==o<<24>>24){if((Qc(r|0,b|0)|0)==0){break a}}r=s+ -4|0;s=r>>>0<p>>>0?q:r;r=c[s>>2]|0;}while((r|0)!=0)}}while(0);c[g>>2]=0;o=c[s>>2]|0;if((o|0)!=0){c[o+4>>2]=d;u=g;u=c[u>>2]|0;i=h;return u|0}m=jJ(f,8,m)|0;if((c[g>>2]|0)!=0){u=g;u=c[u>>2]|0;i=h;return u|0}c[s>>2]=m;c[m>>2]=b;c[m+4>>2]=d;d=e+8|0;b=c[d>>2]|0;do{if((b|0)>=(c[e>>2]|0)){b=c[j>>2]|0;m=c[l>>2]|0;c[k>>2]=0;u=m<<1;c[l>>2]=u;c[e>>2]=(u|0)/3|0;c[j>>2]=oJ(f,4,0,u,0,n)|0;e=c[k>>2]|0;if((e|0)!=0){c[g>>2]=e;u=g;u=c[u>>2]|0;i=h;return u|0}if((m|0)>0){e=b;o=0;while(1){n=c[e>>2]|0;if((n|0)!=0){q=c[n>>2]|0;r=c[j>>2]|0;p=a[q]|0;if(p<<24>>24==0){t=0}else{u=p;s=q;t=0;while(1){s=s+1|0;t=(t*31|0)+(u<<24>>24)|0;u=a[s]|0;if(u<<24>>24==0){break}else{}}}s=c[l>>2]|0;u=r+(((t>>>0)%(s>>>0)|0)<<2)|0;t=c[u>>2]|0;b:do{if((t|0)!=0){s=r+(s+ -1<<2)|0;do{t=c[t>>2]|0;if((a[t]|0)==p<<24>>24){if((Qc(t|0,q|0)|0)==0){break b}}t=u+ -4|0;u=t>>>0<r>>>0?s:t;t=c[u>>2]|0;}while((t|0)!=0)}}while(0);c[u>>2]=n}o=o+1|0;if((o|0)<(m|0)){e=e+4|0}else{break}}}lJ(f,b);u=c[k>>2]|0;c[g>>2]=u;if((u|0)==0){b=c[d>>2]|0;break}else{u=g;u=c[u>>2]|0;i=h;return u|0}}}while(0);c[d>>2]=b+1;u=g;u=c[u>>2]|0;i=h;return u|0}function YU(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=i;k=i;i=i+8|0;l=k;o=i;i=i+8|0;p=o;r=i;i=i+32|0;n=r;j=b+8|0;c[j>>2]=0;if((g|0)==0){u=0;i=h;return u|0}s=a[f]|0;if(s<<24>>24==0){u=0;i=h;return u|0}if((e|0)==0){u=6;i=h;return u|0}q=a[e]|0;if(q<<24>>24==0){u=6;i=h;return u|0}bX(r|0,0,32)|0;r=0;while(1){if(q<<24>>24==43){e=e+1|0;if((a[e]|0)==0){r=1}else{m=9}}else if(q<<24>>24==0){break}else{e=e+1|0;m=9}if((m|0)==9){m=0;t=q&255;u=n+(t>>>3)|0;a[u]=1<<(t&7)|d[u]}q=a[e]|0}e=f+g|0;q=b+4|0;a:do{if((g|0)>0){g=b+12|0;r=(r|0)==0;u=0;t=f;b:while(1){if(s<<24>>24==0){t=u;break a}else{f=t}while(1){s=s&255;u=f+1|0;if((a[n+(s>>>3)|0]&1<<(s&7)|0)!=0){break}s=a[u]|0;if(s<<24>>24==0){f=u;break}else{f=u}}u=c[j>>2]|0;do{if((u|0)==(c[q>>2]|0)){c[o>>2]=0;if((u|0)==-1){u=-1;break}s=u+4+(u>>>1)|0;if((u|0)==536870911){break b}s=s>>>0<u>>>0|s>>>0>536870911?536870911:s;c[b>>2]=oJ(c[g>>2]|0,4,u,s,c[b>>2]|0,p)|0;u=c[o>>2]|0;if((u|0)!=0){m=41;break b}c[q>>2]=s;u=c[j>>2]|0}}while(0);c[j>>2]=u+1;c[(c[b>>2]|0)+(u<<2)>>2]=f>>>0>t>>>0?t:285600;s=a[f]|0;t=s<<24>>24==0;do{if(r){if(t){s=0;t=0;break}m=f+1|0;a[f]=0;t=a[m]|0;f=m;m=29}else{if(t){s=0;t=0;break}else{u=f}while(1){t=s&255;if((a[n+(t>>>3)|0]&1<<(t&7)|0)==0){break}a[u]=0;u=u+1|0;s=a[u]|0;if(s<<24>>24==0){s=0;break}}if(u>>>0>f>>>0){t=s;f=u;m=29}else{t=0;f=u}}}while(0);if((m|0)==29){m=0;s=t;t=t<<24>>24==0|0}if(f>>>0<e>>>0){u=t;t=f}else{break a}}if((m|0)==41){i=h;return u|0}c[o>>2]=64;u=64;i=h;return u|0}else{t=0}}while(0);n=(c[j>>2]|0)+t|0;m=c[q>>2]|0;do{if(n>>>0>=m>>>0){c[k>>2]=0;if(m>>>0>=(n+1|0)>>>0){break}n=m+4+(m>>>1)|0;if((m|0)==536870911){c[k>>2]=64;u=64;i=h;return u|0}n=n>>>0<m>>>0|n>>>0>536870911?536870911:n;c[b>>2]=oJ(c[b+12>>2]|0,4,m,n,c[b>>2]|0,l)|0;k=c[k>>2]|0;if((k|0)==0){c[q>>2]=n;break}else{u=k;i=h;return u|0}}}while(0);if((t|0)!=0){u=c[j>>2]|0;c[j>>2]=u+1;c[(c[b>>2]|0)+(u<<2)>>2]=285600}c[(c[b>>2]|0)+(c[j>>2]<<2)>>2]=0;u=0;i=h;return u|0}function ZU(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;m=i;i=i+8|0;l=m;o=i;i=i+8|0;n=o;k=i;i=i+128|0;if((iX(d|0,285608,13)|0)==0){d=h+32|0;p=c[d>>2]|0;a:do{if((p|0)==0){j=11}else{if((c[p+72>>2]|0)==0){j=11;break}q=c[p+128>>2]|0;e=c[q+12>>2]|0;q=c[q+4>>2]|0;s=e+((1895527114%(q>>>0)|0)<<2)|0;r=c[s>>2]|0;if((r|0)==0){j=11;break}q=e+(q+ -1<<2)|0;while(1){t=c[r>>2]|0;if((a[t]|0)==70){if((Qc(t|0,285264)|0)==0){break}}r=s+ -4|0;s=r>>>0<e>>>0?q:r;r=c[s>>2]|0;if((r|0)==0){j=11;break a}}if((r|0)==0){j=11;break}if(((c[p+80>>2]|0)+(c[r+4>>2]<<4)|0)==0){j=11}}}while(0);do{if((j|0)==11){c[p+40>>2]=b[p+12>>1]|0;c[o>>2]=b[(c[d>>2]|0)+12>>1]|0;Lb(k|0,285256,n|0)|0;e=_U(c[d>>2]|0,285264,k)|0;if((e|0)==0){b[(c[d>>2]|0)+16516>>1]=1;p=c[d>>2]|0;break}else{t=e;i=f;return t|0}}}while(0);b:do{if((p|0)==0){j=22}else{if((c[p+72>>2]|0)==0){j=22;break}n=c[p+128>>2]|0;e=c[n+12>>2]|0;n=c[n+4>>2]|0;q=e+((908209322%(n>>>0)|0)<<2)|0;o=c[q>>2]|0;if((o|0)==0){j=22;break}n=e+(n+ -1<<2)|0;while(1){r=c[o>>2]|0;if((a[r]|0)==70){if((Qc(r|0,285280)|0)==0){break}}o=q+ -4|0;q=o>>>0<e>>>0?n:o;o=c[q>>2]|0;if((o|0)==0){j=22;break b}}if((o|0)==0){j=22;break}if(((c[p+80>>2]|0)+(c[o+4>>2]<<4)|0)==0){j=22}}}while(0);do{if((j|0)==22){c[p+44>>2]=b[p+14>>1]|0;c[m>>2]=b[(c[d>>2]|0)+14>>1]|0;Lb(k|0,285256,l|0)|0;j=_U(c[d>>2]|0,285280,k)|0;if((j|0)==0){b[(c[d>>2]|0)+16516>>1]=1;break}else{t=j;i=f;return t|0}}}while(0);c[h>>2]=c[h>>2]&-17;c[g>>2]=42;t=0;i=f;return t|0}if((iX(d|0,285624,21)|0)==0){t=0;i=f;return t|0}if((iX(d|0,283840,7)|0)==0){g=d+7|0;if((a[g]|0)!=0){a[g]=0;g=d+8|0}t=_U(c[h+32>>2]|0,d,g)|0;i=f;return t|0}g=h+32|0;l=c[g>>2]|0;k=d;while(1){m=a[k]|0;if(m<<24>>24==32|m<<24>>24==9){j=33;break}else if(m<<24>>24==0){m=-1;break}k=k+1|0}if((j|0)==33){a[k]=0;m=m<<24>>24}c:do{if((d|0)==0){j=0}else{n=a[d]|0;if(n<<24>>24==0){j=0;break}j=c[l+16544>>2]|0;q=n;p=d;o=0;do{p=p+1|0;o=(o*31|0)+(q<<24>>24)|0;q=a[p]|0;}while(q<<24>>24!=0);r=c[l+16536>>2]|0;q=j+(((o>>>0)%(r>>>0)|0)<<2)|0;p=c[q>>2]|0;if((p|0)==0){j=0;break}o=j+(r+ -1<<2)|0;while(1){r=c[p>>2]|0;if((a[r]|0)==n<<24>>24){if((Qc(r|0,d|0)|0)==0){break}}p=q+ -4|0;q=p>>>0<j>>>0?o:p;p=c[q>>2]|0;if((p|0)==0){j=0;break c}}if((p|0)==0){j=0;break}j=c[p+4>>2]|0;if(j>>>0>82){j=(c[l+16524>>2]|0)+(j+ -83<<4)|0;break}else{j=283864+(j<<4)|0;break}}}while(0);if((m|0)!=-1){a[k]=m}do{if((j|0)!=0){if((c[j+4>>2]|0)==1){break}j=h+8232|0;d=YU(j,285208,d,e)|0;if((d|0)!=0){t=d;i=f;return t|0}k=c[j>>2]|0;d=c[k>>2]|0;h=h+8240|0;e=c[h>>2]|0;do{if((e|0)==0){e=0}else{if(e>>>0<2){c[h>>2]=0;e=0;break}else{e=0;l=1}while(1){c[k+(e<<2)>>2]=c[k+(l<<2)>>2];l=l+1|0;k=c[h>>2]|0;if(l>>>0>=k>>>0){break}k=c[j>>2]|0;e=e+1|0}o=k+ -1|0;c[h>>2]=o;if((o|0)==0){e=0;break}e=c[c[j>>2]>>2]|0;l=e;k=1;n=0;while(1){m=a[l]|0;if(m<<24>>24!=0){o=n;while(1){l=l+1|0;n=o+1|0;a[e+o|0]=m;m=a[l]|0;if(m<<24>>24==0){break}else{o=n}}o=c[h>>2]|0}if(k>>>0<o>>>0){a[e+n|0]=32;o=c[h>>2]|0;n=n+1|0}if(k>>>0>=o>>>0){break}l=c[(c[j>>2]|0)+(k<<2)>>2]|0;k=k+1|0}if((e|0)==285600){e=285600;break}a[e+n|0]=0}}while(0);t=_U(c[g>>2]|0,d,e)|0;i=f;return t|0}}while(0);a[k]=0;while(1){l=k+1|0;j=a[l]|0;if(j<<24>>24==32|j<<24>>24==9){k=l}else{break}}h=d+e|0;j=j<<24>>24==34?k+2|0:l;d:do{if(h>>>0>j>>>0){while(1){h=h+ -1|0;e=a[h]|0;if(e<<24>>24==34){break}else if(!(e<<24>>24==9|e<<24>>24==32)){break d}a[h]=0;if(h>>>0<=j>>>0){break d}}a[h]=0}}while(0);t=_U(c[g>>2]|0,d,j)|0;i=f;return t|0}function _U(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=i;m=i;i=i+8|0;n=m;g=i;i=i+8|0;l=g;j=c[b+16520>>2]|0;c[g>>2]=0;k=b+128|0;r=c[k>>2]|0;q=c[r+12>>2]|0;p=a[e]|0;t=p<<24>>24==0;if(t){s=0}else{v=p;u=e;s=0;while(1){u=u+1|0;s=(s*31|0)+(v<<24>>24)|0;v=a[u]|0;if(v<<24>>24==0){break}else{}}}r=c[r+4>>2]|0;u=q+(((s>>>0)%(r>>>0)|0)<<2)|0;s=c[u>>2]|0;a:do{if((s|0)!=0){r=q+(r+ -1<<2)|0;while(1){v=c[s>>2]|0;if((a[v]|0)==p<<24>>24){if((Qc(v|0,e|0)|0)==0){break}}s=u+ -4|0;u=s>>>0<q>>>0?r:s;s=c[u>>2]|0;if((s|0)==0){break a}}if((s|0)==0){break}b=c[b+80>>2]|0;k=c[s+4>>2]|0;e=c[b+(k<<4)+4>>2]|0;if((e|0)==3){b:do{if((f|0)==0){m=0}else{l=a[f]|0;e=285544;do{if(l<<24>>24==0){m=0;break b}else if(l<<24>>24==48){z=a[f+1|0]|0;if(!(z<<24>>24==88|z<<24>>24==120)){l=48;j=10;e=285544;break}f=f+2|0;l=a[f]|0;j=16;e=285512}else{j=10}}while(0);l=l<<24>>24;if((d[e+(l>>3)|0]&1<<(l&7)|0)==0){m=0;break}else{m=0}do{z=da(m,j)|0;m=(d[285344+l|0]|0)+z|0;f=f+1|0;l=a[f]|0;}while((1<<(l&7)&d[e+(l>>3)|0]|0)!=0)}}while(0);c[b+(k<<4)+12>>2]=m;z=g;z=c[z>>2]|0;i=h;return z|0}else if((e|0)==1){b=b+(k<<4)+12|0;lJ(j,c[b>>2]|0);c[b>>2]=0;if((f|0)==0){z=g;z=c[z>>2]|0;i=h;return z|0}if((a[f]|0)==0){z=g;z=c[z>>2]|0;i=h;return z|0}c[b>>2]=aL(j,f,l)|0;z=g;z=c[z>>2]|0;i=h;return z|0}else if((e|0)==2){do{if((f|0)==0){j=0}else{j=a[f]|0;if(j<<24>>24==0){j=0;break}j=j<<24>>24==45;l=j?f+1|0:f;m=a[l]|0;f=285544;do{if(m<<24>>24==48){z=a[l+1|0]|0;if(!(z<<24>>24==88|z<<24>>24==120)){m=48;e=10;f=285544;break}l=l+2|0;m=a[l]|0;e=16;f=285512}else{e=10}}while(0);m=m<<24>>24;if((d[f+(m>>3)|0]&1<<(m&7)|0)==0){n=0}else{n=0;while(1){n=da(n,e)|0;n=(d[285344+m|0]|0)+n|0;l=l+1|0;m=a[l]|0;if((1<<(m&7)&d[f+(m>>3)|0]|0)==0){break}else{}}}j=j?0-n|0:n}}while(0);c[b+(k<<4)+12>>2]=j;z=g;z=c[z>>2]|0;i=h;return z|0}else{z=g;z=c[z>>2]|0;i=h;return z|0}}}while(0);s=b+16532|0;r=b+16544|0;u=c[r>>2]|0;if(t){w=0}else{w=p;q=e;v=0;while(1){q=q+1|0;v=(v*31|0)+(w<<24>>24)|0;w=a[q]|0;if(w<<24>>24==0){w=v;break}else{}}}q=b+16536|0;v=c[q>>2]|0;y=u+(((w>>>0)%(v>>>0)|0)<<2)|0;x=c[y>>2]|0;c:do{if((x|0)==0){o=38}else{w=u+(v+ -1<<2)|0;while(1){z=c[x>>2]|0;if((a[z]|0)==p<<24>>24){if((Qc(z|0,e|0)|0)==0){break}}x=y+ -4|0;y=x>>>0<u>>>0?w:x;x=c[y>>2]|0;if((x|0)==0){o=38;break c}}if((x|0)==0){o=38}}}while(0);d:do{if((o|0)==38){c[m>>2]=0;if(t){x=0}else{w=p;t=e;x=0;while(1){t=t+1|0;x=(x*31|0)+(w<<24>>24)|0;w=a[t]|0;if(w<<24>>24==0){break}else{}}}w=u+(((x>>>0)%(v>>>0)|0)<<2)|0;x=c[w>>2]|0;e:do{if((x|0)==0){o=46}else{t=u+(v+ -1<<2)|0;v=x;while(1){x=c[v>>2]|0;if((a[x]|0)==p<<24>>24){if((Qc(x|0,e|0)|0)==0){break}}v=w+ -4|0;w=v>>>0<u>>>0?t:v;v=c[w>>2]|0;if((v|0)==0){o=46;break e}}if((v|0)==0){o=46}}}while(0);f:do{if((o|0)==46){o=b+16528|0;p=c[o>>2]|0;w=b+16524|0;p=oJ(j,16,p,p+1|0,c[w>>2]|0,n)|0;c[w>>2]=p;w=c[m>>2]|0;do{if((w|0)==0){u=c[o>>2]|0;v=p+(u<<4)|0;bX(v|0,0,16)|0;t=(ZW(e|0)|0)+1|0;n=oJ(j,1,0,t,0,n)|0;c[v>>2]=n;w=c[m>>2]|0;if((w|0)!=0){break}$W(n|0,e|0,t|0)|0;c[p+(u<<4)+4>>2]=1;c[p+(u<<4)+8>>2]=0;w=XU(c[v>>2]|0,(c[o>>2]|0)+83|0,s,j)|0;c[m>>2]=w;if((w|0)!=0){break}c[o>>2]=(c[o>>2]|0)+1;p=a[e]|0;u=c[r>>2]|0;break f}}while(0);c[g>>2]=w;z=g;z=c[z>>2]|0;i=h;return z|0}}while(0);c[g>>2]=0;if(p<<24>>24==0){o=0}else{n=p;m=e;o=0;while(1){m=m+1|0;o=(o*31|0)+(n<<24>>24)|0;n=a[m]|0;if(n<<24>>24==0){break}else{}}}m=c[q>>2]|0;n=u+(((o>>>0)%(m>>>0)|0)<<2)|0;x=c[n>>2]|0;if((x|0)==0){x=0;break}m=u+(m+ -1<<2)|0;while(1){o=c[x>>2]|0;if((a[o]|0)==p<<24>>24){if((Qc(o|0,e|0)|0)==0){break d}}n=n+ -4|0;n=n>>>0<u>>>0?m:n;x=c[n>>2]|0;if((x|0)==0){x=0;break}}}}while(0);m=b+76|0;o=c[m>>2]|0;n=b+72|0;if((o|0)==(c[n>>2]|0)){do{if((o|0)==0){o=oJ(j,16,0,1,0,l)|0;c[b+80>>2]=o;if((c[g>>2]|0)==0){break}z=g;z=c[z>>2]|0;i=h;return z|0}else{z=b+80|0;o=oJ(j,16,o,o+1|0,c[z>>2]|0,l)|0;c[z>>2]=o;if((c[g>>2]|0)==0){break}z=g;z=c[z>>2]|0;i=h;return z|0}}while(0);bX(o+(c[n>>2]<<4)|0,0,16)|0;c[n>>2]=(c[n>>2]|0)+1}n=c[x+4>>2]|0;if(n>>>0>82){q=(c[b+16524>>2]|0)+(n+ -83<<4)|0}else{q=283864+(n<<4)|0}p=c[b+80>>2]|0;o=c[m>>2]|0;n=p+(o<<4)|0;c[n>>2]=c[q>>2];z=q+4|0;c[p+(o<<4)+4>>2]=c[z>>2];c[p+(o<<4)+8>>2]=c[q+8>>2];q=c[z>>2]|0;do{if((q|0)==3){g:do{if((f|0)==0){s=0}else{r=a[f]|0;q=285544;do{if(r<<24>>24==48){z=a[f+1|0]|0;if(!(z<<24>>24==88|z<<24>>24==120)){r=48;l=10;q=285544;break}f=f+2|0;r=a[f]|0;l=16;q=285512}else if(r<<24>>24==0){s=0;break g}else{l=10}}while(0);r=r<<24>>24;if((d[q+(r>>3)|0]&1<<(r&7)|0)==0){s=0;break}else{s=0}do{z=da(s,l)|0;s=(d[285344+r|0]|0)+z|0;f=f+1|0;r=a[f]|0;}while((1<<(r&7)&d[q+(r>>3)|0]|0)!=0)}}while(0);c[p+(o<<4)+12>>2]=s}else if((q|0)==2){do{if((f|0)==0){f=0}else{l=a[f]|0;if(l<<24>>24==0){f=0;break}l=l<<24>>24==45;s=l?f+1|0:f;r=a[s]|0;q=285544;do{if(r<<24>>24==48){z=a[s+1|0]|0;if(!(z<<24>>24==88|z<<24>>24==120)){r=48;f=10;q=285544;break}s=s+2|0;r=a[s]|0;f=16;q=285512}else{f=10}}while(0);t=r<<24>>24;if((d[q+(t>>3)|0]&1<<(t&7)|0)==0){r=0}else{r=0;while(1){r=da(r,f)|0;r=(d[285344+t|0]|0)+r|0;s=s+1|0;t=a[s]|0;if((1<<(t&7)&d[q+(t>>3)|0]|0)==0){break}else{}}}f=l?0-r|0:r}}while(0);c[p+(o<<4)+12>>2]=f}else if((q|0)==1){q=p+(o<<4)+12|0;c[q>>2]=0;if((f|0)==0){break}if((a[f]|0)==0){break}c[q>>2]=aL(j,f,l)|0;if((c[g>>2]|0)==0){break}z=g;z=c[z>>2]|0;i=h;return z|0}}while(0);do{if((iX(e|0,283840,7)|0)!=0){z=XU(c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,j)|0;c[g>>2]=z;if((z|0)==0){break}z=g;z=c[z>>2]|0;i=h;return z|0}}while(0);c[m>>2]=(c[m>>2]|0)+1;if((iX(e|0,285576,12)|0)==0){c[b+36>>2]=c[p+(o<<4)+12>>2];z=g;z=c[z>>2]|0;i=h;return z|0}if((iX(e|0,285264,11)|0)==0){c[b+40>>2]=c[p+(o<<4)+12>>2];z=g;z=c[z>>2]|0;i=h;return z|0}if((iX(e|0,285280,12)|0)==0){c[b+44>>2]=c[p+(o<<4)+12>>2];z=g;z=c[z>>2]|0;i=h;return z|0}if((iX(e|0,283576,7)|0)!=0){z=g;z=c[z>>2]|0;i=h;return z|0}j=c[p+(o<<4)+12>>2]|0;if((j|0)==0){c[g>>2]=3;z=g;z=c[z>>2]|0;i=h;return z|0}switch(a[j]|0){case 77:case 109:{c[b+28>>2]=16;z=g;z=c[z>>2]|0;i=h;return z|0};case 80:case 112:{c[b+28>>2]=8;z=g;z=c[z>>2]|0;i=h;return z|0};case 67:case 99:{c[b+28>>2]=32;z=g;z=c[z>>2]|0;i=h;return z|0};default:{z=g;z=c[z>>2]|0;i=h;return z|0}}return 0}function $U(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;h=i;n=i;i=i+8|0;p=n;l=i;i=i+8|0;q=l;c[l>>2]=0;r=k+32|0;m=c[r>>2]|0;j=c[m+16520>>2]|0;a:do{if((iX(f|0,283840,7)|0)==0){q=f+7|0;if((a[q]|0)==0){o=g+ -7|0;g=q}else{o=g+ -8|0;g=f+8|0}c[n>>2]=0;q=m+88|0;u=c[q>>2]|0;f=o+1|0;v=m+84|0;m=oJ(j,1,u,u+f|0,c[v>>2]|0,p)|0;c[v>>2]=m;p=c[n>>2]|0;if((p|0)==0){p=c[q>>2]|0;$W(m+p|0,g|0,o|0)|0;a[m+(p+o)|0]=10;c[q>>2]=(c[q>>2]|0)+f;p=c[n>>2]|0}c[l>>2]=p;o=178}else{s=c[k>>2]|0;b:do{if((s&32|0)==0){if((iX(f|0,285248,5)|0)!=0){c[l>>2]=180;p=180;m=k;break a}n=k+8232|0;p=YU(n,285208,f,g)|0;c[l>>2]=p;if((p|0)!=0){m=k;break a}f=c[(c[n>>2]|0)+4>>2]|0;c:do{if((f|0)==0){o=17}else{g=a[f]|0;p=285544;do{if(g<<24>>24==48){v=a[f+1|0]|0;if(!(v<<24>>24==88|v<<24>>24==120)){g=48;n=10;p=285544;break}f=f+2|0;g=a[f]|0;n=16;p=285512}else if(g<<24>>24==0){o=17;break c}else{n=10}}while(0);g=g<<24>>24;if((d[p+(g>>3)|0]&1<<(g&7)|0)==0){o=17;break}else{r=f;f=0}do{v=da(f,n)|0;f=(d[285344+g|0]|0)+v|0;r=r+1|0;g=a[r]|0;}while((1<<(g&7)&d[p+(g>>3)|0]|0)!=0);n=m+48|0;c[n>>2]=f;p=k+4|0;c[p>>2]=f;if((f|0)==0){o=19}}}while(0);if((o|0)==17){n=m+48|0;c[n>>2]=0;p=k+4|0;c[p>>2]=0;o=19}if((o|0)==19){c[n>>2]=64;f=c[p>>2]|0}if(f>>>0>1114111){c[l>>2]=6;p=6;m=k;break a}c[m+56>>2]=oJ(j,36,0,c[n>>2]|0,0,q)|0;p=c[l>>2]|0;if((p|0)!=0){m=k;break a}c[k>>2]=c[k>>2]|32}else{if((iX(f|0,285296,7)|0)==0){pb(c[m+56>>2]|0,c[m+52>>2]|0,36,202);c[k>>2]=c[k>>2]&-2;break}if((iX(f|0,285304,7)|0)==0){c[k+28>>2]=0;c[k>>2]=s&-4033;break}n=(s&64|0)==0;do{if(!n){if((c[k+28>>2]|0)!=-1){break}if((c[(c[k+36>>2]|0)+4>>2]|0)==0){break b}}}while(0);if((iX(f|0,285312,9)|0)==0){m=k+24|0;lJ(j,c[m>>2]|0);c[m>>2]=0;n=k+8232|0;p=YU(n,285208,f,g)|0;c[l>>2]=p;if((p|0)!=0){m=k;break a}p=k+8240|0;f=c[p>>2]|0;do{if((f|0)!=0){if(f>>>0<2){c[p>>2]=0;break}f=0;g=1;while(1){r=c[n>>2]|0;c[r+(f<<2)>>2]=c[r+(g<<2)>>2];g=g+1|0;r=c[p>>2]|0;if(g>>>0<r>>>0){f=f+1|0}else{break}}u=r+ -1|0;c[p>>2]=u;if((u|0)==0){break}f=c[c[n>>2]>>2]|0;r=f;g=1;t=0;while(1){s=a[r]|0;if(s<<24>>24!=0){u=t;while(1){r=r+1|0;t=u+1|0;a[f+u|0]=s;s=a[r]|0;if(s<<24>>24==0){break}else{u=t}}u=c[p>>2]|0}if(g>>>0<u>>>0){a[f+t|0]=32;u=c[p>>2]|0;t=t+1|0}if(g>>>0>=u>>>0){break}r=c[(c[n>>2]|0)+(g<<2)>>2]|0;g=g+1|0}if((f|0)==285600){f=285600}else{a[f+t|0]=0;if((f|0)==0){break}}n=t+1|0;q=oJ(j,1,0,n,0,q)|0;c[m>>2]=q;p=c[l>>2]|0;if((p|0)!=0){m=k;break a}$W(q|0,f|0,n|0)|0;c[k>>2]=c[k>>2]|64;break b}}while(0);c[l>>2]=3;p=3;m=k;break a}if((iX(f|0,285328,8)|0)==0){if(n){c[l>>2]=181;p=181;m=k;break a}n=k+8232|0;p=YU(n,285208,f,g)|0;c[l>>2]=p;if((p|0)!=0){m=k;break a}p=c[(c[n>>2]|0)+4>>2]|0;do{if((p|0)==0){o=63}else{n=a[p]|0;if(n<<24>>24==0){o=63;break}n=n<<24>>24==45;g=n?p+1|0:p;r=a[g]|0;f=285544;do{if(r<<24>>24==48){v=a[g+1|0]|0;if(!(v<<24>>24==88|v<<24>>24==120)){r=48;p=10;f=285544;break}g=g+2|0;r=a[g]|0;p=16;f=285512}else{p=10}}while(0);s=r<<24>>24;if((d[f+(s>>3)|0]&1<<(s&7)|0)==0){r=0}else{r=0;while(1){r=da(r,p)|0;r=(d[285344+s|0]|0)+r|0;g=g+1|0;s=a[g]|0;if((1<<(s&7)&d[f+(s>>3)|0]|0)==0){break}else{}}}p=n?0-r|0:r;n=k+28|0;c[n>>2]=p;if(p>>>0<=65535){break}c[l>>2]=3;p=3;m=k;break a}}while(0);if((o|0)==63){n=k+28|0;c[n>>2]=0;p=0}f=k+40+(p>>5<<2)|0;g=c[f>>2]|0;p=1<<(p&31);if((p&g|0)==0){c[f>>2]=p|g}else{c[n>>2]=-1;b[m+16516>>1]=1}if((c[n>>2]|0)>-1){p=m+52|0;g=c[p>>2]|0;f=m+48|0;if((g|0)==(c[f>>2]|0)){m=m+56|0;q=oJ(j,36,g,g+64|0,c[m>>2]|0,q)|0;c[m>>2]=q;m=c[l>>2]|0;if((m|0)!=0){p=m;m=k;break a}c[f>>2]=(c[f>>2]|0)+64;g=c[p>>2]|0}else{q=c[m+56>>2]|0}c[p>>2]=g+1;v=k+24|0;c[q+(g*36|0)>>2]=c[v>>2];c[q+(g*36|0)+4>>2]=c[n>>2];c[v>>2]=0}else{if((c[(c[k+36>>2]|0)+4>>2]|0)==0){v=k+24|0;lJ(j,c[v>>2]|0);c[v>>2]=0}else{n=m+64|0;f=c[n>>2]|0;p=m+60|0;if((f|0)==(c[p>>2]|0)){m=m+68|0;q=oJ(j,36,f,f+4|0,c[m>>2]|0,q)|0;c[m>>2]=q;m=c[l>>2]|0;if((m|0)!=0){p=m;m=k;break a}c[p>>2]=(c[p>>2]|0)+4;f=c[n>>2]|0}else{q=c[m+68>>2]|0}c[q+(f*36|0)>>2]=c[k+24>>2];v=c[n>>2]|0;c[n>>2]=v+1;c[q+(f*36|0)+4>>2]=v}c[k+24>>2]=0}c[k>>2]=c[k>>2]&1073741695|128;break}p=k+28|0;if((c[p>>2]|0)==-1){n=(c[m+68>>2]|0)+(((c[m+64>>2]|0)+ -1|0)*36|0)|0}else{n=(c[m+56>>2]|0)+(((c[m+52>>2]|0)+ -1|0)*36|0)|0}if((s&2048|0)!=0){p=k+8|0;g=c[p>>2]|0;if(g>>>0>=(e[n+14>>1]|0)>>>0){if((s|0)<0){break}c[k>>2]=s|-2147483648;b[m+16516>>1]=1;break}s=c[n+28>>2]|0;q=s<<1;g=(c[n+24>>2]|0)+(da(s,g)|0)|0;s=0;d:while(1){while(1){if(s>>>0>=q>>>0){break d}a[g]=(a[g]<<4&255)+(a[285344+(a[f+s|0]|0)|0]|0)<<24>>24;t=s+1|0;if(t>>>0>=q>>>0|(s&1|0)==0){s=t}else{break}}s=g+1|0;a[s]=0;g=s;s=t}n=b[n+12>>1]|0;if(n<<16>>16!=0){v=a[285472+((da(e[(c[r>>2]|0)+16518>>1]|0,n&65535)|0)&7)|0]|0;a[g]=a[g]&v}n=a[f+q|0]|0;if(n<<24>>24==48){o=100}else{if((a[285344+(n<<24>>24)|0]|0)!=0){o=100}}do{if((o|0)==100){n=c[k>>2]|0;if((n&1073741824|0)!=0){break}c[k>>2]=n|1073741824;b[m+16516>>1]=1}}while(0);c[p>>2]=(c[p>>2]|0)+1;break}if((iX(f|0,285480,6)|0)==0){if((s&128|0)==0){c[l>>2]=182;p=182;m=k;break a}m=k+8232|0;p=YU(m,285208,f,g)|0;c[l>>2]=p;if((p|0)!=0){m=k;break a}p=c[(c[m>>2]|0)+4>>2]|0;e:do{if((p|0)==0){m=0}else{q=a[p]|0;o=285544;do{if(q<<24>>24==48){v=a[p+1|0]|0;if(!(v<<24>>24==88|v<<24>>24==120)){q=48;m=10;o=285544;break}p=p+2|0;q=a[p]|0;m=16;o=285512}else if(q<<24>>24==0){m=0;break e}else{m=10}}while(0);q=q<<24>>24;if((d[o+(q>>3)|0]&1<<(q&7)|0)==0){m=0;break}else{f=0}do{v=da(f,m)|0;f=(d[285344+q|0]|0)+v|0;p=p+1|0;q=a[p]|0;}while((1<<(q&7)&d[o+(q>>3)|0]|0)!=0);m=f&65535}}while(0);b[n+8>>1]=m;c[k>>2]=c[k>>2]|256;break}if((iX(f|0,285488,6)|0)==0){q=k+8232|0;p=YU(q,285208,f,g)|0;c[l>>2]=p;if((p|0)!=0){m=k;break a}f=c[(c[q>>2]|0)+4>>2]|0;f:do{if((f|0)==0){g=0}else{q=a[f]|0;p=285544;do{if(q<<24>>24==0){g=0;break f}else if(q<<24>>24==48){v=a[f+1|0]|0;if(!(v<<24>>24==88|v<<24>>24==120)){q=48;o=10;p=285544;break}f=f+2|0;q=a[f]|0;o=16;p=285512}else{o=10}}while(0);q=q<<24>>24;if((d[p+(q>>3)|0]&1<<(q&7)|0)==0){g=0;break}else{g=0}while(1){g=da(g,o)|0;g=(d[285344+q|0]|0)+g|0;f=f+1|0;q=a[f]|0;if((1<<(q&7)&d[p+(q>>3)|0]|0)==0){break}else{}}}}while(0);b[n+10>>1]=g;o=c[k>>2]|0;if((o&256|0)==0){b[n+8>>1]=_I(g&65535,72e3,da(c[m+20>>2]|0,c[m+16>>2]|0)|0)|0;o=c[k>>2]|0}c[k>>2]=o|512;break}if((iX(f|0,285496,3)|0)!=0){if((iX(f|0,285504,6)|0)!=0){c[l>>2]=3;p=3;m=k;break a}if((s&1024|0)==0){c[l>>2]=183;p=183;m=k;break a}m=((da(e[m+16518>>1]|0,e[n+12>>1]|0)|0)+7|0)>>>3;c[n+28>>2]=m;m=da(m,e[n+14>>1]|0)|0;if(m>>>0>65535){c[l>>2]=184;p=184;m=k;break a}b[n+32>>1]=m;c[n+24>>2]=oJ(j,1,0,m&65535,0,q)|0;p=c[l>>2]|0;if((p|0)!=0){m=k;break a}c[k+8>>2]=0;c[k>>2]=c[k>>2]|2048;break}q=k+8232|0;f=YU(q,285208,f,g)|0;c[l>>2]=f;if((f|0)!=0){p=f;m=k;break a}f=c[(c[q>>2]|0)+4>>2]|0;do{if((f|0)==0){f=0}else{o=a[f]|0;if(o<<24>>24==0){f=0;break}o=o<<24>>24==45;s=o?f+1|0:f;r=a[s]|0;g=285544;do{if(r<<24>>24==48){v=a[s+1|0]|0;if(!(v<<24>>24==88|v<<24>>24==120)){r=48;f=10;g=285544;break}s=s+2|0;r=a[s]|0;f=16;g=285512}else{f=10}}while(0);r=r<<24>>24;if((d[g+(r>>3)|0]&1<<(r&7)|0)==0){s=0}else{t=s;s=0;while(1){s=da(s,f)|0;t=t+1|0;s=(d[285344+r|0]|0)+s<<16>>16;r=a[t]|0;if((1<<(r&7)&d[g+(r>>3)|0]|0)==0){break}else{}}}f=(o?0-s|0:s)&65535}}while(0);o=n+12|0;b[o>>1]=f;g=c[(c[q>>2]|0)+8>>2]|0;do{if((g|0)==0){f=0}else{f=a[g]|0;if(f<<24>>24==0){f=0;break}f=f<<24>>24==45;s=f?g+1|0:g;t=a[s]|0;r=285544;do{if(t<<24>>24==48){v=a[s+1|0]|0;if(!(v<<24>>24==88|v<<24>>24==120)){t=48;g=10;r=285544;break}s=s+2|0;t=a[s]|0;g=16;r=285512}else{g=10}}while(0);t=t<<24>>24;if((d[r+(t>>3)|0]&1<<(t&7)|0)==0){s=0}else{u=s;s=0;while(1){s=da(s,g)|0;u=u+1|0;s=(d[285344+t|0]|0)+s<<16>>16;t=a[u]|0;if((1<<(t&7)&d[r+(t>>3)|0]|0)==0){break}else{}}}f=(f?0-s|0:s)&65535}}while(0);b[n+14>>1]=f;r=c[(c[q>>2]|0)+12>>2]|0;do{if((r|0)==0){r=0}else{g=a[r]|0;if(g<<24>>24==0){r=0;break}g=g<<24>>24==45;u=g?r+1|0:r;t=a[u]|0;s=285544;do{if(t<<24>>24==48){v=a[u+1|0]|0;if(!(v<<24>>24==88|v<<24>>24==120)){t=48;r=10;s=285544;break}u=u+2|0;t=a[u]|0;r=16;s=285512}else{r=10}}while(0);v=t<<24>>24;if((d[s+(v>>3)|0]&1<<(v&7)|0)==0){t=0}else{t=0;while(1){t=da(t,r)|0;u=u+1|0;t=(d[285344+v|0]|0)+t<<16>>16;v=a[u]|0;if((1<<(v&7)&d[s+(v>>3)|0]|0)==0){break}else{}}}r=(g?0-t|0:t)&65535}}while(0);g=n+16|0;b[g>>1]=r;r=c[(c[q>>2]|0)+16>>2]|0;do{if((r|0)==0){r=0}else{q=a[r]|0;if(q<<24>>24==0){r=0;break}q=q<<24>>24==45;t=q?r+1|0:r;u=a[t]|0;s=285544;do{if(u<<24>>24==48){v=a[t+1|0]|0;if(!(v<<24>>24==88|v<<24>>24==120)){u=48;r=10;s=285544;break}t=t+2|0;u=a[t]|0;r=16;s=285512}else{r=10}}while(0);v=u<<24>>24;if((d[s+(v>>3)|0]&1<<(v&7)|0)==0){u=0}else{u=0;while(1){u=da(u,r)|0;t=t+1|0;u=(d[285344+v|0]|0)+u<<16>>16;v=a[t]|0;if((1<<(v&7)&d[s+(v>>3)|0]|0)==0){break}else{}}}r=(q?0-u|0:u)&65535}}while(0);b[n+18>>1]=r;q=f+r<<16>>16;b[n+20>>1]=q;f=n+22|0;b[f>>1]=0-r<<16>>16;r=k+18|0;s=b[r>>1]|0;b[r>>1]=q<<16>>16>s<<16>>16?q:s;q=b[f>>1]|0;f=k+20|0;r=b[f>>1]|0;b[f>>1]=q<<16>>16>r<<16>>16?q:r;r=(b[g>>1]|0)+(b[o>>1]|0)<<16>>16;b[k+22>>1]=r;f=k+16|0;q=b[f>>1]|0;b[f>>1]=r<<16>>16>q<<16>>16?r:q;f=b[g>>1]|0;q=k+12|0;r=b[q>>1]|0;b[q>>1]=f<<16>>16<r<<16>>16?f:r;f=b[g>>1]|0;q=k+14|0;g=b[q>>1]|0;b[q>>1]=f<<16>>16>g<<16>>16?f:g;if((c[k>>2]&512|0)==0){b[n+10>>1]=b[o>>1]|0}do{if((c[c[k+36>>2]>>2]|0)!=0){q=_I(e[n+10>>1]|0,72e3,da(c[m+20>>2]|0,c[m+16>>2]|0)|0)|0;o=n+8|0;q=q&65535;if((b[o>>1]|0)==q<<16>>16){break}b[o>>1]=q;if((c[p>>2]|0)==-1){u=(c[m+64>>2]|0)+ -1|0;v=m+8324+(u>>>5<<2)|0;c[v>>2]=1<<(u&31)|c[v>>2]}else{u=c[n+4>>2]|0;v=m+132+(u>>5<<2)|0;c[v>>2]=1<<(u&31)|c[v>>2]}c[k>>2]=c[k>>2]|4096;b[m+16516>>1]=1}}while(0);c[k>>2]=c[k>>2]|1024}}while(0);p=c[l>>2]|0;o=178}}while(0);do{if((o|0)==178){if((p|0)==0){v=0;i=h;return v|0}else{m=k;break}}}while(0);if((c[m>>2]&64|0)==0){v=p;i=h;return v|0}v=k+24|0;lJ(j,c[v>>2]|0);c[v>>2]=0;v=c[l>>2]|0;i=h;return v|0}function aV(a,b){a=a|0;b=b|0;var d=0;d=i;a=c[a+4>>2]|0;b=c[b+4>>2]|0;if((a|0)<(b|0)){a=-1;i=d;return a|0}a=(a|0)>(b|0)|0;i=d;return a|0}function bV(a,b,d){a=a|0;b=b|0;d=d|0;c[b>>2]=c[a+132>>2];c[d>>2]=c[a+136>>2];i=i;return 0}function cV(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;h=c[b+140>>2]|0;if((h|0)==0){n=6;i=f;return n|0}if((c[h+72>>2]|0)==0|(d|0)==0){n=6;i=f;return n|0}b=a[d]|0;if(b<<24>>24==0){n=6;i=f;return n|0}m=c[h+128>>2]|0;j=c[m+12>>2]|0;n=b;l=d;k=0;do{l=l+1|0;k=(k*31|0)+(n<<24>>24)|0;n=a[l]|0;}while(n<<24>>24!=0);n=c[m+4>>2]|0;m=j+(((k>>>0)%(n>>>0)|0)<<2)|0;l=c[m>>2]|0;if((l|0)==0){n=6;i=f;return n|0}k=j+(n+ -1<<2)|0;while(1){n=c[l>>2]|0;if((a[n]|0)==b<<24>>24){if((Qc(n|0,d|0)|0)==0){break}}l=m+ -4|0;m=l>>>0<j>>>0?k:l;l=c[m>>2]|0;if((l|0)==0){e=6;g=17;break}}if((g|0)==17){i=f;return e|0}if((l|0)==0){n=6;i=f;return n|0}g=c[h+80>>2]|0;d=c[l+4>>2]|0;if((g+(d<<4)|0)==0){n=6;i=f;return n|0}b=c[g+(d<<4)+4>>2]|0;if((b|0)==3){c[e>>2]=3;c[e+4>>2]=c[g+(d<<4)+12>>2];n=0;i=f;return n|0}else if((b|0)==1){c[e>>2]=1;c[e+4>>2]=c[g+(d<<4)+12>>2];n=0;i=f;return n|0}else if((b|0)==2){c[e>>2]=2;c[e+4>>2]=c[g+(d<<4)+12>>2];n=0;i=f;return n|0}else{n=6;i=f;return n|0}return 0}function dV(a){a=a|0;i=i;return 0}function eV(a){a=a|0;i=i;return}function fV(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=uJ(290784,b)|0;if((e|0)!=0){a=e;i=d;return a|0}if((a|0)==0){a=0;i=d;return a|0}e=mK(c[a+4>>2]|0,287128)|0;if((e|0)==0){a=0;i=d;return a|0}a=Bd[c[(c[e>>2]|0)+32>>2]&255](e,b)|0;i=d;return a|0}function gV(f,g,h,j,k){f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;n=i;q=i;i=i+8|0;v=i;i=i+8|0;r=i;i=i+8|0;x=i;i=i+8|0;y=x;A=i;i=i+8|0;B=A;w=i;i=i+8|0;z=w;I=i;i=i+8|0;H=I;M=i;i=i+8|0;L=M;J=i;i=i+8|0;K=J;P=i;i=i+8|0;Q=P;N=i;i=i+8|0;O=N;U=i;i=i+8|0;W=U;R=i;i=i+8|0;X=R;_=i;i=i+8|0;aa=_;E=i;i=i+8|0;da=E;D=i;i=i+32|0;F=D;Y=i;i=i+32|0;Z=Y;m=i;i=i+8|0;p=m;o=i;i=i+16|0;l=o;t=g+96|0;ca=c[(c[t>>2]|0)+4>>2]|0;s=nK(ca,287128)|0;a:do{if((s|0)==0){u=304}else{C=oK(c[t>>2]|0,287136)|0;G=nK(ca,287160)|0;ha=PJ(f,0)|0;c[m>>2]=ha;if((ha|0)!=0){break}ha=Cd[c[s+4>>2]&63](f,g,h,j,k)|0;c[m>>2]=ha;if((ha|0)==0){if((c[g+148>>2]|0)!=1330926671){u=304;break}if((h|0)<0){ha=0;i=n;return ha|0}if((h|0)>0){c[m>>2]=6;break}t=g+508|0;ha=pd[c[t>>2]&63](g,1751474532,f,0)|0;c[m>>2]=ha;if((ha|0)==0){ha=Cd[c[s+8>>2]&63](f,g,0,j,k)|0;c[m>>2]=ha;if((ha|0)==0){k=0}else{break}}else{ha=Bd[c[s+40>>2]&255](g,f)|0;c[m>>2]=ha;if((ha|0)==0){k=1}else{break}}ha=pd[c[t>>2]&63](g,1128678944,f,0)|0;c[m>>2]=ha;if((ha|0)==0){t=1}else{break}}else{ha=PJ(f,0)|0;c[m>>2]=ha;if((ha|0)!=0){break}c[m>>2]=0;k=1;t=0}s=c[g+100>>2]|0;p=jJ(s,2072,p)|0;if((c[m>>2]|0)!=0){break}c[g+692>>2]=p;S=f+28|0;fa=c[S>>2]|0;bX(p|0,0,2072)|0;bX(D|0,0,32)|0;c[p>>2]=f;c[p+4>>2]=fa;V=p+1324|0;T=IK(f)|0;ha=ZK(f,287200,p)|0;c[E>>2]=ha;b:do{if((ha|0)==0){do{if((a[p+16|0]|0)==1){j=a[p+18|0]|0;if((j&255)<4){break}if((d[p+19|0]|0)>4){break}ha=DK(f,(j&255)+ -4|0)|0;c[E>>2]=ha;if((ha|0)!=0){break b}j=p+20|0;ha=BV(j,f,0)|0;c[E>>2]=ha;if((ha|0)!=0){break b}ba=p+1208|0;ha=BV(ba,f,0)|0;c[E>>2]=ha;if((ha|0)!=0){break b}ha=BV(F,f,1)|0;c[E>>2]=ha;if((ha|0)!=0){break b}$=p+84|0;ha=BV($,f,1)|0;c[E>>2]=ha;if((ha|0)!=0){break b}ha=CV(F,p+1316|0,p+1320|0)|0;c[E>>2]=ha;if((ha|0)!=0){break b}c[p+1312>>2]=c[F+8>>2];ha=c[p+28>>2]|0;c[p+8>>2]=ha;if((ha|0)<=(h|0)){c[E>>2]=6}if((h|0)<0){break b}ha=DV(V,ba,h,f,T,ca)|0;c[E>>2]=ha;if((ha|0)!=0){break b}ba=p+1432|0;ha=PJ(f,(c[ba>>2]|0)+T|0)|0;c[E>>2]=ha;if((ha|0)!=0){break b}ha=BV(p+1176|0,f,0)|0;c[E>>2]=ha;if((ha|0)!=0){break b}V=p+1452|0;if((c[V>>2]|0)==65535){c[p+1892>>2]=0}else{ha=PJ(f,(c[p+1484>>2]|0)+T|0)|0;c[E>>2]=ha;if((ha|0)!=0){break b}ha=BV(Z,f,0)|0;c[E>>2]=ha;if((ha|0)!=0){break b}ea=Z+8|0;ga=c[ea>>2]|0;c:do{if(ga>>>0>32){fa=0}else{c[p+1892>>2]=ga;da=oJ(fa,568,0,ga,0,da)|0;fa=c[E>>2]|0;if((fa|0)!=0){break}fa=c[ea>>2]|0;if((fa|0)!=0){ga=0;while(1){c[p+1896+(ga<<2)>>2]=da+(ga*568|0);ga=ga+1|0;if(ga>>>0<fa>>>0){}else{da=0;break}}do{fa=DV(c[p+1896+(da<<2)>>2]|0,Z,da,f,T,ca)|0;c[E>>2]=fa;da=da+1|0;if((fa|0)!=0){break c}}while(da>>>0<(c[ea>>2]|0)>>>0)}ca=c[p+1184>>2]|0;fa=PJ(f,(c[p+1488>>2]|0)+T|0)|0;c[_>>2]=fa;do{if((fa|0)==0){da=VK(f,aa)|0;fa=c[_>>2]|0;if((fa|0)!=0){break}a[p+2024|0]=da;c[p+2044>>2]=0;da=da&255;if((da|0)==3){aa=EK(f,aa)|0;fa=c[_>>2]|0;if((fa|0)!=0){break}ca=((aa&65535)*3|0)+2|0;c[p+2036>>2]=ca}else if((da|0)==0){c[p+2036>>2]=ca}else{c[_>>2]=3;fa=3;break}fa=LK(f,ca,p+2032|0)|0;c[_>>2]=fa}}while(0);c[E>>2]=fa}}while(0);_=c[Y>>2]|0;if((_|0)!=0){ca=c[_+28>>2]|0;aa=Z+28|0;if((c[aa>>2]|0)!=0){NK(_,aa)}lJ(ca,c[Z+24>>2]|0);bX(Y|0,0,32)|0;fa=c[E>>2]|0}if((fa|0)!=0){break b}}if((c[ba>>2]|0)==0){c[E>>2]=2;break b}Y=p+12|0;c[Y>>2]=c[p+1184>>2];ha=CV($,p+1308|0,0)|0;c[E>>2]=ha;if((ha|0)!=0){break b}$=c[Y>>2]|0;d:do{if(($|0)!=0){if((c[V>>2]|0)==65535){aa=0}else{aa=k<<24>>24!=0|0}Z=p+1152|0;u=c[p+1424>>2]|0;_=c[S>>2]|0;c[R>>2]=0;e:do{if(u>>>0>2){ha=u+T|0;ba=p+1156|0;c[ba>>2]=ha;ha=PJ(f,ha)|0;c[R>>2]=ha;if((ha|0)!=0){u=111;break}c[Z>>2]=(VK(f,X)|0)&255;if((c[R>>2]|0)!=0){u=111;break}ca=oJ(_,2,0,$,0,X)|0;u=p+1160|0;c[u>>2]=ca;if((c[R>>2]|0)!=0){u=111;break}b[ca>>1]=0;ca=c[Z>>2]|0;if((ca|0)==2|(ca|0)==1){if($>>>0>1){ca=1}else{u=96;break}while(1){fa=EK(f,X)|0;if((c[R>>2]|0)!=0){u=111;break e}if((c[Z>>2]|0)==2){da=(EK(f,X)|0)&65535;if((c[R>>2]|0)!=0){u=111;break e}}else{da=(VK(f,X)|0)&255;if((c[R>>2]|0)!=0){u=111;break e}}ea=fa&65535;ea=ea>>>0>(da^65535)>>>0?ea^65535:da;if(ca>>>0<$>>>0){da=~ea;ha=0;ga=ca;while(1){b[(c[u>>2]|0)+(ga<<1)>>1]=fa;ha=ha+1|0;ga=ga+1|0;if(ga>>>0>=$>>>0|ha>>>0>ea>>>0){break}else{fa=fa+1<<16>>16}}ea=ca-$|0;ca=ca-(ea>>>0>da>>>0?ea:da)|0}if(ca>>>0>=$>>>0){u=96;break}}}else if((ca|0)==0){ha=MK(f,($<<1)+ -2|0)|0;c[R>>2]=ha;if((ha|0)!=0){u=111;break}if($>>>0>1){X=1;do{ha=RK(f)|0;b[(c[u>>2]|0)+(X<<1)>>1]=ha;X=X+1|0;}while(X>>>0<$>>>0)}PK(f);u=96;break}else{c[R>>2]=3;u=111;break}}else{ba=p+1156|0;c[ba>>2]=u;if((u|0)==1){if($>>>0>166){c[R>>2]=3;u=111;break}u=oJ(_,2,0,$,0,X)|0;c[p+1160>>2]=u;if((c[R>>2]|0)!=0){u=111;break}$W(u|0,288712,$<<1|0)|0;u=96;break}else if((u|0)==2){if($>>>0>87){c[R>>2]=3;u=111;break}u=oJ(_,2,0,$,0,X)|0;c[p+1160>>2]=u;if((c[R>>2]|0)!=0){u=111;break}$W(u|0,289048,$<<1|0)|0;u=96;break}else if((u|0)==0){if($>>>0>229){c[R>>2]=3;u=111;break}u=oJ(_,2,0,$,0,X)|0;c[p+1160>>2]=u;if((c[R>>2]|0)!=0){u=111;break}$W(u|0,288248,$<<1|0)|0;u=96;break}else{c[R>>2]=3;u=111;break}}}while(0);do{if((u|0)==96){if(aa<<24>>24==0){da=c[R>>2]|0}else{c[U>>2]=0;X=p+1168|0;do{if((c[X>>2]|0)==0){aa=p+1160|0;ea=c[aa>>2]|0;da=0;ca=0;do{ba=b[ea+(da<<1)>>1]|0;ca=(ba&65535)>(ca&65535)?ba:ca;da=da+1|0;}while(da>>>0<$>>>0);ba=ca&65535;ca=oJ(_,2,0,ba+1|0,0,W)|0;W=p+1164|0;c[W>>2]=ca;da=c[U>>2]|0;if((da|0)!=0){break}da=$+ -1|0;if((da|0)>-1){b[ca+(e[(c[aa>>2]|0)+(da<<1)>>1]<<1)>>1]=da;ca=$+ -2|0;if((ca|0)>-1){do{b[(c[W>>2]|0)+(e[(c[aa>>2]|0)+(ca<<1)>>1]<<1)>>1]=ca;ca=ca+ -1|0;}while((ca|0)>-1)}da=c[U>>2]|0}else{da=0}c[X>>2]=ba;c[p+1172>>2]=$}else{da=0}}while(0);c[R>>2]=da}if((da|0)==0){c[E>>2]=0;break}else{ba=p+1156|0;u=111;break}}}while(0);if((u|0)==111){ha=p+1160|0;lJ(_,c[ha>>2]|0);c[ha>>2]=0;ga=p+1164|0;lJ(_,c[ga>>2]|0);c[ga>>2]=0;c[Z>>2]=0;c[ba>>2]=0;c[ha>>2]=0;ha=c[R>>2]|0;c[E>>2]=ha;if((ha|0)!=0){break b}}if((c[V>>2]|0)!=65535){break}R=c[Y>>2]|0;W=c[p+1428>>2]|0;c[N>>2]=0;U=p+1160|0;f:do{if((c[U>>2]|0)==0){c[N>>2]=3;W=3}else{V=0;do{b[p+128+(V<<1)>>1]=0;b[p+640+(V<<1)>>1]=0;V=V+1|0;}while(V>>>0<256);do{if(W>>>0>1){W=W+T|0;c[p+120>>2]=W;W=PJ(f,W)|0;c[N>>2]=W;if((W|0)!=0){break f}P=p+116|0;c[P>>2]=(VK(f,O)|0)&255;W=c[N>>2]|0;if((W|0)!=0){break f}T=VK(f,O)|0;Q=T&255;W=c[N>>2]|0;if((W|0)!=0){break f}S=c[P>>2]&127;do{if((S|0)==1){S=p+124|0;c[S>>2]=0;if(T<<24>>24==0){break}else{V=1;T=0}while(1){X=(VK(f,O)|0)&255;W=c[N>>2]|0;if((W|0)!=0){break f}Y=VK(f,O)|0;W=c[N>>2]|0;if((W|0)!=0){break f}W=(Y&255)+1|0;if(W>>>0>(c[S>>2]|0)>>>0){c[S>>2]=W}W=W+V|0;if(V>>>0<W>>>0){while(1){if(V>>>0<R>>>0&X>>>0<256){b[p+640+(X<<1)>>1]=V;b[p+128+(X<<1)>>1]=b[(c[U>>2]|0)+(V<<1)>>1]|0}V=V+1|0;if(V>>>0<W>>>0){X=X+1|0}else{break}}}T=T+1|0;if(T>>>0<Q>>>0){V=W}else{break}}if((c[S>>2]|0)>>>0<=256){break}c[S>>2]=256}else if((S|0)==0){c[p+124>>2]=Q+1;W=MK(f,Q)|0;c[N>>2]=W;if((W|0)!=0){break f}if(T<<24>>24!=0){V=1;S=c[f+32>>2]|0;while(1){T=d[S]|0;if(V>>>0<R>>>0){b[p+640+(T<<1)>>1]=V;b[p+128+(T<<1)>>1]=b[(c[U>>2]|0)+(V<<1)>>1]|0}V=V+1|0;if(V>>>0>Q>>>0){break}else{S=S+1|0}}}PK(f)}else{c[N>>2]=3;W=3;break f}}while(0);if((c[P>>2]&128|0)==0){ha=c[N>>2]|0;c[E>>2]=ha;if((ha|0)==0){break d}else{break b}}Q=VK(f,O)|0;P=Q&255;W=c[N>>2]|0;if((W|0)!=0){break f}if(Q<<24>>24==0){break}T=(R|0)==0;S=0;do{Q=(VK(f,O)|0)&255;W=c[N>>2]|0;if((W|0)!=0){break f}V=EK(f,O)|0;W=c[N>>2]|0;if((W|0)!=0){break f}b[p+128+(Q<<1)>>1]=V;g:do{if(!T){X=c[U>>2]|0;Y=0;while(1){W=Y+1|0;if((b[X+(Y<<1)>>1]|0)==V<<16>>16){break}if(W>>>0<R>>>0){Y=W}else{break g}}b[p+640+(Q<<1)>>1]=Y}}while(0);S=S+1|0;}while(S>>>0<P>>>0)}else{if((W|0)==1){$W(p+128|0,287736,512)|0}else if((W|0)==0){$W(p+128|0,287224,512)|0}else{c[N>>2]=3;W=3;break f}f=p+124|0;c[f>>2]=0;T=c[S>>2]|0;c[P>>2]=0;O=p+1168|0;if((c[O>>2]|0)==0){if((R|0)==0){S=0}else{V=c[U>>2]|0;W=0;X=0;do{S=b[V+(W<<1)>>1]|0;X=(S&65535)>(X&65535)?S:X;W=W+1|0;}while(W>>>0<R>>>0);S=X&65535}T=oJ(T,2,0,S+1|0,0,Q)|0;Q=p+1164|0;c[Q>>2]=T;W=c[P>>2]|0;if((W|0)!=0){c[N>>2]=W;break f}V=R+ -1|0;if((V|0)>-1){b[T+(e[(c[U>>2]|0)+(V<<1)>>1]<<1)>>1]=V;T=R+ -2|0;if((T|0)>-1){do{b[(c[Q>>2]|0)+(e[(c[U>>2]|0)+(T<<1)>>1]<<1)>>1]=T;T=T+ -1|0;}while((T|0)>-1)}W=c[P>>2]|0}else{W=0}c[O>>2]=S;c[p+1172>>2]=R;c[N>>2]=W;if((W|0)!=0){break f}}else{c[N>>2]=0;Q=p+1164|0}N=0;do{P=p+128+(N<<1)|0;R=b[P>>1]|0;do{if(R<<16>>16==0){u=174}else{R=R&65535;if((c[O>>2]|0)>>>0<R>>>0){u=174;break}R=b[(c[Q>>2]|0)+(R<<1)>>1]|0;if(R<<16>>16==0){u=174;break}b[p+640+(N<<1)>>1]=R;N=N+1|0;c[f>>2]=N}}while(0);if((u|0)==174){u=0;b[p+640+(N<<1)>>1]=0;b[P>>1]=0;N=N+1|0}}while(N>>>0<256)}}while(0);c[E>>2]=0;break d}}while(0);c[E>>2]=W;break b}}while(0);N=c[(c[j>>2]|0)+28>>2]|0;ha=AV(j,h,H,L)|0;c[J>>2]=ha;do{if((ha|0)==0){L=c[M>>2]|0;K=jJ(N,L+1|0,K)|0;if((c[J>>2]|0)==0){$W(K|0,c[I>>2]|0,L|0)|0;a[K+L|0]=0}if((c[p+48>>2]|0)!=0){break}NK(c[j>>2]|0,H)}else{K=0}}while(0);c[p+1304>>2]=K;break b}}while(0);c[E>>2]=2}}while(0);I=c[D>>2]|0;if((I|0)!=0){J=c[I+28>>2]|0;H=F+28|0;if((c[H>>2]|0)!=0){NK(I,H)}lJ(J,c[F+24>>2]|0);bX(D|0,0,32)|0}ha=c[E>>2]|0;c[m>>2]=ha;if((ha|0)!=0){break}c[p+2052>>2]=G;E=p+2056|0;c[E>>2]=C;c[g+4>>2]=h;F=g+16|0;c[F>>2]=c[p+12>>2];D=p+1452|0;if((c[D>>2]|0)==65535&(C|0)==0){u=304;break}C=p+1388|0;I=c[C>>2]|0;if((I|0)==0){if(k<<24>>24==0){I=e[g+68>>1]|0}else{I=1e3}c[C>>2]=I}H=p+1372|0;G=p+1392|0;J=p+1384|0;K=c[J>>2]|0;K=(K|0)<0?0-K|0:K;if((K|0)==65536){I=c[p+1396>>2]|0;J=G}else{c[C>>2]=bJ(I,K)|0;c[H>>2]=bJ(c[H>>2]|0,K)|0;I=p+1380|0;c[I>>2]=bJ(c[I>>2]|0,K)|0;I=p+1376|0;c[I>>2]=bJ(c[I>>2]|0,K)|0;c[J>>2]=bJ(c[J>>2]|0,K)|0;c[G>>2]=bJ(c[G>>2]|0,K)|0;J=p+1396|0;I=bJ(c[J>>2]|0,K)|0;c[J>>2]=I;J=G}c[J>>2]=c[J>>2]>>16;c[p+1396>>2]=I>>16;K=c[p+1892>>2]|0;if((K|0)!=0){I=p+1896|0;do{K=K+ -1|0;J=c[I+(K<<2)>>2]|0;L=J+64|0;M=c[L>>2]|0;if((M|0)==0){$W(J+48|0,H|0,16)|0;ga=G;ha=c[ga+4>>2]|0;f=J+68|0;c[f>>2]=c[ga>>2];c[f+4>>2]=ha;f=c[C>>2]|0}else{j=c[C>>2]|0;if(j>>>0>1&M>>>0>1){M=j>>>0<M>>>0?j:M}else{M=1}dJ(H,J+48|0,M);eJ(J+68|0,H,M);f=_I(c[L>>2]|0,c[C>>2]|0,M)|0}c[L>>2]=f;M=J+68|0;j=J+60|0;N=c[j>>2]|0;N=(N|0)<0?0-N|0:N;if((N|0)==65536){L=c[J+72>>2]|0}else{f=bJ(f,N)|0;if(f>>>0>1e5){f=((f+500|0)>>>0)/1e3|0}c[L>>2]=f;ha=J+48|0;c[ha>>2]=bJ(c[ha>>2]|0,N)|0;ha=J+56|0;c[ha>>2]=bJ(c[ha>>2]|0,N)|0;ha=J+52|0;c[ha>>2]=bJ(c[ha>>2]|0,N)|0;c[j>>2]=bJ(c[j>>2]|0,N)|0;c[M>>2]=bJ(c[M>>2]|0,N)|0;ha=J+72|0;L=bJ(c[ha>>2]|0,N)|0;c[ha>>2]=L}c[M>>2]=c[M>>2]>>16;c[J+72>>2]=L>>16;}while((K|0)!=0)}k=k<<24>>24==0;if(!k){c[g>>2]=c[p+8>>2];if((c[D>>2]|0)==65535){G=c[p+1184>>2]|0}else{G=(c[p+1168>>2]|0)+1|0}c[F>>2]=G;c[g+52>>2]=c[p+1404>>2]>>16;ga=c[p+1408>>2]>>16;c[g+56>>2]=ga;c[g+60>>2]=(c[p+1412>>2]|0)+65535>>16;ha=(c[p+1416>>2]|0)+65535>>16;c[g+64>>2]=ha;F=c[C>>2]|0;b[g+68>>1]=F;ha=ha&65535;b[g+70>>1]=ha;C=ga&65535;b[g+72>>1]=C;F=((((F&65535)*12|0)>>>0)/10|0)&65535;C=(ha<<16>>16)-(C<<16>>16)|0;b[g+74>>1]=(F<<16>>16|0)<(C|0)?C&65535:F;b[g+80>>1]=(c[p+1356>>2]|0)>>>16;b[g+82>>1]=(c[p+1360>>2]|0)>>>16;C=p+20|0;F=c[(c[C>>2]|0)+28>>2]|0;ha=AV(C,h,y,B)|0;c[w>>2]=ha;do{if((ha|0)==0){A=c[A>>2]|0;z=jJ(F,A+1|0,z)|0;if((c[w>>2]|0)==0){$W(z|0,c[x>>2]|0,A|0)|0;a[z+A|0]=0}if((c[p+48>>2]|0)!=0){w=z;break}NK(c[C>>2]|0,y);w=z}else{w=0}}while(0);x=g+20|0;c[x>>2]=w;h:do{if((w|0)==0){u=c[p+1492>>2]|0;if((u|0)==65535){u=261;break}if(u>>>0>390){r=u+ -391|0;if((c[p+1312>>2]|0)>>>0<=r>>>0){u=261;break}r=c[(c[p+1316>>2]|0)+(r<<2)>>2]|0}else{r=c[E>>2]|0;if((r|0)==0){u=261;break}r=jd[c[r+20>>2]&511](u)|0}if((r|0)==0){u=261;break}c[x>>2]=aL(s,r,v)|0;u=261}else{y=c[p+1336>>2]|0;do{if((y|0)==65535){v=0}else{if(y>>>0>390){v=y+ -391|0;if((c[p+1312>>2]|0)>>>0<=v>>>0){v=0;break}v=c[(c[p+1316>>2]|0)+(v<<2)>>2]|0;break}else{v=c[E>>2]|0;if((v|0)==0){v=0;break}v=jd[c[v+20>>2]&511](y)|0;w=c[x>>2]|0;break}}}while(0);B=(ZW(w|0)|0)+1|0;C=w+6|0;F=(B|0)>7;i:do{if((B|0)>6){x=w+1|0;A=w+2|0;z=w+3|0;y=w+4|0;h=w+5|0;G=1;j:while(1){if((a[C]|0)!=43){break i}G=((a[y]|0)+ -65<<24>>24&255)<26?((a[z]|0)+ -65<<24>>24&255)<26?((a[A]|0)+ -65<<24>>24&255)<26?((a[x]|0)+ -65<<24>>24&255)<26?((a[w]|0)+ -65<<24>>24&255)<26?G:0:0:0:0:0;if(G<<24>>24==0|((a[h]|0)+ -65<<24>>24&255)>25){break i}if(F){H=7}else{continue}while(1){a[w+(H+ -7)|0]=a[w+H|0]|0;H=H+1|0;if((H|0)<(B|0)){}else{continue j}}}}}while(0);x=c[p+1340>>2]|0;do{if((x|0)==65535){x=0;u=240}else if((x|0)!=0){if(x>>>0>390){u=x+ -391|0;if((c[p+1312>>2]|0)>>>0<=u>>>0){x=0;u=240;break}x=c[(c[p+1316>>2]|0)+(u<<2)>>2]|0;u=240;break}else{u=c[E>>2]|0;if((u|0)==0){x=0;u=240;break}x=jd[c[u+20>>2]&511](x)|0;u=240;break}}}while(0);if((u|0)==240){w=(x|0)==0?w:x}if((v|0)==0|(w|0)==0){u=261;break}x=a[v]|0;if(x<<24>>24==0){u=261;break}k:while(1){while(1){y=a[w]|0;if(x<<24>>24==y<<24>>24){u=245;break}if(x<<24>>24==45|x<<24>>24==32){break}if(y<<24>>24==0){break k}else if(!(y<<24>>24==45|y<<24>>24==32)){u=261;break h}if(x<<24>>24==0){u=261;break h}w=w+1|0}if((u|0)==245){u=0;w=w+1|0}v=v+1|0;x=a[v]|0;if(x<<24>>24==0){u=261;break h}}r=aL(s,v,r)|0;if((r|0)==0){u=261;break}c[g+24>>2]=r}}while(0);if((u|0)==261){c[g+24>>2]=aL(s,287176,q)|0}q=t<<24>>24==0?2065:2073;c[g+8>>2]=(a[p+1348|0]|0)==0?q:q|4;q=(c[p+1352>>2]|0)!=0|0;r=c[p+1344>>2]|0;do{if((r|0)!=65535){if(r>>>0>390){r=r+ -391|0;if((c[p+1312>>2]|0)>>>0<=r>>>0){break}r=c[(c[p+1316>>2]|0)+(r<<2)>>2]|0}else{s=c[E>>2]|0;if((s|0)==0){break}r=jd[c[s+20>>2]&511](r)|0}if((r|0)==0){break}if((Qc(r|0,287184)|0)!=0){if((Qc(r|0,287192)|0)!=0){break}}q=q|2}}while(0);do{if((q&2|0)==0){r=c[g+24>>2]|0;if((r|0)==0){break}if((vc(r|0,287184,4)|0)!=0){if((vc(r|0,287192,5)|0)!=0){break}}q=q|2}}while(0);c[g+12>>2]=q}q=c[D>>2]|0;if((q|0)==65535){q=g+8|0;c[q>>2]=c[q>>2]|512;q=c[D>>2]|0}if(!((q|0)==65535|k)){ha=g+8|0;c[ha>>2]=c[ha>>2]|4096}q=g+36|0;s=c[q>>2]|0;l:do{if((s|0)==0){s=0;r=1;u=288}else{t=c[g+40>>2]|0;r=0;while(1){w=c[t+(r<<2)>>2]|0;v=b[w+8>>1]|0;if(v<<16>>16==3){if((b[w+10>>1]|0)==1){break l}}else if(v<<16>>16==0){break l}v=r+1|0;if(v>>>0<s>>>0){r=v}else{break}}r=r+2|0;u=288}}while(0);do{if((u|0)==288){if(k){if(r>>>0>15){break a}}else{if((c[D>>2]|0)!=65535|r>>>0>15){break a}}c[o>>2]=g;b[l+8>>1]=3;b[l+10>>1]=1;c[l+4>>2]=1970170211;ha=eK(287088,0,l,0)|0;c[m>>2]=ha;if(!((ha|0)==0|(ha|0)==163)){break a}c[m>>2]=0;r=g+92|0;if((c[r>>2]|0)!=0){r=s;break}if((s|0)==(c[q>>2]|0)){r=s;break}c[r>>2]=c[(c[g+40>>2]|0)+(s<<2)>>2];r=s}}while(0);if(r>>>0>15){break}if((c[p+124>>2]|0)==0){break}c[o>>2]=g;b[l+8>>1]=7;g=c[p+120>>2]|0;do{if((g|0)==0){b[l+10>>1]=0;c[l+4>>2]=1094995778}else{o=l+10|0;if((g|0)==1){b[o>>1]=1;c[l+4>>2]=1094992453;break}else{b[o>>1]=2;c[l+4>>2]=1094992451;break}}}while(0);c[m>>2]=eK(287048,0,l,0)|0}}while(0);if((u|0)==304){c[m>>2]=2}ha=c[m>>2]|0;i=n;return ha|0}function hV(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;if((b|0)==0){i=d;return}e=c[b+100>>2]|0;f=c[b+532>>2]|0;if((f|0)!=0){fd[c[f+12>>2]&511](b)}f=b+692|0;g=c[f>>2]|0;if((g|0)==0){i=d;return}b=c[g+4>>2]|0;h=g+84|0;j=c[h>>2]|0;if((j|0)!=0){k=c[j+28>>2]|0;l=g+112|0;if((c[l>>2]|0)!=0){NK(j,l)}lJ(k,c[g+108>>2]|0);bX(h|0,0,32)|0}j=g+1208|0;k=c[j>>2]|0;if((k|0)!=0){l=c[k+28>>2]|0;h=g+1236|0;if((c[h>>2]|0)!=0){NK(k,h)}lJ(l,c[g+1232>>2]|0);bX(j|0,0,32)|0}h=g+20|0;j=c[h>>2]|0;if((j|0)!=0){k=c[j+28>>2]|0;l=g+48|0;if((c[l>>2]|0)!=0){NK(j,l)}lJ(k,c[g+44>>2]|0);bX(h|0,0,32)|0}l=g+1176|0;h=c[l>>2]|0;if((h|0)!=0){j=c[h+28>>2]|0;k=g+1204|0;if((c[k>>2]|0)!=0){NK(h,k)}lJ(j,c[g+1200>>2]|0);bX(l|0,0,32)|0}h=g+1892|0;l=c[h>>2]|0;if((l|0)!=0){j=0;do{k=c[g+1896+(j<<2)>>2]|0;if((k|0)!=0){l=k+532|0;m=c[l>>2]|0;if((m|0)!=0){n=c[m+28>>2]|0;o=k+560|0;if((c[o>>2]|0)!=0){NK(m,o)}lJ(n,c[k+556>>2]|0);bX(l|0,0,32)|0}l=k+564|0;lJ(b,c[l>>2]|0);c[l>>2]=0;l=c[h>>2]|0}j=j+1|0;}while(j>>>0<l>>>0);o=g+1896|0;lJ(b,c[o>>2]|0);c[o>>2]=0}c[g+116>>2]=0;c[g+120>>2]=0;c[g+124>>2]=0;j=c[(c[g>>2]|0)+28>>2]|0;k=g+1164|0;lJ(j,c[k>>2]|0);c[k>>2]=0;c[g+1168>>2]=0;k=g+1160|0;lJ(j,c[k>>2]|0);c[k>>2]=0;c[g+1152>>2]=0;c[g+1156>>2]=0;k=g+1856|0;j=c[k>>2]|0;if((j|0)!=0){l=c[j+28>>2]|0;h=g+1884|0;if((c[h>>2]|0)!=0){NK(j,h)}lJ(l,c[g+1880>>2]|0);bX(k|0,0,32)|0}h=g+1888|0;lJ(b,c[h>>2]|0);c[h>>2]=0;h=g+2032|0;if((c[h>>2]|0)!=0){NK(c[g>>2]|0,h)}c[g+2036>>2]=0;a[g+2024|0]=0;c[g+2028>>2]=0;o=g+2060|0;lJ(b,c[o>>2]|0);c[o>>2]=0;o=g+1304|0;lJ(b,c[o>>2]|0);c[o>>2]=0;o=g+1308|0;lJ(b,c[o>>2]|0);c[o>>2]=0;o=g+1316|0;lJ(b,c[o>>2]|0);c[o>>2]=0;o=g+1320|0;lJ(b,c[o>>2]|0);c[o>>2]=0;lJ(e,c[f>>2]|0);c[f>>2]=0;i=d;return}function iV(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;d=i;i=i+8|0;f=d;e=i;i=i+200|0;c[d>>2]=0;g=c[a>>2]|0;h=c[(c[g+692>>2]|0)+2052>>2]|0;g=mK(c[(c[g+96>>2]|0)+4>>2]|0,287160)|0;do{if(!((g|0)==0|(h|0)==0)){h=c[h>>2]|0;if((h|0)==0){break}g=jd[h&511](g)|0;if((g|0)==0){break}j=c[a>>2]|0;h=c[j+692>>2]|0;f=jJ(c[j+100>>2]|0,132,f)|0;j=c[d>>2]|0;if((j|0)!=0){l=j;i=b;return l|0}KV(h+1324|0,e);j=sd[c[g>>2]&127](c[(c[a>>2]|0)+100>>2]|0,e,f)|0;c[d>>2]=j;if((j|0)!=0){l=j;i=b;return l|0}k=h+1896|0;j=f+4|0;l=c[h+1892>>2]|0;while(1){if((l|0)==0){e=9;break}l=l+ -1|0;KV(c[k+(l<<2)>>2]|0,e);h=sd[c[g>>2]&127](c[(c[a>>2]|0)+100>>2]|0,e,j+(l<<2)|0)|0;c[d>>2]=h;if((h|0)!=0){e=11;break}}if((e|0)==9){c[a+40>>2]=f;break}else if((e|0)==11){i=b;return h|0}}}while(0);c[a+44>>2]=-1;l=c[d>>2]|0;i=b;return l|0}function jV(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;f=c[a>>2]|0;d=c[f+692>>2]|0;a=c[a+40>>2]|0;if((a|0)==0){i=b;return}e=c[d+2052>>2]|0;f=mK(c[(c[f+96>>2]|0)+4>>2]|0,287160)|0;if((f|0)==0|(e|0)==0){i=b;return}e=c[e>>2]|0;if((e|0)==0){i=b;return}e=jd[e&511](f)|0;if((e|0)==0){i=b;return}e=e+8|0;fd[c[e>>2]&511](c[a>>2]|0);d=c[d+1892>>2]|0;if((d|0)==0){i=b;return}do{d=d+ -1|0;fd[c[e>>2]&511](c[a+4+(d<<2)>>2]|0);}while((d|0)!=0);i=b;return}function kV(a){a=a|0;var b=0,d=0,e=0;b=i;e=c[a+4>>2]|0;d=c[(c[e+692>>2]|0)+2052>>2]|0;if((d|0)==0){i=b;return 0}e=mK(c[(c[e+96>>2]|0)+4>>2]|0,287160)|0;if((e|0)==0){i=b;return 0}e=jd[c[d+8>>2]&511](e)|0;c[(c[a+156>>2]|0)+36>>2]=e;i=b;return 0}function lV(a){a=a|0;c[(c[a+156>>2]|0)+36>>2]=0;i=i;return}function mV(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;k=i;F=i;i=i+8|0;E=F;V=i;i=i+8|0;U=V;X=i;i=i+928|0;o=X;r=i;i=i+16|0;q=r;N=i;i=i+8|0;M=N;G=i;i=i+8|0;D=G;J=i;i=i+8|0;T=J;A=i;i=i+16|0;C=A;m=i;i=i+16|0;l=m;t=i;i=i+8|0;s=t;v=i;i=i+8|0;x=v;w=i;i=i+8|0;y=w;if((f|0)==0){da=37;i=k;return da|0}n=j|3;u=(g|0)==0?n:j;j=(u&1|0)==0?g:0;K=(j|0)==0;do{if(K){z=c[f+4>>2]|0}else{z=c[g>>2]|0;if((z|0)==(c[f+4>>2]|0)){break}else{C=35}i=k;return C|0}}while(0);I=z+692|0;H=c[I>>2]|0;L=H+1324|0;do{if((c[L+128>>2]|0)==65535){p=10}else{g=c[H+1164>>2]|0;if((g|0)==0){p=10;break}if((h|0)==0){h=0;break}if((c[H+1168>>2]|0)>>>0<h>>>0){da=6;i=k;return da|0}g=b[g+(h<<1)>>1]|0;if(g<<16>>16==0){C=6}else{h=g&65535;break}i=k;return C|0}}while(0);do{if((p|0)==10){if((c[H+12>>2]|0)>>>0>h>>>0){break}else{C=6}i=k;return C|0}}while(0);n=(u&1024|0)==0?u:n;g=f+164|0;c[g>>2]=65536;u=f+168|0;c[u>>2]=65536;B=(j|0)!=0;do{if(B){c[g>>2]=c[j+16>>2];c[u>>2]=c[j+20>>2];P=c[j>>2]|0;O=c[P+532>>2]|0;Q=c[j+44>>2]|0;if((Q|0)==-1){break}if((c[O+140>>2]|0)==0){break}if((n&8|0)!=0){break}if((dd[c[O+104>>2]&1](z,Q,h,n,c[P+104>>2]|0,f+76|0,M)|0)!=0){break}b[f+110>>1]=0;b[f+108>>1]=0;c[f+24>>2]=d[M+1|0]<<6;c[f+28>>2]=d[N]<<6;l=a[M+2|0]|0;c[f+32>>2]=l<<6;m=a[M+3|0]|0;c[f+36>>2]=m<<6;c[f+40>>2]=d[M+4|0]<<6;p=a[M+5|0]|0;c[f+44>>2]=p<<6;o=a[M+6|0]|0;c[f+48>>2]=o<<6;c[f+52>>2]=d[M+7|0]<<6;c[f+72>>2]=1651078259;q=f+100|0;if((n&16|0)==0){c[q>>2]=l;c[f+104>>2]=m;da=0;i=k;return da|0}else{c[q>>2]=p;c[f+104>>2]=o;da=0;i=k;return da|0}}}while(0);if((n&16384|0)!=0){da=6;i=k;return da|0}M=c[H+1892>>2]|0;do{if((M|0)==0){$W(r|0,L+48|0,16)|0;O=c[H+1392>>2]|0;P=c[H+1396>>2]|0;R=0}else{N=H+2024|0;O=d[N]|0;a:do{if((O|0)==0){P=a[(c[N+8>>2]|0)+h|0]|0}else if((O|0)==3){W=N+16|0;S=N+20|0;if((h-(c[W>>2]|0)|0)>>>0<(c[S>>2]|0)>>>0){P=a[N+24|0]|0;break}Y=c[N+8>>2]|0;Q=Y+(c[N+12>>2]|0)|0;R=(d[Y]<<8&65535|d[Y+1|0])&65535;Y=Y+2|0;while(1){if(R>>>0>h>>>0){P=0;break a}P=a[Y]|0;O=Y+3|0;Y=(d[Y+1|0]<<8&65535|d[Y+2|0])&65535;if(Y>>>0>h>>>0){break}if(O>>>0<Q>>>0){R=Y;Y=O}else{P=0;break a}}c[W>>2]=R;c[S>>2]=Y-R;a[N+24|0]=P}else{P=0}}while(0);if((P&255)>>>0>=M>>>0){P=M+255&255}L=c[L+64>>2]|0;P=H+1896+((P&255)<<2)|0;O=c[P>>2]|0;M=c[O+64>>2]|0;$W(r|0,O+48|0,16)|0;P=c[P>>2]|0;O=c[P+68>>2]|0;P=c[P+72>>2]|0;if((L|0)==(M|0)){R=0;break}c[g>>2]=_I(c[g>>2]|0,L,M)|0;c[u>>2]=_I(c[u>>2]|0,L,M)|0;R=1}}while(0);L=f+108|0;N=f+110|0;b[N>>1]=0;b[L>>1]=0;Q=(n&1|0)==0;if(Q){M=(n&2|0)!=0}else{M=1}S=f+72|0;c[S>>2]=1869968492;Y=n>>>16&15;$=c[I>>2]|0;bX(X|0,0,928)|0;a[o+65|0]=1;_=o+4|0;c[_>>2]=z;W=o+8|0;c[W>>2]=f;c[X>>2]=c[z+100>>2];aa=f+156|0;X=c[c[aa>>2]>>2]|0;c[o+12>>2]=X;c[o+16>>2]=X+20;c[o+20>>2]=X+56;kJ(X);X=o+72|0;c[X>>2]=0;Z=o+68|0;c[Z>>2]=0;if(!(M|K)){c[X>>2]=c[c[j+40>>2]>>2];c[Z>>2]=c[(c[aa>>2]|0)+36>>2]}bX(o+24|0,0,24)|0;Z=o+76|0;c[Z>>2]=$;X=c[$+92>>2]|0;c[o+892>>2]=X;c[o+908>>2]=c[$+1308>>2];do{if((c[$+1368>>2]|0)==1){X=0}else{if(X>>>0<1240){X=107;break}X=X>>>0<33900?1131:32768}}while(0);c[o+900>>2]=X;c[o+920>>2]=Y;if((n&256|0)!=0){a[o+753|0]=1}X=n&1024;a[o+66|0]=0;Y=z+128|0;$=c[(c[Y>>2]|0)+52>>2]|0;if(($|0)==0){T=AV((c[I>>2]|0)+1176|0,h,D,T)|0}else{T=sd[c[c[$>>2]>>2]&127](c[$+4>>2]|0,h,U)|0;c[G>>2]=c[V>>2];c[J>>2]=c[U+4>>2]}if((T|0)!=0){da=T;i=k;return da|0}U=c[(c[_>>2]|0)+692>>2]|0;T=c[U+1892>>2]|0;do{if((T|0)==0){T=U+1324|0}else{V=d[U+2024|0]|0;b:do{if((V|0)==0){_=a[(c[U+2032>>2]|0)+h|0]|0}else if((V|0)==3){aa=U+2040|0;$=U+2044|0;if((h-(c[aa>>2]|0)|0)>>>0<(c[$>>2]|0)>>>0){_=a[U+2048|0]|0;break}da=c[U+2032>>2]|0;V=da+(c[U+2036>>2]|0)|0;ca=(d[da]<<8&65535|d[da+1|0])&65535;da=da+2|0;while(1){if(ca>>>0>h>>>0){_=0;break b}_=a[da]|0;ba=da+3|0;da=(d[da+1|0]<<8&65535|d[da+2|0])&65535;if(da>>>0>h>>>0){break}if(ba>>>0<V>>>0){ca=da;da=ba}else{_=0;break b}}c[aa>>2]=ca;c[$>>2]=da-ca;a[U+2048|0]=_}else{_=0}}while(0);V=_&255;if(V>>>0>=T>>>0){da=3;i=k;return da|0}T=c[U+1896+(V<<2)>>2]|0;if((c[o+68>>2]|0)==0|K){break}c[o+72>>2]=c[(c[j+40>>2]|0)+4+(V<<2)>>2]}}while(0);K=c[T+540>>2]|0;c[o+888>>2]=K;c[o+904>>2]=c[T+564>>2];do{if((c[(c[Z>>2]|0)+1368>>2]|0)==1){K=0}else{if(K>>>0<1240){K=107;break}K=K>>>0<33900?1131:32768}}while(0);c[o+896>>2]=K;K=o+744|0;c[K>>2]=c[T+524>>2];c[o+748>>2]=c[T+528>>2];J=c[J>>2]|0;T=LV(o,c[G>>2]|0,J)|0;U=(c[Y>>2]|0)+52|0;do{if((c[U>>2]|0)==0){E=c[I>>2]|0;if((c[E+1204>>2]|0)!=0){break}NK(c[E+1176>>2]|0,D)}else{c[F>>2]=c[G>>2];c[E+4>>2]=J;da=c[U>>2]|0;hd[c[(c[da>>2]|0)+4>>2]&127](c[da+4>>2]|0,E)}}while(0);if((T|0)!=0){da=T;i=k;return da|0}do{if((c[(c[Y>>2]|0)+52>>2]|0)==0){D=H+1176|0;E=c[D+24>>2]|0;if((E|0)==0){break}c[f+136>>2]=(c[D+28>>2]|0)+((c[E+(h<<2)>>2]|0)+ -1);c[f+140>>2]=J}else{c[f+136>>2]=0;c[f+140>>2]=0}}while(0);D=c[W>>2]|0;if((D|0)!=0){$W(D+108|0,c[o+16>>2]|0,20)|0}D=c[(c[Y>>2]|0)+52>>2]|0;do{if((D|0)!=0){if((c[(c[D>>2]|0)+8>>2]|0)==0){break}$=o+32|0;c[A>>2]=c[$>>2];c[C+4>>2]=0;ba=o+40|0;aa=C+8|0;c[aa>>2]=c[ba>>2];da=o+44|0;ca=C+12|0;c[ca>>2]=c[da>>2];_=c[(c[Y>>2]|0)+52>>2]|0;C=pd[c[(c[_>>2]|0)+8>>2]&63](c[_+4>>2]|0,h,0,C)|0;c[$>>2]=c[A>>2];c[ba>>2]=c[aa>>2];c[da>>2]=c[ca>>2];if((C|0)==0){break}i=k;return C|0}}while(0);if((X|0)!=0){da=c[f+156>>2]|0;c[f+32>>2]=c[o+32>>2];c[f+40>>2]=c[K>>2];$W(da+12|0,r|0,16)|0;c[da+28>>2]=O;c[da+32>>2]=P;a[da+8|0]=1;da=0;i=k;return da|0}A=f+24|0;da=c[K>>2]|0;C=f+40|0;c[C>>2]=da;c[f+56>>2]=da;a[(c[f+156>>2]|0)+8|0]=0;do{if((a[z+296|0]|0)==0){p=84}else{D=z+300|0;if((b[D+34>>1]|0)==0){p=84;break}if((c[D+36>>2]|0)==0){p=84;break}b[v>>1]=0;b[w>>1]=0;Cd[c[(c[z+532>>2]|0)+156>>2]&63](z,1,h,x,y)|0;c[f+48>>2]=b[v>>1]|0;x=e[w>>1]|0;c[f+52>>2]=x;w=1}}while(0);do{if((p|0)==84){v=z+368|0;if((b[v>>1]|0)==-1){x=z+216|0;x=(b[x+4>>1]|0)-(b[x+6>>1]|0)|0;c[f+52>>2]=x;w=0;break}else{x=(b[v+70>>1]|0)-(b[v+72>>1]|0)|0;c[f+52>>2]=x;w=0;break}}}while(0);v=f+52|0;c[f+60>>2]=x;c[S>>2]=1869968492;x=f+124|0;c[x>>2]=0;do{if(B){if((e[j+14>>1]|0)>=24){j=4;break}c[x>>2]=256;j=260}else{j=4}}while(0);c[x>>2]=j;do{if((c[r>>2]|0)==65536){if((c[q+12>>2]|0)!=65536){p=94;break}if((c[q+4>>2]|0)!=0){p=94;break}if((c[q+8>>2]|0)!=0){p=94}}else{p=94}}while(0);if((p|0)==94){GJ(L,q)}if((P|O|0)!=0){HJ(L,O,P)}c[t>>2]=c[C>>2];da=s+4|0;c[da>>2]=0;IJ(s,q);c[C>>2]=(c[t>>2]|0)+O;c[t>>2]=0;c[da>>2]=c[v>>2];IJ(s,q);c[v>>2]=(c[da>>2]|0)+P;if(!((R|0)==0&(Q^1))){s=c[f+112>>2]|0;q=c[g>>2]|0;r=c[u>>2]|0;if(M){p=100}else{if((c[o+68>>2]|0)==0){p=100}}do{if((p|0)==100){o=b[N>>1]|0;if(o<<16>>16<=0){break}o=o<<16>>16;while(1){c[s>>2]=aJ(c[s>>2]|0,q)|0;da=s+4|0;c[da>>2]=aJ(c[da>>2]|0,r)|0;o=o+ -1|0;if((o|0)>0){s=s+8|0}else{break}}}}while(0);c[C>>2]=aJ(c[C>>2]|0,q)|0;c[v>>2]=aJ(c[v>>2]|0,r)|0}zK(L,l);m=c[m>>2]|0;c[A>>2]=(c[l+8>>2]|0)-m;da=c[l+12>>2]|0;c[f+28>>2]=da-(c[l+4>>2]|0);c[f+32>>2]=m;c[f+36>>2]=da;if(w){c[f+44>>2]=m-((c[C>>2]|0)/2|0);da=0;i=k;return da|0}if((n&16|0)==0){da=0;i=k;return da|0}XJ(A,c[v>>2]|0);da=0;i=k;return da|0}function nV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;g=c[a+532>>2]|0;c[e>>2]=0;c[e+4>>2]=0;if((g|0)==0){i=f;return 0}c[e>>2]=sd[c[g+128>>2]&127](a,b,d)|0;i=f;return 0}function oV(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;h=c[a+84>>2]|0;j=e|256;a=a+88|0;if((d|0)==0){l=0;i=g;return l|0}e=(e&16|0)==0?h+56|0:h+60|0;l=0;while(1){k=mV(h,c[a>>2]|0,l+b|0,j)|0;if((k|0)!=0){f=5;break}c[f+(l<<2)>>2]=c[e>>2];l=l+1|0;if(l>>>0>=d>>>0){k=0;f=5;break}}if((f|0)==5){i=g;return k|0}return 0}function pV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;e=i;i=i+8|0;f=c[a>>2]|0;do{if((c[f+8>>2]&2|0)!=0){if((sd[c[(c[f+532>>2]|0)+148>>2]&127](f,b,e)|0)!=0){c[a+44>>2]=-1;f=c[a>>2]|0;break}qV(a,c[e>>2]|0)|0;i=d;return 0}}while(0);_J(f,b);b=c[a>>2]|0;e=c[(c[b+692>>2]|0)+2052>>2]|0;b=mK(c[(c[b+96>>2]|0)+4>>2]|0,287160)|0;if((b|0)==0|(e|0)==0){i=d;return 0}e=c[e>>2]|0;if((e|0)==0){i=d;return 0}f=jd[e&511](b)|0;if((f|0)==0){i=d;return 0}h=c[(c[a>>2]|0)+692>>2]|0;b=c[a+40>>2]|0;e=c[h+1388>>2]|0;g=f+4|0;f=a+16|0;a=a+20|0;Cd[c[g>>2]&63](c[b>>2]|0,c[f>>2]|0,c[a>>2]|0,0,0)|0;j=c[h+1892>>2]|0;if((j|0)==0){i=d;return 0}h=h+1896|0;do{j=j+ -1|0;l=c[(c[h+(j<<2)>>2]|0)+64>>2]|0;k=c[f>>2]|0;if((e|0)==(l|0)){l=c[a>>2]|0}else{k=_I(k,e,l)|0;l=_I(c[a>>2]|0,e,l)|0}Cd[c[g>>2]&63](c[b+4+(j<<2)>>2]|0,k,l,0,0)|0;}while((j|0)!=0);i=d;return 0}function qV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;c[a+44>>2]=b;YJ(c[a>>2]|0,b);b=c[a>>2]|0;e=c[(c[b+692>>2]|0)+2052>>2]|0;b=mK(c[(c[b+96>>2]|0)+4>>2]|0,287160)|0;if((b|0)==0|(e|0)==0){i=d;return 0}e=c[e>>2]|0;if((e|0)==0){i=d;return 0}f=jd[e&511](b)|0;if((f|0)==0){i=d;return 0}h=c[(c[a>>2]|0)+692>>2]|0;e=c[a+40>>2]|0;b=c[h+1388>>2]|0;g=f+4|0;f=a+16|0;a=a+20|0;Cd[c[g>>2]&63](c[e>>2]|0,c[f>>2]|0,c[a>>2]|0,0,0)|0;j=c[h+1892>>2]|0;if((j|0)==0){i=d;return 0}h=h+1896|0;do{j=j+ -1|0;l=c[(c[h+(j<<2)>>2]|0)+64>>2]|0;k=c[f>>2]|0;if((b|0)==(l|0)){l=c[a>>2]|0}else{k=_I(k,b,l)|0;l=_I(c[a>>2]|0,b,l)|0}Cd[c[g>>2]&63](c[e+4+(j<<2)>>2]|0,k,l,0,0)|0;}while((j|0)!=0);i=d;return 0}function rV(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[(c[a>>2]|0)+692>>2]|0)+640;i=i;return 0}function sV(a){a=a|0;c[a+16>>2]=0;i=i;return}function tV(a,b){a=a|0;b=b|0;var d=0;d=i;if(b>>>0>=256){b=0;i=d;return b|0}b=e[(c[a+16>>2]|0)+(b<<1)>>1]|0;i=d;return b|0}function uV(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;g=c[d>>2]|0;c[d>>2]=0;if(g>>>0>=255){h=0;i=e;return h|0}a=a+16|0;h=0;do{g=g+1|0;if(g>>>0>255){f=6;break}j=b[(c[a>>2]|0)+(g<<1)>>1]|0;h=j&65535;}while(j<<16>>16==0);if((f|0)==6){i=e;return h|0}c[d>>2]=g;j=h;i=e;return j|0}function vV(a,b){a=a|0;b=b|0;var d=0,e=0;b=i;e=c[a>>2]|0;d=c[e+692>>2]|0;if((c[d+1160>>2]|0)==0){e=163;i=b;return e|0}e=id[c[(c[d+2056>>2]|0)+4>>2]&3](c[e+100>>2]|0,a,c[d+12>>2]|0,203,0,e)|0;i=b;return e|0}function wV(a){a=a|0;var b=0,d=0;b=i;d=a+20|0;lJ(c[(c[a>>2]|0)+100>>2]|0,c[d>>2]|0);c[d>>2]=0;c[a+16>>2]=0;i=b;return}function xV(a,b){a=a|0;b=b|0;var d=0;d=i;a=Bd[c[(c[(c[(c[a>>2]|0)+692>>2]|0)+2056>>2]|0)+8>>2]&255](a,b)|0;i=d;return a|0}function yV(a,b){a=a|0;b=b|0;var d=0;d=i;a=Bd[c[(c[(c[(c[a>>2]|0)+692>>2]|0)+2056>>2]|0)+12>>2]&255](a,b)|0;i=d;return a|0}function zV(a,d){a=a|0;d=d|0;var e=0,f=0;e=i;a=c[a+692>>2]|0;f=b[(c[a+1160>>2]|0)+(d<<1)>>1]|0;d=f&65535;if(f<<16>>16==-1){f=0;i=e;return f|0}if((f&65535)>390){d=d+ -391|0;if((c[a+1312>>2]|0)>>>0<=d>>>0){f=0;i=e;return f|0}f=c[(c[a+1316>>2]|0)+(d<<2)>>2]|0;i=e;return f|0}else{a=c[a+2056>>2]|0;if((a|0)==0){f=0;i=e;return f|0}f=jd[c[a+20>>2]&511](d)|0;i=e;return f|0}return 0}function AV(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=i;l=i;i=i+8|0;if((b|0)==0){r=6;i=h;return r|0}k=b+8|0;p=c[k>>2]|0;if(p>>>0<=e>>>0){r=6;i=h;return r|0}j=c[b>>2]|0;m=c[b+24>>2]|0;a:do{if((m|0)==0){m=b+12|0;n=da(d[m]|0,e)|0;n=PJ(j,(c[b+4>>2]|0)+3+n|0)|0;if((n|0)!=0){r=n;i=h;return r|0}n=CK(c[b>>2]|0,l,d[m]|0)|0;if((n|0)!=0){r=n;i=h;return r|0}p=a[m]|0;if(p<<24>>24==0){k=20;break}o=p&255;q=0;n=0;do{n=d[l+q|0]|0|n<<8;q=q+1|0;}while((q|0)<(o|0));if((n|0)==0){k=20;break}while(1){e=e+1|0;p=CK(c[b>>2]|0,l,p&255)|0;do{if((p|0)==0){o=a[m]|0;if(o<<24>>24==0){break}q=o&255;r=0;o=0;do{o=d[l+r|0]|0|o<<8;r=r+1|0;}while((r|0)<(q|0));if((o|0)!=0){k=22;break a}}}while(0);if(e>>>0>=(c[k>>2]|0)>>>0){e=p;k=21;break a}p=a[m]|0}}else{n=c[m+(e<<2)>>2]|0;if((n|0)==0){k=20;break}while(1){e=e+1|0;o=c[m+(e<<2)>>2]|0;if((o|0)!=0){k=22;break a}if(e>>>0<p>>>0){}else{e=0;k=21;break}}}}while(0);do{if((k|0)==20){m=c[j+4>>2]|0;e=0;n=0;o=0;k=24}else if((k|0)==21){m=c[j+4>>2]|0;o=0;k=24}else if((k|0)==22){m=c[j+4>>2]|0;if(o>>>0<=(m+1|0)>>>0){e=0;k=24;break}l=c[b+16>>2]|0;e=0;k=25}}while(0);if((k|0)==24){l=c[b+16>>2]|0;if(l>>>0>(m+1-o|0)>>>0){k=25}}if((k|0)==25){o=m+1-l|0}if(!((n|0)!=0&o>>>0>n>>>0)){c[f>>2]=0;c[g>>2]=0;r=e;i=h;return r|0}k=o-n|0;c[g>>2]=k;g=c[b+28>>2]|0;if((g|0)!=0){c[f>>2]=g+(n+ -1);r=e;i=h;return r|0}b=PJ(j,n+ -1+(c[b+16>>2]|0)|0)|0;if((b|0)!=0){r=b;i=h;return r|0}r=LK(j,k,f)|0;i=h;return r|0}function BV(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;k=i;i=i+8|0;h=i;i=i+8|0;o=h;j=c[e+28>>2]|0;bX(b|0,0,32)|0;c[b>>2]=e;l=b+4|0;c[l>>2]=IK(e)|0;n=EK(e,o)|0;a:do{if((c[h>>2]|0)==0){m=n&65535;if(n<<16>>16==0){p=0;i=g;return p|0}p=VK(e,o)|0;if((c[h>>2]|0)!=0){break}o=p&255;if(p<<24>>24==0|(p&255)>4){c[h>>2]=8;break}c[b+8>>2]=m;n=b+12|0;a[n]=p;p=da(o,m+1|0)|0;c[b+16>>2]=p+3+(c[l>>2]|0);p=DK(e,p-o|0)|0;c[h>>2]=p;if((p|0)!=0){break}l=CK(c[b>>2]|0,k,d[n]|0)|0;m=(l|0)==0;if(!m){c[h>>2]=l;break}n=a[n]|0;do{if(n<<24>>24==0){c[h>>2]=l}else{p=n&255;o=0;n=0;do{n=d[k+o|0]|0|n<<8;o=o+1|0;}while((o|0)<(p|0));c[h>>2]=l;if(!m){break a}if((n|0)==0){break}k=n+ -1|0;c[b+20>>2]=k;if(f<<24>>24==0){e=DK(e,k)|0}else{e=LK(e,k,b+28|0)|0}c[h>>2]=e;if((e|0)==0){b=0}else{break a}i=g;return b|0}}while(0);c[h>>2]=8}}while(0);p=b+24|0;lJ(j,c[p>>2]|0);c[p>>2]=0;p=c[h>>2]|0;i=g;return p|0}function CV(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=i;o=i;i=i+8|0;r=o;g=i;i=i+8|0;p=g;c[g>>2]=0;m=c[(c[b>>2]|0)+28>>2]|0;c[e>>2]=0;j=b+24|0;a:do{if((c[j>>2]|0)==0){c[o>>2]=0;n=c[b>>2]|0;q=c[n+28>>2]|0;l=b+8|0;s=c[l>>2]|0;b:do{if((s|0)!=0){v=s+1|0;t=d[b+12|0]|0;u=da(t,v)|0;c[j>>2]=oJ(q,4,0,v,0,r)|0;do{if((c[o>>2]|0)==0){v=PJ(n,(c[b+4>>2]|0)+3|0)|0;c[o>>2]=v;if((v|0)!=0){break}v=MK(n,u)|0;c[o>>2]=v;if((v|0)!=0){break}s=c[j>>2]|0;v=c[n+32>>2]|0;r=v+u|0;do{if((t|0)==2){if((u|0)<=0){break}while(1){c[s>>2]=(d[v]<<8&65535|d[v+1|0])&65535;v=v+2|0;if(v>>>0<r>>>0){s=s+4|0}else{break}}}else if((t|0)==3){if((u|0)<=0){break}while(1){c[s>>2]=d[v+1|0]<<8|a[v]<<16|d[v+2|0];v=v+3|0;if(v>>>0<r>>>0){s=s+4|0}else{break}}}else if((t|0)==1){if((u|0)<=0){break}while(1){c[s>>2]=d[v]|0;v=v+1|0;if(v>>>0<r>>>0){s=s+4|0}else{break}}}else{if((u|0)<=0){break}while(1){c[s>>2]=d[v+1|0]<<16|d[v]<<24|d[v+2|0]<<8|d[v+3|0];v=v+4|0;if(v>>>0<r>>>0){s=s+4|0}else{break}}}}while(0);PK(n);if((c[o>>2]|0)==0){break b}}}while(0);lJ(q,c[j>>2]|0);c[j>>2]=0;v=c[o>>2]|0;c[g>>2]=v;if((v|0)==0){break a}v=g;v=c[v>>2]|0;i=h;return v|0}}while(0);c[g>>2]=0}else{l=b+8|0}}while(0);n=c[l>>2]|0;if((n|0)==0){v=g;v=c[v>>2]|0;i=h;return v|0}q=oJ(m,4,0,n+1|0,0,p)|0;if((c[g>>2]|0)!=0){v=g;v=c[v>>2]|0;i=h;return v|0}o=(f|0)!=0;n=b+20|0;do{if(o){m=jJ(m,(c[l>>2]|0)+(c[n>>2]|0)|0,p)|0;if((c[g>>2]|0)==0){break}v=g;v=c[v>>2]|0;i=h;return v|0}else{m=0}}while(0);b=c[b+28>>2]|0;p=(c[c[j>>2]>>2]|0)+ -1|0;r=p>>>0>=(c[n>>2]|0)>>>0?0:p;c[q>>2]=(o?m:b)+r;s=c[l>>2]|0;c:do{if((s|0)!=0){if(o){t=0;p=1}else{p=1;while(1){t=(c[(c[j>>2]|0)+(p<<2)>>2]|0)+ -1|0;if((t|0)==0|t>>>0<r>>>0){k=33}else{if(t>>>0>=(c[n>>2]|0)>>>0&p>>>0<s>>>0){k=33}else{r=t}}if((k|0)==33){k=0}c[q+(p<<2)>>2]=b+r;s=c[l>>2]|0;p=p+1|0;if(p>>>0>s>>>0){break c}}}do{u=(c[(c[j>>2]|0)+(p<<2)>>2]|0)+ -1|0;do{if((u|0)==0|u>>>0<r>>>0){k=27}else{if(u>>>0>=(c[n>>2]|0)>>>0&p>>>0<s>>>0){k=27;break}s=m+(u+t)|0;v=q+(p<<2)|0;c[v>>2]=s;if((u|0)==(r|0)){r=u;break}w=c[q+(p+ -1<<2)>>2]|0;$W(w|0,b+r|0,s-w|0)|0;a[c[v>>2]|0]=0;c[v>>2]=(c[v>>2]|0)+1;t=t+1|0;r=u}}while(0);if((k|0)==27){k=0;c[q+(p<<2)>>2]=m+(r+t)}p=p+1|0;s=c[l>>2]|0;}while(p>>>0<=s>>>0)}}while(0);c[e>>2]=q;if(!o){w=g;w=c[w>>2]|0;i=h;return w|0}c[f>>2]=m;w=g;w=c[w>>2]|0;i=h;return w|0}function DV(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=i;l=i;i=i+416|0;k=l;s=i;i=i+8|0;q=s;t=i;i=i+8|0;c[s>>2]=0;bX(l|0,0,408)|0;o=k+16|0;n=k+404|0;c[n>>2]=o;p=k+408|0;c[p>>2]=4096;m=k+412|0;c[m>>2]=b;c[l>>2]=h;bX(b|0,0,168)|0;c[b+32>>2]=-6553600;c[b+36>>2]=3276800;c[b+44>>2]=2;c[b+48>>2]=65536;c[b+60>>2]=65536;c[b+152>>2]=8720;c[b>>2]=65535;c[b+4>>2]=65535;c[b+8>>2]=65535;c[b+12>>2]=65535;c[b+16>>2]=65535;c[b+20>>2]=65535;c[b+124>>2]=65535;r=b+128|0;c[r>>2]=65535;c[b+132>>2]=65535;c[b+168>>2]=65535;e=AV(d,e,q,t)|0;if((e|0)==0){e=c[s>>2]|0;e=EV(k,e,e+(c[t>>2]|0)|0)|0}if((c[d+28>>2]|0)==0){NK(c[d>>2]|0,q)}if((e|0)!=0){i=j;return e|0}if((c[r>>2]|0)!=65535){e=0;i=j;return e|0}q=b+112|0;s=c[q>>2]|0;do{if((s|0)!=0){r=b+116|0;if((c[r>>2]|0)==0){break}d=b+172|0;bX(d|0,0,360)|0;c[b+372>>2]=7;c[b+376>>2]=1;c[b+504>>2]=-1;c[b+512>>2]=3932;c[b+368>>2]=2596864;bX(l|0,0,408)|0;c[n>>2]=o;c[p>>2]=8192;c[m>>2]=d;c[l>>2]=h;l=PJ(f,s+g|0)|0;if((l|0)!=0){e=l;i=j;return e|0}l=MK(f,c[r>>2]|0)|0;if((l|0)!=0){e=l;i=j;return e|0}k=EV(k,c[f+32>>2]|0,c[f+36>>2]|0)|0;PK(f);if((k|0)==0){a[d]=a[d]&-2;break}else{e=k;i=j;return e|0}}}while(0);k=c[b+520>>2]|0;if((k|0)==0){e=0;i=j;return e|0}g=PJ(f,k+g+(c[q>>2]|0)|0)|0;if((g|0)!=0){e=g;i=j;return e|0}g=b+532|0;f=BV(g,f,1)|0;if((f|0)!=0){e=f;i=j;return e|0}e=CV(g,b+564|0,0)|0;i=j;return e|0}function EV(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=i;k=e+16|0;o=e+404|0;c[o>>2]=k;c[e+4>>2]=f;c[e+8>>2]=g;c[e+12>>2]=f;if(f>>>0>=g>>>0){y=0;i=h;return y|0}l=e+408|0;n=e+412|0;m=e+20|0;p=k;a:while(1){q=a[f]|0;s=p-k|0;r=s>>2;do{if((q&255)>26&q<<24>>24!=31){if((s|0)>380){p=6;j=94;break a}c[o>>2]=p+4;c[p>>2]=f;if(q<<24>>24==28){f=f+2|0;break}else if(q<<24>>24==29){f=f+4|0;break}else if(q<<24>>24==30){while(1){f=f+1|0;if(f>>>0>=g>>>0){p=0;j=94;break a}y=d[f]|0;if((y&240|0)==240|(y&15|0)==15){break}else{}}}else{f=(q&255)>246?f+1|0:f;break}}else{s=q&255;c[p>>2]=f;if(q<<24>>24==12){f=f+1|0;if(f>>>0>=g>>>0){p=6;j=94;break a}s=d[f]|0|256}t=c[l>>2]|s;s=4;q=289224;while(1){p=q+28|0;if((c[q+4>>2]|0)==(t|0)){j=17;break}s=c[p>>2]|0;if((s|0)==0){break}else{q=p}}b:do{if((j|0)==17){j=0;t=c[n>>2]|0;p=t+(c[q+8>>2]|0)|0;if((s|0)!=6&(r|0)==0){p=6;j=94;break a}c:do{switch(s|0){case 6:{s=c[q+20>>2]|0;s=r>>>0>s>>>0?s:r;a[t+(c[q+24>>2]|0)|0]=s;if((s|0)==0){break b}q=q+12|0;u=k;t=0;while(1){r=u+4|0;y=c[u>>2]|0;x=c[r>>2]|0;w=a[y]|0;do{if(w<<24>>24==30){u=(FV(y,x,0,0)|0)>>16}else{u=y+1|0;v=w&255;if(w<<24>>24==28){if((y+3|0)>>>0>x>>>0){u=0;break}u=((d[u]|0)<<8&65535|(d[y+2|0]|0))<<16>>16;break}else if(w<<24>>24==29){if((y+5|0)>>>0>x>>>0){u=0;break}u=(d[y+2|0]|0)<<16|(d[u]|0)<<24|(d[y+3|0]|0)<<8|(d[y+4|0]|0);break}else{if((w&255)<247){u=v+ -139|0;break}x=(y+2|0)>>>0>x>>>0;if((w&255)<251){if(x){u=0;break}u=(d[u]|0|(v<<8)+ -63232)+108|0;break}else{if(x){u=0;break}u=(251-v<<8)+ -108-(d[u]|0)|0;break}}}}while(0);t=u+t|0;u=d[q]|0;if((u|0)==4){c[p>>2]=t}else if((u|0)==1){a[p]=t}else if((u|0)==2){b[p>>1]=t}else{c[p>>2]=t}s=s+ -1|0;if((s|0)==0){break b}else{p=p+(d[q]|0)|0;u=r}}break};case 3:{v=c[k>>2]|0;u=c[m>>2]|0;t=a[v]|0;if(t<<24>>24==30){r=FV(v,u,3,0)|0;break c}s=v+1|0;r=t&255;do{if(t<<24>>24==28){if((v+3|0)>>>0>u>>>0){r=0;break}r=((d[s]|0)<<8&65535|(d[v+2|0]|0))<<16>>16}else if(t<<24>>24==29){if((v+5|0)>>>0>u>>>0){r=0;break}r=(d[v+2|0]|0)<<16|(d[s]|0)<<24|(d[v+3|0]|0)<<8|(d[v+4|0]|0)}else{if((t&255)<247){r=r+ -139|0;break}u=(v+2|0)>>>0>u>>>0;if((t&255)<251){if(u){r=0;break}r=(d[s]|0|(r<<8)+ -63232)+108|0;break}else{if(u){r=0;break}r=(251-r<<8)+ -108-(d[s]|0)|0;break}}}while(0);r=da(r,65536e3)|0;break};case 1:case 4:case 5:{v=c[k>>2]|0;u=c[m>>2]|0;t=a[v]|0;if(t<<24>>24==30){r=(FV(v,u,0,0)|0)>>16;break c}s=v+1|0;r=t&255;if(t<<24>>24==29){if((v+5|0)>>>0>u>>>0){r=0;break c}r=(d[v+2|0]|0)<<16|(d[s]|0)<<24|(d[v+3|0]|0)<<8|(d[v+4|0]|0);break c}else if(t<<24>>24==28){if((v+3|0)>>>0>u>>>0){r=0;break c}r=((d[s]|0)<<8&65535|(d[v+2|0]|0))<<16>>16;break c}else{if((t&255)<247){r=r+ -139|0;break c}u=(v+2|0)>>>0>u>>>0;if((t&255)<251){if(u){r=0;break c}r=(d[s]|0|(r<<8)+ -63232)+108|0;break c}else{if(u){r=0;break c}r=(251-r<<8)+ -108-(d[s]|0)|0;break c}}break};case 2:{v=c[k>>2]|0;u=c[m>>2]|0;t=a[v]|0;if(t<<24>>24==30){r=FV(v,u,0,0)|0;break c}r=v+1|0;s=t&255;do{if(t<<24>>24==28){if((v+3|0)>>>0>u>>>0){r=0;break}r=((d[r]|0)<<8&65535|(d[v+2|0]|0))<<16>>16}else if(t<<24>>24==29){if((v+5|0)>>>0>u>>>0){r=0;break}r=(d[v+2|0]|0)<<16|(d[r]|0)<<24|(d[v+3|0]|0)<<8|(d[v+4|0]|0)}else{if((t&255)<247){r=s+ -139|0;break}u=(v+2|0)>>>0>u>>>0;if((t&255)<251){if(u){r=0;break}r=(d[r]|0|(s<<8)+ -63232)+108|0;break}else{if(u){r=0;break}r=(251-s<<8)+ -108-(d[r]|0)|0;break}}}while(0);r=r<<16;break};default:{p=jd[c[q+16>>2]&511](e)|0;if((p|0)==0){break b}else{j=94;break a}}}}while(0);q=d[q+12|0]|0;if((q|0)==2){b[p>>1]=r;break}else if((q|0)==1){a[p]=r;break}else if((q|0)==4){c[p>>2]=r;break}else{c[p>>2]=r;break}}}while(0);c[o>>2]=k}}while(0);f=f+1|0;if(f>>>0>=g>>>0){p=0;j=94;break}p=c[o>>2]|0}if((j|0)==94){i=h;return p|0}return 0}function FV(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;g=i;m=(f|0)!=0;if(m){c[f>>2]=0;z=0;k=0;v=0;A=4;h=0}else{z=0;k=0;v=0;A=4;h=0}a:while(1){y=(v|0)>214748363;b:while(1){while(1){if(!y){break}if((A|0)!=0){b=b+1|0;if(b>>>0>=d>>>0){y=60;break a}}B=a[b]|0;C=(B&255)>>>A&15;A=4-A|0;if((C|0)==14){h=1;continue b}if(C>>>0>9){w=B;x=C;t=A;u=b;y=17;break a}z=z+1|0}while(1){if((A|0)!=0){b=b+1|0;if(b>>>0>=d>>>0){y=60;break a}}C=a[b]|0;B=(C&255)>>>A&15;A=4-A|0;if((B|0)==14){h=1;continue b}if(B>>>0>9){w=C;x=B;t=A;u=b;y=17;break a}if((B|v|0)!=0){break b}}}k=k+1|0;v=B+(v*10|0)|0}if((y|0)==17){c:do{if((x|0)==10){w=0;d:while(1){x=(v|0)<214748364&(w|0)<9;while(1){if(x){if((t|0)!=0){u=u+1|0;if(u>>>0>=d>>>0){y=60;break d}}A=a[u]|0;y=(A&255)>>>t&15;t=4-t|0;if(y>>>0>9){s=A;o=z;l=w;r=y;j=v;q=u;p=t;break c}if((y|v|0)!=0){break}}else{do{if((t|0)!=0){u=u+1|0;if(u>>>0>=d>>>0){y=60;break d}}y=a[u]|0;A=(y&255)>>>t&15;t=4-t|0;if(A>>>0>9){s=y;o=z;l=w;r=A;j=v;q=u;p=t;break c}}while((A|v|0)!=0)}z=z+ -1|0}w=w+1|0;v=y+(v*10|0)|0}if((y|0)==60){i=g;return 0}}else{s=w;o=z;l=0;r=x;j=v;q=u;p=t}}while(0);t=(r|0)==12;do{if((r+ -11|0)>>>0<2){r=0;while(1){if((p|0)!=0){q=q+1|0;if(q>>>0>=d>>>0){y=60;break}s=a[q]|0}u=(s&255)>>>p&15;if(u>>>0>9){y=36;break}u=u+(r*10|0)|0;if((u|0)>1e3){y=60;break}else{r=u;p=4-p|0}}if((y|0)==36){n=t?0-r|0:r;break}else if((y|0)==60){i=g;return 0}}else{n=0}}while(0);d=o+e+n|0;if(m){l=l+k|0;k=d+k|0;if((l|0)>=6){m=c[290680+(l+ -5<<2)>>2]|0;if(((j|0)/(m|0)|0|0)>32767){j=bJ(j,c[290680+(l+ -4<<2)>>2]|0)|0;c[f>>2]=k+ -4;C=(h|0)==0;h=0-j|0;C=C?j:h;i=g;return C|0}else{j=bJ(j,m)|0;c[f>>2]=k+ -5;C=(h|0)==0;h=0-j|0;C=C?j:h;i=g;return C|0}}if((j|0)>32767){j=bJ(j,10)|0;c[f>>2]=1-l+k;C=(h|0)==0;h=0-j|0;C=C?j:h;i=g;return C|0}do{if((k|0)>0){C=(k|0)<5?k:5;k=k-C|0;j=da(c[290680+(C-l<<2)>>2]|0,j)|0;if((j|0)<=32767){break}k=k+1|0;j=(j|0)/10|0}else{k=k-l|0}}while(0);c[f>>2]=k;j=j<<16;C=(h|0)==0;h=0-j|0;C=C?j:h;i=g;return C|0}else{m=d+k|0;n=(m|0)<0;f=0-m|0;if(((n?f:m)|0)>5){i=g;return 0}if(n){k=l+k|0;j=(j|0)/(c[290680+(f<<2)>>2]|0)|0}else{k=l-d|0}do{if((k|0)==10){k=9;j=(j|0)/10|0}else{if((k|0)>0){break}j=da(c[290680+(0-k<<2)>>2]|0,j)|0;if((j|0)>32767){i=g;return 0}j=j<<16;C=(h|0)==0;h=0-j|0;C=C?j:h;i=g;return C|0}}while(0);f=c[290680+(k<<2)>>2]|0;if(((j|0)/(f|0)|0|0)>32767){i=g;return 0}j=bJ(j,f)|0;C=(h|0)==0;h=0-j|0;C=C?j:h;i=g;return C|0}}else if((y|0)==60){i=g;return 0}return 0}function GV(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;f=i;i=i+8|0;h=c[b+412>>2]|0;k=h+68|0;e=h+64|0;j=b+40|0;if((c[b+404>>2]|0)>>>0<j>>>0){s=161;i=g;return s|0}m=h+48|0;s=c[b+16>>2]|0;l=b+20|0;r=c[l>>2]|0;q=a[s]|0;a:do{if(q<<24>>24==30){n=FV(s,r,0,f)|0}else{o=s+1|0;p=q&255;do{if(q<<24>>24==28){if((s+3|0)>>>0>r>>>0){o=0;break}o=((d[o]|0)<<8&65535|(d[s+2|0]|0))<<16>>16}else if(q<<24>>24==29){if((s+5|0)>>>0>r>>>0){o=0;break}o=(d[s+2|0]|0)<<16|(d[o]|0)<<24|(d[s+3|0]|0)<<8|(d[s+4|0]|0);n=16}else{if((q&255)<247){o=p+ -139|0;n=16;break}r=(s+2|0)>>>0>r>>>0;if((q&255)<251){if(r){o=0;break}o=(d[o]|0|(p<<8)+ -63232)+108|0;n=16;break}else{if(r){o=0;break}o=(251-p<<8)+ -108-(d[o]|0)|0;n=16;break}}}while(0);do{if((n|0)==16){if((o|0)>32767){q=5}else{break}while(1){n=q+1|0;if((o|0)<(c[290680+(q<<2)>>2]|0)){break}if((n|0)<10){q=n}else{q=n;break}}n=q+ -5|0;p=c[290680+(n<<2)>>2]|0;if(((o|0)/(p|0)|0|0)>32767){n=q+ -4|0;c[f>>2]=n;n=bJ(o,c[290680+(n<<2)>>2]|0)|0;break a}else{c[f>>2]=n;n=bJ(o,p)|0;break a}}}while(0);c[f>>2]=0;n=o<<16}}while(0);c[m>>2]=n;s=c[f>>2]|0;n=0-s|0;c[f>>2]=n;if((s|0)>0|(n|0)>9){c[m>>2]=65536;c[h+56>>2]=0;c[h+60>>2]=65536;c[k>>2]=0;c[h+72>>2]=0;c[e>>2]=1;s=0;i=g;return s|0}m=b+24|0;r=c[l>>2]|0;q=c[m>>2]|0;l=a[r]|0;if(l<<24>>24==30){l=FV(r,q,n,0)|0}else{o=r+1|0;p=l&255;do{if(l<<24>>24==29){if((r+5|0)>>>0>q>>>0){l=0;break}l=(d[r+2|0]|0)<<16|(d[o]|0)<<24|(d[r+3|0]|0)<<8|(d[r+4|0]|0)}else if(l<<24>>24==28){if((r+3|0)>>>0>q>>>0){l=0;break}l=((d[o]|0)<<8&65535|(d[r+2|0]|0))<<16>>16}else{if((l&255)<247){l=p+ -139|0;break}q=(r+2|0)>>>0>q>>>0;if((l&255)<251){if(q){l=0;break}l=(d[o]|0|(p<<8)+ -63232)+108|0;break}else{if(q){l=0;break}l=(251-p<<8)+ -108-(d[o]|0)|0;break}}}while(0);l=da(l<<16,c[290680+(n<<2)>>2]|0)|0}c[h+56>>2]=l;n=b+28|0;l=c[f>>2]|0;q=c[m>>2]|0;r=c[n>>2]|0;o=a[q]|0;if(o<<24>>24==30){l=FV(q,r,l,0)|0}else{p=q+1|0;m=o&255;do{if(o<<24>>24==29){if((q+5|0)>>>0>r>>>0){m=0;break}m=(d[q+2|0]|0)<<16|(d[p]|0)<<24|(d[q+3|0]|0)<<8|(d[q+4|0]|0)}else if(o<<24>>24==28){if((q+3|0)>>>0>r>>>0){m=0;break}m=((d[p]|0)<<8&65535|(d[q+2|0]|0))<<16>>16}else{if((o&255)<247){m=m+ -139|0;break}q=(q+2|0)>>>0>r>>>0;if((o&255)<251){if(q){m=0;break}m=(d[p]|0|(m<<8)+ -63232)+108|0;break}else{if(q){m=0;break}m=(251-m<<8)+ -108-(d[p]|0)|0;break}}}while(0);l=da(m<<16,c[290680+(l<<2)>>2]|0)|0}c[h+52>>2]=l;l=b+32|0;m=c[f>>2]|0;r=c[n>>2]|0;q=c[l>>2]|0;p=a[r]|0;if(p<<24>>24==30){m=FV(r,q,m,0)|0}else{o=r+1|0;n=p&255;do{if(p<<24>>24==28){if((r+3|0)>>>0>q>>>0){n=0;break}n=((d[o]|0)<<8&65535|(d[r+2|0]|0))<<16>>16}else if(p<<24>>24==29){if((r+5|0)>>>0>q>>>0){n=0;break}n=(d[r+2|0]|0)<<16|(d[o]|0)<<24|(d[r+3|0]|0)<<8|(d[r+4|0]|0)}else{if((p&255)<247){n=n+ -139|0;break}q=(r+2|0)>>>0>q>>>0;if((p&255)<251){if(q){n=0;break}n=(d[o]|0|(n<<8)+ -63232)+108|0;break}else{if(q){n=0;break}n=(251-n<<8)+ -108-(d[o]|0)|0;break}}}while(0);m=da(n<<16,c[290680+(m<<2)>>2]|0)|0}c[h+60>>2]=m;b=b+36|0;m=c[f>>2]|0;q=c[l>>2]|0;p=c[b>>2]|0;o=a[q]|0;if(o<<24>>24==30){l=FV(q,p,m,0)|0}else{l=q+1|0;n=o&255;do{if(o<<24>>24==29){if((q+5|0)>>>0>p>>>0){l=0;break}l=(d[q+2|0]|0)<<16|(d[l]|0)<<24|(d[q+3|0]|0)<<8|(d[q+4|0]|0)}else if(o<<24>>24==28){if((q+3|0)>>>0>p>>>0){l=0;break}l=((d[l]|0)<<8&65535|(d[q+2|0]|0))<<16>>16}else{if((o&255)<247){l=n+ -139|0;break}p=(q+2|0)>>>0>p>>>0;if((o&255)<251){if(p){l=0;break}l=(d[l]|0|(n<<8)+ -63232)+108|0;break}else{if(p){l=0;break}l=(251-n<<8)+ -108-(d[l]|0)|0;break}}}while(0);l=da(l<<16,c[290680+(m<<2)>>2]|0)|0}c[k>>2]=l;k=c[f>>2]|0;l=c[b>>2]|0;n=c[j>>2]|0;b=a[l]|0;if(b<<24>>24==30){j=FV(l,n,k,0)|0}else{m=l+1|0;j=b&255;do{if(b<<24>>24==29){if((l+5|0)>>>0>n>>>0){j=0;break}j=(d[l+2|0]|0)<<16|(d[m]|0)<<24|(d[l+3|0]|0)<<8|(d[l+4|0]|0)}else if(b<<24>>24==28){if((l+3|0)>>>0>n>>>0){j=0;break}j=((d[m]|0)<<8&65535|(d[l+2|0]|0))<<16>>16}else{if((b&255)<247){j=j+ -139|0;break}l=(l+2|0)>>>0>n>>>0;if((b&255)<251){if(l){j=0;break}j=(d[m]|0|(j<<8)+ -63232)+108|0;break}else{if(l){j=0;break}j=(251-j<<8)+ -108-(d[m]|0)|0;break}}}while(0);j=da(j<<16,c[290680+(k<<2)>>2]|0)|0}c[h+72>>2]=j;c[e>>2]=c[290680+(c[f>>2]<<2)>>2];s=0;i=g;return s|0}function HV(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;f=c[b+412>>2]|0;g=b+32|0;if((c[b+404>>2]|0)>>>0<g>>>0){o=161;i=e;return o|0}j=f+80|0;h=b+20|0;o=c[b+16>>2]|0;n=c[h>>2]|0;m=a[o]|0;if(m<<24>>24==30){k=FV(o,n,0,0)|0}else{k=o+1|0;l=m&255;do{if(m<<24>>24==28){if((o+3|0)>>>0>n>>>0){k=0;break}k=((d[k]|0)<<8&65535|(d[o+2|0]|0))<<16>>16}else if(m<<24>>24==29){if((o+5|0)>>>0>n>>>0){k=0;break}k=(d[o+2|0]|0)<<16|(d[k]|0)<<24|(d[o+3|0]|0)<<8|(d[o+4|0]|0)}else{if((m&255)<247){k=l+ -139|0;break}n=(o+2|0)>>>0>n>>>0;if((m&255)<251){if(n){k=0;break}k=(d[k]|0|(l<<8)+ -63232)+108|0;break}else{if(n){k=0;break}k=(251-l<<8)+ -108-(d[k]|0)|0;break}}}while(0);k=k<<16}c[j>>2]=ZI(k)|0;j=b+24|0;m=c[h>>2]|0;n=c[j>>2]|0;l=a[m]|0;if(l<<24>>24==30){h=FV(m,n,0,0)|0}else{k=m+1|0;h=l&255;do{if(l<<24>>24==28){if((m+3|0)>>>0>n>>>0){h=0;break}h=((d[k]|0)<<8&65535|(d[m+2|0]|0))<<16>>16}else if(l<<24>>24==29){if((m+5|0)>>>0>n>>>0){h=0;break}h=(d[m+2|0]|0)<<16|(d[k]|0)<<24|(d[m+3|0]|0)<<8|(d[m+4|0]|0)}else{if((l&255)<247){h=h+ -139|0;break}m=(m+2|0)>>>0>n>>>0;if((l&255)<251){if(m){h=0;break}h=(d[k]|0|(h<<8)+ -63232)+108|0;break}else{if(m){h=0;break}h=(251-h<<8)+ -108-(d[k]|0)|0;break}}}while(0);h=h<<16}c[f+84>>2]=ZI(h)|0;b=b+28|0;m=c[j>>2]|0;l=c[b>>2]|0;j=a[m]|0;if(j<<24>>24==30){h=FV(m,l,0,0)|0}else{h=m+1|0;k=j&255;do{if(j<<24>>24==28){if((m+3|0)>>>0>l>>>0){h=0;break}h=((d[h]|0)<<8&65535|(d[m+2|0]|0))<<16>>16}else if(j<<24>>24==29){if((m+5|0)>>>0>l>>>0){h=0;break}h=(d[m+2|0]|0)<<16|(d[h]|0)<<24|(d[m+3|0]|0)<<8|(d[m+4|0]|0)}else{if((j&255)<247){h=k+ -139|0;break}l=(m+2|0)>>>0>l>>>0;if((j&255)<251){if(l){h=0;break}h=(d[h]|0|(k<<8)+ -63232)+108|0;break}else{if(l){h=0;break}h=(251-k<<8)+ -108-(d[h]|0)|0;break}}}while(0);h=h<<16}c[f+88>>2]=ZI(h)|0;h=c[b>>2]|0;k=c[g>>2]|0;b=a[h]|0;if(b<<24>>24==30){g=FV(h,k,0,0)|0}else{j=h+1|0;g=b&255;do{if(b<<24>>24==29){if((h+5|0)>>>0>k>>>0){g=0;break}g=(d[h+2|0]|0)<<16|(d[j]|0)<<24|(d[h+3|0]|0)<<8|(d[h+4|0]|0)}else if(b<<24>>24==28){if((h+3|0)>>>0>k>>>0){g=0;break}g=((d[j]|0)<<8&65535|(d[h+2|0]|0))<<16>>16}else{if((b&255)<247){g=g+ -139|0;break}h=(h+2|0)>>>0>k>>>0;if((b&255)<251){if(h){g=0;break}g=(d[j]|0|(g<<8)+ -63232)+108|0;break}else{if(h){g=0;break}g=(251-g<<8)+ -108-(d[j]|0)|0;break}}}while(0);g=g<<16}c[f+92>>2]=ZI(g)|0;o=0;i=e;return o|0}function IV(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;e=c[b+412>>2]|0;g=b+24|0;if((c[b+404>>2]|0)>>>0<g>>>0){m=161;i=f;return m|0}h=b+20|0;m=c[b+16>>2]|0;l=c[h>>2]|0;b=a[m]|0;do{if(b<<24>>24==30){b=(FV(m,l,0,0)|0)>>16}else{j=m+1|0;k=b&255;if(b<<24>>24==28){if((m+3|0)>>>0>l>>>0){b=0;break}b=((d[j]|0)<<8&65535|(d[m+2|0]|0))<<16>>16;break}else if(b<<24>>24==29){if((m+5|0)>>>0>l>>>0){b=0;break}b=(d[m+2|0]|0)<<16|(d[j]|0)<<24|(d[m+3|0]|0)<<8|(d[m+4|0]|0);break}else{if((b&255)<247){b=k+ -139|0;break}l=(m+2|0)>>>0>l>>>0;if((b&255)<251){if(l){b=0;break}b=(d[j]|0|(k<<8)+ -63232)+108|0;break}else{if(l){b=0;break}b=(251-k<<8)+ -108-(d[j]|0)|0;break}}}}while(0);c[e+116>>2]=b;h=c[h>>2]|0;k=c[g>>2]|0;j=a[h]|0;do{if(j<<24>>24==30){g=(FV(h,k,0,0)|0)>>16}else{b=h+1|0;g=j&255;if(j<<24>>24==28){if((h+3|0)>>>0>k>>>0){g=0;break}g=((d[b]|0)<<8&65535|(d[h+2|0]|0))<<16>>16;break}else if(j<<24>>24==29){if((h+5|0)>>>0>k>>>0){g=0;break}g=(d[h+2|0]|0)<<16|(d[b]|0)<<24|(d[h+3|0]|0)<<8|(d[h+4|0]|0);break}else{if((j&255)<247){g=g+ -139|0;break}h=(h+2|0)>>>0>k>>>0;if((j&255)<251){if(h){g=0;break}g=(d[b]|0|(g<<8)+ -63232)+108|0;break}else{if(h){g=0;break}g=(251-g<<8)+ -108-(d[b]|0)|0;break}}}}while(0);c[e+112>>2]=g;m=0;i=f;return m|0}function JV(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;e=c[b+412>>2]|0;g=b+28|0;if((c[b+404>>2]|0)>>>0<g>>>0){n=161;i=f;return n|0}h=b+20|0;m=c[b+16>>2]|0;n=c[h>>2]|0;k=a[m]|0;do{if(k<<24>>24==30){j=(FV(m,n,0,0)|0)>>16}else{j=m+1|0;l=k&255;if(k<<24>>24==28){if((m+3|0)>>>0>n>>>0){j=0;break}j=((d[j]|0)<<8&65535|(d[m+2|0]|0))<<16>>16;break}else if(k<<24>>24==29){if((m+5|0)>>>0>n>>>0){j=0;break}j=(d[m+2|0]|0)<<16|(d[j]|0)<<24|(d[m+3|0]|0)<<8|(d[m+4|0]|0);break}else{if((k&255)<247){j=l+ -139|0;break}m=(m+2|0)>>>0>n>>>0;if((k&255)<251){if(m){j=0;break}j=(d[j]|0|(l<<8)+ -63232)+108|0;break}else{if(m){j=0;break}j=(251-l<<8)+ -108-(d[j]|0)|0;break}}}}while(0);c[e+128>>2]=j;b=b+24|0;m=c[h>>2]|0;l=c[b>>2]|0;h=a[m]|0;do{if(h<<24>>24==30){h=(FV(m,l,0,0)|0)>>16}else{j=m+1|0;k=h&255;if(h<<24>>24==28){if((m+3|0)>>>0>l>>>0){h=0;break}h=((d[j]|0)<<8&65535|(d[m+2|0]|0))<<16>>16;break}else if(h<<24>>24==29){if((m+5|0)>>>0>l>>>0){h=0;break}h=(d[m+2|0]|0)<<16|(d[j]|0)<<24|(d[m+3|0]|0)<<8|(d[m+4|0]|0);break}else{if((h&255)<247){h=k+ -139|0;break}l=(m+2|0)>>>0>l>>>0;if((h&255)<251){if(l){h=0;break}h=(d[j]|0|(k<<8)+ -63232)+108|0;break}else{if(l){h=0;break}h=(251-k<<8)+ -108-(d[j]|0)|0;break}}}}while(0);c[e+132>>2]=h;h=c[b>>2]|0;k=c[g>>2]|0;b=a[h]|0;do{if(b<<24>>24==30){g=(FV(h,k,0,0)|0)>>16}else{j=h+1|0;g=b&255;if(b<<24>>24==28){if((h+3|0)>>>0>k>>>0){g=0;break}g=((d[j]|0)<<8&65535|(d[h+2|0]|0))<<16>>16;break}else if(b<<24>>24==29){if((h+5|0)>>>0>k>>>0){g=0;break}g=(d[h+2|0]|0)<<16|(d[j]|0)<<24|(d[h+3|0]|0)<<8|(d[h+4|0]|0);break}else{if((b&255)<247){g=g+ -139|0;break}h=(h+2|0)>>>0>k>>>0;if((b&255)<251){if(h){g=0;break}g=(d[j]|0|(g<<8)+ -63232)+108|0;break}else{if(h){g=0;break}g=(251-g<<8)+ -108-(d[j]|0)|0;break}}}}while(0);c[e+136>>2]=g;n=0;i=f;return n|0}function KV(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;f=i;bX(e|0,0,196)|0;g=a[d+172|0]|0;a[e+8|0]=g;h=g&255;if(g<<24>>24!=0){g=0;do{b[e+12+(g<<1)>>1]=c[d+176+(g<<2)>>2];g=g+1|0;}while(g>>>0<h>>>0)}h=a[d+173|0]|0;a[e+9|0]=h;g=h&255;if(h<<24>>24!=0){h=0;do{b[e+40+(h<<1)>>1]=c[d+232+(h<<2)>>2];h=h+1|0;}while(h>>>0<g>>>0)}g=a[d+174|0]|0;a[e+10|0]=g;h=g&255;if(g<<24>>24!=0){g=0;do{b[e+60+(g<<1)>>1]=c[d+272+(g<<2)>>2];g=g+1|0;}while(g>>>0<h>>>0)}h=a[d+175|0]|0;a[e+11|0]=h;g=h&255;if(h<<24>>24!=0){h=0;do{b[e+88+(h<<1)>>1]=c[d+328+(h<<2)>>2];h=h+1|0;}while(h>>>0<g>>>0)}c[e+108>>2]=c[d+368>>2];c[e+112>>2]=c[d+372>>2];c[e+116>>2]=c[d+376>>2];b[e+120>>1]=c[d+380>>2];b[e+122>>1]=c[d+384>>2];h=a[d+388|0]|0;a[e+124|0]=h;g=h&255;if(h<<24>>24!=0){h=0;do{b[e+128+(h<<1)>>1]=c[d+392+(h<<2)>>2];h=h+1|0;}while(h>>>0<g>>>0)}g=a[d+389|0]|0;a[e+125|0]=g;h=g&255;if(g<<24>>24==0){g=d+496|0;g=a[g]|0;h=e+126|0;a[h]=g;h=d+508|0;h=c[h>>2]|0;g=e+184|0;c[g>>2]=h;g=d+504|0;g=c[g>>2]|0;h=e+4|0;c[h>>2]=g;i=f;return}else{g=0}do{b[e+154+(g<<1)>>1]=c[d+444+(g<<2)>>2];g=g+1|0;}while(g>>>0<h>>>0);g=d+496|0;g=a[g]|0;h=e+126|0;a[h]=g;h=d+508|0;h=c[h>>2]|0;g=e+184|0;c[g>>2]=h;g=d+504|0;g=c[g>>2]|0;h=e+4|0;c[h>>2]=g;i=f;return}function LV(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;h=i;k=i;i=i+8|0;l=i;i=i+8|0;j=i;i=i+8|0;c[k>>2]=e;c[l>>2]=f;p=c[(c[e+76>>2]|0)+1368>>2]|0;c[e+756>>2]=0;a[e+752|0]=1;l=l^k^j;l=(l>>>10^l^l>>20)&65535;c[j>>2]=(l|0)==0?29572:l;l=e+80|0;c[e+276>>2]=l;w=e+280|0;c[e+676>>2]=w;n=c[e+68>>2]|0;m=e+64|0;a[m]=0;c[w>>2]=f;x=f+g|0;c[e+284>>2]=x;c[e+288>>2]=f;A=c[e+24>>2]|0;z=c[e+28>>2]|0;g=(n|0)!=0;if(g){fd[c[n+4>>2]&511](c[n>>2]|0);o=n}else{o=n}v=(p|0)==2?0:16;p=n+12|0;r=n+16|0;s=e+20|0;q=n+20|0;t=e+65|0;u=e+12|0;a:while(1){if(f>>>0<x>>>0){D=f}else{e=0;y=398;break}while(1){f=D+1|0;B=a[D]|0;E=B&255;C=B<<24>>24==28;if(!((B&255)>31|C)){break}do{if(C){E=D+2|0;if(E>>>0>=x>>>0){e=3;y=398;break a}C=D+3|0;B=16;E=(d[f]<<8&65535|d[E])<<16>>16}else{if((B&255)<247){C=f;B=16;E=E+ -139|0;break}if((B&255)<251){if(f>>>0>=x>>>0){e=3;y=398;break a}C=D+2|0;B=16;E=(d[f]|(E<<8)+ -63232)+108|0;break}if(B<<24>>24==-1){E=D+4|0;if(E>>>0>=x>>>0){e=3;y=398;break a}C=D+5|0;B=v;E=d[D+2|0]<<16|d[f]<<24|d[D+3|0]<<8|d[E];break}else{if(f>>>0>=x>>>0){e=3;y=398;break a}C=D+2|0;B=16;E=(251-E<<8)+ -108-(d[f]|0)|0;break}}}while(0);D=(c[k>>2]|0)+276|0;f=c[D>>2]|0;if((f-l|0)>188){e=130;y=398;break a}c[D>>2]=f+4;c[f>>2]=E<<B;if(C>>>0<x>>>0){D=C}else{e=0;y=398;break a}}G=c[k>>2]|0;B=c[G+276>>2]|0;H=B-(G+80)|0;C=H>>2;b:do{switch(E|0){case 21:{E=1;break};case 22:{E=2;break};case 23:{E=22;break};case 4:{E=3;break};case 3:{E=20;break};case 24:{E=10;break};case 25:{E=11;break};case 26:{E=13;break};case 12:{if(f>>>0>=x>>>0){e=3;y=398;break a}D=D+2|0;switch(d[f]|0){case 35:{f=D;E=14;break b};case 36:{f=D;E=16;break b};case 37:{f=D;E=17;break b};case 28:{f=D;E=36;break b};case 29:{f=D;E=37;break b};case 30:{f=D;E=38;break b};case 4:{f=D;E=45;break b};case 5:{f=D;E=46;break b};case 6:{f=D;E=56;break b};case 15:{f=D;E=47;break b};case 16:{f=D;E=54;break b};case 17:{f=D;E=55;break b};case 24:{f=D;E=32;break b};case 26:{f=D;E=33;break b};case 27:{f=D;E=39;break b};case 7:{f=D;E=57;break b};case 8:{f=D;E=42;break b};case 9:{f=D;E=26;break b};case 0:{f=D;E=25;break b};case 21:{f=D;E=41;break b};case 22:{f=D;E=48;break b};case 23:{f=D;E=31;break b};case 18:{f=D;E=35;break b};case 20:{f=D;E=40;break b};case 10:{f=D;E=27;break b};case 11:{f=D;E=28;break b};case 2:{f=D;E=19;break b};case 3:{f=D;E=44;break b};case 1:{f=D;E=20;break b};case 12:{f=D;E=29;break b};case 13:{f=D;E=43;break b};case 14:{f=D;E=30;break b};case 33:{f=D;E=58;break b};case 34:{f=D;E=15;break b};default:{e=3;y=398;break a}}break};case 18:{E=21;break};case 19:{E=23;break};case 20:{E=24;break};case 10:{E=49;break};case 11:{E=51;break};case 1:{E=19;break};case 13:{E=52;break};case 14:{E=18;break};case 16:{E=34;break};case 27:{E=8;break};case 29:{E=50;break};case 7:{E=6;break};case 8:{E=7;break};case 9:{E=53;break};case 30:{E=12;break};case 31:{E=9;break};case 5:{E=4;break};case 6:{E=5;break};default:{e=3;y=398;break a}}}while(0);F=d[290720+E|0]|0;if((F&128|0)==0){H=C}else{c:do{if((H|0)>0){if((a[G+752|0]|0)==0){break}d:do{switch(E|0){case 24:case 23:case 1:case 22:case 21:case 20:case 19:{D=C&1;y=91;break};case 18:{if((C|0)==5){break d}D=(C|0)==1|0;y=91;break};case 3:case 2:{D=C&2;y=91;break};default:{break c}}}while(0);if((y|0)==91){y=0;if((D|0)==0){break}}c[G+744>>2]=(c[l>>2]>>16)+(c[G+748>>2]|0);G=c[k>>2]|0;if((a[G+753|0]|0)!=0){e=0;y=398;break a}C=C+ -1|0}}while(0);a[G+752|0]=0;H=C;F=0}C=F&15;if((H|0)<(C|0)){e=129;y=398;break}D=B+(0-C<<2)|0;G=H-C|0;e:do{switch(E|0){case 8:{if((G|0)<4){e=129;y=398;break a}D=(G|0)%4|0;D=((D|0)>0)+(G-D)|0;if((NV(e,A,z)|0)!=0){e=0;y=398;break a}E=D+C|0;C=B+(0-E<<2)|0;if((D&1|0)==0){B=C}else{B=B+(1-E<<2)|0;D=D+ -1|0;z=(c[C>>2]|0)+z|0}C=((D|0)/4|0)*3|0;do{if((D+3|0)>>>0>=7){D=c[u>>2]|0;if(((b[D+22>>1]|0)+C+(b[D+58>>1]|0)|0)>>>0<=(c[D+4>>2]|0)>>>0){break}if((pJ(D,C,0)|0)!=0){e=0;y=398;break a}}}while(0);if(B>>>0>=(c[(c[k>>2]|0)+276>>2]|0)>>>0){E=l;break e}while(1){A=(c[B>>2]|0)+A|0;C=c[s>>2]|0;if((a[t]|0)==0){C=C+2|0}else{N=c[C+4>>2]|0;P=C+2|0;O=b[P>>1]|0;C=(c[C+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[C]=2;C=P}b[C>>1]=(b[C>>1]|0)+1<<16>>16;A=(c[B+4>>2]|0)+A|0;z=(c[B+8>>2]|0)+z|0;C=c[s>>2]|0;if((a[t]|0)==0){C=C+2|0}else{N=c[C+4>>2]|0;P=C+2|0;O=b[P>>1]|0;C=(c[C+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[C]=2;C=P}b[C>>1]=(b[C>>1]|0)+1<<16>>16;A=(c[B+12>>2]|0)+A|0;C=c[s>>2]|0;if((a[t]|0)==0){C=C+2|0}else{N=c[C+4>>2]|0;P=C+2|0;O=b[P>>1]|0;C=(c[C+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[C]=1;C=P}b[C>>1]=(b[C>>1]|0)+1<<16>>16;B=B+16|0;if(B>>>0>=(c[(c[k>>2]|0)+276>>2]|0)>>>0){E=l;break}}break};case 11:{if((G|0)<8){e=129;y=398;break a}G=G&-2;I=G+ -6|0;D=(I|0)/2|0;if((NV(e,A,z)|0)!=0){e=0;y=398;break a}E=D+3|0;do{if((E|0)!=0){y=c[u>>2]|0;if(((b[y+22>>1]|0)+E+(b[y+58>>1]|0)|0)>>>0<=(c[y+4>>2]|0)>>>0){break}if((pJ(y,E,0)|0)!=0){e=0;y=398;break a}}}while(0);C=C+G|0;y=B+(0-C<<2)|0;E=(c[y>>2]|0)+A|0;C=(c[B+(1-C<<2)>>2]|0)+z|0;H=c[s>>2]|0;A=(a[t]|0)==0;if((I|0)>1){z=0-D|0;z=(D+((z|0)>-1?z:2147483647)<<1)-(G+(F&15))|0;while(1){if(A){A=H+2|0}else{N=c[H+4>>2]|0;A=H+2|0;O=b[A>>1]|0;P=(c[H+8>>2]|0)+O|0;c[N+(O<<3)>>2]=E>>16;c[N+(O<<3)+4>>2]=C>>16;a[P]=1}b[A>>1]=(b[A>>1]|0)+1<<16>>16;F=y+8|0;D=D+ -1|0;E=(c[F>>2]|0)+E|0;C=(c[y+12>>2]|0)+C|0;H=c[s>>2]|0;A=(a[t]|0)==0;if((D|0)>0){y=F}else{break}}y=B+(z+2<<2)|0;if(A){z=y;y=238}else{z=y;y=239}}else{if(A){z=y;y=238}else{z=y;y=239}}if((y|0)==238){y=0;A=H+2|0}else if((y|0)==239){y=0;N=c[H+4>>2]|0;A=H+2|0;O=b[A>>1]|0;P=(c[H+8>>2]|0)+O|0;c[N+(O<<3)>>2]=E>>16;c[N+(O<<3)+4>>2]=C>>16;a[P]=2}b[A>>1]=(b[A>>1]|0)+1<<16>>16;A=(c[z+8>>2]|0)+E|0;B=(c[z+12>>2]|0)+C|0;C=c[s>>2]|0;if((a[t]|0)==0){C=C+2|0}else{N=c[C+4>>2]|0;P=C+2|0;O=b[P>>1]|0;C=(c[C+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=B>>16;a[C]=2;C=P}b[C>>1]=(b[C>>1]|0)+1<<16>>16;A=(c[z+16>>2]|0)+A|0;z=(c[z+20>>2]|0)+B|0;B=c[s>>2]|0;if((a[t]|0)==0){B=B+2|0}else{N=c[B+4>>2]|0;P=B+2|0;O=b[P>>1]|0;B=(c[B+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[B]=1;B=P}b[B>>1]=(b[B>>1]|0)+1<<16>>16;E=l;break};case 13:{if((G|0)<4){e=129;y=398;break a}D=(G|0)%4|0;D=((D|0)>0)+(G-D)|0;if((NV(e,A,z)|0)!=0){e=0;y=398;break a}E=D+C|0;C=B+(0-E<<2)|0;if((D&1|0)==0){B=C}else{B=B+(1-E<<2)|0;D=D+ -1|0;A=(c[C>>2]|0)+A|0}C=((D|0)/4|0)*3|0;do{if((D+3|0)>>>0>=7){D=c[u>>2]|0;if(((b[D+22>>1]|0)+C+(b[D+58>>1]|0)|0)>>>0<=(c[D+4>>2]|0)>>>0){break}if((pJ(D,C,0)|0)!=0){e=0;y=398;break a}}}while(0);if(B>>>0>=(c[(c[k>>2]|0)+276>>2]|0)>>>0){E=l;break e}while(1){z=(c[B>>2]|0)+z|0;C=c[s>>2]|0;if((a[t]|0)==0){C=C+2|0}else{N=c[C+4>>2]|0;P=C+2|0;O=b[P>>1]|0;C=(c[C+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[C]=2;C=P}b[C>>1]=(b[C>>1]|0)+1<<16>>16;A=(c[B+4>>2]|0)+A|0;z=(c[B+8>>2]|0)+z|0;C=c[s>>2]|0;if((a[t]|0)==0){C=C+2|0}else{N=c[C+4>>2]|0;P=C+2|0;O=b[P>>1]|0;C=(c[C+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[C]=2;C=P}b[C>>1]=(b[C>>1]|0)+1<<16>>16;z=(c[B+12>>2]|0)+z|0;C=c[s>>2]|0;if((a[t]|0)==0){C=C+2|0}else{N=c[C+4>>2]|0;P=C+2|0;O=b[P>>1]|0;C=(c[C+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[C]=1;C=P}b[C>>1]=(b[C>>1]|0)+1<<16>>16;B=B+16|0;if(B>>>0>=(c[(c[k>>2]|0)+276>>2]|0)>>>0){E=l;break}}break};case 7:{if((G|0)<6){e=129;y=398;break a}F=G-((G|0)%6|0)|0;if((NV(e,A,z)|0)!=0){e=0;y=398;break a}E=(F|0)/2|0;do{if((F+1|0)>>>0>=3){D=c[u>>2]|0;if(((b[D+22>>1]|0)+E+(b[D+58>>1]|0)|0)>>>0<=(c[D+4>>2]|0)>>>0){break}if((pJ(D,E,0)|0)!=0){e=0;y=398;break a}}}while(0);B=B+(0-(C+F)<<2)|0;if(B>>>0>=(c[(c[k>>2]|0)+276>>2]|0)>>>0){E=l;break e}while(1){A=(c[B>>2]|0)+A|0;z=(c[B+4>>2]|0)+z|0;C=c[s>>2]|0;if((a[t]|0)==0){C=C+2|0}else{N=c[C+4>>2]|0;P=C+2|0;O=b[P>>1]|0;C=(c[C+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[C]=2;C=P}b[C>>1]=(b[C>>1]|0)+1<<16>>16;A=(c[B+8>>2]|0)+A|0;z=(c[B+12>>2]|0)+z|0;C=c[s>>2]|0;if((a[t]|0)==0){C=C+2|0}else{N=c[C+4>>2]|0;P=C+2|0;O=b[P>>1]|0;C=(c[C+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[C]=2;C=P}b[C>>1]=(b[C>>1]|0)+1<<16>>16;A=(c[B+16>>2]|0)+A|0;z=(c[B+20>>2]|0)+z|0;C=c[s>>2]|0;if((a[t]|0)==0){C=C+2|0}else{N=c[C+4>>2]|0;P=C+2|0;O=b[P>>1]|0;C=(c[C+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[C]=1;C=P}b[C>>1]=(b[C>>1]|0)+1<<16>>16;B=B+24|0;if(B>>>0>=(c[(c[k>>2]|0)+276>>2]|0)>>>0){E=l;break}}break};case 22:case 21:case 20:case 19:{if(g){if((E|0)==19){D=1}else{D=(E|0)==21|0}P=(G|0)/2|0;Jd[c[p>>2]&63](c[o>>2]|0,D,P,B+(0-(C+(G&-2))<<2)|0);B=P}else{B=(G|0)/2|0}E=(c[k>>2]|0)+756|0;c[E>>2]=(c[E>>2]|0)+B;E=l;break};case 3:{MV(c[s>>2]|0);a[m]=0;E=l;z=(c[B+(((F|-16)^15)<<2)>>2]|0)+z|0;break};case 1:{MV(c[s>>2]|0);a[m]=0;E=l;A=(c[B+(-2-C<<2)>>2]|0)+A|0;z=(c[B+(((F|-16)^15)<<2)>>2]|0)+z|0;break};case 9:case 12:{if((NV(e,A,z)|0)!=0){e=0;y=398;break a}if((G|0)<4){e=129;y=398;break a}D=(G|0)%4|0;D=((D|0)>0)+(G-D)|0;G=((D|0)/4|0)*3|0;if((D+3|0)>>>0<7){E=l;break e}F=c[u>>2]|0;if(((b[F+22>>1]|0)+G+(b[F+58>>1]|0)|0)>>>0>(c[F+4>>2]|0)>>>0){if((pJ(F,G,0)|0)!=0){e=129;y=398;break a}}if((D|0)<=3){E=l;break e}B=B+(0-(C+D)<<2)|0;C=(E|0)==9|0;while(1){D=D+ -4|0;E=c[B>>2]|0;if((C|0)==0){z=E+z|0;E=c[s>>2]|0;if((a[t]|0)==0){E=E+2|0}else{N=c[E+4>>2]|0;P=E+2|0;O=b[P>>1]|0;E=(c[E+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[E]=2;E=P}b[E>>1]=(b[E>>1]|0)+1<<16>>16;A=(c[B+4>>2]|0)+A|0;z=(c[B+8>>2]|0)+z|0;E=c[s>>2]|0;if((a[t]|0)==0){E=E+2|0}else{N=c[E+4>>2]|0;P=E+2|0;O=b[P>>1]|0;E=(c[E+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[E]=2;E=P}b[E>>1]=(b[E>>1]|0)+1<<16>>16;A=(c[B+12>>2]|0)+A|0;if((D|0)==1){z=(c[B+16>>2]|0)+z|0}E=c[s>>2]|0;if((a[t]|0)==0){E=E+2|0}else{N=c[E+4>>2]|0;P=E+2|0;O=b[P>>1]|0;E=(c[E+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[E]=1;E=P}b[E>>1]=(b[E>>1]|0)+1<<16>>16}else{A=E+A|0;E=c[s>>2]|0;if((a[t]|0)==0){E=E+2|0}else{N=c[E+4>>2]|0;P=E+2|0;O=b[P>>1]|0;E=(c[E+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[E]=2;E=P}b[E>>1]=(b[E>>1]|0)+1<<16>>16;A=(c[B+4>>2]|0)+A|0;z=(c[B+8>>2]|0)+z|0;E=c[s>>2]|0;if((a[t]|0)==0){E=E+2|0}else{N=c[E+4>>2]|0;P=E+2|0;O=b[P>>1]|0;E=(c[E+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[E]=2;E=P}b[E>>1]=(b[E>>1]|0)+1<<16>>16;z=(c[B+12>>2]|0)+z|0;if((D|0)==1){A=(c[B+16>>2]|0)+A|0}E=c[s>>2]|0;if((a[t]|0)==0){E=E+2|0}else{N=c[E+4>>2]|0;P=E+2|0;O=b[P>>1]|0;E=(c[E+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[E]=1;E=P}b[E>>1]=(b[E>>1]|0)+1<<16>>16}if((D|0)>3){B=B+16|0;C=C^1}else{E=l;break}}break};case 6:case 5:{B=(E|0)==5|0;if((G|0)<1){e=129;y=398;break a}if((NV(e,A,z)|0)!=0){e=0;y=398;break a}do{if((H|0)!=(C|0)){C=c[u>>2]|0;if(((b[C+22>>1]|0)+G+(b[C+58>>1]|0)|0)>>>0<=(c[C+4>>2]|0)>>>0){break}if((pJ(C,G,0)|0)!=0){e=0;y=398;break a}}}while(0);if(l>>>0<(c[(c[k>>2]|0)+276>>2]|0)>>>0){C=l}else{E=l;break e}while(1){D=(B|0)==0;E=c[C>>2]|0;z=(D?E:0)+z|0;A=(D?0:E)+A|0;D=c[u>>2]|0;if(((b[D+22>>1]|0)+1+(b[D+58>>1]|0)|0)>>>0>(c[D+4>>2]|0)>>>0){if((pJ(D,1,0)|0)!=0){e=0;y=398;break a}}D=c[s>>2]|0;if((a[t]|0)==0){D=D+2|0}else{N=c[D+4>>2]|0;P=D+2|0;O=b[P>>1]|0;D=(c[D+8>>2]|0)+O|0;c[N+(O<<3)>>2]=A>>16;c[N+(O<<3)+4>>2]=z>>16;a[D]=1;D=P}b[D>>1]=(b[D>>1]|0)+1<<16>>16;C=C+4|0;if(C>>>0>=(c[(c[k>>2]|0)+276>>2]|0)>>>0){E=l;break e}B=B^1}break};case 17:{if((NV(e,A,z)|0)!=0){e=0;y=398;break a}E=c[u>>2]|0;if(((b[E+22>>1]|0)+6+(b[E+58>>1]|0)|0)>>>0>(c[E+4>>2]|0)>>>0){if((pJ(E,6,0)|0)!=0){e=0;y=398;break a}}O=c[D>>2]|0;M=c[B+(1-C<<2)>>2]|0;E=2-C|0;N=B+(E<<2)|0;L=B+(E+1<<2)|0;K=B+(E+2<<2)|0;J=B+(E+3<<2)|0;I=B+(E+4<<2)|0;H=B+(E+5<<2)|0;G=B+(E+6<<2)|0;C=(c[G>>2]|0)+((c[I>>2]|0)+((c[K>>2]|0)+((c[N>>2]|0)+O)))|0;F=B+(E+7<<2)|0;D=(c[F>>2]|0)+((c[H>>2]|0)+((c[J>>2]|0)+((c[L>>2]|0)+M)))|0;O=O+A|0;M=M+z|0;P=c[s>>2]|0;if((a[t]|0)==0){P=P+2|0}else{S=c[P+4>>2]|0;Q=P+2|0;R=b[Q>>1]|0;P=(c[P+8>>2]|0)+R|0;c[S+(R<<3)>>2]=O>>16;c[S+(R<<3)+4>>2]=M>>16;a[P]=2;P=Q}b[P>>1]=(b[P>>1]|0)+1<<16>>16;N=(c[N>>2]|0)+O|0;L=(c[L>>2]|0)+M|0;M=c[s>>2]|0;if((a[t]|0)==0){M=M+2|0}else{Q=c[M+4>>2]|0;S=M+2|0;R=b[S>>1]|0;M=(c[M+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=N>>16;c[Q+(R<<3)+4>>2]=L>>16;a[M]=2;M=S}b[M>>1]=(b[M>>1]|0)+1<<16>>16;K=(c[K>>2]|0)+N|0;J=(c[J>>2]|0)+L|0;L=c[s>>2]|0;if((a[t]|0)==0){L=L+2|0}else{Q=c[L+4>>2]|0;S=L+2|0;R=b[S>>1]|0;L=(c[L+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=K>>16;c[Q+(R<<3)+4>>2]=J>>16;a[L]=1;L=S}b[L>>1]=(b[L>>1]|0)+1<<16>>16;I=(c[I>>2]|0)+K|0;H=(c[H>>2]|0)+J|0;J=c[s>>2]|0;if((a[t]|0)==0){J=J+2|0}else{Q=c[J+4>>2]|0;S=J+2|0;R=b[S>>1]|0;J=(c[J+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=I>>16;c[Q+(R<<3)+4>>2]=H>>16;a[J]=2;J=S}b[J>>1]=(b[J>>1]|0)+1<<16>>16;G=(c[G>>2]|0)+I|0;F=(c[F>>2]|0)+H|0;H=c[s>>2]|0;if((a[t]|0)==0){H=H+2|0}else{Q=c[H+4>>2]|0;S=H+2|0;R=b[S>>1]|0;H=(c[H+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=G>>16;c[Q+(R<<3)+4>>2]=F>>16;a[H]=2;H=S}b[H>>1]=(b[H>>1]|0)+1<<16>>16;B=c[B+(E+8<<2)>>2]|0;C=(((C|0)<0?0-C|0:C)|0)>(((D|0)<0?0-D|0:D)|0);z=C?z:B+F|0;A=C?B+G|0:A;B=c[s>>2]|0;if((a[t]|0)==0){B=B+2|0}else{Q=c[B+4>>2]|0;S=B+2|0;R=b[S>>1]|0;B=(c[B+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=A>>16;c[Q+(R<<3)+4>>2]=z>>16;a[B]=1;B=S}b[B>>1]=(b[B>>1]|0)+1<<16>>16;E=l;break};case 14:{if((NV(e,A,z)|0)!=0){e=0;y=398;break a}B=c[u>>2]|0;if(((b[B+22>>1]|0)+6+(b[B+58>>1]|0)|0)>>>0>(c[B+4>>2]|0)>>>0){if((pJ(B,6,0)|0)==0){B=6}else{e=0;y=398;break a}}else{B=6}while(1){A=(c[D>>2]|0)+A|0;z=(c[D+4>>2]|0)+z|0;if((B|0)==4){C=1}else{C=(B|0)==1|0}F=c[s>>2]|0;if((a[t]|0)==0){E=F+2|0}else{R=c[F+4>>2]|0;E=F+2|0;S=b[E>>1]|0;F=(c[F+8>>2]|0)+S|0;c[R+(S<<3)>>2]=A>>16;c[R+(S<<3)+4>>2]=z>>16;a[F]=C<<24>>24!=0?1:2}b[E>>1]=(b[E>>1]|0)+1<<16>>16;B=B+ -1|0;if((B|0)==0){E=l;break}else{D=D+8|0}}break};case 56:{y=330;break a};case 26:{E=c[D>>2]|0;if((E|0)<0){c[D>>2]=0-E}E=B+(1-C<<2)|0;break};case 27:{E=B+(1-C<<2)|0;c[D>>2]=(c[D>>2]|0)+(c[E>>2]|0);break};case 28:{E=B+(1-C<<2)|0;c[D>>2]=(c[D>>2]|0)-(c[E>>2]|0);break};case 29:{E=B+(1-C<<2)|0;c[D>>2]=bJ(c[D>>2]|0,c[E>>2]|0)|0;break};case 30:{c[D>>2]=0-(c[D>>2]|0);E=B+(1-C<<2)|0;break};case 18:{y=331;break a};case 38:{E=c[D>>2]>>16;J=c[B+(1-C<<2)>>2]>>16;G=(E|0)<1?1:E;C=G+C|0;E=B+(0-C<<2)|0;if(E>>>0<l>>>0){e=129;y=398;break a}if((J|0)>-1){if((J|0)<=0){E=D;break e}F=B+(G+ -1-C<<2)|0;H=G+ -2|0;I=(H|0)>-1;G=1-C|0;while(1){K=c[F>>2]|0;if(I){L=H;while(1){c[B+(G+L<<2)>>2]=c[B+(L-C<<2)>>2];if((L|0)>0){L=L+ -1|0}else{break}}}c[E>>2]=K;J=J+ -1|0;if((J|0)<=0){E=D;break}}}else{F=G+ -1|0;if((F|0)<=0){while(1){c[B+(F-C<<2)>>2]=c[E>>2];J=J+1|0;if((J|0)<0){}else{E=D;break e}}}while(1){I=c[E>>2]|0;H=0;while(1){G=H+1|0;c[B+(H-C<<2)>>2]=c[B+(G-C<<2)>>2];if((G|0)<(F|0)){H=G}else{break}}c[B+(F-C<<2)>>2]=I;J=J+1|0;if((J|0)>=0){E=D;break}}}break};case 31:{S=c[j>>2]|0;c[D>>2]=((S|0)>32767)+S;D=c[j>>2]|0;D=aJ(D,65536-D|0)|0;c[j>>2]=(D|0)==0?D+10355|0:D;E=B+(1-C<<2)|0;break};case 32:{E=B+(1-C<<2)|0;c[D>>2]=aJ(c[D>>2]|0,c[E>>2]|0)|0;break};case 33:{F=c[D>>2]|0;f:do{if((F|0)>0){E=F;while(1){G=F+1+(bJ(E,F)|0)>>1;if((G|0)==(F|0)){break f}E=c[D>>2]|0;F=G}}else{F=0}}while(0);c[D>>2]=F;E=B+(1-C<<2)|0;break};case 44:{E=B+(1-C<<2)|0;if((c[D>>2]|0)==0){B=0}else{B=(c[E>>2]|0)!=0?65536:0}c[D>>2]=B;break};case 45:{E=B+(1-C<<2)|0;if((c[D>>2]|0)==0){B=(c[E>>2]|0)!=0?65536:0}else{B=65536}c[D>>2]=B;break};case 47:{c[D>>2]=(c[D>>2]|0)==0?65536:0;E=B+(1-C<<2)|0;break};case 36:{S=c[D>>2]|0;E=B+(1-C<<2)|0;c[D>>2]=c[E>>2];c[E>>2]=S;E=B+(2-C<<2)|0;break};case 37:{E=c[D>>2]>>16;if((E|0)<0){E=-1}else{F=G+ -2|0;E=~((E|0)>(F|0)?F:E)}c[D>>2]=c[B+(E-C<<2)>>2];E=B+(1-C<<2)|0;break};case 10:{if((G|0)<8){e=129;y=398;break a}E=G+ -2|0;I=(E|0)%6|0;D=(E|0)/6|0;if((NV(e,A,z)|0)!=0){e=0;y=398;break a}F=(D*3|0)+2|0;do{if((F|0)!=0){H=c[u>>2]|0;if(((b[H+22>>1]|0)+F+(b[H+58>>1]|0)|0)>>>0<=(c[H+4>>2]|0)>>>0){break}if((pJ(H,F,0)|0)!=0){e=0;y=398;break a}}}while(0);C=-2-C+(2-G)+I|0;F=B+(C<<2)|0;A=(c[F>>2]|0)+A|0;z=(c[B+(C+1<<2)>>2]|0)+z|0;B=c[s>>2]|0;C=(a[t]|0)==0;if((E|0)>5){G=B;B=F;while(1){if(C){C=G+2|0}else{Q=c[G+4>>2]|0;C=G+2|0;R=b[C>>1]|0;S=(c[G+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=A>>16;c[Q+(R<<3)+4>>2]=z>>16;a[S]=2}b[C>>1]=(b[C>>1]|0)+1<<16>>16;A=(c[B+8>>2]|0)+A|0;z=(c[B+12>>2]|0)+z|0;C=c[s>>2]|0;if((a[t]|0)==0){C=C+2|0}else{Q=c[C+4>>2]|0;S=C+2|0;R=b[S>>1]|0;C=(c[C+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=A>>16;c[Q+(R<<3)+4>>2]=z>>16;a[C]=2;C=S}b[C>>1]=(b[C>>1]|0)+1<<16>>16;A=(c[B+16>>2]|0)+A|0;z=(c[B+20>>2]|0)+z|0;C=c[s>>2]|0;if((a[t]|0)==0){C=C+2|0}else{Q=c[C+4>>2]|0;S=C+2|0;R=b[S>>1]|0;C=(c[C+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=A>>16;c[Q+(R<<3)+4>>2]=z>>16;a[C]=1;C=S}b[C>>1]=(b[C>>1]|0)+1<<16>>16;E=B+24|0;D=D+ -1|0;A=(c[E>>2]|0)+A|0;z=(c[B+28>>2]|0)+z|0;B=c[s>>2]|0;C=(a[t]|0)==0;if((D|0)>0){G=B;B=E}else{break}}}if(C){B=B+2|0}else{Q=c[B+4>>2]|0;S=B+2|0;R=b[S>>1]|0;B=(c[B+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=A>>16;c[Q+(R<<3)+4>>2]=z>>16;a[B]=1;B=S}b[B>>1]=(b[B>>1]|0)+1<<16>>16;E=l;break};case 16:{if((NV(e,A,z)|0)!=0){e=0;y=398;break a}E=c[u>>2]|0;if(((b[E+22>>1]|0)+6+(b[E+58>>1]|0)|0)>>>0>(c[E+4>>2]|0)>>>0){if((pJ(E,6,0)|0)!=0){e=0;y=398;break a}}D=(c[D>>2]|0)+A|0;A=(c[B+(1-C<<2)>>2]|0)+z|0;E=c[s>>2]|0;if((a[t]|0)==0){E=E+2|0}else{Q=c[E+4>>2]|0;S=E+2|0;R=b[S>>1]|0;E=(c[E+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=D>>16;c[Q+(R<<3)+4>>2]=A>>16;a[E]=2;E=S}b[E>>1]=(b[E>>1]|0)+1<<16>>16;D=(c[B+(2-C<<2)>>2]|0)+D|0;A=(c[B+(3-C<<2)>>2]|0)+A|0;E=c[s>>2]|0;if((a[t]|0)==0){E=E+2|0}else{Q=c[E+4>>2]|0;S=E+2|0;R=b[S>>1]|0;E=(c[E+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=D>>16;c[Q+(R<<3)+4>>2]=A>>16;a[E]=2;E=S}b[E>>1]=(b[E>>1]|0)+1<<16>>16;D=(c[B+(4-C<<2)>>2]|0)+D|0;E=c[s>>2]|0;if((a[t]|0)==0){E=E+2|0}else{Q=c[E+4>>2]|0;S=E+2|0;R=b[S>>1]|0;E=(c[E+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=D>>16;c[Q+(R<<3)+4>>2]=A>>16;a[E]=1;E=S}b[E>>1]=(b[E>>1]|0)+1<<16>>16;D=(c[B+(5-C<<2)>>2]|0)+D|0;E=c[s>>2]|0;if((a[t]|0)==0){E=E+2|0}else{Q=c[E+4>>2]|0;S=E+2|0;R=b[S>>1]|0;E=(c[E+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=D>>16;c[Q+(R<<3)+4>>2]=A>>16;a[E]=2;E=S}b[E>>1]=(b[E>>1]|0)+1<<16>>16;D=(c[B+(6-C<<2)>>2]|0)+D|0;E=c[s>>2]|0;if((a[t]|0)==0){A=E+2|0}else{P=(c[B+(7-C<<2)>>2]|0)+A|0;Q=c[E+4>>2]|0;A=E+2|0;R=b[A>>1]|0;S=(c[E+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=D>>16;c[Q+(R<<3)+4>>2]=P>>16;a[S]=2}b[A>>1]=(b[A>>1]|0)+1<<16>>16;A=(c[B+(8-C<<2)>>2]|0)+D|0;B=c[s>>2]|0;if((a[t]|0)==0){B=B+2|0}else{Q=c[B+4>>2]|0;S=B+2|0;R=b[S>>1]|0;B=(c[B+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=A>>16;c[Q+(R<<3)+4>>2]=z>>16;a[B]=1;B=S}b[B>>1]=(b[B>>1]|0)+1<<16>>16;E=l;break};case 4:{if((NV(e,A,z)|0)!=0){e=0;y=398;break a}D=(G|0)/2|0;if((G+1|0)>>>0<3){e=129;y=398;break a}E=c[u>>2]|0;if(((b[E+22>>1]|0)+D+(b[E+58>>1]|0)|0)>>>0>(c[E+4>>2]|0)>>>0){if((pJ(E,D,0)|0)!=0){e=0;y=398;break a}}if((G|0)<2){e=129;y=398;break a}B=B+(0-(C+(G&-2))<<2)|0;if(B>>>0>=(c[(c[k>>2]|0)+276>>2]|0)>>>0){E=l;break e}while(1){A=(c[B>>2]|0)+A|0;z=(c[B+4>>2]|0)+z|0;C=c[s>>2]|0;if((a[t]|0)==0){C=C+2|0}else{Q=c[C+4>>2]|0;S=C+2|0;R=b[S>>1]|0;C=(c[C+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=A>>16;c[Q+(R<<3)+4>>2]=z>>16;a[C]=1;C=S}b[C>>1]=(b[C>>1]|0)+1<<16>>16;B=B+8|0;if(B>>>0<(c[(c[k>>2]|0)+276>>2]|0)>>>0){}else{E=l;break}}break};case 2:{MV(c[s>>2]|0);a[m]=0;E=l;A=(c[B+(((F|-16)^15)<<2)>>2]|0)+A|0;break};case 24:case 23:{if((G|0)>0){if(g){S=(G|0)/2|0;Jd[c[p>>2]&63](c[o>>2]|0,0,S,B+(0-(C+(G&-2))<<2)|0);B=S}else{B=(G|0)/2|0}S=(c[k>>2]|0)+756|0;c[S>>2]=(c[S>>2]|0)+B}B=c[(c[k>>2]|0)+756>>2]|0;if((f+(B+7>>3)|0)>>>0>=x>>>0){e=3;y=398;break a}do{if(g){if((E|0)==23){Jd[c[r>>2]&63](c[o>>2]|0,b[(c[s>>2]|0)+2>>1]|0,B,f);break}else{Gd[c[q>>2]&255](c[o>>2]|0,B,f);break}}}while(0);E=l;f=f+((c[(c[k>>2]|0)+756>>2]|0)+7>>3)|0;break};case 15:{if((NV(e,A,z)|0)!=0){e=0;y=398;break a}E=c[u>>2]|0;if(((b[E+22>>1]|0)+6+(b[E+58>>1]|0)|0)>>>0>(c[E+4>>2]|0)>>>0){if((pJ(E,6,0)|0)!=0){e=0;y=398;break a}}A=(c[D>>2]|0)+A|0;D=c[s>>2]|0;if((a[t]|0)==0){D=D+2|0}else{Q=c[D+4>>2]|0;S=D+2|0;R=b[S>>1]|0;D=(c[D+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=A>>16;c[Q+(R<<3)+4>>2]=z>>16;a[D]=2;D=S}b[D>>1]=(b[D>>1]|0)+1<<16>>16;D=(c[B+(1-C<<2)>>2]|0)+A|0;A=(c[B+(2-C<<2)>>2]|0)+z|0;E=c[s>>2]|0;if((a[t]|0)==0){E=E+2|0}else{Q=c[E+4>>2]|0;S=E+2|0;R=b[S>>1]|0;E=(c[E+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=D>>16;c[Q+(R<<3)+4>>2]=A>>16;a[E]=2;E=S}b[E>>1]=(b[E>>1]|0)+1<<16>>16;D=(c[B+(3-C<<2)>>2]|0)+D|0;E=c[s>>2]|0;if((a[t]|0)==0){E=E+2|0}else{Q=c[E+4>>2]|0;S=E+2|0;R=b[S>>1]|0;E=(c[E+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=D>>16;c[Q+(R<<3)+4>>2]=A>>16;a[E]=1;E=S}b[E>>1]=(b[E>>1]|0)+1<<16>>16;D=(c[B+(4-C<<2)>>2]|0)+D|0;E=c[s>>2]|0;if((a[t]|0)==0){A=E+2|0}else{P=c[E+4>>2]|0;S=E+2|0;Q=b[S>>1]|0;R=(c[E+8>>2]|0)+Q|0;c[P+(Q<<3)>>2]=D>>16;c[P+(Q<<3)+4>>2]=A>>16;a[R]=2;A=S}b[A>>1]=(b[A>>1]|0)+1<<16>>16;A=(c[B+(5-C<<2)>>2]|0)+D|0;D=c[s>>2]|0;if((a[t]|0)==0){D=D+2|0}else{Q=c[D+4>>2]|0;S=D+2|0;R=b[S>>1]|0;D=(c[D+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=A>>16;c[Q+(R<<3)+4>>2]=z>>16;a[D]=2;D=S}b[D>>1]=(b[D>>1]|0)+1<<16>>16;A=(c[B+(6-C<<2)>>2]|0)+A|0;B=c[s>>2]|0;if((a[t]|0)==0){B=B+2|0}else{Q=c[B+4>>2]|0;S=B+2|0;R=b[S>>1]|0;B=(c[B+8>>2]|0)+R|0;c[Q+(R<<3)>>2]=A>>16;c[Q+(R<<3)+4>>2]=z>>16;a[B]=1;B=S}b[B>>1]=(b[B>>1]|0)+1<<16>>16;E=l;break};case 39:{c[B+(1-C<<2)>>2]=c[D>>2];E=B+(2-C<<2)|0;break};case 40:{B=c[B+(1-C<<2)>>2]>>16;if(B>>>0>=32){E=D;break e}c[(c[k>>2]|0)+760+(B<<2)>>2]=c[D>>2];E=D;break};case 41:{E=c[D>>2]>>16;if(E>>>0<32){E=c[(c[k>>2]|0)+760+(E<<2)>>2]|0}else{E=0}c[D>>2]=E;E=B+(1-C<<2)|0;break};case 53:{E=l;break};case 52:{z=c[k>>2]|0;c[z+744>>2]=(c[B+(1-C<<2)>>2]>>16)+(c[z+748>>2]|0);c[(c[k>>2]|0)+32>>2]=c[D>>2];c[(c[k>>2]|0)+36>>2]=0;z=c[k>>2]|0;E=l;A=(c[D>>2]|0)+(c[z+24>>2]|0)|0;z=c[z+28>>2]|0;break};case 57:{S=c[k>>2]|0;c[S+744>>2]=(c[B+(2-C<<2)>>2]>>16)+(c[S+748>>2]|0);c[(c[k>>2]|0)+32>>2]=c[D>>2];S=B+(1-C<<2)|0;c[(c[k>>2]|0)+36>>2]=c[S>>2];z=c[k>>2]|0;E=l;A=(c[D>>2]|0)+(c[z+24>>2]|0)|0;z=(c[S>>2]|0)+(c[z+28>>2]|0)|0;break};case 58:{z=c[k>>2]|0;E=l;A=(c[D>>2]|0)+(c[z+24>>2]|0)|0;z=(c[B+(1-C<<2)>>2]|0)+(c[z+28>>2]|0)|0;break};case 54:{E=-2-C|0;E=B+(E-(c[B+(E<<2)>>2]>>16)<<2)|0;if(E>>>0<l>>>0){e=129;y=398;break a}break};case 55:{E=B+(1-C<<2)|0;break};case 50:{B=c[k>>2]|0;x=(c[B+900>>2]|0)+(c[D>>2]>>16)|0;if(x>>>0>=(c[B+892>>2]|0)>>>0){e=3;y=398;break a}if((w-(B+280)|0)>372){e=3;y=398;break a}c[w+8>>2]=f;B=w+12|0;S=c[(c[(c[k>>2]|0)+908>>2]|0)+(x<<2)>>2]|0;c[B>>2]=S;R=c[(c[(c[k>>2]|0)+908>>2]|0)+(x+1<<2)>>2]|0;x=w+16|0;c[x>>2]=R;c[w+20>>2]=S;if((S|0)==0|(R|0)==(S|0)){e=3;y=398;break a}c[(c[k>>2]|0)+676>>2]=B;E=D;f=c[B>>2]|0;x=c[x>>2]|0;w=B;break};case 48:{E=B+(1-C<<2)|0;if((c[B+(2-C<<2)>>2]|0)<=(c[B+(3-C<<2)>>2]|0)){break e}c[D>>2]=c[E>>2];break};case 49:{B=c[k>>2]|0;x=(c[B+896>>2]|0)+(c[D>>2]>>16)|0;if(x>>>0>=(c[B+888>>2]|0)>>>0){e=3;y=398;break a}if((w-(B+280)|0)>372){e=3;y=398;break a}c[w+8>>2]=f;B=w+12|0;S=c[(c[(c[k>>2]|0)+904>>2]|0)+(x<<2)>>2]|0;c[B>>2]=S;R=c[(c[(c[k>>2]|0)+904>>2]|0)+(x+1<<2)>>2]|0;x=w+16|0;c[x>>2]=R;c[w+20>>2]=S;if((S|0)==0|(R|0)==(S|0)){e=3;y=398;break a}c[(c[k>>2]|0)+676>>2]=B;E=D;f=c[B>>2]|0;x=c[x>>2]|0;w=B;break};case 51:{S=c[k>>2]|0;x=S+676|0;w=c[x>>2]|0;if(w>>>0<=(S+280|0)>>>0){e=3;y=398;break a}c[x>>2]=w+ -12;w=c[(c[k>>2]|0)+676>>2]|0;E=D;f=c[w+8>>2]|0;x=c[w+4>>2]|0;break};case 25:case 35:{E=D;break};default:{e=7;y=398;break a}}}while(0);c[(c[k>>2]|0)+276>>2]=E;if(((c[(c[k>>2]|0)+276>>2]|0)-l|0)>188){e=130;y=398;break}}if((y|0)==330){S=OV(c[k>>2]|0,c[D>>2]|0,c[B+(1-C<<2)>>2]|0,c[B+(2-C<<2)>>2]|0,c[B+(3-C<<2)>>2]>>16,c[B+(4-C<<2)>>2]>>16)|0;sJ(c[u>>2]|0);i=h;return S|0}else if((y|0)==331){if((G|0)>3){S=c[k>>2]|0;R=c[S+744>>2]|0;S=OV(S,0,c[B+(-4-C<<2)>>2]|0,c[B+(-3-C<<2)>>2]|0,c[B+(-2-C<<2)>>2]>>16,c[B+(((F|-16)^15)<<2)>>2]>>16)|0;c[(c[k>>2]|0)+744>>2]=R;i=h;return S|0}MV(c[s>>2]|0);do{if(g){if((Bd[c[n+8>>2]&255](c[o>>2]|0,b[(c[s>>2]|0)+2>>1]|0)|0)==0){pd[c[n+24>>2]&63](c[o>>2]|0,c[s>>2]|0,c[e+72>>2]|0,c[(c[k>>2]|0)+920>>2]|0)|0;break}else{S=3;i=h;return S|0}}}while(0);sJ(c[u>>2]|0);S=0;i=h;return S|0}else if((y|0)==398){i=h;return e|0}return 0}function MV(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;if((d|0)==0){i=e;return}f=b[d>>1]|0;if(f<<16>>16<2){g=0}else{g=(b[(c[d+12>>2]|0)+((f<<16>>16)+ -2<<1)>>1]|0)+1|0}h=d+2|0;j=b[h>>1]|0;do{if(j<<16>>16>1){l=c[d+4>>2]|0;k=(j<<16>>16)+ -1|0;if((c[l+(g<<3)>>2]|0)!=(c[l+(k<<3)>>2]|0)){break}if((c[l+(g<<3)+4>>2]|0)!=(c[l+(k<<3)+4>>2]|0)){break}if((a[(c[d+8>>2]|0)+k|0]|0)!=1){break}j=j+ -1<<16>>16;b[h>>1]=j}}while(0);if(f<<16>>16<=0){i=e;return}k=(j<<16>>16)+ -1|0;if((g|0)==(k|0)){b[d>>1]=f+ -1<<16>>16;b[h>>1]=j+ -1<<16>>16;i=e;return}else{b[(c[d+12>>2]|0)+((f<<16>>16)+ -1<<1)>>1]=k;i=e;return}}function NV(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;h=d+64|0;if((a[h]|0)!=0){l=0;i=g;return l|0}a[h]=1;j=d+20|0;k=c[j>>2]|0;h=d+65|0;if((a[h]|0)==0){b[k>>1]=(b[k>>1]|0)+1<<16>>16;d=d+12|0}else{d=d+12|0;l=c[d>>2]|0;do{if(((b[l+20>>1]|0)+1+(b[l+56>>1]|0)|0)>>>0>(c[l+8>>2]|0)>>>0){l=pJ(l,0,1)|0;if((l|0)==0){break}i=g;return l|0}}while(0);l=b[k>>1]|0;if(l<<16>>16>0){b[(c[k+12>>2]|0)+((l<<16>>16)+ -1<<1)>>1]=(b[k+2>>1]|0)+ -1<<16>>16;l=b[k>>1]|0}b[k>>1]=l+1<<16>>16}k=c[d>>2]|0;do{if(((b[k+22>>1]|0)+1+(b[k+58>>1]|0)|0)>>>0>(c[k+4>>2]|0)>>>0){l=pJ(k,1,0)|0;if((l|0)==0){break}i=g;return l|0}}while(0);j=c[j>>2]|0;if((a[h]|0)==0){e=j+2|0}else{h=c[j+4>>2]|0;l=j+2|0;k=b[l>>1]|0;d=(c[j+8>>2]|0)+k|0;c[h+(k<<3)>>2]=e>>16;c[h+(k<<3)+4>>2]=f>>16;a[d]=1;e=l}b[e>>1]=(b[e>>1]|0)+1<<16>>16;l=0;i=g;return l|0}function OV(d,e,f,g,h,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;k=i;n=i;i=i+8|0;p=n;t=i;i=i+8|0;v=t;y=i;i=i+8|0;z=y;B=i;i=i+8|0;A=B;o=i;i=i+8|0;m=o;s=i;i=i+8|0;u=s;q=c[d+4>>2]|0;r=d+924|0;if((a[r]|0)!=0){H=160;i=k;return H|0}l=d+32|0;f=(c[l>>2]|0)+f|0;x=d+36|0;w=(c[x>>2]|0)+g|0;g=q+128|0;a:do{if((c[(c[g>>2]|0)+52>>2]|0)==0){D=c[q+692>>2]|0;C=c[D+1160>>2]|0;E=(C|0)==0;b:do{if(E|h>>>0>255){h=-1}else{if(h>>>0<256){F=b[287224+(h<<1)>>1]|0}else{F=0}H=c[D+12>>2]|0;if((H|0)==0){h=-1;break}else{h=0}while(1){G=h+1|0;if((b[C+(h<<1)>>1]|0)==F<<16>>16){break b}if(G>>>0<H>>>0){h=G}else{h=-1;break}}}}while(0);if(E|j>>>0>255){H=160;i=k;return H|0}if(j>>>0<256){E=b[287224+(j<<1)>>1]|0}else{E=0}F=c[D+12>>2]|0;if((F|0)==0){H=160;i=k;return H|0}else{j=0}while(1){D=j+1|0;if((b[C+(j<<1)>>1]|0)==E<<16>>16){break a}if(D>>>0<F>>>0){j=D}else{A=160;break}}i=k;return A|0}}while(0);if((h|j|0)<0){H=160;i=k;return H|0}do{if((a[d+66|0]|0)!=0){D=c[d+8>>2]|0;C=c[c[D+156>>2]>>2]|0;E=qJ(C,2)|0;if((E|0)==0){H=c[C+88>>2]|0;c[H>>2]=h;b[H+4>>1]=514;c[H+8>>2]=0;c[H+12>>2]=0;c[H+32>>2]=j;b[H+36>>1]=2;c[H+40>>2]=f>>16;c[H+44>>2]=w>>16;c[D+128>>2]=2;c[D+132>>2]=c[C+52>>2];c[D+72>>2]=1668246896;c[C+84>>2]=2;break}else{H=E;i=k;return H|0}}}while(0);rJ(c[d+12>>2]|0);C=c[(c[g>>2]|0)+52>>2]|0;if((C|0)==0){A=AV((c[q+692>>2]|0)+1176|0,h,m,u)|0}else{H=sd[c[c[C>>2]>>2]&127](c[C+4>>2]|0,h,A)|0;c[o>>2]=c[B>>2];c[s>>2]=c[A+4>>2];A=H}do{if((A|0)==0){a[r]=1;C=c[s>>2]|0;A=LV(d,c[o>>2]|0,C)|0;a[r]=0;B=(c[g>>2]|0)+52|0;do{if((c[B>>2]|0)==0){y=c[q+692>>2]|0;if((c[y+1204>>2]|0)!=0){break}NK(c[y+1176>>2]|0,m)}else{c[y>>2]=c[o>>2];c[z+4>>2]=C;H=c[B>>2]|0;hd[c[(c[H>>2]|0)+4>>2]&127](c[H+4>>2]|0,z)}}while(0);if((A|0)==0){break}i=k;return A|0}}while(0);A=l;y=c[A>>2]|0;A=c[A+4>>2]|0;h=d+40|0;C=h;B=c[C>>2]|0;C=c[C+4>>2]|0;z=d+744|0;D=c[z>>2]|0;c[l>>2]=0;c[x>>2]=0;x=d+24|0;c[x>>2]=f-e;e=d+28|0;c[e>>2]=w;f=c[(c[g>>2]|0)+52>>2]|0;if((f|0)==0){t=AV((c[q+692>>2]|0)+1176|0,j,m,u)|0}else{H=sd[c[c[f>>2]>>2]&127](c[f+4>>2]|0,j,v)|0;c[o>>2]=c[t>>2];c[s>>2]=c[v+4>>2];t=H}do{if((t|0)==0){a[r]=1;s=c[s>>2]|0;d=LV(d,c[o>>2]|0,s)|0;a[r]=0;r=(c[g>>2]|0)+52|0;do{if((c[r>>2]|0)==0){n=c[q+692>>2]|0;if((c[n+1204>>2]|0)!=0){break}NK(c[n+1176>>2]|0,m)}else{c[n>>2]=c[o>>2];c[p+4>>2]=s;H=c[r>>2]|0;hd[c[(c[H>>2]|0)+4>>2]&127](c[H+4>>2]|0,p)}}while(0);if((d|0)==0){t=0;break}else{A=d}i=k;return A|0}}while(0);H=l;c[H>>2]=y;c[H+4>>2]=A;H=h;c[H>>2]=B;c[H+4>>2]=C;c[z>>2]=D;c[x>>2]=0;c[e>>2]=0;H=t;i=k;return H|0}function PV(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;a=c[a+692>>2]|0;if((a|0)==0){j=0;i=f;return j|0}h=c[a+1452>>2]|0;if((h|0)==65535){j=6;i=f;return j|0}if((b|0)!=0){g=a+2064|0;j=c[g>>2]|0;if((j|0)==0){do{if(h>>>0>390){h=h+ -391|0;if((c[a+1312>>2]|0)>>>0<=h>>>0){j=0;break}j=c[(c[a+1316>>2]|0)+(h<<2)>>2]|0}else{j=c[a+2056>>2]|0;if((j|0)==0){j=0;break}j=jd[c[j+20>>2]&511](h)|0}}while(0);c[g>>2]=j}c[b>>2]=j}if((d|0)!=0){b=a+2068|0;g=c[b>>2]|0;if((g|0)==0){h=c[a+1456>>2]|0;do{if((h|0)==65535){g=0}else{if(h>>>0>390){g=h+ -391|0;if((c[a+1312>>2]|0)>>>0<=g>>>0){g=0;break}g=c[(c[a+1316>>2]|0)+(g<<2)>>2]|0;break}else{g=c[a+2056>>2]|0;if((g|0)==0){g=0;break}g=jd[c[g+20>>2]&511](h)|0;break}}}while(0);c[b>>2]=g}c[d>>2]=g}if((e|0)==0){j=0;i=f;return j|0}c[e>>2]=c[a+1460>>2];j=0;i=f;return j|0}function QV(b,d){b=b|0;d=d|0;var e=0;e=i;b=c[b+692>>2]|0;a[d]=0;if((b|0)==0){i=e;return 0}if((c[b+1452>>2]|0)==65535){i=e;return 0}a[d]=1;i=e;return 0}function RV(a,b,d){a=a|0;b=b|0;d=d|0;var f=0;f=i;a=c[a+692>>2]|0;do{if((a|0)==0){d=0}else{if((c[a+1452>>2]|0)==65535){d=6;break}if((c[a+12>>2]|0)>>>0<b>>>0){d=6;break}if((d|0)==0){d=0;break}c[d>>2]=e[(c[a+1160>>2]|0)+(b<<1)>>1]|0;d=0}}while(0);i=f;return d|0}function SV(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=c[(c[(c[a>>2]|0)+96>>2]|0)+4>>2]|0;c[b>>2]=0;c[b+4>>2]=0;f=c[a+12>>2]|0;if((f|0)==287048|(f|0)==287088){f=0;i=d;return f|0}e=oK(mK(e,287128)|0,290960)|0;if((e|0)==0){f=0;i=d;return f|0}e=c[e>>2]|0;if((e|0)==0){f=0;i=d;return f|0}f=Bd[e&255](a,b)|0;i=d;return f|0}function TV(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;a=c[a+692>>2]|0;h=c[a+2056>>2]|0;if((h|0)==0){j=2;i=g;return j|0}d=b[(c[a+1160>>2]|0)+(d<<1)>>1]|0;j=d&65535;if(d<<16>>16==-1){j=0;i=g;return j|0}do{if((d&65535)>390){h=j+ -391|0;if((c[a+1312>>2]|0)>>>0>h>>>0){a=c[(c[a+1316>>2]|0)+(h<<2)>>2]|0;break}else{j=0;i=g;return j|0}}else{a=jd[c[h+20>>2]&511](j)|0}}while(0);if((a|0)==0){j=0;i=g;return j|0}bL(e,a,f)|0;j=0;i=g;return j|0}function UV(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;j=c[a+692>>2]|0;k=oK(c[a+96>>2]|0,287136)|0;if((k|0)==0){m=0;i=f;return m|0}h=j+12|0;if((c[h>>2]|0)==0){m=0;i=f;return m|0}g=j+1160|0;a=j+1312|0;j=j+1316|0;k=k+20|0;l=0;a:while(1){n=b[(c[g>>2]|0)+(l<<1)>>1]|0;m=n&65535;do{if((n&65535)>390){m=m+ -391|0;if((c[a>>2]|0)>>>0<=m>>>0){break}m=c[(c[j>>2]|0)+(m<<2)>>2]|0;e=8}else{m=jd[c[k>>2]&511](m)|0;e=8}}while(0);do{if((e|0)==8){e=0;if((m|0)==0){break}if((Qc(d|0,m|0)|0)==0){e=11;break a}}}while(0);l=l+1|0;if(l>>>0>=(c[h>>2]|0)>>>0){l=0;e=11;break}}if((e|0)==11){i=f;return l|0}return 0}function VV(a){a=a|0;i=i;return c[(c[a+692>>2]|0)+1304>>2]|0}function WV(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;f=i;i=i+8|0;h=c[d+692>>2]|0;c[f>>2]=0;if((h|0)==0){l=f;l=c[l>>2]|0;i=g;return l|0}j=h+2060|0;k=c[j>>2]|0;if((k|0)==0){k=jJ(c[d+100>>2]|0,32,f)|0;if((c[f>>2]|0)!=0){l=f;l=c[l>>2]|0;i=g;return l|0}d=c[h+1324>>2]|0;do{if((d|0)==65535){d=0}else{if(d>>>0>390){d=d+ -391|0;if((c[h+1312>>2]|0)>>>0<=d>>>0){d=0;break}d=c[(c[h+1316>>2]|0)+(d<<2)>>2]|0;break}else{l=c[h+2056>>2]|0;if((l|0)==0){d=0;break}d=jd[c[l+20>>2]&511](d)|0;break}}}while(0);c[k>>2]=d;d=c[h+1328>>2]|0;do{if((d|0)==65535){d=0}else{if(d>>>0>390){d=d+ -391|0;if((c[h+1312>>2]|0)>>>0<=d>>>0){d=0;break}d=c[(c[h+1316>>2]|0)+(d<<2)>>2]|0;break}else{l=c[h+2056>>2]|0;if((l|0)==0){d=0;break}d=jd[c[l+20>>2]&511](d)|0;break}}}while(0);c[k+4>>2]=d;d=c[h+1336>>2]|0;do{if((d|0)==65535){d=0}else{if(d>>>0>390){d=d+ -391|0;if((c[h+1312>>2]|0)>>>0<=d>>>0){d=0;break}d=c[(c[h+1316>>2]|0)+(d<<2)>>2]|0;break}else{l=c[h+2056>>2]|0;if((l|0)==0){d=0;break}d=jd[c[l+20>>2]&511](d)|0;break}}}while(0);c[k+8>>2]=d;d=c[h+1340>>2]|0;do{if((d|0)==65535){d=0}else{if(d>>>0>390){d=d+ -391|0;if((c[h+1312>>2]|0)>>>0<=d>>>0){d=0;break}d=c[(c[h+1316>>2]|0)+(d<<2)>>2]|0;break}else{l=c[h+2056>>2]|0;if((l|0)==0){d=0;break}d=jd[c[l+20>>2]&511](d)|0;break}}}while(0);c[k+12>>2]=d;l=c[h+1344>>2]|0;do{if((l|0)==65535){d=0}else{if(l>>>0>390){d=l+ -391|0;if((c[h+1312>>2]|0)>>>0<=d>>>0){d=0;break}d=c[(c[h+1316>>2]|0)+(d<<2)>>2]|0;break}else{d=c[h+2056>>2]|0;if((d|0)==0){d=0;break}d=jd[c[d+20>>2]&511](l)|0;break}}}while(0);c[k+16>>2]=d;c[k+20>>2]=c[h+1352>>2];a[k+24|0]=a[h+1348|0]|0;b[k+26>>1]=c[h+1356>>2];b[k+28>>1]=c[h+1360>>2];c[j>>2]=k}$W(e|0,k|0,32)|0;l=f;l=c[l>>2]|0;i=g;return l|0}function XV(a){a=a|0;i=i;return(c[a+8>>2]|0)>>>9&1|0}function YV(a){a=a|0;var b=0;b=i;bX(a|0,0,24)|0;i=b;return}function ZV(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;e=i;i=i+8|0;j=e;k=c[a>>2]|0;c[e>>2]=0;g=c[b+8>>2]|0;if((b|0)==(d|0)){m=0;i=f;return m|0}a=b+12|0;if((c[a>>2]|0)==0){$W(d|0,b|0,24)|0;m=0;i=f;return m|0}g=da(c[b>>2]|0,(g|0)<0?0-g|0:g)|0;h=d+12|0;l=c[h>>2]|0;do{if((l|0)==0){l=OK(k,g,j)|0;c[h>>2]=l}else{m=c[d+8>>2]|0;m=da((m|0)<0?0-m|0:m,c[d>>2]|0)|0;if((m|0)==(g|0)){break}l=$K(k,1,m,g,l,j)|0;c[h>>2]=l}}while(0);j=c[e>>2]|0;if((j|0)!=0){m=j;i=f;return m|0}$W(d|0,b|0,24)|0;c[h>>2]=l;$W(l|0,c[a>>2]|0,g|0)|0;m=c[e>>2]|0;i=f;return m|0}function _V(a,b){a=a|0;b=b|0;var d=0;d=i;if((a|0)==0){b=33;i=d;return b|0}if((b|0)==0){b=6;i=d;return b|0}lJ(c[a>>2]|0,c[b+12>>2]|0);bX(b|0,0,24)|0;b=0;i=d;return b|0}function $V(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;j=i;i=i+8|0;k=j;e=i;i=i+8|0;h=e;m=b+28|0;f=c[m>>2]|0;n=aW(b)|0;c[e>>2]=n;if((n|0)!=0){n=e;n=c[n>>2]|0;i=g;return n|0}bX(a|0,0,40)|0;n=a+28|0;c[n>>2]=f;d=OK(f,8276,h)|0;a:do{if((c[e>>2]|0)==0){l=d+12|0;c[d+4>>2]=a;c[d>>2]=b;c[d+8>>2]=c[n>>2];n=d+8264|0;c[d+8272>>2]=n;c[d+8268>>2]=n;c[n>>2]=0;n=aW(b)|0;do{if((n|0)==0){c[d+68>>2]=IK(b)|0;c[d+44>>2]=92;c[d+48>>2]=93;c[d+52>>2]=c[m>>2];c[d+16>>2]=0;c[l>>2]=d+4168;if((wc(l|0,-15,291008,56)|0)!=0){n=3;break}if((c[l>>2]|0)==0){n=3;break}c[e>>2]=0;c[a+12>>2]=d;break a}}while(0);c[e>>2]=n;lJ(f,d);n=e;n=c[n>>2]|0;i=g;return n|0}}while(0);l=c[b+8>>2]|0;do{if((PJ(b,(c[b+4>>2]|0)+ -4|0)|0)==0){k=GK(b,k)|0;j=(c[j>>2]|0)!=0?0:k;PJ(b,l)|0;if(!((j|0)!=0&j>>>0<40960)){break}b=jJ(f,j,h)|0;do{if((c[e>>2]|0)==0){if((bW(d,0,b,j)|0)!=(j|0)){bW(d,0,0,0)|0;lJ(f,b);break}Wc(d+12|0)|0;c[d+44>>2]=0;c[d+48>>2]=0;c[d+52>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;bX(d|0,0,20)|0;lJ(f,d);c[a+12>>2]=0;c[a+4>>2]=j;c[a+8>>2]=0;c[a>>2]=b;c[a+20>>2]=0;c[a+24>>2]=342;n=e;n=c[n>>2]|0;i=g;return n|0}}while(0);c[e>>2]=0}}while(0);c[a+4>>2]=2147483647;c[a+8>>2]=0;c[a>>2]=0;c[a+20>>2]=44;c[a+24>>2]=342;n=e;n=c[n>>2]|0;i=g;return n|0}function aW(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;g=i;i=i+8|0;h=g;n=i;i=i+8|0;o=n;p=PJ(b,0)|0;c[g>>2]=p;if((p|0)!=0){i=f;return p|0}p=CK(b,o,4)|0;c[g>>2]=p;if((p|0)!=0){i=f;return p|0}do{if((a[n]|0)==31){if((a[o+1|0]|0)!=-117){break}if((a[o+2|0]|0)!=8){break}n=o+3|0;if((d[n]|0)>31){break}o=DK(b,6)|0;c[g>>2]=o;p=a[n]|0;do{if((p&4)!=0){p=WK(b,h)|0;o=c[g>>2]|0;if((o|0)!=0){p=o;i=f;return p|0}o=DK(b,p&65535)|0;c[g>>2]=o;if((o|0)==0){p=a[n]|0;o=0;break}else{p=o;i=f;return p|0}}}while(0);do{if((p&8)==0){m=o;l=p}else{while(1){o=VK(b,h)|0;p=c[g>>2]|0;if((p|0)!=0){k=p;o=22;break}if(o<<24>>24==0){o=15;break}}if((o|0)==15){m=0;l=a[n]|0;break}else if((o|0)==22){i=f;return k|0}}}while(0);do{if((l&16)==0){e=m;j=l}else{while(1){m=VK(b,h)|0;l=c[g>>2]|0;if((l|0)!=0){k=l;o=22;break}if(m<<24>>24==0){o=19;break}}if((o|0)==19){e=0;j=a[n]|0;break}else if((o|0)==22){i=f;return k|0}}}while(0);if((j&2)==0){p=e;i=f;return p|0}p=DK(b,2)|0;c[g>>2]=p;i=f;return p|0}}while(0);c[g>>2]=3;p=3;i=f;return p|0}function bW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=i;g=a+8264|0;l=c[g>>2]|0;do{if(l>>>0>b>>>0){if((PJ(c[a>>2]|0,c[a+68>>2]|0)|0)==0){l=a+12|0;Va(l|0)|0;c[a+16>>2]=0;c[l>>2]=a+72;c[a+28>>2]=0;c[a+24>>2]=a+4168;l=a+8264|0;c[a+8272>>2]=l;c[a+8268>>2]=l;c[g>>2]=0;l=0;break}else{v=0;i=f;return v|0}}}while(0);do{if(l>>>0<b>>>0){s=b-l|0;j=a+8272|0;b=a+8268|0;m=c[b>>2]|0;n=(c[j>>2]|0)-m|0;t=n>>>0<s>>>0?n:s;c[b>>2]=m+t;c[g>>2]=t+l;a:do{if((t|0)!=(s|0)){o=a+12|0;q=a+4168|0;p=a+24|0;r=a+28|0;l=a+16|0;n=a+72|0;m=a+12|0;b:while(1){s=s-t|0;c[b>>2]=q;c[p>>2]=q;c[r>>2]=4096;while(1){if((c[l>>2]|0)==0){t=c[a>>2]|0;u=c[t+20>>2]|0;if((u|0)==0){u=c[t+8>>2]|0;v=(c[t+4>>2]|0)-u|0;v=v>>>0>4096?4096:v;if((v|0)==0){q=0;t=34;break b}$W(n|0,(c[t>>2]|0)+u|0,v|0)|0}else{v=pd[u&63](t,c[t+8>>2]|0,n,4096)|0;if((v|0)==0){q=0;t=34;break b}}u=t+8|0;c[u>>2]=(c[u>>2]|0)+v;c[m>>2]=n;c[l>>2]=v}t=_b(o|0,0)|0;if((t|0)==1){t=17;break}else if((t|0)!=0){q=0;t=34;break b}if((c[r>>2]|0)==0){t=7;break}}if((t|0)==7){h=c[b>>2]|0;k=c[j>>2]|0}else if((t|0)==17){k=c[p>>2]|0;c[j>>2]=k;h=c[b>>2]|0;if((k|0)==(h|0)){q=0;t=34;break}}t=k-h|0;t=t>>>0<s>>>0?t:s;c[b>>2]=h+t;c[g>>2]=t+(c[g>>2]|0);if((s|0)==(t|0)){break a}}if((t|0)==34){i=f;return q|0}}}while(0);if((e|0)==0){q=0}else{break}i=f;return q|0}else{if((e|0)==0){v=0;i=f;return v|0}else{j=a+8272|0;b=a+8268|0;break}}}while(0);p=a+12|0;l=a+4168|0;n=a+24|0;h=a+28|0;m=a+16|0;k=a+72|0;o=a+12|0;q=0;c:while(1){s=c[b>>2]|0;r=(c[j>>2]|0)-s|0;r=r>>>0<e>>>0?r:e;$W(d|0,s|0,r|0)|0;q=r+q|0;c[b>>2]=(c[b>>2]|0)+r;c[g>>2]=r+(c[g>>2]|0);if((e|0)==(r|0)){t=34;break}e=e-r|0;d=d+r|0;c[b>>2]=l;c[n>>2]=l;c[h>>2]=4096;while(1){if((c[m>>2]|0)==0){r=c[a>>2]|0;s=c[r+20>>2]|0;if((s|0)==0){s=c[r+8>>2]|0;t=(c[r+4>>2]|0)-s|0;t=t>>>0>4096?4096:t;if((t|0)==0){t=34;break c}$W(k|0,(c[r>>2]|0)+s|0,t|0)|0}else{t=pd[s&63](r,c[r+8>>2]|0,k,4096)|0;if((t|0)==0){t=34;break c}}v=r+8|0;c[v>>2]=(c[v>>2]|0)+t;c[o>>2]=k;c[m>>2]=t}r=_b(p|0,0)|0;if((r|0)==1){break}else if((r|0)!=0){t=34;break c}if((c[h>>2]|0)==0){continue c}}v=c[n>>2]|0;c[j>>2]=v;if((v|0)==(c[b>>2]|0)){t=34;break}}if((t|0)==34){i=f;return q|0}return 0}function cW(a){a=a|0;var b=0,d=0,e=0;b=i;e=a+12|0;d=c[e>>2]|0;if((d|0)==0){i=b;return}a=c[a+28>>2]|0;Wc(d+12|0)|0;c[d+44>>2]=0;c[d+48>>2]=0;c[d+52>>2]=0;c[d+24>>2]=0;c[d+28>>2]=0;bX(d|0,0,20)|0;lJ(a,d);c[e>>2]=0;i=b;return}function dW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;a=bW(c[a+12>>2]|0,b,d,e)|0;i=f;return a|0}function eW(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i;e=i;i=i+8|0;a=jJ(a,da(c,b)|0,e)|0;i=d;return a|0}function fW(a,b){a=a|0;b=b|0;var c=0;c=i;lJ(a,b);i=c;return}function gW(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;h=i;i=i+8|0;k=h;f=i;i=i+8|0;m=f;j=d+28|0;g=c[j>>2]|0;l=PJ(d,0)|0;do{if((l|0)==0){l=CK(d,k,2)|0;if((l|0)!=0){break}if((a[h]|0)!=31){l=3;break}l=k+1|0;if((a[l]|0)!=-99){l=3;break}c[f>>2]=0;bX(b|0,0,40)|0;n=b+28|0;c[n>>2]=g;m=jJ(g,4292,m)|0;o=c[f>>2]|0;a:do{if((o|0)==0){c[m+4>>2]=b;c[m>>2]=d;c[m+8>>2]=c[n>>2];n=m+4280|0;c[m+4288>>2]=n;c[m+4284>>2]=n;c[n>>2]=0;n=PJ(d,0)|0;do{if((n|0)==0){n=CK(d,k,2)|0;if((n|0)!=0){break}if((a[h]|0)!=31){n=3;break}if((a[l]|0)!=-99){n=3;break}o=m+12|0;bX(o|0,0,172)|0;c[m+176>>2]=d;c[m+180>>2]=c[j>>2];c[m+88>>2]=0;c[m+92>>2]=0;c[m+96>>2]=0;c[m+100>>2]=m+112;c[m+108>>2]=64;c[m+16>>2]=0;c[m+36>>2]=0;c[m+40>>2]=0;a[m+44|0]=0;c[m+48>>2]=0;c[m+104>>2]=0;c[m+64>>2]=9;c[o>>2]=0;c[f>>2]=0;c[b+12>>2]=m;o=0;break a}}while(0);c[f>>2]=n;lJ(g,m);o=c[f>>2]|0;i=e;return o|0}}while(0);c[b+4>>2]=2147483647;c[b+8>>2]=0;c[b>>2]=0;c[b+20>>2]=45;c[b+24>>2]=343;i=e;return o|0}}while(0);c[f>>2]=l;o=l;i=e;return o|0}function hW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;h=c[b+12>>2]|0;b=h+4280|0;m=c[b>>2]|0;do{if(m>>>0>d>>>0){l=m-d|0;k=h+4284|0;j=c[k>>2]|0;if(l>>>0<=(j-(h+184)|0)>>>0){c[k>>2]=j+(0-l);c[b>>2]=d;j=12;break}if((PJ(c[h>>2]|0,0)|0)==0){c[h+16>>2]=0;c[h+36>>2]=0;c[h+40>>2]=0;a[h+44|0]=0;c[h+48>>2]=0;c[h+104>>2]=0;c[h+64>>2]=9;c[h+12>>2]=0;c[h+4288>>2]=b;c[k>>2]=b;c[b>>2]=0;m=0;j=6;break}else{o=0;i=g;return o|0}}else{j=6}}while(0);do{if((j|0)==6){if(m>>>0>=d>>>0){j=12;break}l=d-m|0;k=h+4288|0;d=h+4284|0;n=c[d>>2]|0;o=(c[k>>2]|0)-n|0;o=o>>>0<l>>>0?o:l;c[d>>2]=n+o;c[b>>2]=o+m;a:do{if((o|0)!=(l|0)){m=h+12|0;l=l-o|0;while(1){n=l>>>0<4096?l:4096;if((jW(m,0,n)|0)>>>0<n>>>0){o=0;break}c[b>>2]=(c[b>>2]|0)+n;if((l|0)==(n|0)){break a}else{l=l-n|0}}i=g;return o|0}}while(0);if((f|0)==0){o=0}else{break}i=g;return o|0}}while(0);do{if((j|0)==12){if((f|0)==0){o=0;i=g;return o|0}else{d=h+4284|0;k=h+4288|0;break}}}while(0);j=h+12|0;h=h+184|0;l=c[d>>2]|0;n=c[k>>2]|0;o=0;while(1){m=n-l|0;m=m>>>0<f>>>0?m:f;$W(e+o|0,l|0,m|0)|0;o=m+o|0;c[d>>2]=(c[d>>2]|0)+m;c[b>>2]=(c[b>>2]|0)+m;if((f|0)==(m|0)){j=17;break}c[d>>2]=h;p=jW(j,h,4096)|0;l=c[d>>2]|0;n=l+p|0;c[k>>2]=n;if((p|0)==0){j=17;break}else{f=f-m|0}}if((j|0)==17){i=g;return o|0}return 0}function iW(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;f=b+12|0;e=c[f>>2]|0;if((e|0)==0){i=d;return}b=c[b+28>>2]|0;g=c[e+180>>2]|0;c[e+16>>2]=0;c[e+36>>2]=0;c[e+40>>2]=0;a[e+44|0]=0;c[e+48>>2]=0;c[e+104>>2]=0;c[e+64>>2]=9;c[e+12>>2]=0;h=e+100|0;j=c[h>>2]|0;if((j|0)!=(e+112|0)){lJ(g,j);c[h>>2]=0}lJ(g,c[e+88>>2]|0);bX(e|0,0,184)|0;lJ(b,e);c[f>>2]=0;i=d;return}function jW(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;k=i;o=i;i=i+8|0;n=o;r=i;i=i+8|0;t=r;m=i;i=i+8|0;p=m;q=i;i=i+8|0;s=q;y=i;i=i+8|0;u=y;l=e+68|0;w=c[l>>2]|0;h=e+64|0;v=c[h>>2]|0;j=e+72|0;x=c[j>>2]|0;if((g|0)==0){H=x;G=w;F=v;J=0;I=h;c[I>>2]=F;I=l;c[I>>2]=G;I=j;c[I>>2]=H;i=k;return J|0}z=c[e>>2]|0;do{if((z|0)==1){z=x;u=0;y=12}else if((z|0)==0){z=e+164|0;if((PJ(c[z>>2]|0,2)|0)!=0){g=0;y=55;break}if((KK(c[z>>2]|0,u,1)|0)!=1){g=0;y=55;break}z=d[y]|0;u=z&31;c[e+40>>2]=u;c[e+44>>2]=z&128;y=1<<u;c[e+48>>2]=y+ -256;if(u>>>0>16){g=0;y=55;break}c[e+52>>2]=9;c[e+56>>2]=z>>>7;c[e+60>>2]=u>>>0>9?256:y+ -255|0;u=kW(e)|0;if((u|0)<0){x=0;g=0;y=55;break}if((f|0)!=0){a[f]=u}if(g>>>0<2){H=0;G=u;F=u;J=1;I=h;c[I>>2]=F;I=l;c[I>>2]=G;I=j;c[I>>2]=H;i=k;return J|0}else{c[e>>2]=1;z=0;w=u;v=u;u=1;y=12;break}}else if((z|0)==2){z=e+92|0;B=e+88|0;u=0;y=39}else{H=x;G=w;F=v;J=0;I=h;c[I>>2]=F;I=l;c[I>>2]=G;I=j;c[I>>2]=H;i=k;return J|0}}while(0);a:while(1){if((y|0)==12){x=kW(e)|0;if((x|0)<0){x=z;g=u;y=55;continue}do{if((x|0)==256){if((c[e+44>>2]|0)==0){x=256;y=17;break}c[e+56>>2]=0;a[e+32|0]=1;x=kW(e)|0;if((x|0)<0){x=z;g=u;y=55;continue a}else{y=16}}else{y=16}}while(0);if((y|0)==16){y=0;if(x>>>0>255){y=17}else{A=x;w=x}}do{if((y|0)==17){if((x+ -256|0)>>>0<(c[e+56>>2]|0)>>>0){F=x}else{y=e+92|0;B=c[y>>2]|0;z=e+96|0;A=c[z>>2]|0;if(B>>>0>=A>>>0){C=c[e+168>>2]|0;B=A+4+(A>>>1)|0;D=e+88|0;E=c[D>>2]|0;if((E|0)==(e+100|0)){c[D>>2]=0;E=0;A=0}c[D>>2]=oJ(C,1,A,B,E,s)|0;if((c[q>>2]|0)!=0){g=u;y=55;continue a}c[z>>2]=B;B=c[y>>2]|0}c[y>>2]=B+1;a[(c[e+88>>2]|0)+B|0]=w;F=v}if(F>>>0<=255){A=x;w=F;break}C=e+76|0;A=e+92|0;z=e+96|0;E=e+80|0;B=e+88|0;D=e+168|0;y=e+100|0;G=c[C>>2]|0;while(1){if((G|0)==0){g=u;y=55;continue a}G=c[A>>2]|0;I=c[z>>2]|0;if(G>>>0>=I>>>0){H=c[D>>2]|0;G=I+4+(I>>>1)|0;J=c[B>>2]|0;if((J|0)==(y|0)){c[B>>2]=0;J=0;I=0}c[B>>2]=oJ(H,1,I,G,J,p)|0;if((c[m>>2]|0)!=0){g=u;y=55;continue a}c[z>>2]=G;G=c[A>>2]|0}J=F+ -256|0;F=a[(c[E>>2]|0)+J|0]|0;c[A>>2]=G+1;a[(c[B>>2]|0)+G|0]=F;G=c[C>>2]|0;J=b[G+(J<<1)>>1]|0;F=J&65535;if((J&65535)<=255){A=x;w=F;break}}}}while(0);z=e+92|0;y=c[z>>2]|0;x=e+96|0;C=c[x>>2]|0;if(y>>>0>=C>>>0){D=c[e+168>>2]|0;y=C+4+(C>>>1)|0;B=e+88|0;E=c[B>>2]|0;if((E|0)==(e+100|0)){c[B>>2]=0;E=0;C=0}c[B>>2]=oJ(D,1,C,y,E,t)|0;if((c[r>>2]|0)!=0){x=A;g=u;y=55;continue}c[x>>2]=y;y=c[z>>2]|0}c[z>>2]=y+1;B=e+88|0;a[(c[B>>2]|0)+y|0]=w;c[e>>2]=2;x=A;y=39;continue}else if((y|0)==39){b:do{if((f|0)==0){y=c[z>>2]|0;while(1){if((y|0)==0){break b}y=y+ -1|0;c[z>>2]=y;u=u+1|0;if((u|0)==(g|0)){y=54;break a}}}else{while(1){y=c[z>>2]|0;if((y|0)==0){break b}J=y+ -1|0;c[z>>2]=J;a[f+u|0]=a[(c[B>>2]|0)+J|0]|0;u=u+1|0;if((u|0)==(g|0)){y=54;break a}}}}while(0);y=e+56|0;z=c[y>>2]|0;if(z>>>0<(c[e+48>>2]|0)>>>0){A=e+84|0;B=c[A>>2]|0;if(z>>>0<B>>>0){A=z;z=e+76|0;B=e+80|0}else{if((B|0)==0){D=512}else{D=(B>>>2)+B|0}z=e+76|0;C=oJ(c[e+168>>2]|0,3,B,D,c[z>>2]|0,n)|0;c[z>>2]=C;if((c[o>>2]|0)!=0){g=u;y=55;continue}I=C+(D<<1)|0;J=e+80|0;c[J>>2]=I;aX(I|0,C+(B<<1)|0,B|0)|0;c[A>>2]=D;A=c[y>>2]|0;B=J}b[(c[z>>2]|0)+(A<<1)>>1]=v;a[(c[B>>2]|0)+(c[y>>2]|0)|0]=w;c[y>>2]=(c[y>>2]|0)+1}c[e>>2]=1;z=x;v=x;y=12;continue}else if((y|0)==55){c[e>>2]=3;y=54;break}}if((y|0)==54){J=h;c[J>>2]=v;J=l;c[J>>2]=w;J=j;c[J>>2]=x;i=k;return g|0}return 0}function kW(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;g=b+52|0;l=c[g>>2]|0;f=b+24|0;m=c[f>>2]|0;h=b+32|0;j=(a[h]|0)==0;do{if(j){if((m|0)>=(c[b+28>>2]|0)){k=4;break}if((c[b+56>>2]|0)>>>0<(c[b+60>>2]|0)>>>0){h=l}else{k=4}}else{k=4}}while(0);do{if((k|0)==4){k=b+60|0;if((c[b+56>>2]|0)>>>0>=(c[k>>2]|0)>>>0){l=l+1|0;c[g>>2]=l;if(l>>>0<(c[b+40>>2]|0)>>>0){m=(1<<l)+ -256|0}else{m=(c[b+48>>2]|0)+1|0}c[k>>2]=m}if(j){h=l}else{c[g>>2]=9;c[k>>2]=256;a[h]=0;h=9}j=b+4|0;if((c[j>>2]|0)!=0){m=-1;i=e;return m|0}m=KK(c[b+164>>2]|0,b+8|0,h)|0;l=b+36|0;c[l>>2]=(c[l>>2]|0)+m;l=c[g>>2]|0;c[j>>2]=m>>>0<l>>>0;c[f>>2]=0;c[b+28>>2]=(m<<3|1)-l;if((m|0)==0){b=-1}else{m=0;break}i=e;return b|0}}while(0);c[f>>2]=m+h;f=m>>3;k=m&7;g=b+8+(f+1)|0;j=(d[b+8+f|0]|0)>>>k;k=8-k|0;l=h-k|0;if(l>>>0>7){l=l+ -8|0;h=k+8|0;b=b+8+(f+2)|0;j=d[g]<<k|j}else{h=k;b=g}if((l|0)==0){m=j;i=e;return m|0}m=(d[b]&(1<<l)+ -1)<<h|j;i=e;return m|0}function lW(a,b){a=+a;b=b|0;var c=0;c=i;a=+QW(a,b);i=c;return+a}function mW(a){a=a|0;i=i;return}function nW(a){a=a|0;i=i;return}function oW(a){a=a|0;i=i;return}function pW(a){a=a|0;i=i;return}function qW(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function rW(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function sW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=i;i=i+56|0;g=f;if((a|0)==(b|0)){b=1;i=e;return b|0}if((b|0)==0){b=0;i=e;return b|0}b=vW(b,291080,291136,0)|0;if((b|0)==0){b=0;i=e;return b|0}bX(f|0,0,56)|0;c[f>>2]=b;c[g+8>>2]=a;c[g+12>>2]=-1;c[g+48>>2]=1;Jd[c[(c[b>>2]|0)+28>>2]&63](b,g,c[d>>2]|0,1);if((c[g+24>>2]|0)!=1){b=0;i=e;return b|0}c[d>>2]=c[g+16>>2];b=1;i=e;return b|0}function tW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;if((c[d+8>>2]|0)!=(b|0)){i=g;return}b=d+16|0;h=c[b>>2]|0;if((h|0)==0){c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;i=g;return}if((h|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;c[d+24>>2]=2;a[d+54|0]=1;i=g;return}e=d+24|0;if((c[e>>2]|0)!=2){i=g;return}c[e>>2]=f;i=g;return}function uW(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;if((b|0)!=(c[d+8>>2]|0)){h=c[b+8>>2]|0;Jd[c[(c[h>>2]|0)+28>>2]&63](h,d,e,f);i=g;return}b=d+16|0;h=c[b>>2]|0;if((h|0)==0){c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1;i=g;return}if((h|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;c[d+24>>2]=2;a[d+54|0]=1;i=g;return}e=d+24|0;if((c[e>>2]|0)!=2){i=g;return}c[e>>2]=f;i=g;return}function vW(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;m=i;i=i+56|0;g=m;h=c[a>>2]|0;j=a+(c[h+ -8>>2]|0)|0;h=c[h+ -4>>2]|0;c[m>>2]=d;c[g+4>>2]=a;c[g+8>>2]=b;c[g+12>>2]=e;b=g+16|0;m=g+20|0;k=g+24|0;e=g+28|0;a=g+32|0;l=g+40|0;bX(b|0,0,39)|0;if((h|0)==(d|0)){c[g+48>>2]=1;ud[c[(c[h>>2]|0)+20>>2]&7](h,g,j,j,1,0);i=f;return((c[k>>2]|0)==1?j:0)|0}ed[c[(c[h>>2]|0)+24>>2]&3](h,g,j,1,0);d=c[g+36>>2]|0;if((d|0)==1){do{if((c[k>>2]|0)!=1){if((c[l>>2]|0)!=0){m=0;i=f;return m|0}if((c[e>>2]|0)!=1){m=0;i=f;return m|0}if((c[a>>2]|0)==1){break}else{d=0}i=f;return d|0}}while(0);m=c[b>>2]|0;i=f;return m|0}else if((d|0)==0){if((c[l>>2]|0)!=1){m=0;i=f;return m|0}if((c[e>>2]|0)!=1){m=0;i=f;return m|0}m=(c[a>>2]|0)==1?c[m>>2]|0:0;i=f;return m|0}else{m=0;i=f;return m|0}return 0}function wW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)!=(e|0)){i=h;return}j=d+28|0;if((c[j>>2]|0)==1){i=h;return}c[j>>2]=f;i=h;return}if((b|0)!=(c[d>>2]|0)){l=c[b+8>>2]|0;ed[c[(c[l>>2]|0)+24>>2]&3](l,d,e,f,g);i=h;return}do{if((c[d+16>>2]|0)!=(e|0)){k=d+20|0;if((c[k>>2]|0)==(e|0)){break}c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4){i=h;return}l=d+52|0;a[l]=0;m=d+53|0;a[m]=0;b=c[b+8>>2]|0;ud[c[(c[b>>2]|0)+20>>2]&7](b,d,e,e,1,g);if((a[m]&1)==0){b=0;j=13}else{if((a[l]&1)==0){b=1;j=13}}a:do{if((j|0)==13){c[k>>2]=e;m=d+40|0;c[m>>2]=(c[m>>2]|0)+1;do{if((c[d+36>>2]|0)==1){if((c[d+24>>2]|0)!=2){j=16;break}a[d+54|0]=1;if(b){break a}}else{j=16}}while(0);if((j|0)==16){if(b){break}}c[f>>2]=4;i=h;return}}while(0);c[f>>2]=3;i=h;return}}while(0);if((f|0)!=1){i=h;return}c[d+32>>2]=1;i=h;return}function xW(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=i;if((c[d+8>>2]|0)==(b|0)){if((c[d+4>>2]|0)!=(e|0)){i=g;return}d=d+28|0;if((c[d>>2]|0)==1){i=g;return}c[d>>2]=f;i=g;return}if((c[d>>2]|0)!=(b|0)){i=g;return}do{if((c[d+16>>2]|0)!=(e|0)){b=d+20|0;if((c[b>>2]|0)==(e|0)){break}c[d+32>>2]=f;c[b>>2]=e;b=d+40|0;c[b>>2]=(c[b>>2]|0)+1;do{if((c[d+36>>2]|0)==1){if((c[d+24>>2]|0)!=2){break}a[d+54|0]=1}}while(0);c[d+44>>2]=4;i=g;return}}while(0);if((f|0)!=1){i=g;return}c[d+32>>2]=1;i=g;return}function yW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;if((b|0)!=(c[d+8>>2]|0)){b=c[b+8>>2]|0;ud[c[(c[b>>2]|0)+20>>2]&7](b,d,e,f,g,h);i=j;return}a[d+53|0]=1;if((c[d+4>>2]|0)!=(f|0)){i=j;return}a[d+52|0]=1;b=d+16|0;f=c[b>>2]|0;if((f|0)==0){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((c[d+48>>2]|0)==1&(g|0)==1)){i=j;return}a[d+54|0]=1;i=j;return}if((f|0)!=(e|0)){h=d+36|0;c[h>>2]=(c[h>>2]|0)+1;a[d+54|0]=1;i=j;return}e=d+24|0;b=c[e>>2]|0;if((b|0)==2){c[e>>2]=g}else{g=b}if(!((c[d+48>>2]|0)==1&(g|0)==1)){i=j;return}a[d+54|0]=1;i=j;return}function zW(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=i;if((c[d+8>>2]|0)!=(b|0)){i=h;return}a[d+53|0]=1;if((c[d+4>>2]|0)!=(f|0)){i=h;return}a[d+52|0]=1;f=d+16|0;b=c[f>>2]|0;if((b|0)==0){c[f>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((c[d+48>>2]|0)==1&(g|0)==1)){i=h;return}a[d+54|0]=1;i=h;return}if((b|0)!=(e|0)){b=d+36|0;c[b>>2]=(c[b>>2]|0)+1;a[d+54|0]=1;i=h;return}e=d+24|0;f=c[e>>2]|0;if((f|0)==2){c[e>>2]=g}else{g=f}if(!((c[d+48>>2]|0)==1&(g|0)==1)){i=h;return}a[d+54|0]=1;i=h;return}function AW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=i;do{if(a>>>0<245){if(a>>>0<11){a=16}else{a=a+11&-8}p=a>>>3;n=c[72822]|0;o=n>>>p;if((o&3|0)!=0){e=(o&1^1)+p|0;d=e<<1;h=291328+(d<<2)|0;d=291328+(d+2<<2)|0;f=c[d>>2]|0;g=f+8|0;j=c[g>>2]|0;do{if((h|0)==(j|0)){c[72822]=n&~(1<<e)}else{if(j>>>0<(c[291304>>2]|0)>>>0){tc()}k=j+12|0;if((c[k>>2]|0)==(f|0)){c[k>>2]=h;c[d>>2]=j;break}else{tc()}}}while(0);z=e<<3;c[f+4>>2]=z|3;z=f+(z|4)|0;c[z>>2]=c[z>>2]|1;z=g;i=b;return z|0}if(a>>>0<=(c[291296>>2]|0)>>>0){break}if((o|0)!=0){f=2<<p;f=o<<p&(f|0-f);f=(f&0-f)+ -1|0;d=f>>>12&16;f=f>>>d;h=f>>>5&8;f=f>>>h;g=f>>>2&4;f=f>>>g;j=f>>>1&2;f=f>>>j;e=f>>>1&1;e=(h|d|g|j|e)+(f>>>e)|0;f=e<<1;j=291328+(f<<2)|0;f=291328+(f+2<<2)|0;g=c[f>>2]|0;d=g+8|0;h=c[d>>2]|0;do{if((j|0)==(h|0)){c[72822]=n&~(1<<e)}else{if(h>>>0<(c[291304>>2]|0)>>>0){tc()}k=h+12|0;if((c[k>>2]|0)==(g|0)){c[k>>2]=j;c[f>>2]=h;break}else{tc()}}}while(0);h=e<<3;e=h-a|0;c[g+4>>2]=a|3;f=g+a|0;c[g+(a|4)>>2]=e|1;c[g+h>>2]=e;h=c[291296>>2]|0;if((h|0)!=0){g=c[291308>>2]|0;k=h>>>3;l=k<<1;h=291328+(l<<2)|0;j=c[72822]|0;k=1<<k;do{if((j&k|0)==0){c[72822]=j|k;v=h;u=291328+(l+2<<2)|0}else{k=291328+(l+2<<2)|0;j=c[k>>2]|0;if(j>>>0>=(c[291304>>2]|0)>>>0){v=j;u=k;break}tc()}}while(0);c[u>>2]=g;c[v+12>>2]=g;c[g+8>>2]=v;c[g+12>>2]=h}c[291296>>2]=e;c[291308>>2]=f;z=d;i=b;return z|0}n=c[291292>>2]|0;if((n|0)==0){break}e=(n&0-n)+ -1|0;y=e>>>12&16;e=e>>>y;x=e>>>5&8;e=e>>>x;z=e>>>2&4;e=e>>>z;h=e>>>1&2;e=e>>>h;d=e>>>1&1;d=c[291592+((x|y|z|h|d)+(e>>>d)<<2)>>2]|0;e=(c[d+4>>2]&-8)-a|0;h=d;while(1){g=c[h+16>>2]|0;if((g|0)==0){g=c[h+20>>2]|0;if((g|0)==0){break}}h=(c[g+4>>2]&-8)-a|0;f=h>>>0<e>>>0;e=f?h:e;h=g;d=f?g:d}h=c[291304>>2]|0;if(d>>>0<h>>>0){tc()}f=d+a|0;if(d>>>0>=f>>>0){tc()}g=c[d+24>>2]|0;j=c[d+12>>2]|0;do{if((j|0)==(d|0)){j=d+20|0;k=c[j>>2]|0;if((k|0)==0){j=d+16|0;k=c[j>>2]|0;if((k|0)==0){t=0;break}}while(1){l=k+20|0;m=c[l>>2]|0;if((m|0)!=0){k=m;j=l;continue}m=k+16|0;l=c[m>>2]|0;if((l|0)==0){break}else{j=m;k=l}}if(j>>>0<h>>>0){tc()}else{c[j>>2]=0;t=k;break}}else{k=c[d+8>>2]|0;if(k>>>0<h>>>0){tc()}h=k+12|0;if((c[h>>2]|0)!=(d|0)){tc()}l=j+8|0;if((c[l>>2]|0)==(d|0)){c[h>>2]=j;c[l>>2]=k;t=j;break}else{tc()}}}while(0);a:do{if((g|0)!=0){j=d+28|0;h=291592+(c[j>>2]<<2)|0;do{if((d|0)==(c[h>>2]|0)){c[h>>2]=t;if((t|0)!=0){break}c[291292>>2]=c[291292>>2]&~(1<<c[j>>2]);break a}else{if(g>>>0<(c[291304>>2]|0)>>>0){tc()}h=g+16|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=t}else{c[g+20>>2]=t}if((t|0)==0){break a}}}while(0);if(t>>>0<(c[291304>>2]|0)>>>0){tc()}c[t+24>>2]=g;g=c[d+16>>2]|0;do{if((g|0)!=0){if(g>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[t+16>>2]=g;c[g+24>>2]=t;break}}}while(0);g=c[d+20>>2]|0;if((g|0)==0){break}if(g>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[t+20>>2]=g;c[g+24>>2]=t;break}}}while(0);if(e>>>0<16){z=e+a|0;c[d+4>>2]=z|3;z=d+(z+4)|0;c[z>>2]=c[z>>2]|1}else{c[d+4>>2]=a|3;c[d+(a|4)>>2]=e|1;c[d+(e+a)>>2]=e;h=c[291296>>2]|0;if((h|0)!=0){g=c[291308>>2]|0;k=h>>>3;l=k<<1;h=291328+(l<<2)|0;j=c[72822]|0;k=1<<k;do{if((j&k|0)==0){c[72822]=j|k;s=h;r=291328+(l+2<<2)|0}else{j=291328+(l+2<<2)|0;k=c[j>>2]|0;if(k>>>0>=(c[291304>>2]|0)>>>0){s=k;r=j;break}tc()}}while(0);c[r>>2]=g;c[s+12>>2]=g;c[g+8>>2]=s;c[g+12>>2]=h}c[291296>>2]=e;c[291308>>2]=f}z=d+8|0;i=b;return z|0}else{if(a>>>0>4294967231){a=-1;break}r=a+11|0;a=r&-8;t=c[291292>>2]|0;if((t|0)==0){break}s=0-a|0;r=r>>>8;do{if((r|0)==0){u=0}else{if(a>>>0>16777215){u=31;break}y=(r+1048320|0)>>>16&8;z=r<<y;x=(z+520192|0)>>>16&4;z=z<<x;u=(z+245760|0)>>>16&2;u=14-(x|y|u)+(z<<u>>>15)|0;u=a>>>(u+7|0)&1|u<<1}}while(0);x=c[291592+(u<<2)>>2]|0;b:do{if((x|0)==0){v=0;r=0}else{if((u|0)==31){r=0}else{r=25-(u>>>1)|0}v=0;w=a<<r;r=0;while(1){y=c[x+4>>2]&-8;z=y-a|0;if(z>>>0<s>>>0){if((y|0)==(a|0)){s=z;v=x;r=x;break b}else{s=z;r=x}}y=c[x+20>>2]|0;x=c[x+16+(w>>>31<<2)>>2]|0;v=(y|0)==0|(y|0)==(x|0)?v:y;if((x|0)==0){break}else{w=w<<1}}}}while(0);if((v|0)==0&(r|0)==0){z=2<<u;t=t&(z|0-z);if((t|0)==0){break}z=(t&0-t)+ -1|0;w=z>>>12&16;z=z>>>w;u=z>>>5&8;z=z>>>u;x=z>>>2&4;z=z>>>x;y=z>>>1&2;z=z>>>y;v=z>>>1&1;v=c[291592+((u|w|x|y|v)+(z>>>v)<<2)>>2]|0}if((v|0)!=0){while(1){u=(c[v+4>>2]&-8)-a|0;t=u>>>0<s>>>0;s=t?u:s;r=t?v:r;t=c[v+16>>2]|0;if((t|0)!=0){v=t;continue}v=c[v+20>>2]|0;if((v|0)==0){break}}}if((r|0)==0){break}if(s>>>0>=((c[291296>>2]|0)-a|0)>>>0){break}f=c[291304>>2]|0;if(r>>>0<f>>>0){tc()}d=r+a|0;if(r>>>0>=d>>>0){tc()}e=c[r+24>>2]|0;g=c[r+12>>2]|0;do{if((g|0)==(r|0)){g=r+20|0;h=c[g>>2]|0;if((h|0)==0){g=r+16|0;h=c[g>>2]|0;if((h|0)==0){q=0;break}}while(1){k=h+20|0;j=c[k>>2]|0;if((j|0)!=0){h=j;g=k;continue}j=h+16|0;k=c[j>>2]|0;if((k|0)==0){break}else{g=j;h=k}}if(g>>>0<f>>>0){tc()}else{c[g>>2]=0;q=h;break}}else{h=c[r+8>>2]|0;if(h>>>0<f>>>0){tc()}j=h+12|0;if((c[j>>2]|0)!=(r|0)){tc()}f=g+8|0;if((c[f>>2]|0)==(r|0)){c[j>>2]=g;c[f>>2]=h;q=g;break}else{tc()}}}while(0);c:do{if((e|0)!=0){g=r+28|0;f=291592+(c[g>>2]<<2)|0;do{if((r|0)==(c[f>>2]|0)){c[f>>2]=q;if((q|0)!=0){break}c[291292>>2]=c[291292>>2]&~(1<<c[g>>2]);break c}else{if(e>>>0<(c[291304>>2]|0)>>>0){tc()}f=e+16|0;if((c[f>>2]|0)==(r|0)){c[f>>2]=q}else{c[e+20>>2]=q}if((q|0)==0){break c}}}while(0);if(q>>>0<(c[291304>>2]|0)>>>0){tc()}c[q+24>>2]=e;e=c[r+16>>2]|0;do{if((e|0)!=0){if(e>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[q+16>>2]=e;c[e+24>>2]=q;break}}}while(0);e=c[r+20>>2]|0;if((e|0)==0){break}if(e>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[q+20>>2]=e;c[e+24>>2]=q;break}}}while(0);d:do{if(s>>>0<16){z=s+a|0;c[r+4>>2]=z|3;z=r+(z+4)|0;c[z>>2]=c[z>>2]|1}else{c[r+4>>2]=a|3;c[r+(a|4)>>2]=s|1;c[r+(s+a)>>2]=s;f=s>>>3;if(s>>>0<256){h=f<<1;e=291328+(h<<2)|0;g=c[72822]|0;f=1<<f;do{if((g&f|0)==0){c[72822]=g|f;o=e;p=291328+(h+2<<2)|0}else{f=291328+(h+2<<2)|0;g=c[f>>2]|0;if(g>>>0>=(c[291304>>2]|0)>>>0){o=g;p=f;break}tc()}}while(0);c[p>>2]=d;c[o+12>>2]=d;c[r+(a+8)>>2]=o;c[r+(a+12)>>2]=e;break}e=s>>>8;do{if((e|0)==0){e=0}else{if(s>>>0>16777215){e=31;break}y=(e+1048320|0)>>>16&8;z=e<<y;x=(z+520192|0)>>>16&4;z=z<<x;e=(z+245760|0)>>>16&2;e=14-(x|y|e)+(z<<e>>>15)|0;e=s>>>(e+7|0)&1|e<<1}}while(0);f=291592+(e<<2)|0;c[r+(a+28)>>2]=e;c[r+(a+20)>>2]=0;c[r+(a+16)>>2]=0;h=c[291292>>2]|0;g=1<<e;if((h&g|0)==0){c[291292>>2]=h|g;c[f>>2]=d;c[r+(a+24)>>2]=f;c[r+(a+12)>>2]=d;c[r+(a+8)>>2]=d;break}f=c[f>>2]|0;if((e|0)==31){e=0}else{e=25-(e>>>1)|0}e:do{if((c[f+4>>2]&-8|0)==(s|0)){n=f}else{e=s<<e;while(1){g=f+16+(e>>>31<<2)|0;h=c[g>>2]|0;if((h|0)==0){break}if((c[h+4>>2]&-8|0)==(s|0)){n=h;break e}else{e=e<<1;f=h}}if(g>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[g>>2]=d;c[r+(a+24)>>2]=f;c[r+(a+12)>>2]=d;c[r+(a+8)>>2]=d;break d}}}while(0);g=n+8|0;f=c[g>>2]|0;e=c[291304>>2]|0;if(n>>>0<e>>>0){tc()}if(f>>>0<e>>>0){tc()}else{c[f+12>>2]=d;c[g>>2]=d;c[r+(a+8)>>2]=f;c[r+(a+12)>>2]=n;c[r+(a+24)>>2]=0;break}}}while(0);z=r+8|0;i=b;return z|0}}while(0);n=c[291296>>2]|0;if(a>>>0<=n>>>0){d=n-a|0;e=c[291308>>2]|0;if(d>>>0>15){c[291308>>2]=e+a;c[291296>>2]=d;c[e+(a+4)>>2]=d|1;c[e+n>>2]=d;c[e+4>>2]=a|3}else{c[291296>>2]=0;c[291308>>2]=0;c[e+4>>2]=n|3;z=e+(n+4)|0;c[z>>2]=c[z>>2]|1}z=e+8|0;i=b;return z|0}n=c[291300>>2]|0;if(a>>>0<n>>>0){y=n-a|0;c[291300>>2]=y;z=c[291312>>2]|0;c[291312>>2]=z+a;c[z+(a+4)>>2]=y|1;c[z+4>>2]=a|3;z=z+8|0;i=b;return z|0}do{if((c[72940]|0)==0){n=bb(30)|0;if((n+ -1&n|0)==0){c[291768>>2]=n;c[291764>>2]=n;c[291772>>2]=-1;c[291776>>2]=-1;c[291780>>2]=0;c[291732>>2]=0;c[72940]=(Tb(0)|0)&-16^1431655768;break}else{tc()}}}while(0);r=a+48|0;t=c[291768>>2]|0;q=a+47|0;s=t+q|0;t=0-t|0;p=s&t;if(p>>>0<=a>>>0){z=0;i=b;return z|0}n=c[291728>>2]|0;do{if((n|0)!=0){y=c[291720>>2]|0;z=y+p|0;if(z>>>0<=y>>>0|z>>>0>n>>>0){d=0}else{break}i=b;return d|0}}while(0);f:do{if((c[291732>>2]&4|0)==0){u=c[291312>>2]|0;g:do{if((u|0)==0){m=182}else{n=291736|0;while(1){v=c[n>>2]|0;if(v>>>0<=u>>>0){o=n+4|0;if((v+(c[o>>2]|0)|0)>>>0>u>>>0){break}}n=c[n+8>>2]|0;if((n|0)==0){m=182;break g}}if((n|0)==0){m=182;break}u=s-(c[291300>>2]|0)&t;if(u>>>0>=2147483647){o=0;break}m=ab(u|0)|0;o=(m|0)==((c[n>>2]|0)+(c[o>>2]|0)|0);s=m;t=u;n=o?m:-1;o=o?u:0;m=191}}while(0);do{if((m|0)==182){n=ab(0)|0;if((n|0)==-1){o=0;break}o=c[291764>>2]|0;s=o+ -1|0;if((s&n|0)==0){o=p}else{o=p-n+(s+n&0-o)|0}s=c[291720>>2]|0;t=s+o|0;if(!(o>>>0>a>>>0&o>>>0<2147483647)){o=0;break}u=c[291728>>2]|0;if((u|0)!=0){if(t>>>0<=s>>>0|t>>>0>u>>>0){o=0;break}}s=ab(o|0)|0;m=(s|0)==(n|0);t=o;n=m?n:-1;o=m?o:0;m=191}}while(0);h:do{if((m|0)==191){m=0-t|0;if((n|0)!=-1){m=202;break f}do{if((s|0)!=-1&t>>>0<2147483647&t>>>0<r>>>0){n=c[291768>>2]|0;n=q-t+n&0-n;if(n>>>0>=2147483647){break}if((ab(n|0)|0)==-1){ab(m|0)|0;break h}else{t=n+t|0;break}}}while(0);if((s|0)!=-1){n=s;o=t;m=202;break f}}}while(0);c[291732>>2]=c[291732>>2]|4;m=199}else{o=0;m=199}}while(0);do{if((m|0)==199){if(p>>>0>=2147483647){break}n=ab(p|0)|0;p=ab(0)|0;if(!((p|0)!=-1&(n|0)!=-1&n>>>0<p>>>0)){break}q=p-n|0;p=q>>>0>(a+40|0)>>>0;if(p){o=p?q:o;m=202}}}while(0);do{if((m|0)==202){p=(c[291720>>2]|0)+o|0;c[291720>>2]=p;if(p>>>0>(c[291724>>2]|0)>>>0){c[291724>>2]=p}p=c[291312>>2]|0;t=291736|0;i:do{if((p|0)==0){z=c[291304>>2]|0;if((z|0)==0|n>>>0<z>>>0){c[291304>>2]=n}c[291736>>2]=n;c[291740>>2]=o;c[291748>>2]=0;c[291324>>2]=c[72940];c[291320>>2]=-1;d=0;do{z=d<<1;y=291328+(z<<2)|0;c[291328+(z+3<<2)>>2]=y;c[291328+(z+2<<2)>>2]=y;d=d+1|0;}while(d>>>0<32);d=n+8|0;if((d&7|0)==0){d=0}else{d=0-d&7}z=o+ -40-d|0;c[291312>>2]=n+d;c[291300>>2]=z;c[n+(d+4)>>2]=z|1;c[n+(o+ -36)>>2]=40;c[291316>>2]=c[291776>>2]}else{do{q=c[t>>2]|0;r=t+4|0;s=c[r>>2]|0;if((n|0)==(q+s|0)){m=214;break}t=c[t+8>>2]|0;}while((t|0)!=0);do{if((m|0)==214){if((c[t+12>>2]&8|0)!=0){break}if(!(p>>>0>=q>>>0&p>>>0<n>>>0)){break}c[r>>2]=s+o;d=c[291312>>2]|0;e=(c[291300>>2]|0)+o|0;f=d+8|0;if((f&7|0)==0){f=0}else{f=0-f&7}z=e-f|0;c[291312>>2]=d+f;c[291300>>2]=z;c[d+(f+4)>>2]=z|1;c[d+(e+4)>>2]=40;c[291316>>2]=c[291776>>2];break i}}while(0);if(n>>>0<(c[291304>>2]|0)>>>0){c[291304>>2]=n}q=n+o|0;r=291736|0;do{if((c[r>>2]|0)==(q|0)){m=224;break}r=c[r+8>>2]|0;}while((r|0)!=0);do{if((m|0)==224){if((c[r+12>>2]&8|0)!=0){break}c[r>>2]=n;h=r+4|0;c[h>>2]=(c[h>>2]|0)+o;h=n+8|0;if((h&7|0)==0){h=0}else{h=0-h&7}j=n+(o+8)|0;if((j&7|0)==0){p=0}else{p=0-j&7}q=n+(p+o)|0;k=h+a|0;j=n+k|0;m=q-(n+h)-a|0;c[n+(h+4)>>2]=a|3;j:do{if((q|0)==(c[291312>>2]|0)){z=(c[291300>>2]|0)+m|0;c[291300>>2]=z;c[291312>>2]=j;c[n+(k+4)>>2]=z|1}else{if((q|0)==(c[291308>>2]|0)){z=(c[291296>>2]|0)+m|0;c[291296>>2]=z;c[291308>>2]=j;c[n+(k+4)>>2]=z|1;c[n+(z+k)>>2]=z;break}r=o+4|0;t=c[n+(r+p)>>2]|0;if((t&3|0)==1){a=t&-8;s=t>>>3;k:do{if(t>>>0<256){g=c[n+((p|8)+o)>>2]|0;r=c[n+(o+12+p)>>2]|0;t=291328+(s<<1<<2)|0;do{if((g|0)!=(t|0)){if(g>>>0<(c[291304>>2]|0)>>>0){tc()}if((c[g+12>>2]|0)==(q|0)){break}tc()}}while(0);if((r|0)==(g|0)){c[72822]=c[72822]&~(1<<s);break}do{if((r|0)==(t|0)){l=r+8|0}else{if(r>>>0<(c[291304>>2]|0)>>>0){tc()}s=r+8|0;if((c[s>>2]|0)==(q|0)){l=s;break}tc()}}while(0);c[g+12>>2]=r;c[l>>2]=g}else{l=c[n+((p|24)+o)>>2]|0;t=c[n+(o+12+p)>>2]|0;do{if((t|0)==(q|0)){u=p|16;s=n+(r+u)|0;t=c[s>>2]|0;if((t|0)==0){s=n+(u+o)|0;t=c[s>>2]|0;if((t|0)==0){g=0;break}}while(1){v=t+20|0;u=c[v>>2]|0;if((u|0)!=0){t=u;s=v;continue}u=t+16|0;v=c[u>>2]|0;if((v|0)==0){break}else{s=u;t=v}}if(s>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[s>>2]=0;g=t;break}}else{v=c[n+((p|8)+o)>>2]|0;if(v>>>0<(c[291304>>2]|0)>>>0){tc()}s=v+12|0;if((c[s>>2]|0)!=(q|0)){tc()}u=t+8|0;if((c[u>>2]|0)==(q|0)){c[s>>2]=t;c[u>>2]=v;g=t;break}else{tc()}}}while(0);if((l|0)==0){break}s=n+(o+28+p)|0;t=291592+(c[s>>2]<<2)|0;do{if((q|0)==(c[t>>2]|0)){c[t>>2]=g;if((g|0)!=0){break}c[291292>>2]=c[291292>>2]&~(1<<c[s>>2]);break k}else{if(l>>>0<(c[291304>>2]|0)>>>0){tc()}s=l+16|0;if((c[s>>2]|0)==(q|0)){c[s>>2]=g}else{c[l+20>>2]=g}if((g|0)==0){break k}}}while(0);if(g>>>0<(c[291304>>2]|0)>>>0){tc()}c[g+24>>2]=l;q=p|16;l=c[n+(q+o)>>2]|0;do{if((l|0)!=0){if(l>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[g+16>>2]=l;c[l+24>>2]=g;break}}}while(0);l=c[n+(r+q)>>2]|0;if((l|0)==0){break}if(l>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[g+20>>2]=l;c[l+24>>2]=g;break}}}while(0);q=n+((a|p)+o)|0;m=a+m|0}g=q+4|0;c[g>>2]=c[g>>2]&-2;c[n+(k+4)>>2]=m|1;c[n+(m+k)>>2]=m;g=m>>>3;if(m>>>0<256){l=g<<1;d=291328+(l<<2)|0;a=c[72822]|0;g=1<<g;do{if((a&g|0)==0){c[72822]=a|g;f=d;e=291328+(l+2<<2)|0}else{g=291328+(l+2<<2)|0;l=c[g>>2]|0;if(l>>>0>=(c[291304>>2]|0)>>>0){f=l;e=g;break}tc()}}while(0);c[e>>2]=j;c[f+12>>2]=j;c[n+(k+8)>>2]=f;c[n+(k+12)>>2]=d;break}e=m>>>8;do{if((e|0)==0){e=0}else{if(m>>>0>16777215){e=31;break}y=(e+1048320|0)>>>16&8;z=e<<y;x=(z+520192|0)>>>16&4;z=z<<x;e=(z+245760|0)>>>16&2;e=14-(x|y|e)+(z<<e>>>15)|0;e=m>>>(e+7|0)&1|e<<1}}while(0);l=291592+(e<<2)|0;c[n+(k+28)>>2]=e;c[n+(k+20)>>2]=0;c[n+(k+16)>>2]=0;f=c[291292>>2]|0;g=1<<e;if((f&g|0)==0){c[291292>>2]=f|g;c[l>>2]=j;c[n+(k+24)>>2]=l;c[n+(k+12)>>2]=j;c[n+(k+8)>>2]=j;break}g=c[l>>2]|0;if((e|0)==31){e=0}else{e=25-(e>>>1)|0}l:do{if((c[g+4>>2]&-8|0)==(m|0)){d=g}else{e=m<<e;while(1){f=g+16+(e>>>31<<2)|0;l=c[f>>2]|0;if((l|0)==0){break}if((c[l+4>>2]&-8|0)==(m|0)){d=l;break l}else{e=e<<1;g=l}}if(f>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[f>>2]=j;c[n+(k+24)>>2]=g;c[n+(k+12)>>2]=j;c[n+(k+8)>>2]=j;break j}}}while(0);f=d+8|0;e=c[f>>2]|0;g=c[291304>>2]|0;if(d>>>0<g>>>0){tc()}if(e>>>0<g>>>0){tc()}else{c[e+12>>2]=j;c[f>>2]=j;c[n+(k+8)>>2]=e;c[n+(k+12)>>2]=d;c[n+(k+24)>>2]=0;break}}}while(0);z=n+(h|8)|0;i=b;return z|0}}while(0);g=291736|0;while(1){e=c[g>>2]|0;if(e>>>0<=p>>>0){f=c[g+4>>2]|0;d=e+f|0;if(d>>>0>p>>>0){break}}g=c[g+8>>2]|0}g=e+(f+ -39)|0;if((g&7|0)==0){g=0}else{g=0-g&7}e=e+(f+ -47+g)|0;e=e>>>0<(p+16|0)>>>0?p:e;f=e+8|0;g=n+8|0;if((g&7|0)==0){g=0}else{g=0-g&7}z=o+ -40-g|0;c[291312>>2]=n+g;c[291300>>2]=z;c[n+(g+4)>>2]=z|1;c[n+(o+ -36)>>2]=40;c[291316>>2]=c[291776>>2];c[e+4>>2]=27;$W(f|0,291736|0,16)|0;c[291736>>2]=n;c[291740>>2]=o;c[291748>>2]=0;c[291744>>2]=f;f=e+28|0;c[f>>2]=7;if((e+32|0)>>>0<d>>>0){while(1){g=f+4|0;c[g>>2]=7;if((f+8|0)>>>0<d>>>0){f=g}else{break}}}if((e|0)==(p|0)){break}d=e-p|0;e=p+(d+4)|0;c[e>>2]=c[e>>2]&-2;c[p+4>>2]=d|1;c[p+d>>2]=d;e=d>>>3;if(d>>>0<256){g=e<<1;d=291328+(g<<2)|0;f=c[72822]|0;e=1<<e;do{if((f&e|0)==0){c[72822]=f|e;k=d;j=291328+(g+2<<2)|0}else{f=291328+(g+2<<2)|0;e=c[f>>2]|0;if(e>>>0>=(c[291304>>2]|0)>>>0){k=e;j=f;break}tc()}}while(0);c[j>>2]=p;c[k+12>>2]=p;c[p+8>>2]=k;c[p+12>>2]=d;break}e=d>>>8;do{if((e|0)==0){e=0}else{if(d>>>0>16777215){e=31;break}y=(e+1048320|0)>>>16&8;z=e<<y;x=(z+520192|0)>>>16&4;z=z<<x;e=(z+245760|0)>>>16&2;e=14-(x|y|e)+(z<<e>>>15)|0;e=d>>>(e+7|0)&1|e<<1}}while(0);j=291592+(e<<2)|0;c[p+28>>2]=e;c[p+20>>2]=0;c[p+16>>2]=0;f=c[291292>>2]|0;g=1<<e;if((f&g|0)==0){c[291292>>2]=f|g;c[j>>2]=p;c[p+24>>2]=j;c[p+12>>2]=p;c[p+8>>2]=p;break}f=c[j>>2]|0;if((e|0)==31){e=0}else{e=25-(e>>>1)|0}m:do{if((c[f+4>>2]&-8|0)==(d|0)){h=f}else{e=d<<e;j=f;while(1){f=j+16+(e>>>31<<2)|0;g=c[f>>2]|0;if((g|0)==0){break}if((c[g+4>>2]&-8|0)==(d|0)){h=g;break m}else{e=e<<1;j=g}}if(f>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[f>>2]=p;c[p+24>>2]=j;c[p+12>>2]=p;c[p+8>>2]=p;break i}}}while(0);e=h+8|0;d=c[e>>2]|0;f=c[291304>>2]|0;if(h>>>0<f>>>0){tc()}if(d>>>0<f>>>0){tc()}else{c[d+12>>2]=p;c[e>>2]=p;c[p+8>>2]=d;c[p+12>>2]=h;c[p+24>>2]=0;break}}}while(0);d=c[291300>>2]|0;if(d>>>0<=a>>>0){break}y=d-a|0;c[291300>>2]=y;z=c[291312>>2]|0;c[291312>>2]=z+a;c[z+(a+4)>>2]=y|1;c[z+4>>2]=a|3;z=z+8|0;i=b;return z|0}}while(0);c[(Pc()|0)>>2]=12;z=0;i=b;return z|0}function BW(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=i;if((a|0)==0){i=b;return}q=a+ -8|0;r=c[291304>>2]|0;if(q>>>0<r>>>0){tc()}o=c[a+ -4>>2]|0;m=o&3;if((m|0)==1){tc()}j=o&-8;h=a+(j+ -8)|0;a:do{if((o&1|0)==0){u=c[q>>2]|0;if((m|0)==0){i=b;return}q=-8-u|0;m=a+q|0;o=u+j|0;if(m>>>0<r>>>0){tc()}if((m|0)==(c[291308>>2]|0)){d=a+(j+ -4)|0;if((c[d>>2]&3|0)!=3){d=m;n=o;break}c[291296>>2]=o;c[d>>2]=c[d>>2]&-2;c[a+(q+4)>>2]=o|1;c[h>>2]=o;i=b;return}t=u>>>3;if(u>>>0<256){d=c[a+(q+8)>>2]|0;n=c[a+(q+12)>>2]|0;p=291328+(t<<1<<2)|0;do{if((d|0)!=(p|0)){if(d>>>0<r>>>0){tc()}if((c[d+12>>2]|0)==(m|0)){break}tc()}}while(0);if((n|0)==(d|0)){c[72822]=c[72822]&~(1<<t);d=m;n=o;break}do{if((n|0)==(p|0)){s=n+8|0}else{if(n>>>0<r>>>0){tc()}p=n+8|0;if((c[p>>2]|0)==(m|0)){s=p;break}tc()}}while(0);c[d+12>>2]=n;c[s>>2]=d;d=m;n=o;break}s=c[a+(q+24)>>2]|0;t=c[a+(q+12)>>2]|0;do{if((t|0)==(m|0)){t=a+(q+20)|0;u=c[t>>2]|0;if((u|0)==0){t=a+(q+16)|0;u=c[t>>2]|0;if((u|0)==0){p=0;break}}while(1){v=u+20|0;w=c[v>>2]|0;if((w|0)!=0){u=w;t=v;continue}v=u+16|0;w=c[v>>2]|0;if((w|0)==0){break}else{t=v;u=w}}if(t>>>0<r>>>0){tc()}else{c[t>>2]=0;p=u;break}}else{u=c[a+(q+8)>>2]|0;if(u>>>0<r>>>0){tc()}r=u+12|0;if((c[r>>2]|0)!=(m|0)){tc()}v=t+8|0;if((c[v>>2]|0)==(m|0)){c[r>>2]=t;c[v>>2]=u;p=t;break}else{tc()}}}while(0);if((s|0)==0){d=m;n=o;break}r=a+(q+28)|0;t=291592+(c[r>>2]<<2)|0;do{if((m|0)==(c[t>>2]|0)){c[t>>2]=p;if((p|0)!=0){break}c[291292>>2]=c[291292>>2]&~(1<<c[r>>2]);d=m;n=o;break a}else{if(s>>>0<(c[291304>>2]|0)>>>0){tc()}r=s+16|0;if((c[r>>2]|0)==(m|0)){c[r>>2]=p}else{c[s+20>>2]=p}if((p|0)==0){d=m;n=o;break a}}}while(0);if(p>>>0<(c[291304>>2]|0)>>>0){tc()}c[p+24>>2]=s;r=c[a+(q+16)>>2]|0;do{if((r|0)!=0){if(r>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[p+16>>2]=r;c[r+24>>2]=p;break}}}while(0);q=c[a+(q+20)>>2]|0;if((q|0)==0){d=m;n=o;break}if(q>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[p+20>>2]=q;c[q+24>>2]=p;d=m;n=o;break}}else{d=q;n=j}}while(0);if(d>>>0>=h>>>0){tc()}m=a+(j+ -4)|0;o=c[m>>2]|0;if((o&1|0)==0){tc()}do{if((o&2|0)==0){if((h|0)==(c[291312>>2]|0)){w=(c[291300>>2]|0)+n|0;c[291300>>2]=w;c[291312>>2]=d;c[d+4>>2]=w|1;if((d|0)!=(c[291308>>2]|0)){i=b;return}c[291308>>2]=0;c[291296>>2]=0;i=b;return}if((h|0)==(c[291308>>2]|0)){w=(c[291296>>2]|0)+n|0;c[291296>>2]=w;c[291308>>2]=d;c[d+4>>2]=w|1;c[d+w>>2]=w;i=b;return}n=(o&-8)+n|0;m=o>>>3;b:do{if(o>>>0<256){k=c[a+j>>2]|0;a=c[a+(j|4)>>2]|0;j=291328+(m<<1<<2)|0;do{if((k|0)!=(j|0)){if(k>>>0<(c[291304>>2]|0)>>>0){tc()}if((c[k+12>>2]|0)==(h|0)){break}tc()}}while(0);if((a|0)==(k|0)){c[72822]=c[72822]&~(1<<m);break}do{if((a|0)==(j|0)){l=a+8|0}else{if(a>>>0<(c[291304>>2]|0)>>>0){tc()}j=a+8|0;if((c[j>>2]|0)==(h|0)){l=j;break}tc()}}while(0);c[k+12>>2]=a;c[l>>2]=k}else{l=c[a+(j+16)>>2]|0;o=c[a+(j|4)>>2]|0;do{if((o|0)==(h|0)){o=a+(j+12)|0;m=c[o>>2]|0;if((m|0)==0){o=a+(j+8)|0;m=c[o>>2]|0;if((m|0)==0){k=0;break}}while(1){q=m+20|0;p=c[q>>2]|0;if((p|0)!=0){o=q;m=p;continue}p=m+16|0;q=c[p>>2]|0;if((q|0)==0){break}else{m=q;o=p}}if(o>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[o>>2]=0;k=m;break}}else{p=c[a+j>>2]|0;if(p>>>0<(c[291304>>2]|0)>>>0){tc()}q=p+12|0;if((c[q>>2]|0)!=(h|0)){tc()}m=o+8|0;if((c[m>>2]|0)==(h|0)){c[q>>2]=o;c[m>>2]=p;k=o;break}else{tc()}}}while(0);if((l|0)==0){break}m=a+(j+20)|0;o=291592+(c[m>>2]<<2)|0;do{if((h|0)==(c[o>>2]|0)){c[o>>2]=k;if((k|0)!=0){break}c[291292>>2]=c[291292>>2]&~(1<<c[m>>2]);break b}else{if(l>>>0<(c[291304>>2]|0)>>>0){tc()}m=l+16|0;if((c[m>>2]|0)==(h|0)){c[m>>2]=k}else{c[l+20>>2]=k}if((k|0)==0){break b}}}while(0);if(k>>>0<(c[291304>>2]|0)>>>0){tc()}c[k+24>>2]=l;h=c[a+(j+8)>>2]|0;do{if((h|0)!=0){if(h>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[k+16>>2]=h;c[h+24>>2]=k;break}}}while(0);h=c[a+(j+12)>>2]|0;if((h|0)==0){break}if(h>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[k+20>>2]=h;c[h+24>>2]=k;break}}}while(0);c[d+4>>2]=n|1;c[d+n>>2]=n;if((d|0)!=(c[291308>>2]|0)){break}c[291296>>2]=n;i=b;return}else{c[m>>2]=o&-2;c[d+4>>2]=n|1;c[d+n>>2]=n}}while(0);h=n>>>3;if(n>>>0<256){j=h<<1;e=291328+(j<<2)|0;a=c[72822]|0;h=1<<h;do{if((a&h|0)==0){c[72822]=a|h;g=e;f=291328+(j+2<<2)|0}else{a=291328+(j+2<<2)|0;h=c[a>>2]|0;if(h>>>0>=(c[291304>>2]|0)>>>0){g=h;f=a;break}tc()}}while(0);c[f>>2]=d;c[g+12>>2]=d;c[d+8>>2]=g;c[d+12>>2]=e;i=b;return}f=n>>>8;do{if((f|0)==0){f=0}else{if(n>>>0>16777215){f=31;break}v=(f+1048320|0)>>>16&8;w=f<<v;u=(w+520192|0)>>>16&4;w=w<<u;f=(w+245760|0)>>>16&2;f=14-(u|v|f)+(w<<f>>>15)|0;f=n>>>(f+7|0)&1|f<<1}}while(0);g=291592+(f<<2)|0;c[d+28>>2]=f;c[d+20>>2]=0;c[d+16>>2]=0;a=c[291292>>2]|0;h=1<<f;c:do{if((a&h|0)==0){c[291292>>2]=a|h;c[g>>2]=d;c[d+24>>2]=g;c[d+12>>2]=d;c[d+8>>2]=d}else{g=c[g>>2]|0;if((f|0)==31){f=0}else{f=25-(f>>>1)|0}d:do{if((c[g+4>>2]&-8|0)==(n|0)){e=g}else{f=n<<f;while(1){h=g+16+(f>>>31<<2)|0;a=c[h>>2]|0;if((a|0)==0){break}if((c[a+4>>2]&-8|0)==(n|0)){e=a;break d}else{f=f<<1;g=a}}if(h>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[h>>2]=d;c[d+24>>2]=g;c[d+12>>2]=d;c[d+8>>2]=d;break c}}}while(0);g=e+8|0;f=c[g>>2]|0;h=c[291304>>2]|0;if(e>>>0<h>>>0){tc()}if(f>>>0<h>>>0){tc()}else{c[f+12>>2]=d;c[g>>2]=d;c[d+8>>2]=f;c[d+12>>2]=e;c[d+24>>2]=0;break}}}while(0);w=(c[291320>>2]|0)+ -1|0;c[291320>>2]=w;if((w|0)==0){d=291744|0}else{i=b;return}while(1){d=c[d>>2]|0;if((d|0)==0){break}else{d=d+8|0}}c[291320>>2]=-1;i=b;return}function CW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;if((a|0)==0){f=AW(b)|0;i=d;return f|0}if(b>>>0>4294967231){c[(Pc()|0)>>2]=12;f=0;i=d;return f|0}if(b>>>0<11){e=16}else{e=b+11&-8}e=DW(a+ -8|0,e)|0;if((e|0)!=0){f=e+8|0;i=d;return f|0}e=AW(b)|0;if((e|0)==0){f=0;i=d;return f|0}f=c[a+ -4>>2]|0;f=(f&-8)-((f&3|0)==0?8:4)|0;$W(e|0,a|0,(f>>>0<b>>>0?f:b)|0)|0;BW(a);f=e;i=d;return f|0}function DW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=i;e=a+4|0;g=c[e>>2]|0;k=g&-8;f=a+k|0;l=c[291304>>2]|0;if(a>>>0<l>>>0){tc()}n=g&3;if(!((n|0)!=1&a>>>0<f>>>0)){tc()}h=a+(k|4)|0;o=c[h>>2]|0;if((o&1|0)==0){tc()}if((n|0)==0){if(b>>>0<256){q=0;i=d;return q|0}do{if(k>>>0>=(b+4|0)>>>0){if((k-b|0)>>>0>c[291768>>2]<<1>>>0){break}i=d;return a|0}}while(0);q=0;i=d;return q|0}if(k>>>0>=b>>>0){f=k-b|0;if(f>>>0<=15){q=a;i=d;return q|0}c[e>>2]=g&1|b|2;c[a+(b+4)>>2]=f|3;c[h>>2]=c[h>>2]|1;EW(a+b|0,f);q=a;i=d;return q|0}if((f|0)==(c[291312>>2]|0)){f=(c[291300>>2]|0)+k|0;if(f>>>0<=b>>>0){q=0;i=d;return q|0}q=f-b|0;c[e>>2]=g&1|b|2;c[a+(b+4)>>2]=q|1;c[291312>>2]=a+b;c[291300>>2]=q;q=a;i=d;return q|0}if((f|0)==(c[291308>>2]|0)){h=(c[291296>>2]|0)+k|0;if(h>>>0<b>>>0){q=0;i=d;return q|0}f=h-b|0;if(f>>>0>15){c[e>>2]=g&1|b|2;c[a+(b+4)>>2]=f|1;c[a+h>>2]=f;e=a+(h+4)|0;c[e>>2]=c[e>>2]&-2;e=a+b|0}else{c[e>>2]=g&1|h|2;e=a+(h+4)|0;c[e>>2]=c[e>>2]|1;e=0;f=0}c[291296>>2]=f;c[291308>>2]=e;q=a;i=d;return q|0}if((o&2|0)!=0){q=0;i=d;return q|0}h=(o&-8)+k|0;if(h>>>0<b>>>0){q=0;i=d;return q|0}g=h-b|0;n=o>>>3;a:do{if(o>>>0<256){j=c[a+(k+8)>>2]|0;k=c[a+(k+12)>>2]|0;o=291328+(n<<1<<2)|0;do{if((j|0)!=(o|0)){if(j>>>0<l>>>0){tc()}if((c[j+12>>2]|0)==(f|0)){break}tc()}}while(0);if((k|0)==(j|0)){c[72822]=c[72822]&~(1<<n);break}do{if((k|0)==(o|0)){m=k+8|0}else{if(k>>>0<l>>>0){tc()}l=k+8|0;if((c[l>>2]|0)==(f|0)){m=l;break}tc()}}while(0);c[j+12>>2]=k;c[m>>2]=j}else{m=c[a+(k+24)>>2]|0;o=c[a+(k+12)>>2]|0;do{if((o|0)==(f|0)){n=a+(k+20)|0;o=c[n>>2]|0;if((o|0)==0){n=a+(k+16)|0;o=c[n>>2]|0;if((o|0)==0){j=0;break}}while(1){p=o+20|0;q=c[p>>2]|0;if((q|0)!=0){o=q;n=p;continue}p=o+16|0;q=c[p>>2]|0;if((q|0)==0){break}else{n=p;o=q}}if(n>>>0<l>>>0){tc()}else{c[n>>2]=0;j=o;break}}else{n=c[a+(k+8)>>2]|0;if(n>>>0<l>>>0){tc()}l=n+12|0;if((c[l>>2]|0)!=(f|0)){tc()}p=o+8|0;if((c[p>>2]|0)==(f|0)){c[l>>2]=o;c[p>>2]=n;j=o;break}else{tc()}}}while(0);if((m|0)==0){break}n=a+(k+28)|0;l=291592+(c[n>>2]<<2)|0;do{if((f|0)==(c[l>>2]|0)){c[l>>2]=j;if((j|0)!=0){break}c[291292>>2]=c[291292>>2]&~(1<<c[n>>2]);break a}else{if(m>>>0<(c[291304>>2]|0)>>>0){tc()}l=m+16|0;if((c[l>>2]|0)==(f|0)){c[l>>2]=j}else{c[m+20>>2]=j}if((j|0)==0){break a}}}while(0);if(j>>>0<(c[291304>>2]|0)>>>0){tc()}c[j+24>>2]=m;f=c[a+(k+16)>>2]|0;do{if((f|0)!=0){if(f>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[j+16>>2]=f;c[f+24>>2]=j;break}}}while(0);f=c[a+(k+20)>>2]|0;if((f|0)==0){break}if(f>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[j+20>>2]=f;c[f+24>>2]=j;break}}}while(0);if(g>>>0<16){c[e>>2]=h|c[e>>2]&1|2;q=a+(h|4)|0;c[q>>2]=c[q>>2]|1;q=a;i=d;return q|0}else{c[e>>2]=c[e>>2]&1|b|2;c[a+(b+4)>>2]=g|3;q=a+(h|4)|0;c[q>>2]=c[q>>2]|1;EW(a+b|0,g);q=a;i=d;return q|0}return 0}function EW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=i;h=a+b|0;l=c[a+4>>2]|0;a:do{if((l&1|0)==0){p=c[a>>2]|0;if((l&3|0)==0){i=d;return}l=a+(0-p)|0;m=p+b|0;q=c[291304>>2]|0;if(l>>>0<q>>>0){tc()}if((l|0)==(c[291308>>2]|0)){e=a+(b+4)|0;if((c[e>>2]&3|0)!=3){e=l;n=m;break}c[291296>>2]=m;c[e>>2]=c[e>>2]&-2;c[a+(4-p)>>2]=m|1;c[h>>2]=m;i=d;return}s=p>>>3;if(p>>>0<256){e=c[a+(8-p)>>2]|0;n=c[a+(12-p)>>2]|0;o=291328+(s<<1<<2)|0;do{if((e|0)!=(o|0)){if(e>>>0<q>>>0){tc()}if((c[e+12>>2]|0)==(l|0)){break}tc()}}while(0);if((n|0)==(e|0)){c[72822]=c[72822]&~(1<<s);e=l;n=m;break}do{if((n|0)==(o|0)){r=n+8|0}else{if(n>>>0<q>>>0){tc()}o=n+8|0;if((c[o>>2]|0)==(l|0)){r=o;break}tc()}}while(0);c[e+12>>2]=n;c[r>>2]=e;e=l;n=m;break}r=c[a+(24-p)>>2]|0;t=c[a+(12-p)>>2]|0;do{if((t|0)==(l|0)){u=16-p|0;s=a+(u+4)|0;t=c[s>>2]|0;if((t|0)==0){s=a+u|0;t=c[s>>2]|0;if((t|0)==0){o=0;break}}while(1){u=t+20|0;v=c[u>>2]|0;if((v|0)!=0){t=v;s=u;continue}u=t+16|0;v=c[u>>2]|0;if((v|0)==0){break}else{s=u;t=v}}if(s>>>0<q>>>0){tc()}else{c[s>>2]=0;o=t;break}}else{s=c[a+(8-p)>>2]|0;if(s>>>0<q>>>0){tc()}u=s+12|0;if((c[u>>2]|0)!=(l|0)){tc()}q=t+8|0;if((c[q>>2]|0)==(l|0)){c[u>>2]=t;c[q>>2]=s;o=t;break}else{tc()}}}while(0);if((r|0)==0){e=l;n=m;break}q=a+(28-p)|0;s=291592+(c[q>>2]<<2)|0;do{if((l|0)==(c[s>>2]|0)){c[s>>2]=o;if((o|0)!=0){break}c[291292>>2]=c[291292>>2]&~(1<<c[q>>2]);e=l;n=m;break a}else{if(r>>>0<(c[291304>>2]|0)>>>0){tc()}q=r+16|0;if((c[q>>2]|0)==(l|0)){c[q>>2]=o}else{c[r+20>>2]=o}if((o|0)==0){e=l;n=m;break a}}}while(0);if(o>>>0<(c[291304>>2]|0)>>>0){tc()}c[o+24>>2]=r;p=16-p|0;q=c[a+p>>2]|0;do{if((q|0)!=0){if(q>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[o+16>>2]=q;c[q+24>>2]=o;break}}}while(0);p=c[a+(p+4)>>2]|0;if((p|0)==0){e=l;n=m;break}if(p>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[o+20>>2]=p;c[p+24>>2]=o;e=l;n=m;break}}else{e=a;n=b}}while(0);l=c[291304>>2]|0;if(h>>>0<l>>>0){tc()}m=a+(b+4)|0;o=c[m>>2]|0;do{if((o&2|0)==0){if((h|0)==(c[291312>>2]|0)){v=(c[291300>>2]|0)+n|0;c[291300>>2]=v;c[291312>>2]=e;c[e+4>>2]=v|1;if((e|0)!=(c[291308>>2]|0)){i=d;return}c[291308>>2]=0;c[291296>>2]=0;i=d;return}if((h|0)==(c[291308>>2]|0)){v=(c[291296>>2]|0)+n|0;c[291296>>2]=v;c[291308>>2]=e;c[e+4>>2]=v|1;c[e+v>>2]=v;i=d;return}n=(o&-8)+n|0;m=o>>>3;b:do{if(o>>>0<256){j=c[a+(b+8)>>2]|0;a=c[a+(b+12)>>2]|0;b=291328+(m<<1<<2)|0;do{if((j|0)!=(b|0)){if(j>>>0<l>>>0){tc()}if((c[j+12>>2]|0)==(h|0)){break}tc()}}while(0);if((a|0)==(j|0)){c[72822]=c[72822]&~(1<<m);break}do{if((a|0)==(b|0)){k=a+8|0}else{if(a>>>0<l>>>0){tc()}b=a+8|0;if((c[b>>2]|0)==(h|0)){k=b;break}tc()}}while(0);c[j+12>>2]=a;c[k>>2]=j}else{k=c[a+(b+24)>>2]|0;m=c[a+(b+12)>>2]|0;do{if((m|0)==(h|0)){o=a+(b+20)|0;m=c[o>>2]|0;if((m|0)==0){o=a+(b+16)|0;m=c[o>>2]|0;if((m|0)==0){j=0;break}}while(1){p=m+20|0;q=c[p>>2]|0;if((q|0)!=0){o=p;m=q;continue}p=m+16|0;q=c[p>>2]|0;if((q|0)==0){break}else{m=q;o=p}}if(o>>>0<l>>>0){tc()}else{c[o>>2]=0;j=m;break}}else{o=c[a+(b+8)>>2]|0;if(o>>>0<l>>>0){tc()}p=o+12|0;if((c[p>>2]|0)!=(h|0)){tc()}l=m+8|0;if((c[l>>2]|0)==(h|0)){c[p>>2]=m;c[l>>2]=o;j=m;break}else{tc()}}}while(0);if((k|0)==0){break}m=a+(b+28)|0;l=291592+(c[m>>2]<<2)|0;do{if((h|0)==(c[l>>2]|0)){c[l>>2]=j;if((j|0)!=0){break}c[291292>>2]=c[291292>>2]&~(1<<c[m>>2]);break b}else{if(k>>>0<(c[291304>>2]|0)>>>0){tc()}l=k+16|0;if((c[l>>2]|0)==(h|0)){c[l>>2]=j}else{c[k+20>>2]=j}if((j|0)==0){break b}}}while(0);if(j>>>0<(c[291304>>2]|0)>>>0){tc()}c[j+24>>2]=k;h=c[a+(b+16)>>2]|0;do{if((h|0)!=0){if(h>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[j+16>>2]=h;c[h+24>>2]=j;break}}}while(0);h=c[a+(b+20)>>2]|0;if((h|0)==0){break}if(h>>>0<(c[291304>>2]|0)>>>0){tc()}else{c[j+20>>2]=h;c[h+24>>2]=j;break}}}while(0);c[e+4>>2]=n|1;c[e+n>>2]=n;if((e|0)!=(c[291308>>2]|0)){break}c[291296>>2]=n;i=d;return}else{c[m>>2]=o&-2;c[e+4>>2]=n|1;c[e+n>>2]=n}}while(0);a=n>>>3;if(n>>>0<256){b=a<<1;h=291328+(b<<2)|0;j=c[72822]|0;a=1<<a;do{if((j&a|0)==0){c[72822]=j|a;g=h;f=291328+(b+2<<2)|0}else{a=291328+(b+2<<2)|0;j=c[a>>2]|0;if(j>>>0>=(c[291304>>2]|0)>>>0){g=j;f=a;break}tc()}}while(0);c[f>>2]=e;c[g+12>>2]=e;c[e+8>>2]=g;c[e+12>>2]=h;i=d;return}f=n>>>8;do{if((f|0)==0){f=0}else{if(n>>>0>16777215){f=31;break}u=(f+1048320|0)>>>16&8;v=f<<u;t=(v+520192|0)>>>16&4;v=v<<t;f=(v+245760|0)>>>16&2;f=14-(t|u|f)+(v<<f>>>15)|0;f=n>>>(f+7|0)&1|f<<1}}while(0);g=291592+(f<<2)|0;c[e+28>>2]=f;c[e+20>>2]=0;c[e+16>>2]=0;j=c[291292>>2]|0;h=1<<f;if((j&h|0)==0){c[291292>>2]=j|h;c[g>>2]=e;c[e+24>>2]=g;c[e+12>>2]=e;c[e+8>>2]=e;i=d;return}h=c[g>>2]|0;if((f|0)==31){f=0}else{f=25-(f>>>1)|0}c:do{if((c[h+4>>2]&-8|0)!=(n|0)){f=n<<f;j=h;while(1){g=j+16+(f>>>31<<2)|0;h=c[g>>2]|0;if((h|0)==0){break}if((c[h+4>>2]&-8|0)==(n|0)){break c}else{f=f<<1;j=h}}if(g>>>0<(c[291304>>2]|0)>>>0){tc()}c[g>>2]=e;c[e+24>>2]=j;c[e+12>>2]=e;c[e+8>>2]=e;i=d;return}}while(0);f=h+8|0;j=c[f>>2]|0;g=c[291304>>2]|0;if(h>>>0<g>>>0){tc()}if(j>>>0<g>>>0){tc()}c[j+12>>2]=e;c[f>>2]=e;c[e+8>>2]=j;c[e+12>>2]=h;c[e+24>>2]=0;i=d;return}function FW(a){a=a|0;var b=0,d=0,e=0;b=i;a=(a|0)==0?1:a;while(1){d=AW(a)|0;if((d|0)!=0){a=6;break}e=291784;d=c[e>>2]|0;c[e>>2]=0+d;if((d|0)==0){a=5;break}Hd[d&1]()}if((a|0)==5){e=cc(4)|0;c[e>>2]=291800;uc(e|0,291848,327)}else if((a|0)==6){i=b;return d|0}return 0}function GW(a){a=a|0;var b=0;b=i;a=FW(a)|0;i=b;return a|0}function HW(a){a=a|0;var b=0;b=i;if((a|0)!=0){BW(a)}i=b;return}function IW(a){a=a|0;var b=0;b=i;HW(a);i=b;return}function JW(a){a=a|0;var b=0;b=i;lb(a|0);HW(a);i=b;return}function KW(a){a=a|0;var b=0;b=i;lb(a|0);i=b;return}function LW(a){a=a|0;i=i;return 291816}
function MW(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0,v=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;g=i;r=i;i=i+512|0;k=r;if((e|0)==1){e=53;h=-1074}else if((e|0)==2){e=53;h=-1074}else if((e|0)==0){e=24;h=-149}else{M=0.0;i=g;return+M}n=b+4|0;o=b+100|0;do{j=c[n>>2]|0;if(j>>>0<(c[o>>2]|0)>>>0){c[n>>2]=j+1;F=d[j]|0}else{F=PW(b)|0}}while((xc(F|0)|0)!=0);do{if((F|0)==43|(F|0)==45){j=1-(((F|0)==45)<<1)|0;l=c[n>>2]|0;if(l>>>0<(c[o>>2]|0)>>>0){c[n>>2]=l+1;F=d[l]|0;break}else{F=PW(b)|0;break}}else{j=1}}while(0);l=0;do{if((F|32|0)!=(a[291864+l|0]|0)){break}do{if(l>>>0<7){m=c[n>>2]|0;if(m>>>0<(c[o>>2]|0)>>>0){c[n>>2]=m+1;F=d[m]|0;break}else{F=PW(b)|0;break}}}while(0);l=l+1|0;}while(l>>>0<8);do{if((l|0)==3){q=23}else if((l|0)!=8){p=(f|0)==0;if(!(l>>>0<4|p)){if((l|0)==8){break}else{q=23;break}}a:do{if((l|0)==0){l=0;do{if((F|32|0)!=(a[291880+l|0]|0)){break a}do{if(l>>>0<2){m=c[n>>2]|0;if(m>>>0<(c[o>>2]|0)>>>0){c[n>>2]=m+1;F=d[m]|0;break}else{F=PW(b)|0;break}}}while(0);l=l+1|0;}while(l>>>0<3)}}while(0);if((l|0)==3){e=c[n>>2]|0;if(e>>>0<(c[o>>2]|0)>>>0){c[n>>2]=e+1;e=d[e]|0}else{e=PW(b)|0}if((e|0)==40){e=1}else{if((c[o>>2]|0)==0){M=+w;i=g;return+M}c[n>>2]=(c[n>>2]|0)+ -1;M=+w;i=g;return+M}while(1){h=c[n>>2]|0;if(h>>>0<(c[o>>2]|0)>>>0){c[n>>2]=h+1;h=d[h]|0}else{h=PW(b)|0}if(!((h+ -48|0)>>>0<10|(h+ -65|0)>>>0<26)){if(!((h+ -97|0)>>>0<26|(h|0)==95)){break}}e=e+1|0}if((h|0)==41){M=+w;i=g;return+M}h=(c[o>>2]|0)==0;if(!h){c[n>>2]=(c[n>>2]|0)+ -1}if(p){c[(Pc()|0)>>2]=22;OW(b,0);M=0.0;i=g;return+M}if((e|0)==0|h){M=+w;i=g;return+M}while(1){e=e+ -1|0;c[n>>2]=(c[n>>2]|0)+ -1;if((e|0)==0){s=+w;break}else{}}i=g;return+s}else if((l|0)==0){do{if((F|0)==48){l=c[n>>2]|0;if(l>>>0<(c[o>>2]|0)>>>0){c[n>>2]=l+1;l=d[l]|0}else{l=PW(b)|0}if((l|32|0)!=120){if((c[o>>2]|0)==0){F=48;break}c[n>>2]=(c[n>>2]|0)+ -1;F=48;break}k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;z=d[k]|0;v=0}else{z=PW(b)|0;v=0}while(1){if((z|0)==46){q=70;break}else if((z|0)!=48){m=0;r=0;l=0;k=0;u=0;y=0;K=1.0;t=0;s=0.0;break}k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;z=d[k]|0;v=1;continue}else{z=PW(b)|0;v=1;continue}}b:do{if((q|0)==70){k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;z=d[k]|0}else{z=PW(b)|0}if((z|0)==48){m=-1;r=-1}else{m=0;r=0;l=0;k=0;u=1;y=0;K=1.0;t=0;s=0.0;break}while(1){k=c[n>>2]|0;if(k>>>0<(c[o>>2]|0)>>>0){c[n>>2]=k+1;z=d[k]|0}else{z=PW(b)|0}if((z|0)!=48){l=0;k=0;v=1;u=1;y=0;K=1.0;t=0;s=0.0;break b}J=gX(m|0,r|0,-1,-1)|0;m=J;r=H}}}while(0);c:while(1){B=z+ -48|0;do{if(B>>>0<10){q=84}else{A=z|32;C=(z|0)==46;if(!((A+ -97|0)>>>0<6|C)){break c}if(C){if((u|0)==0){m=l;r=k;u=1;break}else{z=46;break c}}else{B=(z|0)>57?A+ -87|0:B;q=84;break}}}while(0);if((q|0)==84){q=0;do{if((k|0)<0|(k|0)==0&l>>>0<8){L=K;t=B+(t<<4)|0}else{if((k|0)<0|(k|0)==0&l>>>0<14){M=K*.0625;L=M;s=s+M*+(B|0);break}if(!((B|0)!=0&(y|0)==0)){L=K;break}y=1;L=K;s=s+K*.5}}while(0);l=gX(l|0,k|0,1,0)|0;k=H;v=1;K=L}z=c[n>>2]|0;if(z>>>0<(c[o>>2]|0)>>>0){c[n>>2]=z+1;z=d[z]|0;continue}else{z=PW(b)|0;continue}}if((v|0)==0){e=(c[o>>2]|0)==0;if(!e){c[n>>2]=(c[n>>2]|0)+ -1}do{if(p){OW(b,0)}else{if(e){break}e=c[n>>2]|0;c[n>>2]=e+ -1;if((u|0)==0){break}c[n>>2]=e+ -2}}while(0);M=+(j|0)*0.0;i=g;return+M}q=(u|0)==0;m=q?l:m;q=q?k:r;if((k|0)<0|(k|0)==0&l>>>0<8){while(1){t=t<<4;l=gX(l|0,k|0,1,0)|0;k=H;if((k|0)<0|(k|0)==0&l>>>0<8){}else{break}}}do{if((z|32|0)==112){l=NW(b,f)|0;k=H;if(!((l|0)==0&(k|0)==-2147483648)){break}if(p){OW(b,0);M=0.0;i=g;return+M}else{if((c[o>>2]|0)==0){l=0;k=0;break}c[n>>2]=(c[n>>2]|0)+ -1;l=0;k=0;break}}else{if((c[o>>2]|0)==0){l=0;k=0;break}c[n>>2]=(c[n>>2]|0)+ -1;l=0;k=0}}while(0);J=dX(m|0,q|0,2)|0;J=gX(J|0,H|0,-32,-1)|0;k=gX(J|0,H|0,l|0,k|0)|0;l=H;if((t|0)==0){M=+(j|0)*0.0;i=g;return+M}if((l|0)>0|(l|0)==0&k>>>0>(0-h|0)>>>0){c[(Pc()|0)>>2]=34;M=+(j|0)*1.7976931348623157e+308*1.7976931348623157e+308;i=g;return+M}m=h+ -106|0;J=(m|0)<0?-1:0;if((l|0)<(J|0)|(l|0)==(J|0)&k>>>0<m>>>0){c[(Pc()|0)>>2]=34;M=+(j|0)*1.2882297539194267e-231*1.2882297539194267e-231;i=g;return+M}if((t|0)>-1){do{t=t<<1;if(s<.5){K=s}else{K=s+-1.0;t=t|1}s=s+K;k=gX(k|0,l|0,-1,-1)|0;l=H;}while((t|0)>-1)}J=h|0;h=fX(32,0,J|0,((J|0)<0?-1:0)|0)|0;h=gX(k|0,l|0,h|0,H|0)|0;J=H;if(0>(J|0)|0==(J|0)&(e|0)>>>0>h>>>0){e=(h|0)<0?0:h}do{if((e|0)<53){K=+(j|0);L=+Sc(+(+QW(1.0,84-e|0)),+K);if(!((e|0)<32&s!=0.0)){break}J=t&1;t=(J^1)+t|0;s=(J|0)==0?0.0:s}else{K=+(j|0);L=0.0}}while(0);s=K*s+(L+K*+(t>>>0))-L;if(s==0.0){c[(Pc()|0)>>2]=34}M=+RW(s,k);i=g;return+M}}while(0);m=h+e|0;l=0-m|0;A=0;while(1){if((F|0)==46){q=139;break}else if((F|0)!=48){B=0;C=0;v=0;break}t=c[n>>2]|0;if(t>>>0<(c[o>>2]|0)>>>0){c[n>>2]=t+1;F=d[t]|0;A=1;continue}else{F=PW(b)|0;A=1;continue}}d:do{if((q|0)==139){t=c[n>>2]|0;if(t>>>0<(c[o>>2]|0)>>>0){c[n>>2]=t+1;F=d[t]|0}else{F=PW(b)|0}if((F|0)==48){B=-1;C=-1}else{B=0;C=0;v=1;break}while(1){t=c[n>>2]|0;if(t>>>0<(c[o>>2]|0)>>>0){c[n>>2]=t+1;F=d[t]|0}else{F=PW(b)|0}if((F|0)!=48){A=1;v=1;break d}J=gX(B|0,C|0,-1,-1)|0;B=J;C=H}}}while(0);c[r>>2]=0;D=F+ -48|0;E=(F|0)==46;e:do{if(D>>>0<10|E){t=k+496|0;I=0;G=0;z=0;y=0;u=0;while(1){do{if(E){if((v|0)==0){B=I;C=G;v=1}else{t=I;v=G;break e}}else{E=gX(I|0,G|0,1,0)|0;G=H;J=(F|0)!=48;if((y|0)>=125){if(!J){I=E;break}c[t>>2]=c[t>>2]|1;I=E;break}A=k+(y<<2)|0;if((z|0)!=0){D=F+ -48+((c[A>>2]|0)*10|0)|0}c[A>>2]=D;z=z+1|0;D=(z|0)==9;I=E;A=1;z=D?0:z;y=(D&1)+y|0;u=J?E:u}}while(0);D=c[n>>2]|0;if(D>>>0<(c[o>>2]|0)>>>0){c[n>>2]=D+1;F=d[D]|0}else{F=PW(b)|0}D=F+ -48|0;E=(F|0)==46;if(!(D>>>0<10|E)){q=162;break}}}else{I=0;G=0;z=0;y=0;u=0;q=162}}while(0);if((q|0)==162){D=(v|0)==0;t=I;v=G;B=D?I:B;C=D?G:C}A=(A|0)!=0;do{if(A){if((F|32|0)!=101){q=171;break}D=NW(b,f)|0;f=H;do{if((D|0)==0&(f|0)==-2147483648){if(p){OW(b,0);M=0.0;i=g;return+M}else{if((c[o>>2]|0)==0){D=0;f=0;break}c[n>>2]=(c[n>>2]|0)+ -1;D=0;f=0;break}}}while(0);n=gX(D|0,f|0,B|0,C|0)|0;C=H}else{q=171}}while(0);do{if((q|0)==171){if((F|0)<=-1){n=B;break}if((c[o>>2]|0)==0){n=B;break}c[n>>2]=(c[n>>2]|0)+ -1;n=B}}while(0);if(!A){c[(Pc()|0)>>2]=22;OW(b,0);M=0.0;i=g;return+M}b=c[r>>2]|0;if((b|0)==0){M=+(j|0)*0.0;i=g;return+M}do{if((n|0)==(t|0)&(C|0)==(v|0)&((v|0)<0|(v|0)==0&t>>>0<10)){if(e>>>0<=30){if((b>>>e|0)!=0){break}}M=+(j|0)*+(b>>>0);i=g;return+M}}while(0);b=(h|0)/-2|0|0;J=(b|0)<0?-1:0;if((C|0)>(J|0)|(C|0)==(J|0)&n>>>0>b>>>0){c[(Pc()|0)>>2]=34;M=+(j|0)*1.7976931348623157e+308*1.7976931348623157e+308;i=g;return+M}b=h+ -106|0;J=(b|0)<0?-1:0;if((C|0)<(J|0)|(C|0)==(J|0)&n>>>0<b>>>0){c[(Pc()|0)>>2]=34;M=+(j|0)*1.2882297539194267e-231*1.2882297539194267e-231;i=g;return+M}if((z|0)!=0){if((z|0)<9){o=k+(y<<2)|0;b=c[o>>2]|0;do{b=b*10|0;z=z+1|0;}while((z|0)<9);c[o>>2]=b}y=y+1|0}do{if((u|0)<9){if(!((u|0)<=(n|0)&(n|0)<18)){break}if((n|0)==9){M=+(j|0)*+((c[r>>2]|0)>>>0);i=g;return+M}if((n|0)<9){M=+(j|0)*+((c[r>>2]|0)>>>0)/+(c[291896+(8-n<<2)>>2]|0);i=g;return+M}b=e+27+(da(n,-3)|0)|0;o=c[r>>2]|0;if((b|0)<=30){if((o>>>b|0)!=0){break}}M=+(j|0)*+(o>>>0)*+(c[291896+(n+ -10<<2)>>2]|0);i=g;return+M}}while(0);b=(n|0)%9|0;if((b|0)==0){b=0;o=0}else{f=(n|0)>-1?b:b+9|0;o=c[291896+(8-f<<2)>>2]|0;do{if((y|0)==0){b=0;y=0}else{p=1e9/(o|0)|0;b=0;r=0;t=0;while(1){I=k+(t<<2)|0;q=c[I>>2]|0;J=((q>>>0)/(o>>>0)|0)+r|0;c[I>>2]=J;r=da((q>>>0)%(o>>>0)|0,p)|0;q=t+1|0;if((t|0)==(b|0)&(J|0)==0){b=q&127;n=n+ -9|0}if((q|0)==(y|0)){break}else{t=q}}if((r|0)==0){break}c[k+(y<<2)>>2]=r;y=y+1|0}}while(0);o=0;n=9-f+n|0}f:while(1){f=k+(b<<2)|0;if((n|0)<18){do{q=0;f=y+127|0;while(1){f=f&127;p=k+(f<<2)|0;r=dX(c[p>>2]|0,0,29)|0;r=gX(r|0,H|0,q|0,0)|0;q=H;if(q>>>0>0|(q|0)==0&r>>>0>1e9){J=rX(r|0,q|0,1e9,0)|0;r=sX(r|0,q|0,1e9,0)|0;q=J}else{q=0}c[p>>2]=r;p=(f|0)==(b|0);if(!((f|0)!=(y+127&127|0)|p)){y=(r|0)==0?f:y}if(p){break}else{f=f+ -1|0}}o=o+ -29|0;}while((q|0)==0)}else{if((n|0)!=18){break}do{if((c[f>>2]|0)>>>0>=9007199){n=18;break f}q=0;p=y+127|0;while(1){p=p&127;r=k+(p<<2)|0;t=dX(c[r>>2]|0,0,29)|0;t=gX(t|0,H|0,q|0,0)|0;q=H;if(q>>>0>0|(q|0)==0&t>>>0>1e9){J=rX(t|0,q|0,1e9,0)|0;t=sX(t|0,q|0,1e9,0)|0;q=J}else{q=0}c[r>>2]=t;r=(p|0)==(b|0);if(!((p|0)!=(y+127&127|0)|r)){y=(t|0)==0?p:y}if(r){break}else{p=p+ -1|0}}o=o+ -29|0;}while((q|0)==0)}b=b+127&127;if((b|0)==(y|0)){J=y+127&127;y=k+((y+126&127)<<2)|0;c[y>>2]=c[y>>2]|c[k+(J<<2)>>2];y=J}c[k+(b<<2)>>2]=q;n=n+9|0}g:while(1){f=y+1&127;p=k+((y+127&127)<<2)|0;while(1){r=(n|0)==18;q=(n|0)>27?9:1;while(1){t=0;while(1){u=t+b&127;if((u|0)==(y|0)){t=2;break}z=c[k+(u<<2)>>2]|0;v=c[291888+(t<<2)>>2]|0;if(z>>>0<v>>>0){t=2;break}u=t+1|0;if(z>>>0>v>>>0){break}if((u|0)<2){t=u}else{t=u;break}}if((t|0)==2&r){break g}o=q+o|0;if((b|0)==(y|0)){b=y}else{break}}r=(1<<q)+ -1|0;v=1e9>>>q;u=b;t=0;do{I=k+(b<<2)|0;J=c[I>>2]|0;z=(J>>>q)+t|0;c[I>>2]=z;t=da(J&r,v)|0;z=(b|0)==(u|0)&(z|0)==0;b=b+1&127;n=z?n+ -9|0:n;u=z?b:u;}while((b|0)!=(y|0));if((t|0)==0){b=u;continue}if((f|0)!=(u|0)){break}c[p>>2]=c[p>>2]|1;b=u}c[k+(y<<2)>>2]=t;b=u;y=f}n=b&127;if((n|0)==(y|0)){c[k+(f+ -1<<2)>>2]=0;y=f}K=+((c[k+(n<<2)>>2]|0)>>>0);n=b+1&127;if((n|0)==(y|0)){y=y+1&127;c[k+(y+ -1<<2)>>2]=0}s=+(j|0);L=s*(K*1.0e9+ +((c[k+(n<<2)>>2]|0)>>>0));j=o+53|0;h=j-h|0;if((h|0)<(e|0)){e=(h|0)<0?0:h;n=1}else{n=0}if((e|0)<53){O=+Sc(+(+QW(1.0,105-e|0)),+L);N=+$b(+L,+(+QW(1.0,53-e|0)));K=O;M=N;L=O+(L-N)}else{K=0.0;M=0.0}f=b+2&127;do{if((f|0)!=(y|0)){k=c[k+(f<<2)>>2]|0;do{if(k>>>0<5e8){if((k|0)==0){if((b+3&127|0)==(y|0)){break}}M=s*.25+M}else{if(k>>>0>5e8){M=s*.75+M;break}if((b+3&127|0)==(y|0)){M=s*.5+M;break}else{M=s*.75+M;break}}}while(0);if((53-e|0)<=1){break}if(+$b(+M,1.0)!=0.0){break}M=M+1.0}}while(0);s=L+M-K;do{if((j&2147483647|0)>(-2-m|0)){if(+S(+s)>=9007199254740992.0){n=(n|0)!=0&(e|0)==(h|0)?0:n;o=o+1|0;s=s*.5}if((o+50|0)<=(l|0)){if(!((n|0)!=0&M!=0.0)){break}}c[(Pc()|0)>>2]=34}}while(0);O=+RW(s,o);i=g;return+O}else{if((c[o>>2]|0)!=0){c[n>>2]=(c[n>>2]|0)+ -1}c[(Pc()|0)>>2]=22;OW(b,0);O=0.0;i=g;return+O}}}while(0);do{if((q|0)==23){e=(c[o>>2]|0)==0;if(!e){c[n>>2]=(c[n>>2]|0)+ -1}if(l>>>0<4|(f|0)==0|e){break}do{c[n>>2]=(c[n>>2]|0)+ -1;l=l+ -1|0;}while(l>>>0>3)}}while(0);O=+(j|0)*+x;i=g;return+O}function NW(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;g=a+4|0;h=c[g>>2]|0;f=a+100|0;if(h>>>0<(c[f>>2]|0)>>>0){c[g>>2]=h+1;k=d[h]|0}else{k=PW(a)|0}do{if((k|0)==43|(k|0)==45){h=(k|0)==45|0;j=c[g>>2]|0;if(j>>>0<(c[f>>2]|0)>>>0){c[g>>2]=j+1;k=d[j]|0}else{k=PW(a)|0}if((k+ -48|0)>>>0<10|(b|0)==0){break}if((c[f>>2]|0)==0){break}c[g>>2]=(c[g>>2]|0)+ -1}else{h=0}}while(0);if((k+ -48|0)>>>0>9){if((c[f>>2]|0)==0){k=0;j=-2147483648;H=j;i=e;return k|0}c[g>>2]=(c[g>>2]|0)+ -1;k=0;j=-2147483648;H=j;i=e;return k|0}else{b=0}while(1){b=k+ -48+b|0;j=c[g>>2]|0;if(j>>>0<(c[f>>2]|0)>>>0){c[g>>2]=j+1;k=d[j]|0}else{k=PW(a)|0}if(!((k+ -48|0)>>>0<10&(b|0)<214748364)){break}b=b*10|0}b=b|0;j=(b|0)<0?-1:0;if((k+ -48|0)>>>0<10){while(1){j=qX(b|0,j|0,10,0)|0;b=H;k=k|0;k=gX(k|0,((k|0)<0?-1:0)|0,-48,-1)|0;b=gX(k|0,H|0,j|0,b|0)|0;j=H;k=c[g>>2]|0;if(k>>>0<(c[f>>2]|0)>>>0){c[g>>2]=k+1;k=d[k]|0}else{k=PW(a)|0}if((k+ -48|0)>>>0<10&((j|0)<21474836|(j|0)==21474836&b>>>0<2061584302)){}else{break}}}if((k+ -48|0)>>>0<10){do{k=c[g>>2]|0;if(k>>>0<(c[f>>2]|0)>>>0){c[g>>2]=k+1;k=d[k]|0}else{k=PW(a)|0}}while((k+ -48|0)>>>0<10)}if((c[f>>2]|0)!=0){c[g>>2]=(c[g>>2]|0)+ -1}a=(h|0)!=0;f=fX(0,0,b|0,j|0)|0;f=a?f:b;k=a?H:j;H=k;i=e;return f|0}function OW(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;c[a+104>>2]=b;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;c[a+108>>2]=g;if((b|0)!=0&(g|0)>(b|0)){c[a+100>>2]=e+b;i=d;return}else{c[a+100>>2]=f;i=d;return}}function PW(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;h=b+104|0;f=c[h>>2]|0;if((f|0)==0){g=3}else{if((c[b+108>>2]|0)<(f|0)){g=3}}do{if((g|0)==3){f=TW(b)|0;if((f|0)<0){break}k=c[h>>2]|0;h=c[b+8>>2]|0;do{if((k|0)==0){g=8}else{j=c[b+4>>2]|0;k=k-(c[b+108>>2]|0)+ -1|0;if((h-j|0)<=(k|0)){g=8;break}c[b+100>>2]=j+k}}while(0);if((g|0)==8){c[b+100>>2]=h}g=c[b+4>>2]|0;if((h|0)!=0){k=b+108|0;c[k>>2]=h+1-g+(c[k>>2]|0)}b=g+ -1|0;if((d[b]|0|0)==(f|0)){k=f;i=e;return k|0}a[b]=f;k=f;i=e;return k|0}}while(0);c[b+100>>2]=0;k=-1;i=e;return k|0}function QW(a,b){a=+a;b=b|0;var d=0,e=0;d=i;do{if((b|0)>1023){a=a*8.98846567431158e+307;e=b+ -1023|0;if((e|0)<=1023){b=e;break}b=b+ -2046|0;b=(b|0)>1023?1023:b;a=a*8.98846567431158e+307}else{if((b|0)>=-1022){break}a=a*1.2882297539194267e-231;e=b+1022|0;if((e|0)>=-1022){b=e;break}b=b+2044|0;b=(b|0)<-1022?-1022:b;a=a*1.2882297539194267e-231}}while(0);b=dX(b+1023|0,0,52)|0;e=H;c[k>>2]=b;c[k+4>>2]=e;a=a*+h[k>>3];i=d;return+a}function RW(a,b){a=+a;b=b|0;var c=0;c=i;a=+QW(a,b);i=c;return+a}function SW(b){b=b|0;var d=0,e=0,f=0;e=i;f=b+74|0;d=a[f]|0;a[f]=d+ -1<<24>>24|d;f=b+20|0;d=b+44|0;if((c[f>>2]|0)>>>0>(c[d>>2]|0)>>>0){sd[c[b+36>>2]&127](b,0,0)|0}c[b+16>>2]=0;c[b+28>>2]=0;c[f>>2]=0;f=c[b>>2]|0;if((f&20|0)==0){f=c[d>>2]|0;c[b+8>>2]=f;c[b+4>>2]=f;f=0;i=e;return f|0}if((f&4|0)==0){f=-1;i=e;return f|0}c[b>>2]=f|32;f=-1;i=e;return f|0}function TW(a){a=a|0;var b=0,e=0,f=0;b=i;e=i;i=i+8|0;f=e;do{if((c[a+8>>2]|0)==0){if((SW(a)|0)==0){break}else{a=-1}i=b;return a|0}}while(0);if((sd[c[a+32>>2]&127](a,f,1)|0)!=1){f=-1;i=b;return f|0}f=d[e]|0;i=b;return f|0}function UW(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0;e=i;h=i;i=i+112|0;f=h;bX(h|0,0,112)|0;h=f+4|0;c[h>>2]=a;g=f+8|0;c[g>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;OW(f,0);d=+MW(f,1,1);f=(c[h>>2]|0)-(c[g>>2]|0)+(c[f+108>>2]|0)|0;if((b|0)==0){i=e;return+d}if((f|0)!=0){a=a+f|0}c[b>>2]=a;i=e;return+d}function VW(){c[72964]=o}function WW(a){a=a|0;if((a|0)<65)return a|0;if((a|0)>90)return a|0;return a-65+97|0}function XW(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;while(e>>>0<d>>>0){f=WW(a[b+e|0]|0)|0;g=WW(a[c+e|0]|0)|0;if((f|0)==(g|0)&(f|0)==0)return 0;if((f|0)==0)return-1;if((g|0)==0)return 1;if((f|0)==(g|0)){e=e+1|0;continue}else{return(f>>>0>g>>>0?1:-1)|0}}return 0}function YW(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;u=u+1|0;c[a>>2]=u;while((e|0)<40){if((c[d+(e<<2)>>2]|0)==0){c[d+(e<<2)>>2]=u;c[d+((e<<2)+4)>>2]=b;c[d+((e<<2)+8)>>2]=0;return 0}e=e+2|0}Hb(116);Hb(111);Hb(111);Hb(32);Hb(109);Hb(97);Hb(110);Hb(121);Hb(32);Hb(115);Hb(101);Hb(116);Hb(106);Hb(109);Hb(112);Hb(115);Hb(32);Hb(105);Hb(110);Hb(32);Hb(97);Hb(32);Hb(102);Hb(117);Hb(110);Hb(99);Hb(116);Hb(105);Hb(111);Hb(110);Hb(32);Hb(99);Hb(97);Hb(108);Hb(108);Hb(44);Hb(32);Hb(98);Hb(117);Hb(105);Hb(108);Hb(100);Hb(32);Hb(119);Hb(105);Hb(116);Hb(104);Hb(32);Hb(97);Hb(32);Hb(104);Hb(105);Hb(103);Hb(104);Hb(101);Hb(114);Hb(32);Hb(118);Hb(97);Hb(108);Hb(117);Hb(101);Hb(32);Hb(102);Hb(111);Hb(114);Hb(32);Hb(77);Hb(65);Hb(88);Hb(95);Hb(83);Hb(69);Hb(84);Hb(74);Hb(77);Hb(80);Hb(83);Hb(10);ea(0);return 0}function ZW(b){b=b|0;var c=0;c=b;while(a[c]|0){c=c+1|0}return c-b|0}function _W(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}H=(b|0)<0?-1:0;return b>>c-32|0}function $W(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b|0;if((b&3)==(d&3)){while(b&3){if((e|0)==0)return f|0;a[b]=a[d]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b]=a[d]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function aX(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b]=a[c]|0}b=e}else{$W(b,c,d)|0}return b|0}function bX(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;if((e|0)>=20){d=d&255;i=b&3;h=d|d<<8|d<<16|d<<24;g=f&~3;if(i){i=b+4-i|0;while((b|0)<(i|0)){a[b]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b]=d;b=b+1|0}return b-e|0}function cX(b,c){b=b|0;c=c|0;var d=0,e=0;d=b+(ZW(b)|0)|0;do{a[d+e|0]=a[c+e|0];e=e+1|0}while(a[c+(e-1)|0]|0);return b|0}function dX(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}H=a<<c-32;return 0}function eX(b,c){b=b|0;c=c|0;var d=0;do{a[b+d|0]=a[c+d|0];d=d+1|0}while(a[c+(d-1)|0]|0);return b|0}function fX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=b-d-(c>>>0>a>>>0|0)>>>0;return(H=b,a-c>>>0|0)|0}function gX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return(H=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function hX(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){a[b+e|0]=f?0:a[c+e|0]|0;f=f?1:(a[c+e|0]|0)==0;e=e+1|0}return b|0}function iX(a,b,c){a=a|0;b=b|0;c=c|0;var e=0,f=0,g=0;while((e|0)<(c|0)){g=d[a+e|0]|0;f=d[b+e|0]|0;if((g|0)!=(f|0))return((g|0)>(f|0)?1:-1)|0;e=e+1|0}return 0}function jX(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}H=0;return b>>>c-32|0}function kX(a,b){a=a|0;b=b|0;var d=0,e=0;while((d|0)<20){e=c[b+(d<<2)>>2]|0;if((e|0)==0)break;if((e|0)==(a|0)){return c[b+((d<<2)+4)>>2]|0}d=d+2|0}return 0}function lX(b){b=b|0;var c=0;c=a[n+(b>>>24)|0]|0;if((c|0)<8)return c|0;c=a[n+(b>>16&255)|0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>8&255)|0]|0;if((c|0)<8)return c+16|0;return(a[n+(b&255)|0]|0)+24|0}function mX(b){b=b|0;var c=0;c=a[m+(b&255)|0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)|0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)|0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)|0]|0)+24|0}function nX(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;d=b&65535;c=da(d,f)|0;e=a>>>16;d=(c>>>16)+(da(d,e)|0)|0;b=b>>>16;a=da(b,f)|0;return(H=(d>>>16)+(da(b,e)|0)+(((d&65535)+a|0)>>>16)|0,d+a<<16|c&65535|0)|0}function oX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;a=fX(e^a,f^b,e,f)|0;b=H;e=g^e;f=h^f;g=fX((tX(a,b,fX(g^c,h^d,g,h)|0,H,0)|0)^e,H^f,e,f)|0;return(H=H,g)|0}function pX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;g=i;i=i+8|0;f=g|0;h=b>>31|((b|0)<0?-1:0)<<1;j=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;l=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=fX(h^a,j^b,h,j)|0;b=H;tX(a,b,fX(k^d,l^e,k,l)|0,H,f)|0;k=fX(c[f>>2]^h,c[f+4>>2]^j,h,j)|0;j=H;i=g;return(H=j,k)|0}function qX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;a=nX(e,f)|0;c=H;return(H=(da(b,f)|0)+(da(d,e)|0)+c|c&0,a|0|0)|0}function rX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=tX(a,b,c,d,0)|0;return(H=H,a)|0}function sX(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+8|0;f=g|0;tX(a,b,d,e,f)|0;i=g;return(H=c[f+4>>2]|0,c[f>>2]|0)|0}function tX(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a;j=b;i=j;k=d;g=e;l=g;if((i|0)==0){d=(f|0)!=0;if((l|0)==0){if(d){c[f>>2]=(h>>>0)%(k>>>0);c[f+4>>2]=0}l=0;m=(h>>>0)/(k>>>0)>>>0;return(H=l,m)|0}else{if(!d){l=0;m=0;return(H=l,m)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;l=0;m=0;return(H=l,m)|0}}m=(l|0)==0;do{if((k|0)==0){if(m){if((f|0)!=0){c[f>>2]=(i>>>0)%(k>>>0);c[f+4>>2]=0}l=0;m=(i>>>0)/(k>>>0)>>>0;return(H=l,m)|0}if((h|0)==0){if((f|0)!=0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}k=0;m=(i>>>0)/(l>>>0)>>>0;return(H=k,m)|0}k=l-1|0;if((k&l|0)==0){if((f|0)!=0){c[f>>2]=a|0;c[f+4>>2]=k&i|b&0}k=0;m=i>>>((mX(l|0)|0)>>>0);return(H=k,m)|0}k=(lX(l|0)|0)-(lX(i|0)|0)|0;if(k>>>0<=30){b=k+1|0;m=31-k|0;j=b;a=i<<m|h>>>(b>>>0);b=i>>>(b>>>0);l=0;i=h<<m;break}if((f|0)==0){l=0;m=0;return(H=l,m)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;l=0;m=0;return(H=l,m)|0}else{if(!m){k=(lX(l|0)|0)-(lX(i|0)|0)|0;if(k>>>0<=31){l=k+1|0;m=31-k|0;b=k-31>>31;j=l;a=h>>>(l>>>0)&b|i<<m;b=i>>>(l>>>0)&b;l=0;i=h<<m;break}if((f|0)==0){l=0;m=0;return(H=l,m)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;l=0;m=0;return(H=l,m)|0}l=k-1|0;if((l&k|0)!=0){m=(lX(k|0)|0)+33-(lX(i|0)|0)|0;p=64-m|0;k=32-m|0;n=k>>31;o=m-32|0;b=o>>31;j=m;a=k-1>>31&i>>>(o>>>0)|(i<<k|h>>>(m>>>0))&b;b=b&i>>>(m>>>0);l=h<<p&n;i=(i<<p|h>>>(o>>>0))&n|h<<k&m-33>>31;break}if((f|0)!=0){c[f>>2]=l&h;c[f+4>>2]=0}if((k|0)==1){o=j|b&0;p=a|0|0;return(H=o,p)|0}else{p=mX(k|0)|0;o=i>>>(p>>>0)|0;p=i<<32-p|h>>>(p>>>0)|0;return(H=o,p)|0}}}while(0);if((j|0)==0){m=a;d=0;a=0}else{d=d|0|0;g=g|e&0;e=gX(d,g,-1,-1)|0;h=H;k=b;m=a;a=0;while(1){b=l>>>31|i<<1;l=a|l<<1;i=m<<1|i>>>31|0;k=m>>>31|k<<1|0;fX(e,h,i,k)|0;m=H;p=m>>31|((m|0)<0?-1:0)<<1;a=p&1;m=fX(i,k,p&d,(((m|0)<0?-1:0)>>31|((m|0)<0?-1:0)<<1)&g)|0;k=H;j=j-1|0;if((j|0)==0){break}else{i=b}}i=b;b=k;d=0}g=0;if((f|0)!=0){c[f>>2]=m;c[f+4>>2]=b}o=(l|0)>>>31|(i|g)<<1|(g<<1|l>>>31)&0|d;p=(l<<1|0>>>31)&-2|a;return(H=o,p)|0}function uX(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return dd[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ed[a&3](b|0,c|0,d|0,e|0,f|0)}function wX(a,b){a=a|0;b=b|0;fd[a&511](b|0)}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;return gd[a&3](b|0,c|0,d|0,+e,+f)|0}function yX(a,b,c){a=a|0;b=b|0;c=c|0;hd[a&127](b|0,c|0)}function zX(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return id[a&3](b|0,c|0,d|0,e|0,f|0,g|0)|0}function AX(a,b){a=a|0;b=b|0;return jd[a&511](b|0)|0}function BX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;kd[a&1](b|0,c|0,+d,+e)}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;ld[a&3](b|0,+c,+d,e|0,f|0)}function DX(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;j=j|0;k=k|0;l=l|0;m=m|0;md[a&1](b|0,c|0,+d,+e,+f,+g,+h,+i,j|0,k|0,l|0,m|0)}function EX(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=+m;n=+n;return nd[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,+m,+n)|0}function FX(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;od[a&1](b|0,+c,d|0,e|0)}function GX(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return pd[a&63](b|0,c|0,d|0,e|0)|0}function HX(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=+g;h=h|0;i=i|0;j=j|0;return qd[a&1](b|0,c|0,+d,+e,+f,+g,h|0,i|0,j|0)|0}function IX(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;rd[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0)}function JX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return sd[a&127](b|0,c|0,d|0)|0}function KX(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;return td[a&1](b|0,c|0,+d,+e,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0,n|0,o|0,p|0)|0}function LX(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ud[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function MX(a,b,c,d,e,f,g,h,i,j,k,l,m,n){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;vd[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0,l|0,m|0,n|0)}function NX(a,b){a=a|0;b=b|0;return+wd[a&1](b|0)}function OX(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;return xd[a&3](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)|0}function PX(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;yd[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function QX(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;zd[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function RX(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;Ad[a&1](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0,k|0)}function SX(a,b,c){a=a|0;b=b|0;c=c|0;return Bd[a&255](b|0,c|0)|0}function TX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Cd[a&63](b|0,c|0,d|0,e|0,f|0)|0}function UX(a,b,c){a=a|0;b=b|0;c=c|0;return+Dd[a&3](b|0,c|0)}function VX(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=+f;g=+g;h=+h;i=+i;Ed[a&3](b|0,c|0,+d,+e,+f,+g,+h,+i)}function WX(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;return Fd[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)|0}function XX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Gd[a&255](b|0,c|0,d|0)}function YX(a){a=a|0;Hd[a&1]()}function ZX(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Id[a&3](b|0,c|0,+d)}function _X(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Jd[a&63](b|0,c|0,d|0,e|0)}function $X(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ea(0);return 0}function aY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ea(1)}function bY(a){a=a|0;ea(2)}function cY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;ea(3);return 0}function dY(a,b){a=a|0;b=b|0;ea(4)}function eY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ea(5);return 0}function fY(a){a=a|0;ea(6);return 0}function gY(a,b,c,d){a=a|0;b=b|0;c=+c;d=+d;ea(7)}function hY(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;ea(8)}function iY(a,b,c,d,e,f,g,h,i,j,k,l){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;ea(9)}function jY(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;ea(10);return 0}function kY(a,b,c,d){a=a|0;b=+b;c=c|0;d=d|0;ea(11)}function lY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ea(12);return 0}function mY(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;g=g|0;h=h|0;i=i|0;ea(13);return 0}function nY(a,b,c,d,e,f,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;ea(14)}function oY(a,b,c){a=a|0;b=b|0;c=c|0;ea(15);return 0}function pY(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;c=+c;d=+d;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;ea(16);return 0}function qY(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ea(17)}function rY(a,b,c,d,e,f,g,h,i,j,k,l,m){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;ea(18)}function sY(a){a=a|0;ea(19);return 0.0}function tY(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ea(20);return 0}function uY(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ea(21)}function vY(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ea(22)}function wY(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;ea(23)}function xY(a,b){a=a|0;b=b|0;ea(24);return 0}function yY(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ea(25);return 0}function zY(a,b){a=a|0;b=b|0;ea(26);return 0.0}function AY(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=+c;d=+d;e=+e;f=+f;g=+g;h=+h;ea(27)}function BY(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ea(28);return 0}function CY(a,b,c){a=a|0;b=b|0;c=c|0;ea(29)}function DY(){ea(30)}function EY(){Dc()}function FY(a,b,c){a=a|0;b=b|0;c=+c;ea(31)}function GY(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ea(32)}
// EMSCRIPTEN_END_FUNCS
var dd=[$X,bQ];var ed=[aY,LM,xW,wW];var fd=[bY,Te,Se,tg,sg,Gg,Fg,Jg,Ig,Pg,Og,Sg,hi,WF,Oi,Pi,hj,ij,tj,sj,kj,jj,vj,wj,rm,Fj,Ej,Hj,Ij,Ql,Nj,Mj,Pj,Qj,dm,Vj,Uj,Xj,Yj,km,ak,Pm,Rm,ik,hk,jk,ok,nk,pk,vk,uk,Bk,Fk,Ek,Gk,Kk,Jk,Mk,Lk,Vk,Uk,Xk,$k,Wk,sl,rl,ul,tl,Hl,Gl,Cm,yn,zn,ln,An,Gn,Fn,Xn,Wn,Yp,Xp,fq,eq,sq,rq,uq,jt,kt,lt,mt,sr,rr,nt,ot,pt,qt,Cr,Br,Kr,Jr,Or,Nr,Rr,Qr,Wr,Vr,_r,Zr,bs,as,fs,es,ks,js,us,ts,zs,ys,Cs,Bs,Fs,Es,Js,Is,Ms,Ls,Ps,Os,Ss,Rs,Ws,Vs,$s,_s,Hu,Gu,Iu,iv,hv,Sv,lv,kv,ov,Tv,Uv,qv,sv,rv,Vv,Wv,xv,wv,zv,Dv,Cv,Gv,Fv,Jv,Iv,Kv,Wx,Vx,ey,dy,oy,ny,Iy,Uy,az,hz,pz,wz,Cz,Kz,Jz,Uz,Tz,bA,aA,iA,hA,pA,oA,zA,yA,DA,CA,GA,FA,PA,OA,UA,TA,ZA,YA,cB,bB,jB,iB,TC,SC,YC,XC,_C,ZC,aD,$C,dD,cD,eD,gD,HD,GD,ID,KD,yE,xE,BE,AE,EE,DE,HE,GE,JE,IE,ME,LE,PE,OE,SE,RE,VE,UE,YE,XE,_E,ZE,xF,yF,wG,xG,vG,yG,MG,NG,QG,PG,$G,_G,rH,qH,wH,vH,DH,HH,LH,KH,OH,TH,SH,$H,_H,cI,sI,uI,vI,NI,MI,tL,xL,QL,VL,cM,kM,mM,vM,xM,zM,AM,BM,MM,SM,UM,XM,_M,dN,hN,tN,dO,jP,IP,SP,UP,cQ,dQ,kQ,IQ,aR,dR,fR,mS,pS,rS,tS,dT,gT,iT,kT,yT,BT,DT,FT,WT,tU,MU,RU,eV,hV,jV,lV,sV,wV,nW,qW,oW,pW,rW,KW,JW,rL,IL,KL,IN,DN,vN,mO,rO,yO,vO,UQ,YR,wU,cW,iW,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY,bY];var gd=[cY,Ph,Bi,cY];var hd=[dY,wg,zh,NF,Tg,Ug,Vg,Xg,Yg,Zg,_g,$g,ah,bh,ii,ji,ki,li,ch,eh,fh,gh,hh,mi,ni,oi,ih,qi,ri,si,ti,ui,vi,wi,kh,mh,nh,oh,ph,qh,Ei,Fi,Hi,th,wh,xh,QF,SF,Ki,Ih,Lh,Nh,Kj,Sj,_j,nm,gk,$y,fz,oz,uz,Bz,Hz,Rz,_z,gA,nA,uA,vL,AL,HM,FS,GS,HS,IS,JS,KS,LS,MS,NS,OS,oT,pT,qT,JT,KT,LT,MT,gU,kU,oU,LL,GN,fW,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY,dY];var id=[eY,UN,$P,eY];var jd=[fY,vg,yg,zg,Ag,Bg,Cg,Dg,Eg,Sh,Uh,Vh,Wh,Qh,Rh,Yh,Zh,_h,ai,bi,ci,di,Mi,XF,Mh,lj,Tl,Ul,Vl,Il,Kl,Ll,Yl,Zl,qm,sm,tm,um,vm,wm,Ml,Nl,Ol,Pl,Rl,Wl,_l,$l,am,bm,cm,em,fm,gm,hm,im,jm,lm,mm,Om,ck,dk,Qm,Sm,fk,om,pm,kk,xm,ym,qk,Hm,wk,yk,Ak,Im,Jm,Km,zm,Am,Nk,Lm,al,cl,Mm,vl,xl,Al,Nm,Bm,Dm,Em,wq,xq,et,gt,ht,it,Ou,Ku,Mu,Ju,Pu,xy,yy,gy,zy,ry,qy,Vy,dC,eC,fC,gC,cC,bz,pC,aC,bC,qC,iz,hC,iC,jC,kC,qz,rC,sC,xz,lC,mC,Dz,tC,uC,Lz,vC,Qz,wC,Vz,xC,yC,zC,cA,AC,BC,CC,jA,DC,EC,FC,qA,nC,oC,AA,EA,QA,VA,_A,dB,lB,AD,BD,CD,DD,ED,hD,iD,jD,aE,LD,ND,$E,aF,bF,cF,dF,eF,fF,gF,hF,iF,jF,kF,nF,oF,lF,mF,pF,qF,rF,sF,tF,uF,dI,eI,fI,gI,hI,iI,jI,kI,lI,mI,nI,oI,pI,qI,rI,lM,CM,QM,YM,LN,MN,NN,sN,TN,XN,YN,eO,CP,JQ,$Q,eR,gR,lS,qS,sS,bT,ZS,cT,hT,jT,wT,xT,CT,ET,RT,PT,sU,dV,iV,kV,GV,HV,IV,JV,XV,VV,LW,zt,At,nu,pu,VR,WR,XR,nR,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY,fY];var kd=[gY,uh];var ld=[hY,OF,PF,hY];var md=[iY,rh];var nd=[jY,yi];var od=[kY,Hg];var pd=[lY,Th,Kg,vq,VI,WL,gM,nM,oM,wM,GM,WM,fO,gO,mP,xP,JP,ZP,yP,KQ,LQ,OQ,PQ,YQ,hR,iR,uS,vS,$S,WS,lT,rT,GT,ST,XT,SU,mV,nV,TV,PV,NL,qN,eK,UR,dW,hW,lY,lY,lY,lY,lY,lY,lY,lY,lY,lY,lY,lY,lY,lY,lY,lY,lY,lY];var qd=[mY,sh];var rd=[nY,Xh];var sd=[oY,ug,zi,Ai,Ci,Oh,Di,oj,pj,mj,Xl,lk,rk,Ck,Hk,Sk,ol,Bl,wl,Fm,kD,OD,KG,LG,sH,UI,tK,$L,aM,hM,qM,rM,sM,tM,uM,FM,PM,RM,VM,bO,iO,nP,pP,qP,KP,MP,aQ,AP,eQ,gQ,iQ,lQ,mQ,vP,wP,NQ,XQ,iS,kS,dS,SS,TS,VS,tT,eU,iU,mU,qU,bV,cV,RV,sW,Ve,We,Ch,Bh,Eh,HN,uK,BR,wR,ER,FR,xR,yR,CR,DR,IR,JR,KR,LR,zS,eW,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY,oY];var td=[pY,gi];var ud=[qY,Kh,zW,yW,kO,lO,pO,qO];var vd=[rY,Fh,Gh,rY];var wd=[sY,ft];var xd=[tY,fy,py,tY];var yd=[uY,Hh];var zd=[vY,Ah];var Ad=[wY,Dh];var Bd=[xY,xg,$h,ei,fi,Ji,Qi,gj,Sl,mk,sk,Dk,Ik,Tk,pl,Cl,Gm,Bn,Nu,lD,PD,wF,zG,tI,RI,SI,TI,sL,uL,wL,yL,BL,PL,RL,SL,TL,XL,YL,bM,dM,eM,iM,DM,NM,ZM,$M,aN,bN,cN,eN,fN,gN,iN,jN,VN,WN,SN,$N,cO,AO,BO,CO,DO,EO,FO,GO,HO,IO,JO,KO,LO,MO,NO,OO,PO,QO,RO,SO,TO,UO,VO,WO,XO,YO,ZO,_O,$O,aP,bP,cP,dP,eP,fP,gP,hP,iP,kP,lP,oP,rP,sP,tP,LP,NP,OP,PP,QP,RP,TP,VP,WP,XP,YP,_P,fQ,hQ,jQ,EP,zP,uP,FQ,HQ,VQ,WQ,bR,kR,lR,jS,nS,wS,yS,aT,XS,YS,_S,RS,US,eT,mT,uT,vT,sT,zT,HT,IT,TT,NT,OT,QT,UT,YT,ZT,$T,aU,bU,cU,dU,fU,hU,jU,lU,nU,pU,LU,NU,OU,PU,TU,UU,fV,pV,qV,rV,tV,uV,vV,xV,yV,WV,UV,SV,QV,yh,Dq,Xq,gr,cv,ly,my,HK,JL,lN,oN,wN,ZN,tQ,uQ,oR,rR,BS,AS,nT,aV,zV,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY,xY];var Cd=[yY,fj,Gj,Oj,Wj,bk,vF,dL,eL,fL,gL,hL,iL,jL,kL,lL,UL,sK,fM,jM,EM,JM,KM,GP,HP,DP,nQ,FP,cR,jR,oS,xS,fT,AT,VT,rU,QU,gV,oV,rN,WU,ZU,$U,yY,yY,yY,yY,yY,yY,yY,yY,yY,yY,yY,yY,yY,yY,yY,yY,yY,yY,yY,yY,yY];var Dd=[zY,yH,QI,zY];var Ed=[AY,Wg,vh,AY];var Fd=[BY,xH,OI,PI,TM,BY,BY,BY];var Gd=[CY,Re,Rg,Gi,Ii,RF,TF,UF,VF,Li,Jh,Ni,nj,Jl,xj,Jj,Rj,Zj,ek,zk,zl,Gr,Sr,Xr,cs,gs,qs,vs,Gs,Ts,Xs,Yv,Zv,_v,$v,aw,bw,cw,dw,ew,fw,gw,hw,iw,jw,kw,lw,mw,nw,ow,pw,qw,rw,sw,tw,uw,vw,ww,xw,yw,zw,Aw,Bw,Cw,Dw,Ew,Fw,Gw,Hw,Iw,Jw,Kw,Lw,Mw,Nw,Ow,Pw,Qw,Rw,Sw,Tw,Uw,Vw,Ww,Xw,Yw,Zw,_w,$w,ax,bx,cx,dx,ex,fx,gx,hx,ix,jx,kx,lx,Wy,Yy,_y,cz,dz,ez,jz,lz,nz,rz,sz,tz,yz,zz,Az,Ez,Fz,Gz,Mz,Nz,Pz,Wz,Xz,Zz,dA,eA,fA,kA,lA,mA,rA,sA,tA,QD,IH,MH,PH,UH,aI,zL,pN,aO,hO,GQ,MQ,EN,FN,zN,jO,oO,pR,qR,sR,tR,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY,CY];var Hd=[DY,EY];var Id=[FY,pi,xi,FY];var Jd=[GY,Ri,Si,Ti,Ui,Vi,Wi,Xi,Yi,Zi,_i,$i,aj,bj,cj,dj,Xy,Zy,Sy,_B,$B,kz,mz,Iz,Oz,Sz,Yz,$z,yM,IM,OM,tW,uW,xN,yN,vJ,RQ,MR,NR,OR,PR,QR,RR,GY,GY,GY,GY,GY,GY,GY,GY,GY,GY,GY,GY,GY,GY,GY,GY,GY,GY,GY,GY,GY];return{_saveSetjmp:YW,_memcmp:iX,_strncasecmp:XW,_strcat:cX,_free:BW,_main:_d,_realloc:CW,_i64Add:gX,_memmove:aX,_tolower:WW,_strlen:ZW,_memset:bX,_malloc:AW,_bitshift64Ashr:_W,_memcpy:$W,_strncpy:hX,_bitshift64Lshr:jX,_bitshift64Shl:dX,_i64Subtract:fX,_strcpy:eX,_testSetjmp:kX,runPostSets:VW,stackAlloc:Kd,stackSave:Ld,stackRestore:Md,setThrew:Nd,setTempRet0:Qd,setTempRet1:Rd,setTempRet2:Sd,setTempRet3:Td,setTempRet4:Ud,setTempRet5:Vd,setTempRet6:Wd,setTempRet7:Xd,setTempRet8:Yd,setTempRet9:Zd,dynCall_iiiiiiii:uX,dynCall_viiiii:vX,dynCall_vi:wX,dynCall_iiiidd:xX,dynCall_vii:yX,dynCall_iiiiiii:zX,dynCall_ii:AX,dynCall_viidd:BX,dynCall_viddii:CX,dynCall_viiddddddiiii:DX,dynCall_iiiiiiiiiiiidd:EX,dynCall_vidii:FX,dynCall_iiiii:GX,dynCall_iiiddddiii:HX,dynCall_viiiiiiiiiii:IX,dynCall_iiii:JX,dynCall_iiiddiiiiiiiiiii:KX,dynCall_viiiiii:LX,dynCall_viiiiiiiiiiiii:MX,dynCall_di:NX,dynCall_iiiiiiiiiii:OX,dynCall_viiiiiii:PX,dynCall_viiiiiiiii:QX,dynCall_viiiiiiiiii:RX,dynCall_iii:SX,dynCall_iiiiii:TX,dynCall_dii:UX,dynCall_viidddddd:VX,dynCall_iiiiiiiiii:WX,dynCall_viii:XX,dynCall_v:YX,dynCall_viid:ZX,dynCall_viiii:_X}})
// EMSCRIPTEN_END_ASM
({ "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array }, { "abort": abort, "assert": assert, "asmPrintInt": asmPrintInt, "asmPrintFloat": asmPrintFloat, "min": Math_min, "invoke_iiiiiiii": invoke_iiiiiiii, "invoke_viiiii": invoke_viiiii, "invoke_vi": invoke_vi, "invoke_iiiidd": invoke_iiiidd, "invoke_vii": invoke_vii, "invoke_iiiiiii": invoke_iiiiiii, "invoke_ii": invoke_ii, "invoke_viidd": invoke_viidd, "invoke_viddii": invoke_viddii, "invoke_viiddddddiiii": invoke_viiddddddiiii, "invoke_iiiiiiiiiiiidd": invoke_iiiiiiiiiiiidd, "invoke_vidii": invoke_vidii, "invoke_iiiii": invoke_iiiii, "invoke_iiiddddiii": invoke_iiiddddiii, "invoke_viiiiiiiiiii": invoke_viiiiiiiiiii, "invoke_iiii": invoke_iiii, "invoke_iiiddiiiiiiiiiii": invoke_iiiddiiiiiiiiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viiiiiiiiiiiii": invoke_viiiiiiiiiiiii, "invoke_di": invoke_di, "invoke_iiiiiiiiiii": invoke_iiiiiiiiiii, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiiiiiii": invoke_viiiiiiiii, "invoke_viiiiiiiiii": invoke_viiiiiiiiii, "invoke_iii": invoke_iii, "invoke_iiiiii": invoke_iiiiii, "invoke_dii": invoke_dii, "invoke_viidddddd": invoke_viidddddd, "invoke_iiiiiiiiii": invoke_iiiiiiiiii, "invoke_viii": invoke_viii, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_viiii": invoke_viiii, "_isalnum": _isalnum, "_fabs": _fabs, "_strrchr": _strrchr, "_fread": _fread, "_memchr": _memchr, "_inflateReset": _inflateReset, "__reallyNegative": __reallyNegative, "_fstat": _fstat, "___assert_fail": ___assert_fail, "__ZSt18uncaught_exceptionv": __ZSt18uncaught_exceptionv, "_longjmp": _longjmp, "_fsync": _fsync, "_sbrk": _sbrk, "_sysconf": _sysconf, "_close": _close, "_cos": _cos, "_readdir": _readdir, "_puts": _puts, "_FcPatternBuild": _FcPatternBuild, "_unlink": _unlink, "_write": _write, "_ftell": _ftell, "_rand": _rand, "__ZNSt9exceptionD2Ev": __ZNSt9exceptionD2Ev, "___cxa_does_inherit": ___cxa_does_inherit, "_strstr": _strstr, "_FcPatternDestroy": _FcPatternDestroy, "_qsort": _qsort, "_closedir": _closedir, "_FcPatternGetInteger": _FcPatternGetInteger, "_send": _send, "_pow": _pow, "_atan2": _atan2, "___cxa_is_number_type": ___cxa_is_number_type, "_FcConfigSubstitute": _FcConfigSubstitute, "_fcntl": _fcntl, "___cxa_find_matching_catch": ___cxa_find_matching_catch, "_opendir": _opendir, "_isalpha": _isalpha, "_strtol": _strtol, "___setErrNo": ___setErrNo, "___resumeException": ___resumeException, "_srand": _srand, "_strchr": _strchr, "_ceil": _ceil, "_putchar": _putchar, "___buildEnvironment": ___buildEnvironment, "_localeconv": _localeconv, "_printf": _printf, "_sprintf": _sprintf, "_strtok_r": _strtok_r, "_stat": _stat, "_FcPatternAddInteger": _FcPatternAddInteger, "_getpwnam": _getpwnam, "_read": _read, "_fwrite": _fwrite, "_FcPatternGetString": _FcPatternGetString, "_time": _time, "_pthread_mutex_lock": _pthread_mutex_lock, "_gettimeofday": _gettimeofday, "_munmap": _munmap, "_mmap": _mmap, "_exit": _exit, "_readdir_r": _readdir_r, "_inflate": _inflate, "_fmod": _fmod, "_lseek": _lseek, "_vfprintf": _vfprintf, "___cxa_allocate_exception": ___cxa_allocate_exception, "_asin": _asin, "_atoi": _atoi, "_pwrite": _pwrite, "_open": _open, "_snprintf": _snprintf, "_FcFontSort": _FcFontSort, "_fseek": _fseek, "_pthread_mutex_destroy": _pthread_mutex_destroy, "_isxdigit": _isxdigit, "_fclose": _fclose, "__parseInt": __parseInt, "_log": _log, "_recv": _recv, "_fgetc": _fgetc, "__getFloat": __getFloat, "_fputc": _fputc, "_abort": _abort, "___cxa_throw": ___cxa_throw, "_strncmp": _strncmp, "_inflateInit2_": _inflateInit2_, "_isspace": _isspace, "_fopen": _fopen, "_floor": _floor, "_getgid": _getgid, "_sin": _sin, "_acos": _acos, "___cxa_pure_virtual": ___cxa_pure_virtual, "_ungetc": _ungetc, "_fflush": _fflush, "_fprintf": _fprintf, "_sscanf": _sscanf, "_strdup": _strdup, "__exit": __exit, "_strcspn": _strcspn, "_log10": _log10, "_pthread_mutex_unlock": _pthread_mutex_unlock, "_pread": _pread, "_FcDefaultSubstitute": _FcDefaultSubstitute, "___errno_location": ___errno_location, "_strcmp": _strcmp, "_getpwuid": _getpwuid, "_copysign": _copysign, "_getenv": _getenv, "__scanString": __scanString, "_FcFontSetDestroy": _FcFontSetDestroy, "_inflateEnd": _inflateEnd, "_strerror": _strerror, "_emscripten_longjmp": _emscripten_longjmp, "__formatString": __formatString, "_fputs": _fputs, "_sqrt": _sqrt, "_pthread_mutex_init": _pthread_mutex_init, "_strerror_r": _strerror_r, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "cttz_i8": cttz_i8, "ctlz_i8": ctlz_i8, "NaN": NaN, "Infinity": Infinity, "__ZTISt9exception": __ZTISt9exception, "_stderr": _stderr, "_stdin": _stdin, "_stdout": _stdout }, buffer);
var _saveSetjmp = Module["_saveSetjmp"] = asm["_saveSetjmp"];
var _memcmp = Module["_memcmp"] = asm["_memcmp"];
var _strncasecmp = Module["_strncasecmp"] = asm["_strncasecmp"];
var _strcat = Module["_strcat"] = asm["_strcat"];
var _free = Module["_free"] = asm["_free"];
var _main = Module["_main"] = asm["_main"];
var _realloc = Module["_realloc"] = asm["_realloc"];
var _i64Add = Module["_i64Add"] = asm["_i64Add"];
var _memmove = Module["_memmove"] = asm["_memmove"];
var _tolower = Module["_tolower"] = asm["_tolower"];
var _strlen = Module["_strlen"] = asm["_strlen"];
var _memset = Module["_memset"] = asm["_memset"];
var _malloc = Module["_malloc"] = asm["_malloc"];
var _bitshift64Ashr = Module["_bitshift64Ashr"] = asm["_bitshift64Ashr"];
var _memcpy = Module["_memcpy"] = asm["_memcpy"];
var _strncpy = Module["_strncpy"] = asm["_strncpy"];
var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];
var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];
var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"];
var _strcpy = Module["_strcpy"] = asm["_strcpy"];
var _testSetjmp = Module["_testSetjmp"] = asm["_testSetjmp"];
var runPostSets = Module["runPostSets"] = asm["runPostSets"];
var dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = asm["dynCall_iiiiiiii"];
var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"];
var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"];
var dynCall_iiiidd = Module["dynCall_iiiidd"] = asm["dynCall_iiiidd"];
var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"];
var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = asm["dynCall_iiiiiii"];
var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"];
var dynCall_viidd = Module["dynCall_viidd"] = asm["dynCall_viidd"];
var dynCall_viddii = Module["dynCall_viddii"] = asm["dynCall_viddii"];
var dynCall_viiddddddiiii = Module["dynCall_viiddddddiiii"] = asm["dynCall_viiddddddiiii"];
var dynCall_iiiiiiiiiiiidd = Module["dynCall_iiiiiiiiiiiidd"] = asm["dynCall_iiiiiiiiiiiidd"];
var dynCall_vidii = Module["dynCall_vidii"] = asm["dynCall_vidii"];
var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"];
var dynCall_iiiddddiii = Module["dynCall_iiiddddiii"] = asm["dynCall_iiiddddiii"];
var dynCall_viiiiiiiiiii = Module["dynCall_viiiiiiiiiii"] = asm["dynCall_viiiiiiiiiii"];
var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];
var dynCall_iiiddiiiiiiiiiii = Module["dynCall_iiiddiiiiiiiiiii"] = asm["dynCall_iiiddiiiiiiiiiii"];
var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"];
var dynCall_viiiiiiiiiiiii = Module["dynCall_viiiiiiiiiiiii"] = asm["dynCall_viiiiiiiiiiiii"];
var dynCall_di = Module["dynCall_di"] = asm["dynCall_di"];
var dynCall_iiiiiiiiiii = Module["dynCall_iiiiiiiiiii"] = asm["dynCall_iiiiiiiiiii"];
var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"];
var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = asm["dynCall_viiiiiiiii"];
var dynCall_viiiiiiiiii = Module["dynCall_viiiiiiiiii"] = asm["dynCall_viiiiiiiiii"];
var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"];
var dynCall_iiiiii = Module["dynCall_iiiiii"] = asm["dynCall_iiiiii"];
var dynCall_dii = Module["dynCall_dii"] = asm["dynCall_dii"];
var dynCall_viidddddd = Module["dynCall_viidddddd"] = asm["dynCall_viidddddd"];
var dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = asm["dynCall_iiiiiiiiii"];
var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"];
var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"];
var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"];
var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"];
Runtime.stackAlloc = function(size) { return asm['stackAlloc'](size) };
Runtime.stackSave = function() { return asm['stackSave']() };
Runtime.stackRestore = function(top) { asm['stackRestore'](top) };
// TODO: strip out parts of this we do not need
//======= begin closure i64 code =======
// Copyright 2009 The Closure Library Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS-IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
/**
* @fileoverview Defines a Long class for representing a 64-bit two's-complement
* integer value, which faithfully simulates the behavior of a Java "long". This
* implementation is derived from LongLib in GWT.
*
*/
var i64Math = (function() { // Emscripten wrapper
var goog = { math: {} };
/**
* Constructs a 64-bit two's-complement integer, given its low and high 32-bit
* values as *signed* integers. See the from* functions below for more
* convenient ways of constructing Longs.
*
* The internal representation of a long is the two given signed, 32-bit values.
* We use 32-bit pieces because these are the size of integers on which
* Javascript performs bit-operations. For operations like addition and
* multiplication, we split each number into 16-bit pieces, which can easily be
* multiplied within Javascript's floating-point representation without overflow
* or change in sign.
*
* In the algorithms below, we frequently reduce the negative case to the
* positive case by negating the input(s) and then post-processing the result.
* Note that we must ALWAYS check specially whether those values are MIN_VALUE
* (-2^63) because -MIN_VALUE == MIN_VALUE (since 2^63 cannot be represented as
* a positive number, it overflows back into a negative). Not handling this
* case would often result in infinite recursion.
*
* @param {number} low The low (signed) 32 bits of the long.
* @param {number} high The high (signed) 32 bits of the long.
* @constructor
*/
goog.math.Long = function(low, high) {
/**
* @type {number}
* @private
*/
this.low_ = low | 0; // force into 32 signed bits.
/**
* @type {number}
* @private
*/
this.high_ = high | 0; // force into 32 signed bits.
};
// NOTE: Common constant values ZERO, ONE, NEG_ONE, etc. are defined below the
// from* methods on which they depend.
/**
* A cache of the Long representations of small integer values.
* @type {!Object}
* @private
*/
goog.math.Long.IntCache_ = {};
/**
* Returns a Long representing the given (32-bit) integer value.
* @param {number} value The 32-bit integer in question.
* @return {!goog.math.Long} The corresponding Long value.
*/
goog.math.Long.fromInt = function(value) {
if (-128 <= value && value < 128) {
var cachedObj = goog.math.Long.IntCache_[value];
if (cachedObj) {
return cachedObj;
}
}
var obj = new goog.math.Long(value | 0, value < 0 ? -1 : 0);
if (-128 <= value && value < 128) {
goog.math.Long.IntCache_[value] = obj;
}
return obj;
};
/**
* Returns a Long representing the given value, provided that it is a finite
* number. Otherwise, zero is returned.
* @param {number} value The number in question.
* @return {!goog.math.Long} The corresponding Long value.
*/
goog.math.Long.fromNumber = function(value) {
if (isNaN(value) || !isFinite(value)) {
return goog.math.Long.ZERO;
} else if (value <= -goog.math.Long.TWO_PWR_63_DBL_) {
return goog.math.Long.MIN_VALUE;
} else if (value + 1 >= goog.math.Long.TWO_PWR_63_DBL_) {
return goog.math.Long.MAX_VALUE;
} else if (value < 0) {
return goog.math.Long.fromNumber(-value).negate();
} else {
return new goog.math.Long(
(value % goog.math.Long.TWO_PWR_32_DBL_) | 0,
(value / goog.math.Long.TWO_PWR_32_DBL_) | 0);
}
};
/**
* Returns a Long representing the 64-bit integer that comes by concatenating
* the given high and low bits. Each is assumed to use 32 bits.
* @param {number} lowBits The low 32-bits.
* @param {number} highBits The high 32-bits.
* @return {!goog.math.Long} The corresponding Long value.
*/
goog.math.Long.fromBits = function(lowBits, highBits) {
return new goog.math.Long(lowBits, highBits);
};
/**
* Returns a Long representation of the given string, written using the given
* radix.
* @param {string} str The textual representation of the Long.
* @param {number=} opt_radix The radix in which the text is written.
* @return {!goog.math.Long} The corresponding Long value.
*/
goog.math.Long.fromString = function(str, opt_radix) {
if (str.length == 0) {
throw Error('number format error: empty string');
}
var radix = opt_radix || 10;
if (radix < 2 || 36 < radix) {
throw Error('radix out of range: ' + radix);
}
if (str.charAt(0) == '-') {
return goog.math.Long.fromString(str.substring(1), radix).negate();
} else if (str.indexOf('-') >= 0) {
throw Error('number format error: interior "-" character: ' + str);
}
// Do several (8) digits each time through the loop, so as to
// minimize the calls to the very expensive emulated div.
var radixToPower = goog.math.Long.fromNumber(Math.pow(radix, 8));
var result = goog.math.Long.ZERO;
for (var i = 0; i < str.length; i += 8) {
var size = Math.min(8, str.length - i);
var value = parseInt(str.substring(i, i + size), radix);
if (size < 8) {
var power = goog.math.Long.fromNumber(Math.pow(radix, size));
result = result.multiply(power).add(goog.math.Long.fromNumber(value));
} else {
result = result.multiply(radixToPower);
result = result.add(goog.math.Long.fromNumber(value));
}
}
return result;
};
// NOTE: the compiler should inline these constant values below and then remove
// these variables, so there should be no runtime penalty for these.
/**
* Number used repeated below in calculations. This must appear before the
* first call to any from* function below.
* @type {number}
* @private
*/
goog.math.Long.TWO_PWR_16_DBL_ = 1 << 16;
/**
* @type {number}
* @private
*/
goog.math.Long.TWO_PWR_24_DBL_ = 1 << 24;
/**
* @type {number}
* @private
*/
goog.math.Long.TWO_PWR_32_DBL_ =
goog.math.Long.TWO_PWR_16_DBL_ * goog.math.Long.TWO_PWR_16_DBL_;
/**
* @type {number}
* @private
*/
goog.math.Long.TWO_PWR_31_DBL_ =
goog.math.Long.TWO_PWR_32_DBL_ / 2;
/**
* @type {number}
* @private
*/
goog.math.Long.TWO_PWR_48_DBL_ =
goog.math.Long.TWO_PWR_32_DBL_ * goog.math.Long.TWO_PWR_16_DBL_;
/**
* @type {number}
* @private
*/
goog.math.Long.TWO_PWR_64_DBL_ =
goog.math.Long.TWO_PWR_32_DBL_ * goog.math.Long.TWO_PWR_32_DBL_;
/**
* @type {number}
* @private
*/
goog.math.Long.TWO_PWR_63_DBL_ =
goog.math.Long.TWO_PWR_64_DBL_ / 2;
/** @type {!goog.math.Long} */
goog.math.Long.ZERO = goog.math.Long.fromInt(0);
/** @type {!goog.math.Long} */
goog.math.Long.ONE = goog.math.Long.fromInt(1);
/** @type {!goog.math.Long} */
goog.math.Long.NEG_ONE = goog.math.Long.fromInt(-1);
/** @type {!goog.math.Long} */
goog.math.Long.MAX_VALUE =
goog.math.Long.fromBits(0xFFFFFFFF | 0, 0x7FFFFFFF | 0);
/** @type {!goog.math.Long} */
goog.math.Long.MIN_VALUE = goog.math.Long.fromBits(0, 0x80000000 | 0);
/**
* @type {!goog.math.Long}
* @private
*/
goog.math.Long.TWO_PWR_24_ = goog.math.Long.fromInt(1 << 24);
/** @return {number} The value, assuming it is a 32-bit integer. */
goog.math.Long.prototype.toInt = function() {
return this.low_;
};
/** @return {number} The closest floating-point representation to this value. */
goog.math.Long.prototype.toNumber = function() {
return this.high_ * goog.math.Long.TWO_PWR_32_DBL_ +
this.getLowBitsUnsigned();
};
/**
* @param {number=} opt_radix The radix in which the text should be written.
* @return {string} The textual representation of this value.
*/
goog.math.Long.prototype.toString = function(opt_radix) {
var radix = opt_radix || 10;
if (radix < 2 || 36 < radix) {
throw Error('radix out of range: ' + radix);
}
if (this.isZero()) {
return '0';
}
if (this.isNegative()) {
if (this.equals(goog.math.Long.MIN_VALUE)) {
// We need to change the Long value before it can be negated, so we remove
// the bottom-most digit in this base and then recurse to do the rest.
var radixLong = goog.math.Long.fromNumber(radix);
var div = this.div(radixLong);
var rem = div.multiply(radixLong).subtract(this);
return div.toString(radix) + rem.toInt().toString(radix);
} else {
return '-' + this.negate().toString(radix);
}
}
// Do several (6) digits each time through the loop, so as to
// minimize the calls to the very expensive emulated div.
var radixToPower = goog.math.Long.fromNumber(Math.pow(radix, 6));
var rem = this;
var result = '';
while (true) {
var remDiv = rem.div(radixToPower);
var intval = rem.subtract(remDiv.multiply(radixToPower)).toInt();
var digits = intval.toString(radix);
rem = remDiv;
if (rem.isZero()) {
return digits + result;
} else {
while (digits.length < 6) {
digits = '0' + digits;
}
result = '' + digits + result;
}
}
};
/** @return {number} The high 32-bits as a signed value. */
goog.math.Long.prototype.getHighBits = function() {
return this.high_;
};
/** @return {number} The low 32-bits as a signed value. */
goog.math.Long.prototype.getLowBits = function() {
return this.low_;
};
/** @return {number} The low 32-bits as an unsigned value. */
goog.math.Long.prototype.getLowBitsUnsigned = function() {
return (this.low_ >= 0) ?
this.low_ : goog.math.Long.TWO_PWR_32_DBL_ + this.low_;
};
/**
* @return {number} Returns the number of bits needed to represent the absolute
* value of this Long.
*/
goog.math.Long.prototype.getNumBitsAbs = function() {
if (this.isNegative()) {
if (this.equals(goog.math.Long.MIN_VALUE)) {
return 64;
} else {
return this.negate().getNumBitsAbs();
}
} else {
var val = this.high_ != 0 ? this.high_ : this.low_;
for (var bit = 31; bit > 0; bit--) {
if ((val & (1 << bit)) != 0) {
break;
}
}
return this.high_ != 0 ? bit + 33 : bit + 1;
}
};
/** @return {boolean} Whether this value is zero. */
goog.math.Long.prototype.isZero = function() {
return this.high_ == 0 && this.low_ == 0;
};
/** @return {boolean} Whether this value is negative. */
goog.math.Long.prototype.isNegative = function() {
return this.high_ < 0;
};
/** @return {boolean} Whether this value is odd. */
goog.math.Long.prototype.isOdd = function() {
return (this.low_ & 1) == 1;
};
/**
* @param {goog.math.Long} other Long to compare against.
* @return {boolean} Whether this Long equals the other.
*/
goog.math.Long.prototype.equals = function(other) {
return (this.high_ == other.high_) && (this.low_ == other.low_);
};
/**
* @param {goog.math.Long} other Long to compare against.
* @return {boolean} Whether this Long does not equal the other.
*/
goog.math.Long.prototype.notEquals = function(other) {
return (this.high_ != other.high_) || (this.low_ != other.low_);
};
/**
* @param {goog.math.Long} other Long to compare against.
* @return {boolean} Whether this Long is less than the other.
*/
goog.math.Long.prototype.lessThan = function(other) {
return this.compare(other) < 0;
};
/**
* @param {goog.math.Long} other Long to compare against.
* @return {boolean} Whether this Long is less than or equal to the other.
*/
goog.math.Long.prototype.lessThanOrEqual = function(other) {
return this.compare(other) <= 0;
};
/**
* @param {goog.math.Long} other Long to compare against.
* @return {boolean} Whether this Long is greater than the other.
*/
goog.math.Long.prototype.greaterThan = function(other) {
return this.compare(other) > 0;
};
/**
* @param {goog.math.Long} other Long to compare against.
* @return {boolean} Whether this Long is greater than or equal to the other.
*/
goog.math.Long.prototype.greaterThanOrEqual = function(other) {
return this.compare(other) >= 0;
};
/**
* Compares this Long with the given one.
* @param {goog.math.Long} other Long to compare against.
* @return {number} 0 if they are the same, 1 if the this is greater, and -1
* if the given one is greater.
*/
goog.math.Long.prototype.compare = function(other) {
if (this.equals(other)) {
return 0;
}
var thisNeg = this.isNegative();
var otherNeg = other.isNegative();
if (thisNeg && !otherNeg) {
return -1;
}
if (!thisNeg && otherNeg) {
return 1;
}
// at this point, the signs are the same, so subtraction will not overflow
if (this.subtract(other).isNegative()) {
return -1;
} else {
return 1;
}
};
/** @return {!goog.math.Long} The negation of this value. */
goog.math.Long.prototype.negate = function() {
if (this.equals(goog.math.Long.MIN_VALUE)) {
return goog.math.Long.MIN_VALUE;
} else {
return this.not().add(goog.math.Long.ONE);
}
};
/**
* Returns the sum of this and the given Long.
* @param {goog.math.Long} other Long to add to this one.
* @return {!goog.math.Long} The sum of this and the given Long.
*/
goog.math.Long.prototype.add = function(other) {
// Divide each number into 4 chunks of 16 bits, and then sum the chunks.
var a48 = this.high_ >>> 16;
var a32 = this.high_ & 0xFFFF;
var a16 = this.low_ >>> 16;
var a00 = this.low_ & 0xFFFF;
var b48 = other.high_ >>> 16;
var b32 = other.high_ & 0xFFFF;
var b16 = other.low_ >>> 16;
var b00 = other.low_ & 0xFFFF;
var c48 = 0, c32 = 0, c16 = 0, c00 = 0;
c00 += a00 + b00;
c16 += c00 >>> 16;
c00 &= 0xFFFF;
c16 += a16 + b16;
c32 += c16 >>> 16;
c16 &= 0xFFFF;
c32 += a32 + b32;
c48 += c32 >>> 16;
c32 &= 0xFFFF;
c48 += a48 + b48;
c48 &= 0xFFFF;
return goog.math.Long.fromBits((c16 << 16) | c00, (c48 << 16) | c32);
};
/**
* Returns the difference of this and the given Long.
* @param {goog.math.Long} other Long to subtract from this.
* @return {!goog.math.Long} The difference of this and the given Long.
*/
goog.math.Long.prototype.subtract = function(other) {
return this.add(other.negate());
};
/**
* Returns the product of this and the given long.
* @param {goog.math.Long} other Long to multiply with this.
* @return {!goog.math.Long} The product of this and the other.
*/
goog.math.Long.prototype.multiply = function(other) {
if (this.isZero()) {
return goog.math.Long.ZERO;
} else if (other.isZero()) {
return goog.math.Long.ZERO;
}
if (this.equals(goog.math.Long.MIN_VALUE)) {
return other.isOdd() ? goog.math.Long.MIN_VALUE : goog.math.Long.ZERO;
} else if (other.equals(goog.math.Long.MIN_VALUE)) {
return this.isOdd() ? goog.math.Long.MIN_VALUE : goog.math.Long.ZERO;
}
if (this.isNegative()) {
if (other.isNegative()) {
return this.negate().multiply(other.negate());
} else {
return this.negate().multiply(other).negate();
}
} else if (other.isNegative()) {
return this.multiply(other.negate()).negate();
}
// If both longs are small, use float multiplication
if (this.lessThan(goog.math.Long.TWO_PWR_24_) &&
other.lessThan(goog.math.Long.TWO_PWR_24_)) {
return goog.math.Long.fromNumber(this.toNumber() * other.toNumber());
}
// Divide each long into 4 chunks of 16 bits, and then add up 4x4 products.
// We can skip products that would overflow.
var a48 = this.high_ >>> 16;
var a32 = this.high_ & 0xFFFF;
var a16 = this.low_ >>> 16;
var a00 = this.low_ & 0xFFFF;
var b48 = other.high_ >>> 16;
var b32 = other.high_ & 0xFFFF;
var b16 = other.low_ >>> 16;
var b00 = other.low_ & 0xFFFF;
var c48 = 0, c32 = 0, c16 = 0, c00 = 0;
c00 += a00 * b00;
c16 += c00 >>> 16;
c00 &= 0xFFFF;
c16 += a16 * b00;
c32 += c16 >>> 16;
c16 &= 0xFFFF;
c16 += a00 * b16;
c32 += c16 >>> 16;
c16 &= 0xFFFF;
c32 += a32 * b00;
c48 += c32 >>> 16;
c32 &= 0xFFFF;
c32 += a16 * b16;
c48 += c32 >>> 16;
c32 &= 0xFFFF;
c32 += a00 * b32;
c48 += c32 >>> 16;
c32 &= 0xFFFF;
c48 += a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48;
c48 &= 0xFFFF;
return goog.math.Long.fromBits((c16 << 16) | c00, (c48 << 16) | c32);
};
/**
* Returns this Long divided by the given one.
* @param {goog.math.Long} other Long by which to divide.
* @return {!goog.math.Long} This Long divided by the given one.
*/
goog.math.Long.prototype.div = function(other) {
if (other.isZero()) {
throw Error('division by zero');
} else if (this.isZero()) {
return goog.math.Long.ZERO;
}
if (this.equals(goog.math.Long.MIN_VALUE)) {
if (other.equals(goog.math.Long.ONE) ||
other.equals(goog.math.Long.NEG_ONE)) {
return goog.math.Long.MIN_VALUE; // recall that -MIN_VALUE == MIN_VALUE
} else if (other.equals(goog.math.Long.MIN_VALUE)) {
return goog.math.Long.ONE;
} else {
// At this point, we have |other| >= 2, so |this/other| < |MIN_VALUE|.
var halfThis = this.shiftRight(1);
var approx = halfThis.div(other).shiftLeft(1);
if (approx.equals(goog.math.Long.ZERO)) {
return other.isNegative() ? goog.math.Long.ONE : goog.math.Long.NEG_ONE;
} else {
var rem = this.subtract(other.multiply(approx));
var result = approx.add(rem.div(other));
return result;
}
}
} else if (other.equals(goog.math.Long.MIN_VALUE)) {
return goog.math.Long.ZERO;
}
if (this.isNegative()) {
if (other.isNegative()) {
return this.negate().div(other.negate());
} else {
return this.negate().div(other).negate();
}
} else if (other.isNegative()) {
return this.div(other.negate()).negate();
}
// Repeat the following until the remainder is less than other: find a
// floating-point that approximates remainder / other *from below*, add this
// into the result, and subtract it from the remainder. It is critical that
// the approximate value is less than or equal to the real value so that the
// remainder never becomes negative.
var res = goog.math.Long.ZERO;
var rem = this;
while (rem.greaterThanOrEqual(other)) {
// Approximate the result of division. This may be a little greater or
// smaller than the actual value.
var approx = Math.max(1, Math.floor(rem.toNumber() / other.toNumber()));
// We will tweak the approximate result by changing it in the 48-th digit or
// the smallest non-fractional digit, whichever is larger.
var log2 = Math.ceil(Math.log(approx) / Math.LN2);
var delta = (log2 <= 48) ? 1 : Math.pow(2, log2 - 48);
// Decrease the approximation until it is smaller than the remainder. Note
// that if it is too large, the product overflows and is negative.
var approxRes = goog.math.Long.fromNumber(approx);
var approxRem = approxRes.multiply(other);
while (approxRem.isNegative() || approxRem.greaterThan(rem)) {
approx -= delta;
approxRes = goog.math.Long.fromNumber(approx);
approxRem = approxRes.multiply(other);
}
// We know the answer can't be zero... and actually, zero would cause
// infinite recursion since we would make no progress.
if (approxRes.isZero()) {
approxRes = goog.math.Long.ONE;
}
res = res.add(approxRes);
rem = rem.subtract(approxRem);
}
return res;
};
/**
* Returns this Long modulo the given one.
* @param {goog.math.Long} other Long by which to mod.
* @return {!goog.math.Long} This Long modulo the given one.
*/
goog.math.Long.prototype.modulo = function(other) {
return this.subtract(this.div(other).multiply(other));
};
/** @return {!goog.math.Long} The bitwise-NOT of this value. */
goog.math.Long.prototype.not = function() {
return goog.math.Long.fromBits(~this.low_, ~this.high_);
};
/**
* Returns the bitwise-AND of this Long and the given one.
* @param {goog.math.Long} other The Long with which to AND.
* @return {!goog.math.Long} The bitwise-AND of this and the other.
*/
goog.math.Long.prototype.and = function(other) {
return goog.math.Long.fromBits(this.low_ & other.low_,
this.high_ & other.high_);
};
/**
* Returns the bitwise-OR of this Long and the given one.
* @param {goog.math.Long} other The Long with which to OR.
* @return {!goog.math.Long} The bitwise-OR of this and the other.
*/
goog.math.Long.prototype.or = function(other) {
return goog.math.Long.fromBits(this.low_ | other.low_,
this.high_ | other.high_);
};
/**
* Returns the bitwise-XOR of this Long and the given one.
* @param {goog.math.Long} other The Long with which to XOR.
* @return {!goog.math.Long} The bitwise-XOR of this and the other.
*/
goog.math.Long.prototype.xor = function(other) {
return goog.math.Long.fromBits(this.low_ ^ other.low_,
this.high_ ^ other.high_);
};
/**
* Returns this Long with bits shifted to the left by the given amount.
* @param {number} numBits The number of bits by which to shift.
* @return {!goog.math.Long} This shifted to the left by the given amount.
*/
goog.math.Long.prototype.shiftLeft = function(numBits) {
numBits &= 63;
if (numBits == 0) {
return this;
} else {
var low = this.low_;
if (numBits < 32) {
var high = this.high_;
return goog.math.Long.fromBits(
low << numBits,
(high << numBits) | (low >>> (32 - numBits)));
} else {
return goog.math.Long.fromBits(0, low << (numBits - 32));
}
}
};
/**
* Returns this Long with bits shifted to the right by the given amount.
* @param {number} numBits The number of bits by which to shift.
* @return {!goog.math.Long} This shifted to the right by the given amount.
*/
goog.math.Long.prototype.shiftRight = function(numBits) {
numBits &= 63;
if (numBits == 0) {
return this;
} else {
var high = this.high_;
if (numBits < 32) {
var low = this.low_;
return goog.math.Long.fromBits(
(low >>> numBits) | (high << (32 - numBits)),
high >> numBits);
} else {
return goog.math.Long.fromBits(
high >> (numBits - 32),
high >= 0 ? 0 : -1);
}
}
};
/**
* Returns this Long with bits shifted to the right by the given amount, with
* the new top bits matching the current sign bit.
* @param {number} numBits The number of bits by which to shift.
* @return {!goog.math.Long} This shifted to the right by the given amount, with
* zeros placed into the new leading bits.
*/
goog.math.Long.prototype.shiftRightUnsigned = function(numBits) {
numBits &= 63;
if (numBits == 0) {
return this;
} else {
var high = this.high_;
if (numBits < 32) {
var low = this.low_;
return goog.math.Long.fromBits(
(low >>> numBits) | (high << (32 - numBits)),
high >>> numBits);
} else if (numBits == 32) {
return goog.math.Long.fromBits(high, 0);
} else {
return goog.math.Long.fromBits(high >>> (numBits - 32), 0);
}
}
};
//======= begin jsbn =======
var navigator = { appName: 'Modern Browser' }; // polyfill a little
// Copyright (c) 2005 Tom Wu
// All Rights Reserved.
// http://www-cs-students.stanford.edu/~tjw/jsbn/
/*
* Copyright (c) 2003-2005 Tom Wu
* All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
* EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
* WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
* INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER
* RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF
* THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* In addition, the following condition applies:
*
* All redistributions must retain an intact copy of this copyright notice
* and disclaimer.
*/
// Basic JavaScript BN library - subset useful for RSA encryption.
// Bits per digit
var dbits;
// JavaScript engine analysis
var canary = 0xdeadbeefcafe;
var j_lm = ((canary&0xffffff)==0xefcafe);
// (public) Constructor
function BigInteger(a,b,c) {
if(a != null)
if("number" == typeof a) this.fromNumber(a,b,c);
else if(b == null && "string" != typeof a) this.fromString(a,256);
else this.fromString(a,b);
}
// return new, unset BigInteger
function nbi() { return new BigInteger(null); }
// am: Compute w_j += (x*this_i), propagate carries,
// c is initial carry, returns final carry.
// c < 3*dvalue, x < 2*dvalue, this_i < dvalue
// We need to select the fastest one that works in this environment.
// am1: use a single mult and divide to get the high bits,
// max digit bits should be 26 because
// max internal value = 2*dvalue^2-2*dvalue (< 2^53)
function am1(i,x,w,j,c,n) {
while(--n >= 0) {
var v = x*this[i++]+w[j]+c;
c = Math.floor(v/0x4000000);
w[j++] = v&0x3ffffff;
}
return c;
}
// am2 avoids a big mult-and-extract completely.
// Max digit bits should be <= 30 because we do bitwise ops
// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)
function am2(i,x,w,j,c,n) {
var xl = x&0x7fff, xh = x>>15;
while(--n >= 0) {
var l = this[i]&0x7fff;
var h = this[i++]>>15;
var m = xh*l+h*xl;
l = xl*l+((m&0x7fff)<<15)+w[j]+(c&0x3fffffff);
c = (l>>>30)+(m>>>15)+xh*h+(c>>>30);
w[j++] = l&0x3fffffff;
}
return c;
}
// Alternately, set max digit bits to 28 since some
// browsers slow down when dealing with 32-bit numbers.
function am3(i,x,w,j,c,n) {
var xl = x&0x3fff, xh = x>>14;
while(--n >= 0) {
var l = this[i]&0x3fff;
var h = this[i++]>>14;
var m = xh*l+h*xl;
l = xl*l+((m&0x3fff)<<14)+w[j]+c;
c = (l>>28)+(m>>14)+xh*h;
w[j++] = l&0xfffffff;
}
return c;
}
if(j_lm && (navigator.appName == "Microsoft Internet Explorer")) {
BigInteger.prototype.am = am2;
dbits = 30;
}
else if(j_lm && (navigator.appName != "Netscape")) {
BigInteger.prototype.am = am1;
dbits = 26;
}
else { // Mozilla/Netscape seems to prefer am3
BigInteger.prototype.am = am3;
dbits = 28;
}
BigInteger.prototype.DB = dbits;
BigInteger.prototype.DM = ((1<<dbits)-1);
BigInteger.prototype.DV = (1<<dbits);
var BI_FP = 52;
BigInteger.prototype.FV = Math.pow(2,BI_FP);
BigInteger.prototype.F1 = BI_FP-dbits;
BigInteger.prototype.F2 = 2*dbits-BI_FP;
// Digit conversions
var BI_RM = "0123456789abcdefghijklmnopqrstuvwxyz";
var BI_RC = new Array();
var rr,vv;
rr = "0".charCodeAt(0);
for(vv = 0; vv <= 9; ++vv) BI_RC[rr++] = vv;
rr = "a".charCodeAt(0);
for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
rr = "A".charCodeAt(0);
for(vv = 10; vv < 36; ++vv) BI_RC[rr++] = vv;
function int2char(n) { return BI_RM.charAt(n); }
function intAt(s,i) {
var c = BI_RC[s.charCodeAt(i)];
return (c==null)?-1:c;
}
// (protected) copy this to r
function bnpCopyTo(r) {
for(var i = this.t-1; i >= 0; --i) r[i] = this[i];
r.t = this.t;
r.s = this.s;
}
// (protected) set from integer value x, -DV <= x < DV
function bnpFromInt(x) {
this.t = 1;
this.s = (x<0)?-1:0;
if(x > 0) this[0] = x;
else if(x < -1) this[0] = x+DV;
else this.t = 0;
}
// return bigint initialized to value
function nbv(i) { var r = nbi(); r.fromInt(i); return r; }
// (protected) set from string and radix
function bnpFromString(s,b) {
var k;
if(b == 16) k = 4;
else if(b == 8) k = 3;
else if(b == 256) k = 8; // byte array
else if(b == 2) k = 1;
else if(b == 32) k = 5;
else if(b == 4) k = 2;
else { this.fromRadix(s,b); return; }
this.t = 0;
this.s = 0;
var i = s.length, mi = false, sh = 0;
while(--i >= 0) {
var x = (k==8)?s[i]&0xff:intAt(s,i);
if(x < 0) {
if(s.charAt(i) == "-") mi = true;
continue;
}
mi = false;
if(sh == 0)
this[this.t++] = x;
else if(sh+k > this.DB) {
this[this.t-1] |= (x&((1<<(this.DB-sh))-1))<<sh;
this[this.t++] = (x>>(this.DB-sh));
}
else
this[this.t-1] |= x<<sh;
sh += k;
if(sh >= this.DB) sh -= this.DB;
}
if(k == 8 && (s[0]&0x80) != 0) {
this.s = -1;
if(sh > 0) this[this.t-1] |= ((1<<(this.DB-sh))-1)<<sh;
}
this.clamp();
if(mi) BigInteger.ZERO.subTo(this,this);
}
// (protected) clamp off excess high words
function bnpClamp() {
var c = this.s&this.DM;
while(this.t > 0 && this[this.t-1] == c) --this.t;
}
// (public) return string representation in given radix
function bnToString(b) {
if(this.s < 0) return "-"+this.negate().toString(b);
var k;
if(b == 16) k = 4;
else if(b == 8) k = 3;
else if(b == 2) k = 1;
else if(b == 32) k = 5;
else if(b == 4) k = 2;
else return this.toRadix(b);
var km = (1<<k)-1, d, m = false, r = "", i = this.t;
var p = this.DB-(i*this.DB)%k;
if(i-- > 0) {
if(p < this.DB && (d = this[i]>>p) > 0) { m = true; r = int2char(d); }
while(i >= 0) {
if(p < k) {
d = (this[i]&((1<<p)-1))<<(k-p);
d |= this[--i]>>(p+=this.DB-k);
}
else {
d = (this[i]>>(p-=k))&km;
if(p <= 0) { p += this.DB; --i; }
}
if(d > 0) m = true;
if(m) r += int2char(d);
}
}
return m?r:"0";
}
// (public) -this
function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; }
// (public) |this|
function bnAbs() { return (this.s<0)?this.negate():this; }
// (public) return + if this > a, - if this < a, 0 if equal
function bnCompareTo(a) {
var r = this.s-a.s;
if(r != 0) return r;
var i = this.t;
r = i-a.t;
if(r != 0) return (this.s<0)?-r:r;
while(--i >= 0) if((r=this[i]-a[i]) != 0) return r;
return 0;
}
// returns bit length of the integer x
function nbits(x) {
var r = 1, t;
if((t=x>>>16) != 0) { x = t; r += 16; }
if((t=x>>8) != 0) { x = t; r += 8; }
if((t=x>>4) != 0) { x = t; r += 4; }
if((t=x>>2) != 0) { x = t; r += 2; }
if((t=x>>1) != 0) { x = t; r += 1; }
return r;
}
// (public) return the number of bits in "this"
function bnBitLength() {
if(this.t <= 0) return 0;
return this.DB*(this.t-1)+nbits(this[this.t-1]^(this.s&this.DM));
}
// (protected) r = this << n*DB
function bnpDLShiftTo(n,r) {
var i;
for(i = this.t-1; i >= 0; --i) r[i+n] = this[i];
for(i = n-1; i >= 0; --i) r[i] = 0;
r.t = this.t+n;
r.s = this.s;
}
// (protected) r = this >> n*DB
function bnpDRShiftTo(n,r) {
for(var i = n; i < this.t; ++i) r[i-n] = this[i];
r.t = Math.max(this.t-n,0);
r.s = this.s;
}
// (protected) r = this << n
function bnpLShiftTo(n,r) {
var bs = n%this.DB;
var cbs = this.DB-bs;
var bm = (1<<cbs)-1;
var ds = Math.floor(n/this.DB), c = (this.s<<bs)&this.DM, i;
for(i = this.t-1; i >= 0; --i) {
r[i+ds+1] = (this[i]>>cbs)|c;
c = (this[i]&bm)<<bs;
}
for(i = ds-1; i >= 0; --i) r[i] = 0;
r[ds] = c;
r.t = this.t+ds+1;
r.s = this.s;
r.clamp();
}
// (protected) r = this >> n
function bnpRShiftTo(n,r) {
r.s = this.s;
var ds = Math.floor(n/this.DB);
if(ds >= this.t) { r.t = 0; return; }
var bs = n%this.DB;
var cbs = this.DB-bs;
var bm = (1<<bs)-1;
r[0] = this[ds]>>bs;
for(var i = ds+1; i < this.t; ++i) {
r[i-ds-1] |= (this[i]&bm)<<cbs;
r[i-ds] = this[i]>>bs;
}
if(bs > 0) r[this.t-ds-1] |= (this.s&bm)<<cbs;
r.t = this.t-ds;
r.clamp();
}
// (protected) r = this - a
function bnpSubTo(a,r) {
var i = 0, c = 0, m = Math.min(a.t,this.t);
while(i < m) {
c += this[i]-a[i];
r[i++] = c&this.DM;
c >>= this.DB;
}
if(a.t < this.t) {
c -= a.s;
while(i < this.t) {
c += this[i];
r[i++] = c&this.DM;
c >>= this.DB;
}
c += this.s;
}
else {
c += this.s;
while(i < a.t) {
c -= a[i];
r[i++] = c&this.DM;
c >>= this.DB;
}
c -= a.s;
}
r.s = (c<0)?-1:0;
if(c < -1) r[i++] = this.DV+c;
else if(c > 0) r[i++] = c;
r.t = i;
r.clamp();
}
// (protected) r = this * a, r != this,a (HAC 14.12)
// "this" should be the larger one if appropriate.
function bnpMultiplyTo(a,r) {
var x = this.abs(), y = a.abs();
var i = x.t;
r.t = i+y.t;
while(--i >= 0) r[i] = 0;
for(i = 0; i < y.t; ++i) r[i+x.t] = x.am(0,y[i],r,i,0,x.t);
r.s = 0;
r.clamp();
if(this.s != a.s) BigInteger.ZERO.subTo(r,r);
}
// (protected) r = this^2, r != this (HAC 14.16)
function bnpSquareTo(r) {
var x = this.abs();
var i = r.t = 2*x.t;
while(--i >= 0) r[i] = 0;
for(i = 0; i < x.t-1; ++i) {
var c = x.am(i,x[i],r,2*i,0,1);
if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1)) >= x.DV) {
r[i+x.t] -= x.DV;
r[i+x.t+1] = 1;
}
}
if(r.t > 0) r[r.t-1] += x.am(i,x[i],r,2*i,0,1);
r.s = 0;
r.clamp();
}
// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)
// r != q, this != m. q or r may be null.
function bnpDivRemTo(m,q,r) {
var pm = m.abs();
if(pm.t <= 0) return;
var pt = this.abs();
if(pt.t < pm.t) {
if(q != null) q.fromInt(0);
if(r != null) this.copyTo(r);
return;
}
if(r == null) r = nbi();
var y = nbi(), ts = this.s, ms = m.s;
var nsh = this.DB-nbits(pm[pm.t-1]); // normalize modulus
if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); }
else { pm.copyTo(y); pt.copyTo(r); }
var ys = y.t;
var y0 = y[ys-1];
if(y0 == 0) return;
var yt = y0*(1<<this.F1)+((ys>1)?y[ys-2]>>this.F2:0);
var d1 = this.FV/yt, d2 = (1<<this.F1)/yt, e = 1<<this.F2;
var i = r.t, j = i-ys, t = (q==null)?nbi():q;
y.dlShiftTo(j,t);
if(r.compareTo(t) >= 0) {
r[r.t++] = 1;
r.subTo(t,r);
}
BigInteger.ONE.dlShiftTo(ys,t);
t.subTo(y,y); // "negative" y so we can replace sub with am later
while(y.t < ys) y[y.t++] = 0;
while(--j >= 0) {
// Estimate quotient digit
var qd = (r[--i]==y0)?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);
if((r[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out
y.dlShiftTo(j,t);
r.subTo(t,r);
while(r[i] < --qd) r.subTo(t,r);
}
}
if(q != null) {
r.drShiftTo(ys,q);
if(ts != ms) BigInteger.ZERO.subTo(q,q);
}
r.t = ys;
r.clamp();
if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder
if(ts < 0) BigInteger.ZERO.subTo(r,r);
}
// (public) this mod a
function bnMod(a) {
var r = nbi();
this.abs().divRemTo(a,null,r);
if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r);
return r;
}
// Modular reduction using "classic" algorithm
function Classic(m) { this.m = m; }
function cConvert(x) {
if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m);
else return x;
}
function cRevert(x) { return x; }
function cReduce(x) { x.divRemTo(this.m,null,x); }
function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
Classic.prototype.convert = cConvert;
Classic.prototype.revert = cRevert;
Classic.prototype.reduce = cReduce;
Classic.prototype.mulTo = cMulTo;
Classic.prototype.sqrTo = cSqrTo;
// (protected) return "-1/this % 2^DB"; useful for Mont. reduction
// justification:
// xy == 1 (mod m)
// xy = 1+km
// xy(2-xy) = (1+km)(1-km)
// x[y(2-xy)] = 1-k^2m^2
// x[y(2-xy)] == 1 (mod m^2)
// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2
// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.
// JS multiply "overflows" differently from C/C++, so care is needed here.
function bnpInvDigit() {
if(this.t < 1) return 0;
var x = this[0];
if((x&1) == 0) return 0;
var y = x&3; // y == 1/x mod 2^2
y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4
y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8
y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16
// last step - calculate inverse mod DV directly;
// assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints
y = (y*(2-x*y%this.DV))%this.DV; // y == 1/x mod 2^dbits
// we really want the negative inverse, and -DV < y < DV
return (y>0)?this.DV-y:-y;
}
// Montgomery reduction
function Montgomery(m) {
this.m = m;
this.mp = m.invDigit();
this.mpl = this.mp&0x7fff;
this.mph = this.mp>>15;
this.um = (1<<(m.DB-15))-1;
this.mt2 = 2*m.t;
}
// xR mod m
function montConvert(x) {
var r = nbi();
x.abs().dlShiftTo(this.m.t,r);
r.divRemTo(this.m,null,r);
if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r);
return r;
}
// x/R mod m
function montRevert(x) {
var r = nbi();
x.copyTo(r);
this.reduce(r);
return r;
}
// x = x/R mod m (HAC 14.32)
function montReduce(x) {
while(x.t <= this.mt2) // pad x so am has enough room later
x[x.t++] = 0;
for(var i = 0; i < this.m.t; ++i) {
// faster way of calculating u0 = x[i]*mp mod DV
var j = x[i]&0x7fff;
var u0 = (j*this.mpl+(((j*this.mph+(x[i]>>15)*this.mpl)&this.um)<<15))&x.DM;
// use am to combine the multiply-shift-add into one call
j = i+this.m.t;
x[j] += this.m.am(0,u0,x,i,0,this.m.t);
// propagate carry
while(x[j] >= x.DV) { x[j] -= x.DV; x[++j]++; }
}
x.clamp();
x.drShiftTo(this.m.t,x);
if(x.compareTo(this.m) >= 0) x.subTo(this.m,x);
}
// r = "x^2/R mod m"; x != r
function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); }
// r = "xy/R mod m"; x,y != r
function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); }
Montgomery.prototype.convert = montConvert;
Montgomery.prototype.revert = montRevert;
Montgomery.prototype.reduce = montReduce;
Montgomery.prototype.mulTo = montMulTo;
Montgomery.prototype.sqrTo = montSqrTo;
// (protected) true iff this is even
function bnpIsEven() { return ((this.t>0)?(this[0]&1):this.s) == 0; }
// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79)
function bnpExp(e,z) {
if(e > 0xffffffff || e < 1) return BigInteger.ONE;
var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1;
g.copyTo(r);
while(--i >= 0) {
z.sqrTo(r,r2);
if((e&(1<<i)) > 0) z.mulTo(r2,g,r);
else { var t = r; r = r2; r2 = t; }
}
return z.revert(r);
}
// (public) this^e % m, 0 <= e < 2^32
function bnModPowInt(e,m) {
var z;
if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m);
return this.exp(e,z);
}
// protected
BigInteger.prototype.copyTo = bnpCopyTo;
BigInteger.prototype.fromInt = bnpFromInt;
BigInteger.prototype.fromString = bnpFromString;
BigInteger.prototype.clamp = bnpClamp;
BigInteger.prototype.dlShiftTo = bnpDLShiftTo;
BigInteger.prototype.drShiftTo = bnpDRShiftTo;
BigInteger.prototype.lShiftTo = bnpLShiftTo;
BigInteger.prototype.rShiftTo = bnpRShiftTo;
BigInteger.prototype.subTo = bnpSubTo;
BigInteger.prototype.multiplyTo = bnpMultiplyTo;
BigInteger.prototype.squareTo = bnpSquareTo;
BigInteger.prototype.divRemTo = bnpDivRemTo;
BigInteger.prototype.invDigit = bnpInvDigit;
BigInteger.prototype.isEven = bnpIsEven;
BigInteger.prototype.exp = bnpExp;
// public
BigInteger.prototype.toString = bnToString;
BigInteger.prototype.negate = bnNegate;
BigInteger.prototype.abs = bnAbs;
BigInteger.prototype.compareTo = bnCompareTo;
BigInteger.prototype.bitLength = bnBitLength;
BigInteger.prototype.mod = bnMod;
BigInteger.prototype.modPowInt = bnModPowInt;
// "constants"
BigInteger.ZERO = nbv(0);
BigInteger.ONE = nbv(1);
// jsbn2 stuff
// (protected) convert from radix string
function bnpFromRadix(s,b) {
this.fromInt(0);
if(b == null) b = 10;
var cs = this.chunkSize(b);
var d = Math.pow(b,cs), mi = false, j = 0, w = 0;
for(var i = 0; i < s.length; ++i) {
var x = intAt(s,i);
if(x < 0) {
if(s.charAt(i) == "-" && this.signum() == 0) mi = true;
continue;
}
w = b*w+x;
if(++j >= cs) {
this.dMultiply(d);
this.dAddOffset(w,0);
j = 0;
w = 0;
}
}
if(j > 0) {
this.dMultiply(Math.pow(b,j));
this.dAddOffset(w,0);
}
if(mi) BigInteger.ZERO.subTo(this,this);
}
// (protected) return x s.t. r^x < DV
function bnpChunkSize(r) { return Math.floor(Math.LN2*this.DB/Math.log(r)); }
// (public) 0 if this == 0, 1 if this > 0
function bnSigNum() {
if(this.s < 0) return -1;
else if(this.t <= 0 || (this.t == 1 && this[0] <= 0)) return 0;
else return 1;
}
// (protected) this *= n, this >= 0, 1 < n < DV
function bnpDMultiply(n) {
this[this.t] = this.am(0,n-1,this,0,0,this.t);
++this.t;
this.clamp();
}
// (protected) this += n << w words, this >= 0
function bnpDAddOffset(n,w) {
if(n == 0) return;
while(this.t <= w) this[this.t++] = 0;
this[w] += n;
while(this[w] >= this.DV) {
this[w] -= this.DV;
if(++w >= this.t) this[this.t++] = 0;
++this[w];
}
}
// (protected) convert to radix string
function bnpToRadix(b) {
if(b == null) b = 10;
if(this.signum() == 0 || b < 2 || b > 36) return "0";
var cs = this.chunkSize(b);
var a = Math.pow(b,cs);
var d = nbv(a), y = nbi(), z = nbi(), r = "";
this.divRemTo(d,y,z);
while(y.signum() > 0) {
r = (a+z.intValue()).toString(b).substr(1) + r;
y.divRemTo(d,y,z);
}
return z.intValue().toString(b) + r;
}
// (public) return value as integer
function bnIntValue() {
if(this.s < 0) {
if(this.t == 1) return this[0]-this.DV;
else if(this.t == 0) return -1;
}
else if(this.t == 1) return this[0];
else if(this.t == 0) return 0;
// assumes 16 < DB < 32
return ((this[1]&((1<<(32-this.DB))-1))<<this.DB)|this[0];
}
// (protected) r = this + a
function bnpAddTo(a,r) {
var i = 0, c = 0, m = Math.min(a.t,this.t);
while(i < m) {
c += this[i]+a[i];
r[i++] = c&this.DM;
c >>= this.DB;
}
if(a.t < this.t) {
c += a.s;
while(i < this.t) {
c += this[i];
r[i++] = c&this.DM;
c >>= this.DB;
}
c += this.s;
}
else {
c += this.s;
while(i < a.t) {
c += a[i];
r[i++] = c&this.DM;
c >>= this.DB;
}
c += a.s;
}
r.s = (c<0)?-1:0;
if(c > 0) r[i++] = c;
else if(c < -1) r[i++] = this.DV+c;
r.t = i;
r.clamp();
}
BigInteger.prototype.fromRadix = bnpFromRadix;
BigInteger.prototype.chunkSize = bnpChunkSize;
BigInteger.prototype.signum = bnSigNum;
BigInteger.prototype.dMultiply = bnpDMultiply;
BigInteger.prototype.dAddOffset = bnpDAddOffset;
BigInteger.prototype.toRadix = bnpToRadix;
BigInteger.prototype.intValue = bnIntValue;
BigInteger.prototype.addTo = bnpAddTo;
//======= end jsbn =======
// Emscripten wrapper
var Wrapper = {
abs: function(l, h) {
var x = new goog.math.Long(l, h);
var ret;
if (x.isNegative()) {
ret = x.negate();
} else {
ret = x;
}
HEAP32[tempDoublePtr>>2] = ret.low_;
HEAP32[tempDoublePtr+4>>2] = ret.high_;
},
ensureTemps: function() {
if (Wrapper.ensuredTemps) return;
Wrapper.ensuredTemps = true;
Wrapper.two32 = new BigInteger();
Wrapper.two32.fromString('4294967296', 10);
Wrapper.two64 = new BigInteger();
Wrapper.two64.fromString('18446744073709551616', 10);
Wrapper.temp1 = new BigInteger();
Wrapper.temp2 = new BigInteger();
},
lh2bignum: function(l, h) {
var a = new BigInteger();
a.fromString(h.toString(), 10);
var b = new BigInteger();
a.multiplyTo(Wrapper.two32, b);
var c = new BigInteger();
c.fromString(l.toString(), 10);
var d = new BigInteger();
c.addTo(b, d);
return d;
},
stringify: function(l, h, unsigned) {
var ret = new goog.math.Long(l, h).toString();
if (unsigned && ret[0] == '-') {
// unsign slowly using jsbn bignums
Wrapper.ensureTemps();
var bignum = new BigInteger();
bignum.fromString(ret, 10);
ret = new BigInteger();
Wrapper.two64.addTo(bignum, ret);
ret = ret.toString(10);
}
return ret;
},
fromString: function(str, base, min, max, unsigned) {
Wrapper.ensureTemps();
var bignum = new BigInteger();
bignum.fromString(str, base);
var bigmin = new BigInteger();
bigmin.fromString(min, 10);
var bigmax = new BigInteger();
bigmax.fromString(max, 10);
if (unsigned && bignum.compareTo(BigInteger.ZERO) < 0) {
var temp = new BigInteger();
bignum.addTo(Wrapper.two64, temp);
bignum = temp;
}
var error = false;
if (bignum.compareTo(bigmin) < 0) {
bignum = bigmin;
error = true;
} else if (bignum.compareTo(bigmax) > 0) {
bignum = bigmax;
error = true;
}
var ret = goog.math.Long.fromString(bignum.toString()); // min-max checks should have clamped this to a range goog.math.Long can handle well
HEAP32[tempDoublePtr>>2] = ret.low_;
HEAP32[tempDoublePtr+4>>2] = ret.high_;
if (error) throw 'range error';
}
};
return Wrapper;
})();
//======= end closure i64 code =======
// === Auto-generated postamble setup entry stuff ===
if (memoryInitializer) {
function applyData(data) {
HEAPU8.set(data, STATIC_BASE);
}
if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) {
applyData(Module['readBinary'](memoryInitializer));
} else {
addRunDependency('memory initializer');
Browser.asyncLoad(memoryInitializer, function(data) {
applyData(data);
removeRunDependency('memory initializer');
}, function(data) {
throw 'could not load memory initializer ' + memoryInitializer;
});
}
}
function ExitStatus(status) {
this.name = "ExitStatus";
this.message = "Program terminated with exit(" + status + ")";
this.status = status;
};
ExitStatus.prototype = new Error();
ExitStatus.prototype.constructor = ExitStatus;
var initialStackTop;
var preloadStartTime = null;
var calledMain = false;
dependenciesFulfilled = function runCaller() {
// If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
if (!Module['calledRun'] && shouldRunNow) run();
if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
}
Module['callMain'] = Module.callMain = function callMain(args) {
assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)');
assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called');
args = args || [];
if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) {
Module.printErr('preload time: ' + (Date.now() - preloadStartTime) + ' ms');
}
ensureInitRuntime();
var argc = args.length+1;
function pad() {
for (var i = 0; i < 4-1; i++) {
argv.push(0);
}
}
var argv = [allocate(intArrayFromString("/bin/this.program"), 'i8', ALLOC_NORMAL) ];
pad();
for (var i = 0; i < argc-1; i = i + 1) {
argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL));
pad();
}
argv.push(0);
argv = allocate(argv, 'i32', ALLOC_NORMAL);
initialStackTop = STACKTOP;
try {
var ret = Module['_main'](argc, argv, 0);
// if we're not running an evented main loop, it's time to exit
if (!Module['noExitRuntime']) {
exit(ret);
}
}
catch(e) {
if (e instanceof ExitStatus) {
// exit() throws this once it's done to make sure execution
// has been stopped completely
return;
} else if (e == 'SimulateInfiniteLoop') {
// running an evented main loop, don't immediately exit
Module['noExitRuntime'] = true;
return;
} else {
if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]);
throw e;
}
} finally {
calledMain = true;
}
}
function run(args) {
args = args || Module['arguments'];
if (preloadStartTime === null) preloadStartTime = Date.now();
if (runDependencies > 0) {
Module.printErr('run() called, but dependencies remain, so not running');
return;
}
preRun();
if (runDependencies > 0) return; // a preRun added a dependency, run will be called later
if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame
function doRun() {
if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening
Module['calledRun'] = true;
ensureInitRuntime();
preMain();
if (Module['_main'] && shouldRunNow) {
Module['callMain'](args);
}
postRun();
}
if (Module['setStatus']) {
Module['setStatus']('Running...');
setTimeout(function() {
setTimeout(function() {
Module['setStatus']('');
}, 1);
if (!ABORT) doRun();
}, 1);
} else {
doRun();
}
}
Module['run'] = Module.run = run;
function exit(status) {
ABORT = true;
EXITSTATUS = status;
STACKTOP = initialStackTop;
// exit the runtime
exitRuntime();
// TODO We should handle this differently based on environment.
// In the browser, the best we can do is throw an exception
// to halt execution, but in node we could process.exit and
// I'd imagine SM shell would have something equivalent.
// This would let us set a proper exit status (which
// would be great for checking test exit statuses).
// https://github.com/kripken/emscripten/issues/1371
// throw an exception to halt the current execution
throw new ExitStatus(status);
}
Module['exit'] = Module.exit = exit;
function abort(text) {
if (text) {
Module.print(text);
Module.printErr(text);
}
ABORT = true;
EXITSTATUS = 1;
throw 'abort() at ' + stackTrace();
}
Module['abort'] = Module.abort = abort;
// {{PRE_RUN_ADDITIONS}}
if (Module['preInit']) {
if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']];
while (Module['preInit'].length > 0) {
Module['preInit'].pop()();
}
}
// shouldRunNow refers to calling main(), not run().
var shouldRunNow = true;//false;
if (Module['noInitialRun']) {
shouldRunNow = false;
}
run();
assertEquals(0, EXITSTATUS);